rockchip: mmc: use non-removable property to distinguish emmc and sdcard register
authorhuang lin <hl@rock-chips.com>
Wed, 18 Nov 2015 01:37:25 +0000 (09:37 +0800)
committerSimon Glass <sjg@chromium.org>
Tue, 1 Dec 2015 15:07:22 +0000 (08:07 -0700)
emmc and sdcard have different register address, use non-removeable property
to distinguish them.

Signed-off-by: Lin Huang <hl@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
drivers/mmc/rockchip_dw_mmc.c

index f11c8e003958fbbf1fe4805f10388fec7e98b004..dfe20f90f5d5dc688e7a16b3a2fbe6517d9f70ab 100644 (file)
@@ -50,8 +50,9 @@ static int rockchip_dwmmc_ofdata_to_platdata(struct udevice *dev)
        host->get_mmc_clk = rockchip_dwmmc_get_mmc_clk;
        host->priv = dev;
 
-       /* TODO(sjg@chromium.org): Remove the need for this hack */
-       host->dev_index = (ulong)host->ioaddr == 0xff0f0000 ? 0 : 1;
+       /* use non-removeable as sdcard and emmc as judgement */
+       if (fdtdec_get_bool(gd->fdt_blob, dev->of_offset, "non-removable"))
+               host->dev_index = 1;
 
        return 0;
 }