[U-Boot] [Patch v3] armv8: ls1043aqds: add IFC fixup in case QSPI is enabled

QSPI and IFC are pin-multiplexed on LS1043AQDS board. If QSPI is enabled, IFC would not be initialized correctly. So disable the IFC node for Linux.
Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com --- v3: - Moved the fixup to board file. - Detected the muxing through QIXIS at runtime. - Tested on LS1043AQDS board.
board/freescale/ls1043aqds/ls1043aqds.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/board/freescale/ls1043aqds/ls1043aqds.c b/board/freescale/ls1043aqds/ls1043aqds.c index b7e9c21..941dfbc 100644 --- a/board/freescale/ls1043aqds/ls1043aqds.c +++ b/board/freescale/ls1043aqds/ls1043aqds.c @@ -327,6 +327,7 @@ int ft_board_setup(void *blob, bd_t *bd) { u64 base[CONFIG_NR_DRAM_BANKS]; u64 size[CONFIG_NR_DRAM_BANKS]; + u8 reg;
/* fixup DT for the two DDR banks */ base[0] = gd->bd->bi_dram[0].start; @@ -341,6 +342,15 @@ int ft_board_setup(void *blob, bd_t *bd) fdt_fixup_fman_ethernet(blob); fdt_fixup_board_enet(blob); #endif + + reg = QIXIS_READ(brdcfg[0]); + reg = (reg & QIXIS_LBMAP_MASK) >> QIXIS_LBMAP_SHIFT; + + /* Disable IFC if QSPI is enabled */ + if (reg == 0xF) + do_fixup_by_compat(blob, "fsl,ifc", + "status", "disabled", 8 + 1, 1); + return 0; } #endif

On 07/20/2016 09:51 PM, Gong Qianyu wrote:
QSPI and IFC are pin-multiplexed on LS1043AQDS board. If QSPI is enabled, IFC would not be initialized correctly. So disable the IFC node for Linux.
Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com
v3:
- Moved the fixup to board file.
- Detected the muxing through QIXIS at runtime.
- Tested on LS1043AQDS board.
board/freescale/ls1043aqds/ls1043aqds.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
Applied to fsl-qoriq master. Awaiting upstream. Thanks.
York
participants (2)
-
Gong Qianyu
-
york sun