mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
Merge tag 'rpi-2025.07-rc1' of https://source.denx.de/u-boot/custodians/u-boot-raspberrypi
Updates for RPi for 2025.07: - copy over uart clock-frequency in DT - always set fdt_addr with firmware-provided FDT address - Set bootm_size to 512MB - Drop fdt_high and initrd_high - Update environment to support booti and large initrd
This commit is contained in:
@@ -359,9 +359,6 @@ static void set_fdtfile(void)
|
||||
*/
|
||||
static void set_fdt_addr(void)
|
||||
{
|
||||
if (env_get("fdt_addr"))
|
||||
return;
|
||||
|
||||
if (fdt_magic(fw_dtb_pointer) != FDT_MAGIC)
|
||||
return;
|
||||
|
||||
@@ -602,6 +599,9 @@ void update_fdt_from_fw(void *fdt, void *fw_fdt)
|
||||
|
||||
/* Bluetooth device address as provided by the firmware */
|
||||
copy_property(fdt, fw_fdt, "/soc/serial@7e201000/bluetooth", "local-bd-address");
|
||||
|
||||
/* copy uart clk as provided by the firmware */
|
||||
copy_property(fdt, fw_fdt, "/clocks/clk-uart", "clock-frequency");
|
||||
}
|
||||
|
||||
int ft_board_setup(void *blob, struct bd_info *bd)
|
||||
|
||||
@@ -48,30 +48,33 @@ dfu_alt_info+=zImage fat 0 1
|
||||
*
|
||||
* scriptaddr and pxefile_addr_r can be pretty much anywhere that doesn't
|
||||
* conflict with something else. Reserving 1M for each of them at
|
||||
* 0x02400000-0x02500000 and 0x02500000-0x02600000 should be plenty.
|
||||
* 0x05400000-0x05500000 and 0x05500000-0x05600000 should be plenty.
|
||||
*
|
||||
* On ARM, both the DTB and any possible initrd must be loaded such that they
|
||||
* fit inside the lowmem mapping in Linux. In practice, this usually means not
|
||||
* more than ~700M away from the start of the kernel image but this number can
|
||||
* be larger OR smaller depending on e.g. the 'vmalloc=xxxM' command line
|
||||
* parameter given to the kernel. So reserving memory from low to high
|
||||
* satisfies this constraint again. Reserving 1M at 0x02600000-0x02700000 for
|
||||
* the DTB leaves rest of the free RAM to the initrd starting at 0x02700000.
|
||||
* Even with the smallest possible CPU-GPU memory split of the CPU getting
|
||||
* only 64M, the remaining 25M starting at 0x02700000 should allow quite
|
||||
* large initrds before they start colliding with U-Boot.
|
||||
* satisfies this constraint again. Reserving 1M at 0x05600000-0x05700000 for
|
||||
* the DTB leaves rest of the free RAM to the initrd starting at 0x05700000.
|
||||
* This means that the board must have at least 128MB of RAM available to
|
||||
* U-Boot, more if the initrd is large.
|
||||
*
|
||||
* For compressed kernels, the maximum size is just under 32MB, with an area for
|
||||
* decompression at 0x02000000 with space for 52MB, which is plenty for current
|
||||
* kernels.
|
||||
*
|
||||
* limit bootm_size to 512MB so that all boot images stay within the bottom
|
||||
* 512MB of memory
|
||||
*/
|
||||
#ifdef CONFIG_ARM64
|
||||
fdt_high=ffffffffffffffff
|
||||
initrd_high=ffffffffffffffff
|
||||
#else
|
||||
fdt_high=ffffffff
|
||||
initrd_high=ffffffff
|
||||
#endif
|
||||
bootm_size=0x20000000
|
||||
|
||||
kernel_addr_r=0x00080000
|
||||
scriptaddr=0x02400000
|
||||
pxefile_addr_r=0x02500000
|
||||
fdt_addr_r=0x02600000
|
||||
ramdisk_addr_r=0x02700000
|
||||
kernel_comp_addr_r=0x02000000
|
||||
kernel_comp_size=0x03400000
|
||||
scriptaddr=0x05400000
|
||||
pxefile_addr_r=0x05500000
|
||||
fdt_addr_r=0x05600000
|
||||
ramdisk_addr_r=0x05700000
|
||||
|
||||
boot_targets=mmc usb pxe dhcp
|
||||
|
||||
Reference in New Issue
Block a user