|
@@ -31,21 +31,13 @@
|
|
|
* SDI 0 (MicroSD slot)
|
|
|
*/
|
|
|
|
|
|
-/* MMCIPOWER bits */
|
|
|
-#define MCI_DATA2DIREN (1 << 2)
|
|
|
-#define MCI_CMDDIREN (1 << 3)
|
|
|
-#define MCI_DATA0DIREN (1 << 4)
|
|
|
-#define MCI_DATA31DIREN (1 << 5)
|
|
|
-#define MCI_FBCLKEN (1 << 7)
|
|
|
-
|
|
|
/* GPIO pins used by the sdi0 level shifter */
|
|
|
static int sdi0_en = -1;
|
|
|
static int sdi0_vsel = -1;
|
|
|
|
|
|
-static u32 mop500_sdi0_vdd_handler(struct device *dev, unsigned int vdd,
|
|
|
- unsigned char power_mode)
|
|
|
+static int mop500_sdi0_ios_handler(struct device *dev, struct mmc_ios *ios)
|
|
|
{
|
|
|
- switch (power_mode) {
|
|
|
+ switch (ios->power_mode) {
|
|
|
case MMC_POWER_UP:
|
|
|
case MMC_POWER_ON:
|
|
|
/*
|
|
@@ -65,8 +57,7 @@ static u32 mop500_sdi0_vdd_handler(struct device *dev, unsigned int vdd,
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
- return MCI_FBCLKEN | MCI_CMDDIREN | MCI_DATA0DIREN |
|
|
|
- MCI_DATA2DIREN | MCI_DATA31DIREN;
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
#ifdef CONFIG_STE_DMA40
|
|
@@ -90,13 +81,17 @@ static struct stedma40_chan_cfg mop500_sdi0_dma_cfg_tx = {
|
|
|
#endif
|
|
|
|
|
|
static struct mmci_platform_data mop500_sdi0_data = {
|
|
|
- .vdd_handler = mop500_sdi0_vdd_handler,
|
|
|
+ .ios_handler = mop500_sdi0_ios_handler,
|
|
|
.ocr_mask = MMC_VDD_29_30,
|
|
|
.f_max = 50000000,
|
|
|
.capabilities = MMC_CAP_4_BIT_DATA |
|
|
|
MMC_CAP_SD_HIGHSPEED |
|
|
|
MMC_CAP_MMC_HIGHSPEED,
|
|
|
.gpio_wp = -1,
|
|
|
+ .sigdir = MCI_ST_FBCLKEN |
|
|
|
+ MCI_ST_CMDDIREN |
|
|
|
+ MCI_ST_DATA0DIREN |
|
|
|
+ MCI_ST_DATA2DIREN,
|
|
|
#ifdef CONFIG_STE_DMA40
|
|
|
.dma_filter = stedma40_filter,
|
|
|
.dma_rx_param = &mop500_sdi0_dma_cfg_rx,
|