diff --git a/raspberry-pi-4-fixes.patch b/raspberry-pi-4-fixes.patch new file mode 100644 index 0000000..e8c1387 --- /dev/null +++ b/raspberry-pi-4-fixes.patch @@ -0,0 +1,118 @@ +From e19cfcc07ac5da8b3a04e21875ec542d994865d4 Mon Sep 17 00:00:00 2001 +From: Matthias Brugger +Date: Thu, 5 Dec 2019 18:53:13 +0100 +Subject: [PATCH 08/10] rpi: fix dram bank initialization + +To update the dram bank information from device-tree we use +fdtdec_decode_ram_size() which expectes the the size-cells and +address-cells to be defined in the memory node. For normal system RAM +these values are defined in the root node. When the values differ from +the default values defined in the spec, we can end up with wrong RAM +bank information. + +Switch to the "standard" way to update the RAM bank information to +avoid this. + +Fixes: 9de5b89e4c ("rpi4: enable dram bank initialization") + +Signed-off-by: Matthias Brugger +--- + board/raspberrypi/rpi/rpi.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c +index 5f120ea9c2..e19610f40f 100644 +--- a/board/raspberrypi/rpi/rpi.c ++++ b/board/raspberrypi/rpi/rpi.c +@@ -275,8 +275,13 @@ int dram_init(void) + #ifdef CONFIG_BCM2711 + int dram_init_banksize(void) + { +- return fdtdec_decode_ram_size(gd->fdt_blob, NULL, 0, NULL, +- (phys_size_t *)&gd->ram_size, gd->bd); ++ int ret; ++ ++ ret = fdtdec_setup_memory_banksize(); ++ if (ret) ++ return ret; ++ ++ return fdtdec_setup_mem_size_base(); + } + #endif + #endif +-- +2.24.1 + +From a63f81c242090682ea4907fa6475d8057208cb05 Mon Sep 17 00:00:00 2001 +From: Matthias Brugger +Date: Thu, 5 Dec 2019 18:53:14 +0100 +Subject: [PATCH 09/10] rpi: Enable DRAM bank initialization on arm64 + +Up to now we only update the DRAM banks when we are define +CONFIG_BCM2711. But our one binary approach uses a config that supports +BCM2837 and BCM2711. As a result we only see one gibibyte of RAM on +Raspberry Pi 4, even if it has more RAM. +Fix this by calling dram_init_banksize. + +Fixes: 5694090670 ("ARM: defconfig: add unified config for RPi3 and RPi4") + +Signed-off-by: Matthias Brugger +--- + board/raspberrypi/rpi/rpi.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c +index e19610f40f..e367ba3092 100644 +--- a/board/raspberrypi/rpi/rpi.c ++++ b/board/raspberrypi/rpi/rpi.c +@@ -272,7 +272,6 @@ int dram_init(void) + } + + #ifdef CONFIG_OF_BOARD +-#ifdef CONFIG_BCM2711 + int dram_init_banksize(void) + { + int ret; +@@ -284,7 +283,6 @@ int dram_init_banksize(void) + return fdtdec_setup_mem_size_base(); + } + #endif +-#endif + + static void set_fdtfile(void) + { +-- +2.24.1 + +From e5167465a1740f0cac05be44f3e2a4e334eb527a Mon Sep 17 00:00:00 2001 +From: Matthias Brugger +Date: Thu, 5 Dec 2019 18:53:15 +0100 +Subject: [PATCH 10/10] ARM: defconfig: Fix 32bit config for RPi4 + +The rpi_4_32b_defconfig states that only one DRAM bank is present. This +leads to a wrong configuration of the available DRAM. Fix this by +setting the DRAM bank config accordingly. + +Fixes: 193279d784 ("RPI: Add defconfigs for rpi4 (32/64)") + +Signed-off-by: Matthias Brugger +--- + configs/rpi_4_32b_defconfig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig +index e7d8f29060..80cf930032 100644 +--- a/configs/rpi_4_32b_defconfig ++++ b/configs/rpi_4_32b_defconfig +@@ -4,7 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x00008000 + CONFIG_TARGET_RPI_4_32B=y + CONFIG_SYS_MALLOC_F_LEN=0x2000 + CONFIG_ENV_SIZE=0x4000 +-CONFIG_NR_DRAM_BANKS=1 ++CONFIG_NR_DRAM_BANKS=2 + CONFIG_DISTRO_DEFAULTS=y + CONFIG_OF_BOARD_SETUP=y + # CONFIG_ARCH_FIXUP_FDT_MEMORY is not set +-- +2.24.1 + diff --git a/uboot-tools.spec b/uboot-tools.spec index 58a7e84..fb2fe23 100644 --- a/uboot-tools.spec +++ b/uboot-tools.spec @@ -2,7 +2,7 @@ Name: uboot-tools Version: 2020.01 -Release: 0.7%{?candidate:.%{candidate}}%{?dist} +Release: 0.8%{?candidate:.%{candidate}}%{?dist} Summary: U-Boot utilities License: GPLv2+ BSD LGPL-2.1+ LGPL-2.0+ URL: http://www.denx.de/wiki/U-Boot @@ -30,6 +30,7 @@ Patch9: tools-fix-version.h.patch Patch10: zynqmp-Add-support-for-u-boot.itb-generation-with-ATF.patch Patch11: zynqmp-Do-not-assing-MIO34-that-early-on-zcu100.patch Patch12: bcm283x-dts-Rename-U-Boot-file.patch +Patch13: raspberry-pi-4-fixes.patch BuildRequires: bc BuildRequires: dtc @@ -253,6 +254,9 @@ cp -p board/warp7/README builds/docs/README.warp7 %endif %changelog +* Thu Dec 12 2019 Peter Robinson 2020.01-0.8-rc4 +- Fixes for Raspberry Pi + * Thu Dec 5 2019 Peter Robinson 2020.01-0.7-rc4 - Enable the Khadas Edge and VIM series of devices - Minor other fixes