summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2025-03-13 09:25:15 -0600
committerTom Rini <trini@konsulko.com>2025-03-13 09:25:15 -0600
commit8c8b066d34ded99a95392e7a9b32f0e541c461eb (patch)
tree5a30a5869eccfbd928c63823ad5f6819eb87dc02
parente5e809bd717a148e665c77e34cc7be95f4b9d445 (diff)
parente042d7593a0b7544259fd2d22240e78d18912746 (diff)
Merge tag 'rpi-2025.04-rc4' of https://source.denx.de/u-boot/custodians/u-boot-raspberrypi
Updates for RPi for 2025.04: - Copy Bluetooth device address in DT - Keep warnings from firmware in DT, if any - Only add frame buffer node if CONFIG_FDT_SIMPLEFB is set - Add identifiers for the new RPi 5 series
-rw-r--r--board/raspberrypi/rpi/rpi.c33
1 files changed, 28 insertions, 5 deletions
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index aa39afa338a..70d3c35499b 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -193,6 +193,21 @@ static const struct rpi_model rpi_models_new_scheme[] = {
DTB_DIR "bcm2712-rpi-5-b.dtb",
true,
},
+ [0x18] = {
+ "Compute Module 5",
+ DTB_DIR "bcm2712-rpi-cm5-cm5io.dtb",
+ true,
+ },
+ [0x19] = {
+ "500",
+ DTB_DIR "bcm2712-rpi-500.dtb",
+ true,
+ },
+ [0x1A] = {
+ "Compute Module 5 Lite",
+ DTB_DIR "bcm2712-rpi-cm5l-cm5io.dtb",
+ true,
+ },
};
static const struct rpi_model rpi_models_old_scheme[] = {
@@ -579,8 +594,14 @@ void update_fdt_from_fw(void *fdt, void *fw_fdt)
/* kernel address randomisation seed as provided by the firmware */
copy_property(fdt, fw_fdt, "/chosen", "kaslr-seed");
+ /* warnings from the firmware (if any) */
+ copy_property(fdt, fw_fdt, "/chosen", "user-warnings");
+
/* address of the PHY device as provided by the firmware */
copy_property(fdt, fw_fdt, "ethernet0/mdio@e14/ethernet-phy@1", "reg");
+
+ /* Bluetooth device address as provided by the firmware */
+ copy_property(fdt, fw_fdt, "/soc/serial@7e201000/bluetooth", "local-bd-address");
}
int ft_board_setup(void *blob, struct bd_info *bd)
@@ -589,11 +610,13 @@ int ft_board_setup(void *blob, struct bd_info *bd)
update_fdt_from_fw(blob, (void *)fw_dtb_pointer);
- node = fdt_node_offset_by_compatible(blob, -1, "simple-framebuffer");
- if (node < 0)
- fdt_simplefb_add_node(blob);
- else
- fdt_simplefb_enable_and_mem_rsv(blob);
+ if (CONFIG_IS_ENABLED(FDT_SIMPLEFB)) {
+ node = fdt_node_offset_by_compatible(blob, -1, "simple-framebuffer");
+ if (node < 0)
+ fdt_simplefb_add_node(blob);
+ else
+ fdt_simplefb_enable_and_mem_rsv(blob);
+ }
#ifdef CONFIG_EFI_LOADER
/* Reserve the spin table */