Commit ac2b71f60b7f0d9473017177e1710e2479d8c882

Authored by Marek Vasut
Committed by Stefano Babic
1 parent 3fe3f02f06

ARM: imx: vining2000: Convert MMC and block to DM

Enable DM block and DM MMC support on iMX6SX VINING|2000 .
Convert board code to match the DM support. This disables
USB mass storage support due to missing DM USB, however
that will be re-enabled in subsequent patch.

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>

Showing 3 changed files with 6 additions and 78 deletions Side-by-side Diff

arch/arm/dts/imx6sx-softing-vining-2000.dts
... ... @@ -16,6 +16,11 @@
16 16 model = "Softing VIN|ING 2000";
17 17 compatible = "samtec,imx6sx-vining-2000", "fsl,imx6sx";
18 18  
  19 + aliases {
  20 + mmc0 = &usdhc4;
  21 + mmc1 = &usdhc2;
  22 + };
  23 +
19 24 chosen {
20 25 stdout-path = &uart1;
21 26 };
board/softing/vining_2000/vining_2000.c
... ... @@ -76,30 +76,6 @@
76 76 MX6_PAD_GPIO1_IO05__UART1_RX | MUX_PAD_CTRL(UART_PAD_CTRL),
77 77 };
78 78  
79   -static iomux_v3_cfg_t const usdhc2_pads[] = {
80   - MX6_PAD_SD2_CLK__USDHC2_CLK | MUX_PAD_CTRL(USDHC_CLK_PAD_CTRL),
81   - MX6_PAD_SD2_CMD__USDHC2_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL),
82   - MX6_PAD_SD2_DATA0__USDHC2_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
83   - MX6_PAD_SD2_DATA1__USDHC2_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
84   - MX6_PAD_SD2_DATA2__USDHC2_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
85   - MX6_PAD_SD2_DATA3__USDHC2_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
86   - MX6_PAD_LCD1_VSYNC__GPIO3_IO_28 | MUX_PAD_CTRL(GPIO_PAD_CTRL),
87   -};
88   -
89   -static iomux_v3_cfg_t const usdhc4_pads[] = {
90   - MX6_PAD_SD4_CLK__USDHC4_CLK | MUX_PAD_CTRL(USDHC_CLK_PAD_CTRL),
91   - MX6_PAD_SD4_CMD__USDHC4_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL),
92   - MX6_PAD_SD4_DATA0__USDHC4_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
93   - MX6_PAD_SD4_DATA1__USDHC4_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
94   - MX6_PAD_SD4_DATA2__USDHC4_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
95   - MX6_PAD_SD4_DATA3__USDHC4_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
96   - MX6_PAD_SD4_DATA4__USDHC4_DATA4 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
97   - MX6_PAD_SD4_DATA5__USDHC4_DATA5 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
98   - MX6_PAD_SD4_DATA6__USDHC4_DATA6 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
99   - MX6_PAD_SD4_DATA7__USDHC4_DATA7 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
100   - MX6_PAD_SD4_RESET_B__USDHC4_RESET_B | MUX_PAD_CTRL(USDHC_RESET_CTRL),
101   -};
102   -
103 79 static iomux_v3_cfg_t const fec1_pads[] = {
104 80 MX6_PAD_ENET1_MDC__ENET1_MDC | MUX_PAD_CTRL(ENET_PAD_CTRL),
105 81 MX6_PAD_ENET1_MDIO__ENET1_MDIO | MUX_PAD_CTRL(ENET_PAD_CTRL),
... ... @@ -445,59 +421,6 @@
445 421 setup_iomux_uart();
446 422  
447 423 setup_iomux_usb();
448   -
449   - return 0;
450   -}
451   -
452   -static struct fsl_esdhc_cfg usdhc_cfg[2] = {
453   - {USDHC4_BASE_ADDR, 0, 8},
454   - {USDHC2_BASE_ADDR, 0, 4},
455   -};
456   -
457   -#define USDHC2_CD_GPIO IMX_GPIO_NR(3, 28)
458   -
459   -int board_mmc_getcd(struct mmc *mmc)
460   -{
461   - struct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv;
462   -
463   - if (cfg->esdhc_base == USDHC4_BASE_ADDR)
464   - return 1;
465   - if (cfg->esdhc_base == USDHC2_BASE_ADDR)
466   - return !gpio_get_value(USDHC2_CD_GPIO);
467   -
468   - return -EINVAL;
469   -}
470   -
471   -int board_mmc_init(bd_t *bis)
472   -{
473   - int ret;
474   -
475   - /*
476   - * According to the board_mmc_init() the following map is done:
477   - * (U-Boot device node) (Physical Port)
478   - * mmc0 USDHC4
479   - * mmc1 USDHC2
480   - */
481   - imx_iomux_v3_setup_multiple_pads(
482   - usdhc4_pads, ARRAY_SIZE(usdhc4_pads));
483   - usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC4_CLK);
484   -
485   - imx_iomux_v3_setup_multiple_pads(
486   - usdhc2_pads, ARRAY_SIZE(usdhc2_pads));
487   - gpio_direction_input(USDHC2_CD_GPIO);
488   - usdhc_cfg[1].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
489   -
490   - ret = fsl_esdhc_initialize(bis, &usdhc_cfg[0]);
491   - if (ret) {
492   - printf("Warning: failed to initialize USDHC4\n");
493   - return ret;
494   - }
495   -
496   - ret = fsl_esdhc_initialize(bis, &usdhc_cfg[1]);
497   - if (ret) {
498   - printf("Warning: failed to initialize USDHC2\n");
499   - return ret;
500   - }
501 424  
502 425 return 0;
503 426 }
configs/vining_2000_defconfig
... ... @@ -38,6 +38,7 @@
38 38 CONFIG_OF_CONTROL=y
39 39 CONFIG_DEFAULT_DEVICE_TREE="imx6sx-softing-vining-2000"
40 40 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
  41 +CONFIG_DM_MMC=y
41 42 CONFIG_SUPPORT_EMMC_RPMB=y
42 43 CONFIG_SUPPORT_EMMC_BOOT=y
43 44 CONFIG_FSL_ESDHC=y
... ... @@ -47,7 +48,6 @@
47 48 CONFIG_PINCTRL=y
48 49 CONFIG_PINCTRL_IMX6=y
49 50 CONFIG_USB=y
50   -CONFIG_USB_STORAGE=y
51 51 CONFIG_USB_HOST_ETHER=y
52 52 CONFIG_USB_ETHER_ASIX=y