[PATCH 3/3] raspi: add a fixup for the `dma-ranges` property of the `/emmc2bus` dt node

Jonas Richardsen jonasrichardsen at emlix.com
Mon Apr 22 03:16:49 PDT 2024


As mentioned in `bcm2711.dtsi`, line 412, the `dma-ranges` property
of the `/emmc2bus` node is overridden by the video core firmware:
> /*
>  * emmc2 has different DMA constraints based on SoC revisions. It was
>  * moved into its own bus, so as for RPi4's firmware to update them.
>  * The firmware will find whether the emmc2bus alias is defined, and if
>  * so, it'll edit the dma-ranges property below accordingly.
>  */
This change adds a fixup that copies the correct value of this property
from the video core device tree.

Signed-off-by: Jonas Richardsen <jonasrichardsen at emlix.com>
---
 arch/arm/boards/raspberry-pi/rpi-common.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/boards/raspberry-pi/rpi-common.c b/arch/arm/boards/raspberry-pi/rpi-common.c
index 3c685852d3..04e1a899f1 100644
--- a/arch/arm/boards/raspberry-pi/rpi-common.c
+++ b/arch/arm/boards/raspberry-pi/rpi-common.c
@@ -375,6 +375,7 @@ static void rpi_vc_fdt_parse(struct device_node *root)
 	register_vc_property_fixup(root, "/reserved-memory/nvram at 0", "reg");
 	register_vc_property_fixup(root, "/reserved-memory/nvram at 0", "status");
 	register_vc_fixup(root, "/hat");
+	register_vc_property_fixup(root, "/emmc2bus", "dma-ranges");
 	register_vc_fixup(root, "/chosen/bootloader");
 	chosen = register_vc_fixup(root, "/chosen");
 	if (!chosen) {
-- 
2.42.0




More information about the barebox mailing list