diff options
author | Fabio Estevam <fabio.estevam@nxp.com> | 2017-07-10 15:59:11 -0300 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2017-07-12 10:21:10 +0200 |
commit | ca62e5d043640c4b4120d7d8ed292e813a17b58d (patch) | |
tree | 1af7c249cb7d9e2943c3219dc4bad66be3615199 /board/freescale | |
parent | 552a848e4f75e224515269a84a1155c84b762bc7 (diff) |
mx6sabreauto: Do not enable WEIM by default
WEIM cannot be used when I2C3 is enabled due to pin conflict, so keep
WEIM disabled by default.
I2C3 controls GPIO I2C expander (USB host and OTG have VBUS controlled by
the GPIO I2C expander), magnetometer, accelerometer.
Not disabling WEIM in U-Boot causes I2C3 to behave badly when booting
a NXP 4.1 kernel, which leads to probe failure on several devices,
including the lack of USB:
imx_usb 2184000.usb: Can't register ci_hdrc platform device, err=-517
By keeping WEIM disabled in U-Boot these kernel issues are gone.
Reported-by: Takashi Matsuzawa <tmatsuzawa@xevo.com>
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Diffstat (limited to 'board/freescale')
-rw-r--r-- | board/freescale/mx6sabreauto/mx6sabreauto.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/board/freescale/mx6sabreauto/mx6sabreauto.c b/board/freescale/mx6sabreauto/mx6sabreauto.c index 13af9ca6cd..bfd5ffa5c7 100644 --- a/board/freescale/mx6sabreauto/mx6sabreauto.c +++ b/board/freescale/mx6sabreauto/mx6sabreauto.c @@ -197,6 +197,7 @@ static int port_exp_direction_output(unsigned gpio, int value) return 0; } +#ifdef CONFIG_MTD_NOR_FLASH static iomux_v3_cfg_t const eimnor_pads[] = { IOMUX_PADS(PAD_EIM_D16__EIM_DATA16 | MUX_PAD_CTRL(WEIM_NOR_PAD_CTRL)), IOMUX_PADS(PAD_EIM_D17__EIM_DATA17 | MUX_PAD_CTRL(WEIM_NOR_PAD_CTRL)), @@ -292,6 +293,7 @@ static void setup_iomux_eimnor(void) eimnor_cs_setup(); } +#endif static void setup_iomux_enet(void) { @@ -571,8 +573,10 @@ int board_early_init_f(void) #ifdef CONFIG_NAND_MXS setup_gpmi_nand(); #endif - eim_clk_setup(); +#ifdef CONFIG_MTD_NOR_FLASH + eim_clk_setup(); +#endif return 0; } @@ -601,7 +605,10 @@ int board_init(void) #ifdef CONFIG_VIDEO_IPUV3 setup_display(); #endif + +#ifdef CONFIG_MTD_NOR_FLASH setup_iomux_eimnor(); +#endif return 0; } |