mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
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>
This commit is contained in:
parent
552a848e4f
commit
ca62e5d043
3 changed files with 11 additions and 2 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ CONFIG_CMD_FAT=y
|
|||
CONFIG_CMD_FS_GENERIC=y
|
||||
CONFIG_DFU_MMC=y
|
||||
CONFIG_DFU_SF=y
|
||||
CONFIG_MTD_NOR_FLASH=y
|
||||
# CONFIG_MTD_NOR_FLASH is not set
|
||||
CONFIG_SPI_FLASH=y
|
||||
CONFIG_SPI_FLASH_STMICRO=y
|
||||
CONFIG_USB=y
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
|
||||
#include "mx6sabre_common.h"
|
||||
|
||||
#ifdef CONFIG_MTD_NOR_FLASH
|
||||
#define CONFIG_SYS_FLASH_BASE WEIM_ARB_BASE_ADDR
|
||||
#define CONFIG_SYS_FLASH_SECT_SIZE (128 * 1024)
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */
|
||||
|
@ -40,6 +41,7 @@
|
|||
#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE /* Use buffered writes*/
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO
|
||||
#define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_FSL_USDHC_NUM 2
|
||||
#if defined(CONFIG_ENV_IS_IN_MMC)
|
||||
|
|
Loading…
Reference in a new issue