MMC1 port is working fine, I am trying to make the physical MMC0 port work.
My code is based on IPNC-RDK3.0, which uses psp4.04
I followed the guide on the Wiki, here's what I have changed.
1. in board_ti8148ipnc.c
static struct omap2_hsmmc_info mmc[] = {
{
.mmc = 1,
.caps = MMC_CAP_4_BIT_DATA,
.gpio_cd = -EINVAL,/* Dedicated pins for CD and WP */
.gpio_wp = -EINVAL,
.ocr_mask = MMC_VDD_33_34,
},
{
.mmc = 2,
.caps = MMC_CAP_4_BIT_DATA,
.gpio_cd = -EINVAL,/* Dedicated pins for CD and WP */
.gpio_wp = -EINVAL,
.ocr_mask = MMC_VDD_33_34,
},
{} /* Terminator */
};
2. in arch/arm/mach-omap2/devices.c: omap2_init_mmc()
case 0:
base = TI814X_MMC1_BASE;
irq = TI814X_IRQ_SD1;
break;
case 1:
base = TI814X_MMC0_BASE; //which is defined as 0x48060100 in mmc.h
irq = TI81XX_IRQ_SD;
break;
3. CM_ALWON_MMCHS_0_CLKCTRL is set to 2
4. not sure it's necessary, but I added these in devices.c:omap2_mmc_mux()
if (cpu_is_ti814x()) {
omap_mux_init_signal("mmc0_clk", OMAP_PULL_UP);
omap_mux_init_signal("mmc0_cmd", OMAP_PULL_UP);
omap_mux_init_signal("mmc0_dat0", OMAP_PULL_UP);
omap_mux_init_signal("mmc0_dat1", OMAP_PULL_UP);
omap_mux_init_signal("mmc0_dat2", OMAP_PULL_UP);
omap_mux_init_signal("mmc0_dat3", OMAP_PULL_UP);
omap_mux_init_signal("mmc0_dat4", OMAP_PULL_UP);
omap_mux_init_signal("mmc0_dat5", OMAP_PULL_UP);
omap_mux_init_signal("mmc0_dat6", OMAP_PULL_UP);
omap_mux_init_signal("mmc0_dat7", OMAP_PULL_UP);
omap_mux_init_signal("mmc0_sdcd", OMAP_PULL_UP);
}
Upon powerup I don't see any message related to mmc0(in linux,it is called mmc1)
here's the dmesg
PM: Adding info for platform:mmci-omap-hs.1
PM: Adding info for No Bus:mmc1
and that's it. did i miss anything?