summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonas Richardsen <jonasrichardsen@emlix.com>2024-04-22 10:16:48 +0000
committerSascha Hauer <s.hauer@pengutronix.de>2024-04-23 10:34:02 +0200
commit3cf4417d004521ec4ac65eccad875e17cee8b952 (patch)
tree1291be0452d55122599732c6bbfa745994946691
parentdcb947764491bb5691774cac1f1ab908b60148b2 (diff)
downloadbarebox-3cf4417d0045.tar.gz
barebox-3cf4417d0045.tar.xz
raspi: override properties in /reserved-memory node of device tree
Previously, the fixups in rpi-common.c only tries to copy the `/reserved-memory` node from the video core. As explained in `bcm2711-rpi.dtsi`, line 58, the video core does only update the placement information of the `/reserved-memory/nvram@0` subnode: > /* > * RPi4's co-processor will copy the board's bootloader configuration > * into memory for the OS to consume. It'll also update this node with > * its placement information. > */ This behaviour is not achieved by the previous fixup, as this fixup operates on the wrong node and, even if applied to "/reserved-memory/nvram@0" would not override the already existing properties of this node. Instead, we can use the previously added `register_vc_property_fixup` method to achieve the desired behaviour. Signed-off-by: Jonas Richardsen <jonasrichardsen@emlix.com> Link: https://lore.barebox.org/20240422102232.551842-3-jonasrichardsen@emlix.com Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/boards/raspberry-pi/rpi-common.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/boards/raspberry-pi/rpi-common.c b/arch/arm/boards/raspberry-pi/rpi-common.c
index c56383bb6c..18275f24b0 100644
--- a/arch/arm/boards/raspberry-pi/rpi-common.c
+++ b/arch/arm/boards/raspberry-pi/rpi-common.c
@@ -373,7 +373,8 @@ static void rpi_vc_fdt_parse(struct device_node *root)
register_vc_fixup(root, "/system");
register_vc_fixup(root, "/axi");
- register_vc_fixup(root, "/reserved-memory");
+ register_vc_property_fixup(root, "/reserved-memory/nvram@0", "reg");
+ register_vc_property_fixup(root, "/reserved-memory/nvram@0", "status");
register_vc_fixup(root, "/hat");
register_vc_fixup(root, "/chosen/bootloader");
chosen = register_vc_fixup(root, "/chosen");