ARM: imx: vining2000: Clean up uSDHC4 setup
authorMarek Vasut <marex@denx.de>
Wed, 15 Jan 2020 10:27:30 +0000 (11:27 +0100)
committerStefano Babic <sbabic@denx.de>
Mon, 20 Jan 2020 14:37:23 +0000 (15:37 +0100)
Simplify the uSDHC4 eMMC controller setup. This is the only eMMC
present on the system and only controller that is used, so drop
the extra logic.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Silvio Fricke <silvio.fricke@softing.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
board/softing/vining_2000/vining_2000.c

index ef914b13a1a9130ed126759bffc645e505bee9ab..6dc3fc8b5043a6cbde8fc033ab506f68d83836bd 100644 (file)
@@ -427,8 +427,6 @@ void board_preboot_os(void)
 #include <spl.h>
 #include <asm/arch/mx6-ddr.h>
 
-static struct fsl_esdhc_cfg usdhc_cfg = { USDHC4_BASE_ADDR };
-
 static iomux_v3_cfg_t const pcie_pads[] = {
        MX6_PAD_NAND_DATA02__GPIO4_IO_6 | MUX_PAD_CTRL(GPIO_PAD_CTRL),
 };
@@ -461,30 +459,13 @@ static void vining2000_spl_setup_iomux_uart(void)
        imx_iomux_v3_setup_multiple_pads(uart_pads, ARRAY_SIZE(uart_pads));
 }
 
+static struct fsl_esdhc_cfg usdhc_cfg = { USDHC4_BASE_ADDR };
+
 int board_mmc_init(bd_t *bis)
 {
-       struct src *src_regs = (struct src *)SRC_BASE_ADDR;
-       u32 val;
-       u32 port;
-
-       val = readl(&src_regs->sbmr1);
-
-       if ((val & 0xc0) != 0x40) {
-               printf("Not boot from USDHC!\n");
-               return -EINVAL;
-       }
-
-       port = (val >> 11) & 0x3;
-       printf("port %d\n", port);
-       switch (port) {
-       case 3:
-               imx_iomux_v3_setup_multiple_pads(
-                       usdhc4_pads, ARRAY_SIZE(usdhc4_pads));
-               usdhc_cfg.sdhc_clk = mxc_get_clock(MXC_ESDHC4_CLK);
-               usdhc_cfg.esdhc_base = USDHC4_BASE_ADDR;
-               break;
-       }
+       imx_iomux_v3_setup_multiple_pads(usdhc4_pads, ARRAY_SIZE(usdhc4_pads));
 
+       usdhc_cfg.sdhc_clk = mxc_get_clock(MXC_ESDHC4_CLK);
        gd->arch.sdhc_clk = usdhc_cfg.sdhc_clk;
        return fsl_esdhc_initialize(bis, &usdhc_cfg);
 }