[PATCH v2 6/6] arm64: zynqmp: Used fixed-partitions for QSPI in k26
Michal Simek
monstr at monstr.eu
Mon Jun 5 04:16:39 PDT 2023
On 5/22/23 16:59, Michal Simek wrote:
> Using fixed partitions is recommended way how to describe QSPI. Also add
> label for qspi flash memory to be able to reference it in future.
>
> Signed-off-by: Michal Simek <michal.simek at amd.com>
> ---
>
> (no changes since v1)
>
> ---
> .../boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 169 +++++++++---------
> 1 file changed, 88 insertions(+), 81 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts
> index 84e18fdce775..dfd1a18f5a10 100644
> --- a/arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts
> +++ b/arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts
> @@ -127,87 +127,94 @@ spi_flash: flash at 0 { /* MT25QU512A */
> spi-tx-bus-width = <4>;
> spi-rx-bus-width = <4>;
> spi-max-frequency = <40000000>; /* 40MHz */
> - partition at 0 {
> - label = "Image Selector";
> - reg = <0x0 0x80000>; /* 512KB */
> - read-only;
> - lock;
> - };
> - partition at 80000 {
> - label = "Image Selector Golden";
> - reg = <0x80000 0x80000>; /* 512KB */
> - read-only;
> - lock;
> - };
> - partition at 100000 {
> - label = "Persistent Register";
> - reg = <0x100000 0x20000>; /* 128KB */
> - };
> - partition at 120000 {
> - label = "Persistent Register Backup";
> - reg = <0x120000 0x20000>; /* 128KB */
> - };
> - partition at 140000 {
> - label = "Open_1";
> - reg = <0x140000 0xC0000>; /* 768KB */
> - };
> - partition at 200000 {
> - label = "Image A (FSBL, PMU, ATF, U-Boot)";
> - reg = <0x200000 0xD00000>; /* 13MB */
> - };
> - partition at f00000 {
> - label = "ImgSel Image A Catch";
> - reg = <0xF00000 0x80000>; /* 512KB */
> - read-only;
> - lock;
> - };
> - partition at f80000 {
> - label = "Image B (FSBL, PMU, ATF, U-Boot)";
> - reg = <0xF80000 0xD00000>; /* 13MB */
> - };
> - partition at 1c80000 {
> - label = "ImgSel Image B Catch";
> - reg = <0x1C80000 0x80000>; /* 512KB */
> - read-only;
> - lock;
> - };
> - partition at 1d00000 {
> - label = "Open_2";
> - reg = <0x1D00000 0x100000>; /* 1MB */
> - };
> - partition at 1e00000 {
> - label = "Recovery Image";
> - reg = <0x1E00000 0x200000>; /* 2MB */
> - read-only;
> - lock;
> - };
> - partition at 2000000 {
> - label = "Recovery Image Backup";
> - reg = <0x2000000 0x200000>; /* 2MB */
> - read-only;
> - lock;
> - };
> - partition at 2200000 {
> - label = "U-Boot storage variables";
> - reg = <0x2200000 0x20000>; /* 128KB */
> - };
> - partition at 2220000 {
> - label = "U-Boot storage variables backup";
> - reg = <0x2220000 0x20000>; /* 128KB */
> - };
> - partition at 2240000 {
> - label = "SHA256";
> - reg = <0x2240000 0x40000>; /* 256B but 256KB sector */
> - read-only;
> - lock;
> - };
> - partition at 2280000 {
> - label = "Secure OS Storage";
> - reg = <0x2280000 0x20000>; /* 128KB */
> - };
> - partition at 22A0000 {
> - label = "User";
> - reg = <0x22A0000 0x1d60000>; /* 29.375 MB */
> +
> + partitions {
> + compatible = "fixed-partitions";
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + partition at 0 {
> + label = "Image Selector";
> + reg = <0x0 0x80000>; /* 512KB */
> + read-only;
> + lock;
> + };
> + partition at 80000 {
> + label = "Image Selector Golden";
> + reg = <0x80000 0x80000>; /* 512KB */
> + read-only;
> + lock;
> + };
> + partition at 100000 {
> + label = "Persistent Register";
> + reg = <0x100000 0x20000>; /* 128KB */
> + };
> + partition at 120000 {
> + label = "Persistent Register Backup";
> + reg = <0x120000 0x20000>; /* 128KB */
> + };
> + partition at 140000 {
> + label = "Open_1";
> + reg = <0x140000 0xC0000>; /* 768KB */
> + };
> + partition at 200000 {
> + label = "Image A (FSBL, PMU, ATF, U-Boot)";
> + reg = <0x200000 0xD00000>; /* 13MB */
> + };
> + partition at f00000 {
> + label = "ImgSel Image A Catch";
> + reg = <0xF00000 0x80000>; /* 512KB */
> + read-only;
> + lock;
> + };
> + partition at f80000 {
> + label = "Image B (FSBL, PMU, ATF, U-Boot)";
> + reg = <0xF80000 0xD00000>; /* 13MB */
> + };
> + partition at 1c80000 {
> + label = "ImgSel Image B Catch";
> + reg = <0x1C80000 0x80000>; /* 512KB */
> + read-only;
> + lock;
> + };
> + partition at 1d00000 {
> + label = "Open_2";
> + reg = <0x1D00000 0x100000>; /* 1MB */
> + };
> + partition at 1e00000 {
> + label = "Recovery Image";
> + reg = <0x1E00000 0x200000>; /* 2MB */
> + read-only;
> + lock;
> + };
> + partition at 2000000 {
> + label = "Recovery Image Backup";
> + reg = <0x2000000 0x200000>; /* 2MB */
> + read-only;
> + lock;
> + };
> + partition at 2200000 {
> + label = "U-Boot storage variables";
> + reg = <0x2200000 0x20000>; /* 128KB */
> + };
> + partition at 2220000 {
> + label = "U-Boot storage variables backup";
> + reg = <0x2220000 0x20000>; /* 128KB */
> + };
> + partition at 2240000 {
> + label = "SHA256";
> + reg = <0x2240000 0x40000>; /* 256B but 256KB sector */
> + read-only;
> + lock;
> + };
> + partition at 2280000 {
> + label = "Secure OS Storage";
> + reg = <0x2280000 0x20000>; /* 128KB */
> + };
> + partition at 22A0000 {
> + label = "User";
> + reg = <0x22A0000 0x1d60000>; /* 29.375 MB */
> + };
> };
> };
> };
Applied.
M
--
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP/Versal ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal/Versal NET SoCs
TF-A maintainer - Xilinx ZynqMP/Versal/Versal NET SoCs
More information about the linux-arm-kernel
mailing list