]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
board: ten64: strip extra u-boot compatibles from FDT
authorMathew McBride <matt@traverse.com.au>
Fri, 21 Jul 2023 04:39:31 +0000 (04:39 +0000)
committerTom Rini <trini@konsulko.com>
Thu, 3 Aug 2023 13:40:50 +0000 (09:40 -0400)
The u-boot version of the LS1088A device tree has
an extra compatible (simple-mfd) added to &fsl_mc
to facilitate usage with U-Boot's device model.

Unfortunately FreeBSD will only match the single
"fsl,qoriq-mc" exactly when the node is a "bus"
object, so we need to strip out the extra compatible
before presenting it to the operating system.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
board/traverse/ten64/ten64.c

index 3cb8bad855f5c44c9f80d1aab46e306800e169f2..52daae6e24dbe1bd98933f5cdc704f05f142cd42 100644 (file)
@@ -174,6 +174,12 @@ void fdt_fixup_board_enet(void *fdt)
                return;
        }
 
+       /* In the U-Boot FDT, a 'simple-mfd' compatible is added.
+        * Remove this as FreeBSD will only match "fsl,qoriq-mc"
+        * exactly on the DPAA2 bus/MC node.
+        */
+       fdt_setprop(fdt, offset, "compatible", "fsl,qoriq-mc", 12);
+
        if (get_mc_boot_status() == 0 &&
            (is_lazy_dpl_addr_valid() || get_dpl_apply_status() == 0))
                fdt_status_okay(fdt, offset);