From 7f97d93cfd6215c1cb60a7282868883d460689af1122047c16b33d0525d4bf6c Mon Sep 17 00:00:00 2001 From: Guillaume GARDET Date: Mon, 16 Dec 2019 10:39:29 +0000 Subject: [PATCH] Accepting request 757312 from hardware:boot:staging OBS-URL: https://build.opensuse.org/request/show/757312 OBS-URL: https://build.opensuse.org/package/show/hardware:boot/u-boot?expand=0&rev=70 --- 0024-rpi-fix-dram-bank-initialization.patch | 43 +++++++++++++++++++ ...-rpi-Enable-DRAM-bank-initialization.patch | 39 +++++++++++++++++ ...-ARM-defconfig-Fix-32bit-config-for-.patch | 30 +++++++++++++ u-boot.changes | 10 +++++ u-boot.spec | 5 ++- 5 files changed, 126 insertions(+), 1 deletion(-) create mode 100644 0024-rpi-fix-dram-bank-initialization.patch create mode 100644 0025-rpi-Enable-DRAM-bank-initialization.patch create mode 100644 0026-ARM-defconfig-Fix-32bit-config-for-.patch diff --git a/0024-rpi-fix-dram-bank-initialization.patch b/0024-rpi-fix-dram-bank-initialization.patch new file mode 100644 index 0000000..386e500 --- /dev/null +++ b/0024-rpi-fix-dram-bank-initialization.patch @@ -0,0 +1,43 @@ +From 6903bb74d467121c2d2c99b4272fe4363e8f2f64 Mon Sep 17 00:00:00 2001 +From: Matthias Brugger +Date: Thu, 5 Dec 2019 18:53:13 +0100 +Subject: [PATCH] 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 +(cherry picked from commit e19cfcc07ac5da8b3a04e21875ec542d994865d4) +--- + 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 3d4afaf653..76f1c55b65 100644 +--- a/board/raspberrypi/rpi/rpi.c ++++ b/board/raspberrypi/rpi/rpi.c +@@ -274,8 +274,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 diff --git a/0025-rpi-Enable-DRAM-bank-initialization.patch b/0025-rpi-Enable-DRAM-bank-initialization.patch new file mode 100644 index 0000000..265a548 --- /dev/null +++ b/0025-rpi-Enable-DRAM-bank-initialization.patch @@ -0,0 +1,39 @@ +From 8dcbd1a138d5accd339ec990750070bef537cd45 Mon Sep 17 00:00:00 2001 +From: Matthias Brugger +Date: Thu, 5 Dec 2019 18:53:14 +0100 +Subject: [PATCH] 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 +(cherry picked from commit a63f81c242090682ea4907fa6475d8057208cb05) +--- + 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 76f1c55b65..17d463e16f 100644 +--- a/board/raspberrypi/rpi/rpi.c ++++ b/board/raspberrypi/rpi/rpi.c +@@ -271,7 +271,6 @@ int dram_init(void) + } + + #ifdef CONFIG_OF_BOARD +-#ifdef CONFIG_BCM2711 + int dram_init_banksize(void) + { + int ret; +@@ -283,7 +282,6 @@ int dram_init_banksize(void) + return fdtdec_setup_mem_size_base(); + } + #endif +-#endif + + static void set_fdtfile(void) + { diff --git a/0026-ARM-defconfig-Fix-32bit-config-for-.patch b/0026-ARM-defconfig-Fix-32bit-config-for-.patch new file mode 100644 index 0000000..346c35b --- /dev/null +++ b/0026-ARM-defconfig-Fix-32bit-config-for-.patch @@ -0,0 +1,30 @@ +From 25da6429ff2aeb00119b2ba43cc59149d7e07b5a Mon Sep 17 00:00:00 2001 +From: Matthias Brugger +Date: Thu, 5 Dec 2019 18:53:15 +0100 +Subject: [PATCH] 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 +(cherry picked from commit e5167465a1740f0cac05be44f3e2a4e334eb527a) +--- + 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 dc696906fd..ec7330a98d 100644 +--- a/configs/rpi_4_32b_defconfig ++++ b/configs/rpi_4_32b_defconfig +@@ -3,7 +3,7 @@ CONFIG_ARCH_BCM283X=y + CONFIG_SYS_TEXT_BASE=0x00008000 + CONFIG_TARGET_RPI_4_32B=y + CONFIG_SYS_MALLOC_F_LEN=0x2000 +-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 diff --git a/u-boot.changes b/u-boot.changes index 3ddbbc2..8533acc 100644 --- a/u-boot.changes +++ b/u-boot.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Fri Dec 13 15:57:44 UTC 2019 - Matthias Brugger + +Patch queue updated from git://github.com/openSUSE/u-boot.git tumbleweed-2019.10 +* Fix bsc#1158357 by: +* Patches added: + 0024-rpi-fix-dram-bank-initialization.patch + 0025-rpi-Enable-DRAM-bank-initialization.patch + 0026-ARM-defconfig-Fix-32bit-config-for-.patch + ------------------------------------------------------------------- Thu Dec 5 14:27:58 UTC 2019 - Guillaume GARDET diff --git a/u-boot.spec b/u-boot.spec index 73fc34c..ba0a9b8 100644 --- a/u-boot.spec +++ b/u-boot.spec @@ -215,6 +215,10 @@ Patch0020: 0020-ARM-bcm283x-Set-rpi_bcm283x_base-at.patch Patch0021: 0021-ARM-bcm283x-Set-memory-map-at-run-t.patch Patch0022: 0022-ARM-defconfig-add-unified-config-fo.patch Patch0023: 0023-boo-1144161-Remove-nand-mtd-spi-dfu.patch +Patch0024: 0024-rpi-fix-dram-bank-initialization.patch +Patch0025: 0025-rpi-Enable-DRAM-bank-initialization.patch +Patch0026: 0026-ARM-defconfig-Fix-32bit-config-for-.patch +# Patches: end BuildRequires: bc BuildRequires: bison # Arndale board needs DTC >= 1.4 @@ -225,7 +229,6 @@ BuildRequires: libopenssl-devel BuildRequires: pkgconfig BuildRequires: python-devel BuildRequires: swig -# Patches: end BuildRequires: pkgconfig(sdl) Conflicts: u-boot-loader Provides: u-boot-loader