[PATCH] arm64: zynqmp: Used fixed-partitions for QSPI in k26

Michal Simek monstr at monstr.eu
Wed Jun 29 11:13:52 CEST 2022


po 20. 6. 2022 v 15:46 odesílatel Michal Simek <monstr at monstr.eu> napsal:
>
> 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>
> ---
>
>  arch/arm/dts/zynqmp-sm-k26-revA.dts | 163 +++++++++++++++-------------
>  1 file changed, 85 insertions(+), 78 deletions(-)
>
> diff --git a/arch/arm/dts/zynqmp-sm-k26-revA.dts b/arch/arm/dts/zynqmp-sm-k26-revA.dts
> index 7c2bfa395da7..ac349a9dcc5d 100644
> --- a/arch/arm/dts/zynqmp-sm-k26-revA.dts
> +++ b/arch/arm/dts/zynqmp-sm-k26-revA.dts
> @@ -130,7 +130,7 @@
>
>  &qspi { /* MIO 0-5 - U143 */
>         status = "okay";
> -       flash at 0 { /* MT25QU512A */
> +       spi_flash: flash at 0 { /* MT25QU512A */
>                 compatible = "mt25qu512a", "jedec,spi-nor"; /* 64MB */
>                 #address-cells = <1>;
>                 #size-cells = <1>;
> @@ -138,83 +138,90 @@
>                 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 0x10000>; /* 256B but 64KB sector */
> -                       read-only;
> -                       lock;
> -               };
> -               partition at 2250000 {
> -                       label = "User";
> -                       reg = <0x2250000 0x1db0000>; /* 29.5 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 0x10000>; /* 256B but 64KB sector */
> +                               read-only;
> +                               lock;
> +                       };
> +                       partition at 2250000 {
> +                               label = "User";
> +                               reg = <0x2250000 0x1db0000>; /* 29.5 MB */
> +                       };
>                 };
>         };
>  };
> --
> 2.36.1
>

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 ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal SoCs


More information about the U-Boot mailing list