]> git.ipfire.org Git - people/ms/u-boot.git/commitdiff
board: ls2080ardb: Add fsl_fdt_fixup_flash
authorSantan Kumar <santan.kumar@nxp.com>
Wed, 5 Jul 2017 12:35:08 +0000 (18:05 +0530)
committerYork Sun <york.sun@nxp.com>
Wed, 9 Aug 2017 16:57:32 +0000 (09:57 -0700)
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
otherwise.

Signed-off-by: Santan Kumar <santan.kumar@nxp.com>
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
[YS: Revise commit message]
Reviewed-by: York Sun <york.sun@nxp.com>
board/freescale/ls2080ardb/ls2080ardb.c

index f332b6ff5ba258f7d03216ad3156aaa7cdd5e713..d7122b3dfcafccbd987deceb8c62009d840ee669 100644 (file)
@@ -328,6 +328,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];
@@ -355,6 +381,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