11dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong/* Driver for Realtek RTS51xx USB card reader 21dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * Header file 31dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * 41dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * Copyright(c) 2009 Realtek Semiconductor Corp. All rights reserved. 51dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * 61dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * This program is free software; you can redistribute it and/or modify it 71dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * under the terms of the GNU General Public License as published by the 81dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * Free Software Foundation; either version 2, or (at your option) any 91dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * later version. 101dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * 111dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * This program is distributed in the hope that it will be useful, but 121dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * WITHOUT ANY WARRANTY; without even the implied warranty of 131dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 141dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * General Public License for more details. 151dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * 161dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * You should have received a copy of the GNU General Public License along 171dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * with this program; if not, see <http://www.gnu.org/licenses/>. 181dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * 191dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * Author: 201dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * wwang (wei_wang@realsil.com.cn) 211dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * No. 450, Shenhu Road, Suzhou Industry Park, Suzhou, China 221dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * Maintainer: 231dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * Edwin Rong (edwin_rong@realsil.com.cn) 241dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong * No. 450, Shenhu Road, Suzhou Industry Park, Suzhou, China 251dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong */ 261dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong 271dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong#ifndef __RTS51X_SD_CPRM_H 281dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong#define __RTS51X_SD_CPRM_H 291dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong 301dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong#include "rts51x_chip.h" 311dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong#include "sd.h" 321dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong 331dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong#ifdef SUPPORT_CPRM 341dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rongint ext_sd_execute_no_data(struct rts51x_chip *chip, unsigned int lun, 351dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong u8 cmd_idx, u8 standby, u8 acmd, u8 rsp_code, 361dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong u32 arg); 371dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rongint ext_sd_execute_read_data(struct rts51x_chip *chip, unsigned int lun, 381dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong u8 cmd_idx, u8 cmd12, u8 standby, u8 acmd, 391dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong u8 rsp_code, u32 arg, u32 data_len, void *data_buf, 401dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong unsigned int buf_len, int use_sg); 411dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rongint ext_sd_execute_write_data(struct rts51x_chip *chip, unsigned int lun, 421dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong u8 cmd_idx, u8 cmd12, u8 standby, u8 acmd, 431dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong u8 rsp_code, u32 arg, u32 data_len, 441dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong void *data_buf, unsigned int buf_len, int use_sg); 451dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong 461dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rongint sd_pass_thru_mode(struct scsi_cmnd *srb, struct rts51x_chip *chip); 471dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rongint sd_execute_no_data(struct scsi_cmnd *srb, struct rts51x_chip *chip); 481dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rongint sd_execute_read_data(struct scsi_cmnd *srb, struct rts51x_chip *chip); 491dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rongint sd_execute_write_data(struct scsi_cmnd *srb, struct rts51x_chip *chip); 501dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rongint sd_get_cmd_rsp(struct scsi_cmnd *srb, struct rts51x_chip *chip); 511dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rongint sd_hw_rst(struct scsi_cmnd *srb, struct rts51x_chip *chip); 521dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong#endif 531dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong 541dac4186bcc663cb8c2bcc59481aea8fe9124a6cedwin_rong#endif /* __RTS51X_SD_CPRM_H */ 55