po 20. 6. 2022 v 15:46 odesÃlatel Michal Simek <mon...@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.si...@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@0 { /* MT25QU512A */ > + spi_flash: flash@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@0 { > - label = "Image Selector"; > - reg = <0x0 0x80000>; /* 512KB */ > - read-only; > - lock; > - }; > - partition@80000 { > - label = "Image Selector Golden"; > - reg = <0x80000 0x80000>; /* 512KB */ > - read-only; > - lock; > - }; > - partition@100000 { > - label = "Persistent Register"; > - reg = <0x100000 0x20000>; /* 128KB */ > - }; > - partition@120000 { > - label = "Persistent Register Backup"; > - reg = <0x120000 0x20000>; /* 128KB */ > - }; > - partition@140000 { > - label = "Open_1"; > - reg = <0x140000 0xC0000>; /* 768KB */ > - }; > - partition@200000 { > - label = "Image A (FSBL, PMU, ATF, U-Boot)"; > - reg = <0x200000 0xD00000>; /* 13MB */ > - }; > - partition@f00000 { > - label = "ImgSel Image A Catch"; > - reg = <0xF00000 0x80000>; /* 512KB */ > - read-only; > - lock; > - }; > - partition@f80000 { > - label = "Image B (FSBL, PMU, ATF, U-Boot)"; > - reg = <0xF80000 0xD00000>; /* 13MB */ > - }; > - partition@1c80000 { > - label = "ImgSel Image B Catch"; > - reg = <0x1C80000 0x80000>; /* 512KB */ > - read-only; > - lock; > - }; > - partition@1d00000 { > - label = "Open_2"; > - reg = <0x1D00000 0x100000>; /* 1MB */ > - }; > - partition@1e00000 { > - label = "Recovery Image"; > - reg = <0x1E00000 0x200000>; /* 2MB */ > - read-only; > - lock; > - }; > - partition@2000000 { > - label = "Recovery Image Backup"; > - reg = <0x2000000 0x200000>; /* 2MB */ > - read-only; > - lock; > - }; > - partition@2200000 { > - label = "U-Boot storage variables"; > - reg = <0x2200000 0x20000>; /* 128KB */ > - }; > - partition@2220000 { > - label = "U-Boot storage variables backup"; > - reg = <0x2220000 0x20000>; /* 128KB */ > - }; > - partition@2240000 { > - label = "SHA256"; > - reg = <0x2240000 0x10000>; /* 256B but 64KB sector */ > - read-only; > - lock; > - }; > - partition@2250000 { > - label = "User"; > - reg = <0x2250000 0x1db0000>; /* 29.5 MB */ > + > + partitions { > + compatible = "fixed-partitions"; > + #address-cells = <1>; > + #size-cells = <1>; > + > + partition@0 { > + label = "Image Selector"; > + reg = <0x0 0x80000>; /* 512KB */ > + read-only; > + lock; > + }; > + partition@80000 { > + label = "Image Selector Golden"; > + reg = <0x80000 0x80000>; /* 512KB */ > + read-only; > + lock; > + }; > + partition@100000 { > + label = "Persistent Register"; > + reg = <0x100000 0x20000>; /* 128KB */ > + }; > + partition@120000 { > + label = "Persistent Register Backup"; > + reg = <0x120000 0x20000>; /* 128KB */ > + }; > + partition@140000 { > + label = "Open_1"; > + reg = <0x140000 0xC0000>; /* 768KB */ > + }; > + partition@200000 { > + label = "Image A (FSBL, PMU, ATF, U-Boot)"; > + reg = <0x200000 0xD00000>; /* 13MB */ > + }; > + partition@f00000 { > + label = "ImgSel Image A Catch"; > + reg = <0xF00000 0x80000>; /* 512KB */ > + read-only; > + lock; > + }; > + partition@f80000 { > + label = "Image B (FSBL, PMU, ATF, U-Boot)"; > + reg = <0xF80000 0xD00000>; /* 13MB */ > + }; > + partition@1c80000 { > + label = "ImgSel Image B Catch"; > + reg = <0x1C80000 0x80000>; /* 512KB */ > + read-only; > + lock; > + }; > + partition@1d00000 { > + label = "Open_2"; > + reg = <0x1D00000 0x100000>; /* 1MB */ > + }; > + partition@1e00000 { > + label = "Recovery Image"; > + reg = <0x1E00000 0x200000>; /* 2MB */ > + read-only; > + lock; > + }; > + partition@2000000 { > + label = "Recovery Image Backup"; > + reg = <0x2000000 0x200000>; /* 2MB */ > + read-only; > + lock; > + }; > + partition@2200000 { > + label = "U-Boot storage variables"; > + reg = <0x2200000 0x20000>; /* 128KB */ > + }; > + partition@2220000 { > + label = "U-Boot storage variables backup"; > + reg = <0x2220000 0x20000>; /* 128KB */ > + }; > + partition@2240000 { > + label = "SHA256"; > + reg = <0x2240000 0x10000>; /* 256B but 64KB > sector */ > + read-only; > + lock; > + }; > + partition@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