Commit ac2b71f60b7f0d9473017177e1710e2479d8c882
Committed by
Stefano Babic
1 parent
3fe3f02f06
Exists in
smarc_8mq_lf_v2020.04
and in
9 other branches
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
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 |