[U-Boot] [PATCH 1/1] board: ls2080ardb: Add fsl_fdt_fixup_flash

IFC and QSPI are muxed on board.
Add fsl_fdt_fixup_flash() -To disable IFC node in dts if QSPI is enabled. -Or disable QSPI node in dts if IFC is enabled.
Signed-off-by: Santan Kumar santan.kumar@nxp.com Signed-off-by: Priyanka Jain priyanka.jain@nxp.com --- board/freescale/ls2080ardb/ls2080ardb.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+)
diff --git a/board/freescale/ls2080ardb/ls2080ardb.c b/board/freescale/ls2080ardb/ls2080ardb.c index df2d768..0017f60 100644 --- a/board/freescale/ls2080ardb/ls2080ardb.c +++ b/board/freescale/ls2080ardb/ls2080ardb.c @@ -341,6 +341,32 @@ void board_quiesce_devices(void) #endif
#ifdef CONFIG_OF_BOARD_SETUP +void fsl_fdt_fixup_flash(void *fdt) +{ + int offset; + +/* + * IFC and QSPI are muxed on board. + * So disable IFC node in dts if QSPI is enabled or + * disable QSPI node in dts in case QSPI is not enabled. + */ +#ifdef CONFIG_FSL_QSPI + offset = fdt_path_offset(fdt, "/soc/ifc"); + + if (offset < 0) + offset = fdt_path_offset(fdt, "/ifc"); +#else + offset = fdt_path_offset(fdt, "/soc/quadspi"); + + if (offset < 0) + offset = fdt_path_offset(fdt, "/quadspi"); +#endif + if (offset < 0) + return; + + fdt_status_disabled(fdt, offset); +} + int ft_board_setup(void *blob, bd_t *bd) { u64 base[CONFIG_NR_DRAM_BANKS]; @@ -368,6 +394,8 @@ int ft_board_setup(void *blob, bd_t *bd)
fsl_fdt_fixup_dr_usb(blob, bd);
+ fsl_fdt_fixup_flash(blob); + #ifdef CONFIG_FSL_MC_ENET fdt_fixup_board_enet(blob); #endif

On 07/05/2017 05:32 AM, Santan Kumar wrote:
IFC and QSPI are muxed on board.
Add fsl_fdt_fixup_flash() -To disable IFC node in dts if QSPI is enabled. -Or disable QSPI node in dts if IFC is enabled.
The pin mux is at SoC level. Can you put this fixup at SoC level?
York

-----Original Message----- From: York Sun Sent: Tuesday, August 08, 2017 3:31 AM To: Santan Kumar santan.kumar@nxp.com; u-boot@lists.denx.de Cc: Priyanka Jain priyanka.jain@nxp.com Subject: Re: [PATCH 1/1] board: ls2080ardb: Add fsl_fdt_fixup_flash
On 07/05/2017 05:32 AM, Santan Kumar wrote:
IFC and QSPI are muxed on board.
Add fsl_fdt_fixup_flash() -To disable IFC node in dts if QSPI is enabled. -Or disable QSPI node in dts if IFC is enabled.
The pin mux is at SoC level. Can you put this fixup at SoC level?
York
At Soc level, some of IFC pins (not all) are mux-ed with QSPI lines. So, it is possible to provide NAND functionality with QSPI if the board allows.
But in this case at board level, complete IFC is mux-ed with QSPI. So, we have put this code in board file. Priyanka

On 08/07/2017 09:48 PM, Priyanka Jain wrote:
-----Original Message----- From: York Sun Sent: Tuesday, August 08, 2017 3:31 AM To: Santan Kumar santan.kumar@nxp.com; u-boot@lists.denx.de Cc: Priyanka Jain priyanka.jain@nxp.com Subject: Re: [PATCH 1/1] board: ls2080ardb: Add fsl_fdt_fixup_flash
On 07/05/2017 05:32 AM, Santan Kumar wrote:
IFC and QSPI are muxed on board.
Add fsl_fdt_fixup_flash() -To disable IFC node in dts if QSPI is enabled. -Or disable QSPI node in dts if IFC is enabled.
The pin mux is at SoC level. Can you put this fixup at SoC level?
York
At Soc level, some of IFC pins (not all) are mux-ed with QSPI lines. So, it is possible to provide NAND functionality with QSPI if the board allows.
But in this case at board level, complete IFC is mux-ed with QSPI. So, we have put this code in board file.
OK. Thanks for the explanation.
York
participants (3)
-
Priyanka Jain
-
Santan Kumar
-
York Sun