Commit 65da5c3b653c8ac63accc51194863bc8ff10b4e3
Committed by
Stefano Babic
1 parent
f7d9fcd156
Exists in
smarc_8mq_lf_v2020.04
and in
17 other branches
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[] = { |