diff -Nru u-boot-2022.07+dfsg/debian/changelog u-boot-2022.07+dfsg/debian/changelog --- u-boot-2022.07+dfsg/debian/changelog 2022-08-24 10:12:10.000000000 +0200 +++ u-boot-2022.07+dfsg/debian/changelog 2022-10-13 12:12:03.000000000 +0200 @@ -1,3 +1,10 @@ +u-boot (2022.07+dfsg-1ubuntu4) kinetic; urgency=medium + + * Adjust u-boot-microchip on PolarFire Icicle Kit for the changed memory + layout of the HSS 2022.10 firmware (LP: #1992776) + + -- Heinrich Schuchardt Thu, 13 Oct 2022 12:12:03 +0200 + u-boot (2022.07+dfsg-1ubuntu3) kinetic; urgency=medium * Add package for PolarFire SoC Icicle Kit (LP: #1987505) diff -Nru u-boot-2022.07+dfsg/debian/patches/riscv64/dts-mpfs-icicle-kit-update-memory-configuratio.patch u-boot-2022.07+dfsg/debian/patches/riscv64/dts-mpfs-icicle-kit-update-memory-configuratio.patch --- u-boot-2022.07+dfsg/debian/patches/riscv64/dts-mpfs-icicle-kit-update-memory-configuratio.patch 1970-01-01 01:00:00.000000000 +0100 +++ u-boot-2022.07+dfsg/debian/patches/riscv64/dts-mpfs-icicle-kit-update-memory-configuratio.patch 2022-10-13 12:09:53.000000000 +0200 @@ -0,0 +1,109 @@ +From 4efdcb27771b2057dd7e5c2cd6cafa97ea0fb746 Mon Sep 17 00:00:00 2001 +From: Conor Dooley +Date: Tue, 4 Oct 2022 13:47:43 +0100 +Subject: [PATCH] riscv: dts: mpfs-icicle-kit: update memory configuration for + v2022.10 + +In the v2022.10 reference design, the seg registers are going to be +changed, resulting in a required change to the memory map in Linux. +A small 4M reservation is made at the end of 32-bit DDR to provide some +memory for the HSS to use, so that it can cache its payload.bin between +reboots of a specific context. + +Signed-off-by: Conor Dooley +--- + arch/riscv/dts/microchip-mpfs-icicle-kit.dts | 70 ++++---------------- + 1 file changed, 14 insertions(+), 56 deletions(-) + +diff --git a/arch/riscv/dts/microchip-mpfs-icicle-kit.dts b/arch/riscv/dts/microchip-mpfs-icicle-kit.dts +index 287ef3d23b..1b47865557 100644 +--- a/arch/riscv/dts/microchip-mpfs-icicle-kit.dts ++++ b/arch/riscv/dts/microchip-mpfs-icicle-kit.dts +@@ -28,70 +28,28 @@ + timebase-frequency = ; + }; + +- reserved-memory { +- ranges; +- #size-cells = <2>; +- #address-cells = <2>; +- +- fabricbuf0: fabricbuf@0 { +- compatible = "shared-dma-pool"; +- reg = <0x0 0xae000000 0x0 0x2000000>; +- label = "fabricbuf0-ddr-c"; +- }; +- +- fabricbuf1: fabricbuf@1 { +- compatible = "shared-dma-pool"; +- reg = <0x0 0xc0000000 0x0 0x8000000>; +- label = "fabricbuf1-ddr-nc"; +- }; +- +- fabricbuf2: fabricbuf@2 { +- compatible = "shared-dma-pool"; +- reg = <0x0 0xd8000000 0x0 0x8000000>; +- label = "fabricbuf2-ddr-nc-wcb"; +- }; +- }; +- +- udmabuf0 { +- compatible = "ikwzm,u-dma-buf"; +- device-name = "udmabuf-ddr-c0"; +- minor-number = <0>; +- size = <0x0 0x2000000>; +- memory-region = <&fabricbuf0>; +- sync-mode = <3>; +- }; +- +- udmabuf1 { +- compatible = "ikwzm,u-dma-buf"; +- device-name = "udmabuf-ddr-nc0"; +- minor-number = <1>; +- size = <0x0 0x8000000>; +- memory-region = <&fabricbuf1>; +- sync-mode = <3>; +- }; +- +- udmabuf2 { +- compatible = "ikwzm,u-dma-buf"; +- device-name = "udmabuf-ddr-nc-wcb0"; +- minor-number = <2>; +- size = <0x0 0x8000000>; +- memory-region = <&fabricbuf2>; +- sync-mode = <3>; +- }; +- + ddrc_cache_lo: memory@80000000 { + device_type = "memory"; +- reg = <0x0 0x80000000 0x0 0x2e000000>; +- clocks = <&clkcfg CLK_DDRC>; ++ reg = <0x0 0x80000000 0x0 0x40000000>; + status = "okay"; + }; +- ++ + ddrc_cache_hi: memory@1000000000 { + device_type = "memory"; +- reg = <0x10 0x0 0x0 0x40000000>; +- clocks = <&clkcfg CLK_DDRC>; ++ reg = <0x10 0x40000000 0x0 0x40000000>; + status = "okay"; + }; ++ ++ reserved-memory { ++ #address-cells = <2>; ++ #size-cells = <2>; ++ ranges; ++ ++ hss_payload: region@BFC00000 { ++ reg = <0x0 0xBFC00000 0x0 0x400000>; ++ no-map; ++ }; ++ }; + }; + + &uart1 { +-- +2.37.2 + diff -Nru u-boot-2022.07+dfsg/debian/patches/riscv64/mpfs-icicle-reserve-the-top-of-memory-for-the-.patch u-boot-2022.07+dfsg/debian/patches/riscv64/mpfs-icicle-reserve-the-top-of-memory-for-the-.patch --- u-boot-2022.07+dfsg/debian/patches/riscv64/mpfs-icicle-reserve-the-top-of-memory-for-the-.patch 1970-01-01 01:00:00.000000000 +0100 +++ u-boot-2022.07+dfsg/debian/patches/riscv64/mpfs-icicle-reserve-the-top-of-memory-for-the-.patch 2022-10-13 12:10:36.000000000 +0200 @@ -0,0 +1,27 @@ +From 41972b043b205b7e0847d747a41d488c5e3d189e Mon Sep 17 00:00:00 2001 +From: Conor Dooley +Date: Wed, 5 Oct 2022 13:34:13 +0100 +Subject: [PATCH 1/1] riscv: mpfs icicle: reserve the top of memory for the HSS + +Signed-off-by: Conor Dooley +Signed-off-by: Heinrich Schuchardt +--- + include/configs/microchip_mpfs_icicle.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/include/configs/microchip_mpfs_icicle.h b/include/configs/microchip_mpfs_icicle.h +index 4c7cfac8af..922cae9df7 100644 +--- a/include/configs/microchip_mpfs_icicle.h ++++ b/include/configs/microchip_mpfs_icicle.h +@@ -13,6 +13,8 @@ + + #define CONFIG_STANDALONE_LOAD_ADDR 0x80200000 + ++#define CONFIG_SYS_MEM_TOP_HIDE SZ_4M ++ + /* Environment options */ + + #define BOOT_TARGET_DEVICES(func) \ +-- +2.37.2 + diff -Nru u-boot-2022.07+dfsg/debian/patches/series u-boot-2022.07+dfsg/debian/patches/series --- u-boot-2022.07+dfsg/debian/patches/series 2022-08-24 10:12:10.000000000 +0200 +++ u-boot-2022.07+dfsg/debian/patches/series 2022-10-13 12:11:55.000000000 +0200 @@ -27,3 +27,7 @@ efivars-commands.patch riscv64/sysreset-sbi.patch + +# For PolarFire Icicle Kit with HSS 2022.10 +riscv64/dts-mpfs-icicle-kit-update-memory-configuratio.patch +riscv64/mpfs-icicle-reserve-the-top-of-memory-for-the-.patch