|
|
|
@ -2209,7 +2209,23 @@ static int msdc_drv_probe(struct platform_device *pdev) |
|
|
|
|
|
|
|
|
|
// Set the pins for sdxc to sdxc mode
|
|
|
|
|
//FIXME: this should be done by pinctl and not by the sd driver
|
|
|
|
|
reg = sdr_read32((void __iomem *)(RALINK_SYSCTL_BASE + 0x60)) & ~(0x3 << 18); |
|
|
|
|
if (ralink_soc == MT762X_SOC_MT7620A || |
|
|
|
|
ralink_soc == MT762X_SOC_MT7621AT) { |
|
|
|
|
reg = sdr_read32((void __iomem *)(RALINK_SYSCTL_BASE + |
|
|
|
|
0x60)) & ~(0x3 << 18); |
|
|
|
|
if (ralink_soc == MT762X_SOC_MT7620A) |
|
|
|
|
reg |= 0x1 << 18; |
|
|
|
|
} else { |
|
|
|
|
reg = sdr_read32((void __iomem *)(RALINK_SYSCTL_BASE + 0x3c)); |
|
|
|
|
reg |= 0x1e << 16; |
|
|
|
|
sdr_write32((void __iomem *)(RALINK_SYSCTL_BASE + 0x3c), reg); |
|
|
|
|
reg = sdr_read32((void __iomem *)(RALINK_SYSCTL_BASE + |
|
|
|
|
0x60)) & ~(0x3 << 10); |
|
|
|
|
#if defined(CONFIG_MTK_MMC_EMMC_8BIT) |
|
|
|
|
reg |= 0x3 << 26 | 0x3 << 28 | 0x3 << 30; |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
sdr_write32((void __iomem *)(RALINK_SYSCTL_BASE + 0x60), reg); |
|
|
|
|
|
|
|
|
|
hw = &msdc0_hw; |
|
|
|
|