[PATCH] arm64: zynqmp: Set qspi tx-buswidth to 4

Michal Simek monstr at monstr.eu
Mon May 16 14:05:20 CEST 2022


út 10. 5. 2022 v 16:33 odesílatel Michal Simek <monstr at monstr.eu> napsal:
>
> From: Amit Kumar Mahapatra <amit.kumar-mahapatra at xilinx.com>
>
> In all the ZynqMP boards dts files tx-buswidth is by default set to 1. Due
> to this the framework only issues 1-1-1 write commands to the GQSPI driver.
> But the GQSPI controller is capable of handling 1-4-4 write commands, so
> updated the tx-buswidth to 4 in ZynqMP boards dts files. This would enable
> the spi-nor framework to issue 1-4-4 write commands instead of 1-1-1. This
> will increase the tx data transfer rate, as now the tx data will be
> transferred on four lines instead on single line.
>
> Signed-off-by: Amit Kumar Mahapatra <amit.kumar-mahapatra at xilinx.com>
> Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma at xilinx.com>
> Signed-off-by: Michal Simek <michal.simek at amd.com>
> ---
>
>  arch/arm/dts/zynqmp-m-a2197-01-revA.dts               | 2 +-
>  arch/arm/dts/zynqmp-m-a2197-02-revA.dts               | 2 +-
>  arch/arm/dts/zynqmp-m-a2197-03-revA.dts               | 2 +-
>  arch/arm/dts/zynqmp-mini-qspi.dts                     | 2 +-
>  arch/arm/dts/zynqmp-sm-k26-revA.dts                   | 2 +-
>  arch/arm/dts/zynqmp-topic-miamimp-xilinx-xdp-v1r1.dts | 2 +-
>  arch/arm/dts/zynqmp-zc1232-revA.dts                   | 2 +-
>  arch/arm/dts/zynqmp-zc1254-revA.dts                   | 2 +-
>  arch/arm/dts/zynqmp-zc1751-xm015-dc1.dts              | 2 +-
>  arch/arm/dts/zynqmp-zc1751-xm018-dc4.dts              | 2 +-
>  arch/arm/dts/zynqmp-zcu102-revA.dts                   | 2 +-
>  arch/arm/dts/zynqmp-zcu104-revA.dts                   | 2 +-
>  arch/arm/dts/zynqmp-zcu104-revC.dts                   | 2 +-
>  arch/arm/dts/zynqmp-zcu106-revA.dts                   | 2 +-
>  arch/arm/dts/zynqmp-zcu111-revA.dts                   | 2 +-
>  arch/arm/dts/zynqmp-zcu1275-revA.dts                  | 2 +-
>  arch/arm/dts/zynqmp-zcu208-revA.dts                   | 2 +-
>  arch/arm/dts/zynqmp-zcu216-revA.dts                   | 2 +-
>  18 files changed, 18 insertions(+), 18 deletions(-)
>
> diff --git a/arch/arm/dts/zynqmp-m-a2197-01-revA.dts b/arch/arm/dts/zynqmp-m-a2197-01-revA.dts
> index 86f2ccf4d951..7b3722f0808b 100644
> --- a/arch/arm/dts/zynqmp-m-a2197-01-revA.dts
> +++ b/arch/arm/dts/zynqmp-m-a2197-01-revA.dts
> @@ -77,7 +77,7 @@
>                 #address-cells = <1>;
>                 #size-cells = <1>;
>                 reg = <0x0>;
> -               spi-tx-bus-width = <1>;
> +               spi-tx-bus-width = <4>;
>                 spi-rx-bus-width = <4>;
>                 spi-max-frequency = <108000000>;
>         };
> diff --git a/arch/arm/dts/zynqmp-m-a2197-02-revA.dts b/arch/arm/dts/zynqmp-m-a2197-02-revA.dts
> index e980fb07fc30..11b2a58a0f06 100644
> --- a/arch/arm/dts/zynqmp-m-a2197-02-revA.dts
> +++ b/arch/arm/dts/zynqmp-m-a2197-02-revA.dts
> @@ -73,7 +73,7 @@
>                 #address-cells = <1>;
>                 #size-cells = <1>;
>                 reg = <0x0>;
> -               spi-tx-bus-width = <1>;
> +               spi-tx-bus-width = <4>;
>                 spi-rx-bus-width = <4>;
>                 spi-max-frequency = <108000000>;
>         };
> diff --git a/arch/arm/dts/zynqmp-m-a2197-03-revA.dts b/arch/arm/dts/zynqmp-m-a2197-03-revA.dts
> index c8c5100672fe..db199c467b0d 100644
> --- a/arch/arm/dts/zynqmp-m-a2197-03-revA.dts
> +++ b/arch/arm/dts/zynqmp-m-a2197-03-revA.dts
> @@ -73,7 +73,7 @@
>                 #address-cells = <1>;
>                 #size-cells = <1>;
>                 reg = <0x0>;
> -               spi-tx-bus-width = <1>;
> +               spi-tx-bus-width = <4>;
>                 spi-rx-bus-width = <4>;
>                 spi-max-frequency = <108000000>;
>         };
> diff --git a/arch/arm/dts/zynqmp-mini-qspi.dts b/arch/arm/dts/zynqmp-mini-qspi.dts
> index 9b4320fe6e20..20c21deb6673 100644
> --- a/arch/arm/dts/zynqmp-mini-qspi.dts
> +++ b/arch/arm/dts/zynqmp-mini-qspi.dts
> @@ -68,7 +68,7 @@
>                 #address-cells = <1>;
>                 #size-cells = <1>;
>                 reg = <0x0>;
> -               spi-tx-bus-width = <1>;
> +               spi-tx-bus-width = <4>;
>                 spi-rx-bus-width = <4>;
>                 spi-max-frequency = <40000000>;
>         };
> diff --git a/arch/arm/dts/zynqmp-sm-k26-revA.dts b/arch/arm/dts/zynqmp-sm-k26-revA.dts
> index 14ab31685dfe..e904cd8ea093 100644
> --- a/arch/arm/dts/zynqmp-sm-k26-revA.dts
> +++ b/arch/arm/dts/zynqmp-sm-k26-revA.dts
> @@ -117,7 +117,7 @@
>                 #address-cells = <1>;
>                 #size-cells = <1>;
>                 reg = <0>;
> -               spi-tx-bus-width = <1>;
> +               spi-tx-bus-width = <4>;
>                 spi-rx-bus-width = <4>;
>                 spi-max-frequency = <40000000>; /* 40MHz */
>                 partition at 0 {
> diff --git a/arch/arm/dts/zynqmp-topic-miamimp-xilinx-xdp-v1r1.dts b/arch/arm/dts/zynqmp-topic-miamimp-xilinx-xdp-v1r1.dts
> index 300e2ebe96e8..3750bb38b585 100644
> --- a/arch/arm/dts/zynqmp-topic-miamimp-xilinx-xdp-v1r1.dts
> +++ b/arch/arm/dts/zynqmp-topic-miamimp-xilinx-xdp-v1r1.dts
> @@ -61,7 +61,7 @@
>                 compatible = "st,m25p80", "n25q256a", "jedec,spi-nor";
>                 m25p,fast-read;
>                 reg = <0x0>;
> -               spi-tx-bus-width = <1>;
> +               spi-tx-bus-width = <4>;
>                 spi-rx-bus-width = <4>;
>                 spi-max-frequency = <166000000>;
>                 #address-cells = <1>;
> diff --git a/arch/arm/dts/zynqmp-zc1232-revA.dts b/arch/arm/dts/zynqmp-zc1232-revA.dts
> index 7543855c9fda..63c553f77242 100644
> --- a/arch/arm/dts/zynqmp-zc1232-revA.dts
> +++ b/arch/arm/dts/zynqmp-zc1232-revA.dts
> @@ -44,7 +44,7 @@
>                 #address-cells = <1>;
>                 #size-cells = <1>;
>                 reg = <0x0>;
> -               spi-tx-bus-width = <1>;
> +               spi-tx-bus-width = <4>;
>                 spi-rx-bus-width = <4>;
>                 spi-max-frequency = <108000000>; /* Based on DC1 spec */
>                 partition at 0 { /* for testing purpose */
> diff --git a/arch/arm/dts/zynqmp-zc1254-revA.dts b/arch/arm/dts/zynqmp-zc1254-revA.dts
> index 9cc1c0c6c5a7..343033cc7e88 100644
> --- a/arch/arm/dts/zynqmp-zc1254-revA.dts
> +++ b/arch/arm/dts/zynqmp-zc1254-revA.dts
> @@ -45,7 +45,7 @@
>                 #address-cells = <1>;
>                 #size-cells = <1>;
>                 reg = <0x0>;
> -               spi-tx-bus-width = <1>;
> +               spi-tx-bus-width = <4>;
>                 spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
>                 spi-max-frequency = <108000000>; /* Based on DC1 spec */
>                 partition at 0 { /* for testing purpose */
> diff --git a/arch/arm/dts/zynqmp-zc1751-xm015-dc1.dts b/arch/arm/dts/zynqmp-zc1751-xm015-dc1.dts
> index 4a87bd6a6aaf..d20f6675687b 100644
> --- a/arch/arm/dts/zynqmp-zc1751-xm015-dc1.dts
> +++ b/arch/arm/dts/zynqmp-zc1751-xm015-dc1.dts
> @@ -351,7 +351,7 @@
>                 #address-cells = <1>;
>                 #size-cells = <1>;
>                 reg = <0x0>;
> -               spi-tx-bus-width = <1>;
> +               spi-tx-bus-width = <4>;
>                 spi-rx-bus-width = <4>;
>                 spi-max-frequency = <108000000>; /* Based on DC1 spec */
>                 partition at 0 { /* for testing purpose */
> diff --git a/arch/arm/dts/zynqmp-zc1751-xm018-dc4.dts b/arch/arm/dts/zynqmp-zc1751-xm018-dc4.dts
> index f420f83ad208..e153a64f4fb6 100644
> --- a/arch/arm/dts/zynqmp-zc1751-xm018-dc4.dts
> +++ b/arch/arm/dts/zynqmp-zc1751-xm018-dc4.dts
> @@ -173,7 +173,7 @@
>                 #address-cells = <1>;
>                 #size-cells = <1>;
>                 reg = <0x0>;
> -               spi-tx-bus-width = <1>;
> +               spi-tx-bus-width = <4>;
>                 spi-rx-bus-width = <4>; /* also DUAL configuration possible */
>                 spi-max-frequency = <108000000>; /* Based on DC1 spec */
>                 partition at 0 { /* for testing purpose */
> diff --git a/arch/arm/dts/zynqmp-zcu102-revA.dts b/arch/arm/dts/zynqmp-zcu102-revA.dts
> index 1b1cabb004ff..aac798d6e74a 100644
> --- a/arch/arm/dts/zynqmp-zcu102-revA.dts
> +++ b/arch/arm/dts/zynqmp-zcu102-revA.dts
> @@ -948,7 +948,7 @@
>                 #address-cells = <1>;
>                 #size-cells = <1>;
>                 reg = <0x0>;
> -               spi-tx-bus-width = <1>;
> +               spi-tx-bus-width = <4>;
>                 spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
>                 spi-max-frequency = <108000000>; /* Based on DC1 spec */
>                 partition at 0 { /* for testing purpose */
> diff --git a/arch/arm/dts/zynqmp-zcu104-revA.dts b/arch/arm/dts/zynqmp-zcu104-revA.dts
> index 9cd30447eb3e..50bf47908913 100644
> --- a/arch/arm/dts/zynqmp-zcu104-revA.dts
> +++ b/arch/arm/dts/zynqmp-zcu104-revA.dts
> @@ -434,7 +434,7 @@
>                 #address-cells = <1>;
>                 #size-cells = <1>;
>                 reg = <0x0>;
> -               spi-tx-bus-width = <1>;
> +               spi-tx-bus-width = <4>;
>                 spi-rx-bus-width = <4>;
>                 spi-max-frequency = <108000000>; /* Based on DC1 spec */
>                 partition at 0 { /* for testing purpose */
> diff --git a/arch/arm/dts/zynqmp-zcu104-revC.dts b/arch/arm/dts/zynqmp-zcu104-revC.dts
> index 45191569c101..752a9e38f3d3 100644
> --- a/arch/arm/dts/zynqmp-zcu104-revC.dts
> +++ b/arch/arm/dts/zynqmp-zcu104-revC.dts
> @@ -446,7 +446,7 @@
>                 #address-cells = <1>;
>                 #size-cells = <1>;
>                 reg = <0x0>;
> -               spi-tx-bus-width = <1>;
> +               spi-tx-bus-width = <4>;
>                 spi-rx-bus-width = <4>;
>                 spi-max-frequency = <108000000>; /* Based on DC1 spec */
>                 partition at 0 { /* for testing purpose */
> diff --git a/arch/arm/dts/zynqmp-zcu106-revA.dts b/arch/arm/dts/zynqmp-zcu106-revA.dts
> index 50cc72eb9240..03624648cd71 100644
> --- a/arch/arm/dts/zynqmp-zcu106-revA.dts
> +++ b/arch/arm/dts/zynqmp-zcu106-revA.dts
> @@ -942,7 +942,7 @@
>                 #address-cells = <1>;
>                 #size-cells = <1>;
>                 reg = <0x0>;
> -               spi-tx-bus-width = <1>;
> +               spi-tx-bus-width = <4>;
>                 spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
>                 spi-max-frequency = <108000000>; /* Based on DC1 spec */
>                 partition at 0 { /* for testing purpose */
> diff --git a/arch/arm/dts/zynqmp-zcu111-revA.dts b/arch/arm/dts/zynqmp-zcu111-revA.dts
> index 2b15ce1ea847..021fe88670fb 100644
> --- a/arch/arm/dts/zynqmp-zcu111-revA.dts
> +++ b/arch/arm/dts/zynqmp-zcu111-revA.dts
> @@ -784,7 +784,7 @@
>                 #address-cells = <1>;
>                 #size-cells = <1>;
>                 reg = <0x0>;
> -               spi-tx-bus-width = <1>;
> +               spi-tx-bus-width = <4>;
>                 spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
>                 spi-max-frequency = <108000000>; /* Based on DC1 spec */
>                 partition at 0 { /* for testing purpose */
> diff --git a/arch/arm/dts/zynqmp-zcu1275-revA.dts b/arch/arm/dts/zynqmp-zcu1275-revA.dts
> index 10d8bc8f9a19..e88fc23b1f14 100644
> --- a/arch/arm/dts/zynqmp-zcu1275-revA.dts
> +++ b/arch/arm/dts/zynqmp-zcu1275-revA.dts
> @@ -50,7 +50,7 @@
>                 #address-cells = <1>;
>                 #size-cells = <1>;
>                 reg = <0x0>;
> -               spi-tx-bus-width = <1>;
> +               spi-tx-bus-width = <4>;
>                 spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
>                 spi-max-frequency = <108000000>; /* Based on DC1 spec */
>                 partition at 0 { /* for testing purpose */
> diff --git a/arch/arm/dts/zynqmp-zcu208-revA.dts b/arch/arm/dts/zynqmp-zcu208-revA.dts
> index 32a6e6fb55e2..c5cdd58af6ed 100644
> --- a/arch/arm/dts/zynqmp-zcu208-revA.dts
> +++ b/arch/arm/dts/zynqmp-zcu208-revA.dts
> @@ -642,7 +642,7 @@
>                 #address-cells = <1>;
>                 #size-cells = <1>;
>                 reg = <0>;
> -               spi-tx-bus-width = <1>;
> +               spi-tx-bus-width = <4>;
>                 spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
>                 spi-max-frequency = <108000000>; /* Based on DC1 spec */
>         };
> diff --git a/arch/arm/dts/zynqmp-zcu216-revA.dts b/arch/arm/dts/zynqmp-zcu216-revA.dts
> index 1e347036d0a7..caae16965d6f 100644
> --- a/arch/arm/dts/zynqmp-zcu216-revA.dts
> +++ b/arch/arm/dts/zynqmp-zcu216-revA.dts
> @@ -653,7 +653,7 @@
>                 #address-cells = <1>;
>                 #size-cells = <1>;
>                 reg = <0x0>;
> -               spi-tx-bus-width = <1>;
> +               spi-tx-bus-width = <4>;
>                 spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
>                 spi-max-frequency = <108000000>; /* Based on DC1 spec */
>         };
> --
> 2.36.0
>

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