diff options
Diffstat (limited to 'include/linux/mfd/rtsx_pci.h')
| -rw-r--r-- | include/linux/mfd/rtsx_pci.h | 34 | 
1 files changed, 29 insertions, 5 deletions
diff --git a/include/linux/mfd/rtsx_pci.h b/include/linux/mfd/rtsx_pci.h index 060b721fcbf..26ea7f1b7ca 100644 --- a/include/linux/mfd/rtsx_pci.h +++ b/include/linux/mfd/rtsx_pci.h @@ -158,10 +158,9 @@  #define SG_TRANS_DATA		(0x02 << 4)  #define SG_LINK_DESC		(0x03 << 4) -/* SD bank voltage */ -#define SD_IO_3V3		0 -#define SD_IO_1V8		1 - +/* Output voltage */ +#define OUTPUT_3V3		0 +#define OUTPUT_1V8		1  /* Card Clock Enable Register */  #define SD_CLK_EN			0x04 @@ -201,6 +200,20 @@  #define CHANGE_CLK			0x01  /* LDO_CTL */ +#define BPP_ASIC_1V7			0x00 +#define BPP_ASIC_1V8			0x01 +#define BPP_ASIC_1V9			0x02 +#define BPP_ASIC_2V0			0x03 +#define BPP_ASIC_2V7			0x04 +#define BPP_ASIC_2V8			0x05 +#define BPP_ASIC_3V2			0x06 +#define BPP_ASIC_3V3			0x07 +#define BPP_REG_TUNED18			0x07 +#define BPP_TUNED18_SHIFT_8402		5 +#define BPP_TUNED18_SHIFT_8411		4 +#define BPP_PAD_MASK			0x04 +#define BPP_PAD_3V3			0x04 +#define BPP_PAD_1V8			0x00  #define BPP_LDO_POWB			0x03  #define BPP_LDO_ON			0x00  #define BPP_LDO_SUSPEND			0x02 @@ -452,7 +465,7 @@  #define	SD_RSP_TYPE_R6			0x01  #define	SD_RSP_TYPE_R7			0x01 -/* SD_CONFIURE3 */ +/* SD_CONFIGURE3 */  #define	SD_RSP_80CLK_TIMEOUT_EN		0x01  /* Card Transfer Reset Register */ @@ -568,8 +581,11 @@  #define CARD_GPIO_DIR			0xFD57  #define CARD_GPIO			0xFD58  #define CARD_DATA_SOURCE		0xFD5B +#define SD30_CLK_DRIVE_SEL		0xFD5A  #define CARD_SELECT			0xFD5C  #define SD30_DRIVE_SEL			0xFD5E +#define SD30_CMD_DRIVE_SEL		0xFD5E +#define SD30_DAT_DRIVE_SEL		0xFD5F  #define CARD_CLK_EN			0xFD69  #define SDIO_CTRL			0xFD6B  #define CD_PAD_CTL			0xFD73 @@ -642,6 +658,8 @@  #define MSGTXDATA3			0xFE47  #define MSGTXCTL			0xFE48  #define PETXCFG				0xFE49 +#define LTR_CTL				0xFE4A +#define OBFF_CFG			0xFE4C  #define CDRESUMECTL			0xFE52  #define WAKE_SEL_CTL			0xFE54 @@ -688,7 +706,10 @@ struct pcr_ops {  	int		(*disable_auto_blink)(struct rtsx_pcr *pcr);  	int		(*card_power_on)(struct rtsx_pcr *pcr, int card);  	int		(*card_power_off)(struct rtsx_pcr *pcr, int card); +	int		(*switch_output_voltage)(struct rtsx_pcr *pcr, +						u8 voltage);  	unsigned int	(*cd_deglitch)(struct rtsx_pcr *pcr); +	int		(*conv_clk_and_div_n)(int clk, int dir);  };  enum PDEV_STAT  {PDEV_STAT_IDLE, PDEV_STAT_RUN}; @@ -719,6 +740,7 @@ struct rtsx_pcr {  	unsigned int			card_inserted;  	unsigned int			card_removed; +	unsigned int			card_exist;  	struct delayed_work		carddet_work;  	struct delayed_work		idle_work; @@ -783,6 +805,8 @@ int rtsx_pci_switch_clock(struct rtsx_pcr *pcr, unsigned int card_clock,  		u8 ssc_depth, bool initial_mode, bool double_clk, bool vpclk);  int rtsx_pci_card_power_on(struct rtsx_pcr *pcr, int card);  int rtsx_pci_card_power_off(struct rtsx_pcr *pcr, int card); +int rtsx_pci_card_exclusive_check(struct rtsx_pcr *pcr, int card); +int rtsx_pci_switch_output_voltage(struct rtsx_pcr *pcr, u8 voltage);  unsigned int rtsx_pci_card_exist(struct rtsx_pcr *pcr);  void rtsx_pci_complete_unfinished_transfer(struct rtsx_pcr *pcr);  |