Commit 65da5c3b653c8ac63accc51194863bc8ff10b4e3

Authored by Tim Harvey
Committed by Stefano Babic
1 parent f7d9fcd156

imx: ventana: move mmc_init to common

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>

Showing 2 changed files with 35 additions and 33 deletions Side-by-side Diff

board/gateworks/gw_ventana/common.c
... ... @@ -6,10 +6,12 @@
6 6 * SPDX-License-Identifier: GPL-2.0+
7 7 */
8 8  
  9 +#include <asm/arch/clock.h>
9 10 #include <asm/arch/mx6-pins.h>
10 11 #include <asm/arch/sys_proto.h>
11 12 #include <asm/gpio.h>
12 13 #include <asm/imx-common/mxc_i2c.h>
  14 +#include <fsl_esdhc.h>
13 15 #include <hwconfig.h>
14 16 #include <power/pmic.h>
15 17 #include <power/ltc3676_pmic.h>
... ... @@ -35,6 +37,17 @@
35 37 SETUP_IOMUX_PADS(uart2_pads);
36 38 }
37 39  
  40 +/* MMC */
  41 +static iomux_v3_cfg_t const usdhc3_pads[] = {
  42 + IOMUX_PADS(PAD_SD3_CLK__SD3_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
  43 + IOMUX_PADS(PAD_SD3_CMD__SD3_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
  44 + IOMUX_PADS(PAD_SD3_DAT0__SD3_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
  45 + IOMUX_PADS(PAD_SD3_DAT1__SD3_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
  46 + IOMUX_PADS(PAD_SD3_DAT2__SD3_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
  47 + IOMUX_PADS(PAD_SD3_DAT3__SD3_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
  48 + IOMUX_PADS(PAD_SD3_DAT5__GPIO7_IO00 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
  49 +};
  50 +
38 51 /* I2C1: GSC */
39 52 static struct i2c_pads_info mx6q_i2c_pad_info0 = {
40 53 .scl = {
... ... @@ -964,4 +977,26 @@
964 977 }
965 978 }
966 979 }
  980 +
  981 +#ifdef CONFIG_FSL_ESDHC
  982 +static struct fsl_esdhc_cfg usdhc_cfg = { USDHC3_BASE_ADDR };
  983 +
  984 +int board_mmc_init(bd_t *bis)
  985 +{
  986 + /* Only one USDHC controller on Ventana */
  987 + SETUP_IOMUX_PADS(usdhc3_pads);
  988 + usdhc_cfg.sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
  989 + usdhc_cfg.max_bus_width = 4;
  990 +
  991 + return fsl_esdhc_initialize(bis, &usdhc_cfg);
  992 +}
  993 +
  994 +int board_mmc_getcd(struct mmc *mmc)
  995 +{
  996 + /* Card Detect */
  997 + gpio_request(GP_SD3_CD, "sd_cd");
  998 + gpio_direction_input(GP_SD3_CD);
  999 + return !gpio_get_value(GP_SD3_CD);
  1000 +}
  1001 +#endif /* CONFIG_FSL_ESDHC */
board/gateworks/gw_ventana/gw_ventana.c
... ... @@ -52,17 +52,6 @@
52 52  
53 53 static int board_type;
54 54  
55   -/* MMC */
56   -static iomux_v3_cfg_t const usdhc3_pads[] = {
57   - IOMUX_PADS(PAD_SD3_CLK__SD3_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
58   - IOMUX_PADS(PAD_SD3_CMD__SD3_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
59   - IOMUX_PADS(PAD_SD3_DAT0__SD3_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
60   - IOMUX_PADS(PAD_SD3_DAT1__SD3_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
61   - IOMUX_PADS(PAD_SD3_DAT2__SD3_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
62   - IOMUX_PADS(PAD_SD3_DAT3__SD3_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
63   - IOMUX_PADS(PAD_SD3_DAT5__GPIO7_IO00 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
64   -};
65   -
66 55 /* ENET */
67 56 static iomux_v3_cfg_t const enet_pads[] = {
68 57 IOMUX_PADS(PAD_ENET_MDIO__ENET_MDIO | MUX_PAD_CTRL(ENET_PAD_CTRL)),
... ... @@ -192,28 +181,6 @@
192 181 return 0;
193 182 }
194 183 #endif /* CONFIG_USB_EHCI_MX6 */
195   -
196   -#ifdef CONFIG_FSL_ESDHC
197   -static struct fsl_esdhc_cfg usdhc_cfg = { USDHC3_BASE_ADDR };
198   -
199   -int board_mmc_getcd(struct mmc *mmc)
200   -{
201   - /* Card Detect */
202   - gpio_request(GP_SD3_CD, "sd_cd");
203   - gpio_direction_input(GP_SD3_CD);
204   - return !gpio_get_value(GP_SD3_CD);
205   -}
206   -
207   -int board_mmc_init(bd_t *bis)
208   -{
209   - /* Only one USDHC controller on Ventana */
210   - SETUP_IOMUX_PADS(usdhc3_pads);
211   - usdhc_cfg.sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
212   - usdhc_cfg.max_bus_width = 4;
213   -
214   - return fsl_esdhc_initialize(bis, &usdhc_cfg);
215   -}
216   -#endif /* CONFIG_FSL_ESDHC */
217 184  
218 185 #ifdef CONFIG_MXC_SPI
219 186 iomux_v3_cfg_t const ecspi1_pads[] = {