arm64: zynqmp: Misc zynqmp changes
Subsystems (2)
Michal Simek
maintainercover arm64: zynqmp: Misc zynqmp changes
Hi,
the series is syncing the latest dt changes based on board status and the latest DT schema.
The patches are based on
https://lore.kernel.org/all/[email protected]/
Thanks,
Michal
Amit Kumar Mahapatra (2):
arm64: zynqmp: Set qspi tx-buswidth to 4
arm64: zynqmp: Add mtd partition for secure OS storage area
Ashok Reddy Soma (1):
arm64: zynqmp: Fix usb node drive strength and slew rate
Michal Simek (15):
arm64: zynqmp: Describe TI phy as ethernet-phy-id
arm64: zynqmp: Fix usb reset over bootmode pins on zcu100
arm64: zynqmp: Sync node name address with reg (mailbox)
arm64: zynqmp: Add dmas, dp, rtc, watchdogs and opp nodes for SOM
arm64: zynqmp: Use assigned-clock-rates for setting up SD clock in SOM
arm64: zynqmp: Used fixed-partitions for QSPI in k26
arm64: zynqmp: Add gpio labels for modepin gpio
arm64: zynqmp: Add pinctrl emmc description to SM-K26
arm64: zynqmp: Switch to ethernet-phy-id in kv260
arm64: zynqmp: Setup clock for DP and DPDMA
arm64: zynqmp: Enable DP driver for SOMs
arm64: zynqmp: Rename ams_ps/pl node names
arm64: zynqmp: Enable AMS on SOM and other zcu10x boards
arm64: zynqmp: Describe bus-width for SD card on KV260
arm64: zynqmp: Add phase tags marking
Piyush Mehta (1):
arm64: zynqmp: Disable USB3.0 for zc1751-xm016-dc2
Radhey Shyam Pandey (2):
arm64: zynqmp: Add L2 cache nodes
arm64: zynqmp: Add pmu interrupt-affinity
Sai Krishna Potthuri (1):
arm64: zynqmp: Add resets property to sdhci nodes
Srinivas Neeli (1):
arm64: zynqmp: Add linux,code for gpio button
.../arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi | 15 +- .../boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso | 20 +- .../boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso | 20 +- .../boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 321 +++++++++++++----- .../boot/dts/xilinx/zynqmp-zc1232-revA.dts | 2 +- .../boot/dts/xilinx/zynqmp-zc1254-revA.dts | 2 +- .../boot/dts/xilinx/zynqmp-zc1275-revA.dts | 2 +- .../dts/xilinx/zynqmp-zc1751-xm015-dc1.dts | 10 +- .../dts/xilinx/zynqmp-zc1751-xm016-dc2.dts | 10 +- .../dts/xilinx/zynqmp-zc1751-xm018-dc4.dts | 2 +- .../boot/dts/xilinx/zynqmp-zcu100-revC.dts | 32 +- .../boot/dts/xilinx/zynqmp-zcu102-revA.dts | 42 ++- .../boot/dts/xilinx/zynqmp-zcu102-revB.dts | 25 +- .../boot/dts/xilinx/zynqmp-zcu104-revA.dts | 42 ++- .../boot/dts/xilinx/zynqmp-zcu104-revC.dts | 42 ++- .../boot/dts/xilinx/zynqmp-zcu106-revA.dts | 29 +- .../boot/dts/xilinx/zynqmp-zcu111-revA.dts | 29 +- arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 33 +- 18 files changed, 513 insertions(+), 165 deletions(-)
Signature · 1 line
2.36.1
Michal Simek
maintainerPATCH 1/23 arm64: zynqmp: Describe TI phy as ethernet-phy-id
TI DP83867 is using strapping based on MIO pins. Tristate setup can influce PHY address. That's why switch description with ethernet-phy-id compatible string which enable calling reset. PHY itself setups phy address after power up or reset.
Phy reset is done via gpio.
---
Checkpatch is reporting issue
warning: DT compatible string "ethernet-phy-id2000.a231" appears un-documented but it should be fully aligned with Documentation/devicetree/bindings/net/ethernet-phy.yaml
--- .../boot/dts/xilinx/zynqmp-zcu102-revA.dts | 23 +++++++++++------ .../boot/dts/xilinx/zynqmp-zcu102-revB.dts | 25 +++++++++++-------- .../boot/dts/xilinx/zynqmp-zcu104-revA.dts | 22 ++++++++++------ .../boot/dts/xilinx/zynqmp-zcu104-revC.dts | 22 ++++++++++------ .../boot/dts/xilinx/zynqmp-zcu106-revA.dts | 22 ++++++++++------ .../boot/dts/xilinx/zynqmp-zcu111-revA.dts | 22 ++++++++++------ 6 files changed, 90 insertions(+), 46 deletions(-)
arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts +15 -8
@@ -2,7 +2,8 @@ /* * dts file for Xilinx ZynqMP ZCU102 RevA * - * (C) Copyright 2015 - 2021, Xilinx, Inc. + * (C) Copyright 2015 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> */
@@ -200,13 +201,19 @@ &gem3 { phy-mode = "rgmii-id"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gem3_default>; - phy0: ethernet-phy@21 { - reg = <21>; - ti,rx-internal-delay = <0x8>; - ti,tx-internal-delay = <0xa>; - ti,fifo-depth = <0x1>; - ti,dp83867-rxctrl-strap-quirk; - /* reset-gpios = <&tca6416_u97 6 GPIO_ACTIVE_LOW>; */ + mdio: mdio { + #address-cells = <1>; + #size-cells = <0>; + phy0: ethernet-phy@21 { + #phy-cells = <1>; + compatible = "ethernet-phy-id2000.a231"; + reg = <21>; + ti,rx-internal-delay = <0x8>; + ti,tx-internal-delay = <0xa>; + ti,fifo-depth = <0x1>; + ti,dp83867-rxctrl-strap-quirk; + reset-gpios = <&tca6416_u97 6 GPIO_ACTIVE_LOW>; + }; }; };
arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revB.dts +15 -10
@@ -2,7 +2,8 @@ /* * dts file for Xilinx ZynqMP ZCU102 RevB * - * (C) Copyright 2016 - 2021, Xilinx, Inc. + * (C) Copyright 2016 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> */
@@ -16,16 +17,20 @@ / { &gem3 { phy-handle = <&phyc>; - phyc: ethernet-phy@c { - reg = <0xc>; - ti,rx-internal-delay = <0x8>; - ti,tx-internal-delay = <0xa>; - ti,fifo-depth = <0x1>; - ti,dp83867-rxctrl-strap-quirk; - /* reset-gpios = <&tca6416_u97 6 GPIO_ACTIVE_LOW>; */ + mdio: mdio { + phyc: ethernet-phy@c { + #phy-cells = <0x1>; + compatible = "ethernet-phy-id2000.a231"; + reg = <0xc>; + ti,rx-internal-delay = <0x8>; + ti,tx-internal-delay = <0xa>; + ti,fifo-depth = <0x1>; + ti,dp83867-rxctrl-strap-quirk; + reset-gpios = <&tca6416_u97 6 GPIO_ACTIVE_LOW>; + }; + /* Cleanup from RevA */ + /delete-node/ ethernet-phy@21; }; - /* Cleanup from RevA */ - /delete-node/ ethernet-phy@21; }; /* Fix collision with u61 */
arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts +15 -7
@@ -2,7 +2,8 @@ /* * dts file for Xilinx ZynqMP ZCU104 * - * (C) Copyright 2017 - 2021, Xilinx, Inc. + * (C) Copyright 2017 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> */
@@ -109,12 +110,19 @@ &gem3 { phy-mode = "rgmii-id"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gem3_default>; - phy0: ethernet-phy@c { - reg = <0xc>; - ti,rx-internal-delay = <0x8>; - ti,tx-internal-delay = <0xa>; - ti,fifo-depth = <0x1>; - ti,dp83867-rxctrl-strap-quirk; + mdio: mdio { + #address-cells = <1>; + #size-cells = <0>; + phy0: ethernet-phy@c { + #phy-cells = <1>; + compatible = "ethernet-phy-id2000.a231"; + reg = <0xc>; + ti,rx-internal-delay = <0x8>; + ti,tx-internal-delay = <0xa>; + ti,fifo-depth = <0x1>; + ti,dp83867-rxctrl-strap-quirk; + reset-gpios = <&tca6416_u97 6 GPIO_ACTIVE_LOW>; + }; }; };
arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts +15 -7
@@ -2,7 +2,8 @@ /* * dts file for Xilinx ZynqMP ZCU104 * - * (C) Copyright 2017 - 2021, Xilinx, Inc. + * (C) Copyright 2017 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> */
@@ -114,12 +115,19 @@ &gem3 { phy-mode = "rgmii-id"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gem3_default>; - phy0: ethernet-phy@c { - reg = <0xc>; - ti,rx-internal-delay = <0x8>; - ti,tx-internal-delay = <0xa>; - ti,fifo-depth = <0x1>; - ti,dp83867-rxctrl-strap-quirk; + mdio: mdio { + #address-cells = <1>; + #size-cells = <0>; + phy0: ethernet-phy@c { + #phy-cells = <1>; + compatible = "ethernet-phy-id2000.a231"; + reg = <0xc>; + ti,rx-internal-delay = <0x8>; + ti,tx-internal-delay = <0xa>; + ti,fifo-depth = <0x1>; + ti,dp83867-rxctrl-strap-quirk; + reset-gpios = <&tca6416_u97 6 GPIO_ACTIVE_LOW>; + }; }; };
arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts +15 -7
@@ -2,7 +2,8 @@ /* * dts file for Xilinx ZynqMP ZCU106 * - * (C) Copyright 2016 - 2021, Xilinx, Inc. + * (C) Copyright 2016 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> */
@@ -212,12 +213,19 @@ &gem3 { phy-mode = "rgmii-id"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gem3_default>; - phy0: ethernet-phy@c { - reg = <0xc>; - ti,rx-internal-delay = <0x8>; - ti,tx-internal-delay = <0xa>; - ti,fifo-depth = <0x1>; - ti,dp83867-rxctrl-strap-quirk; + mdio: mdio { + #address-cells = <1>; + #size-cells = <0>; + phy0: ethernet-phy@c { + #phy-cells = <1>; + reg = <0xc>; + compatible = "ethernet-phy-id2000.a231"; + ti,rx-internal-delay = <0x8>; + ti,tx-internal-delay = <0xa>; + ti,fifo-depth = <0x1>; + ti,dp83867-rxctrl-strap-quirk; + reset-gpios = <&tca6416_u97 6 GPIO_ACTIVE_LOW>; + }; }; };
arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts +15 -7
@@ -2,7 +2,8 @@ /* * dts file for Xilinx ZynqMP ZCU111 * - * (C) Copyright 2017 - 2021, Xilinx, Inc. + * (C) Copyright 2017 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> */
@@ -172,12 +173,19 @@ &gem3 { phy-mode = "rgmii-id"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gem3_default>; - phy0: ethernet-phy@c { - reg = <0xc>; - ti,rx-internal-delay = <0x8>; - ti,tx-internal-delay = <0xa>; - ti,fifo-depth = <0x1>; - ti,dp83867-rxctrl-strap-quirk; + mdio: mdio { + #address-cells = <1>; + #size-cells = <0>; + phy0: ethernet-phy@c { + #phy-cells = <1>; + compatible = "ethernet-phy-id2000.a231"; + reg = <0xc>; + ti,rx-internal-delay = <0x8>; + ti,tx-internal-delay = <0xa>; + ti,fifo-depth = <0x1>; + ti,dp83867-rxctrl-strap-quirk; + reset-gpios = <&tca6416_u22 6 GPIO_ACTIVE_LOW>; + }; }; };
Signature · 1 line
2.36.1
Re: [PATCH 01/23] arm64: zynqmp: Describe TI phy as ethernet-phy-id
Hi Michal,
Thank you for the patch.
Quoted 4 lines · Michal Simek
TI DP83867 is using strapping based on MIO pins. Tristate setup can influce PHY address. That's why switch description with ethernet-phy-id compatible string which enable calling reset. PHY itself setups phy address after power up or reset.
I'm sorry but I don't understand this :-(
Quoted 34 lines
Phy reset is done via gpio.
Signed-off-by Michal Simek <[email protected]>---
Checkpatch is reporting issue
warning: DT compatible string "ethernet-phy-id2000.a231" appears un-documented but it should be fully aligned withDocumentation/devicetree/bindings/net/ethernet-phy.yaml--- .../boot/dts/xilinx/zynqmp-zcu102-revA.dts | 23 +++++++++++------ .../boot/dts/xilinx/zynqmp-zcu102-revB.dts | 25 +++++++++++-------- .../boot/dts/xilinx/zynqmp-zcu104-revA.dts | 22 ++++++++++------ .../boot/dts/xilinx/zynqmp-zcu104-revC.dts | 22 ++++++++++------ .../boot/dts/xilinx/zynqmp-zcu106-revA.dts | 22 ++++++++++------ .../boot/dts/xilinx/zynqmp-zcu111-revA.dts | 22 ++++++++++------ 6 files changed, 90 insertions(+), 46 deletions(-)arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts +2
-1@@ -2,7 +2,8 @@ /* * dts file for Xilinx ZynqMP ZCU102 RevA * - * (C) Copyright 2015 - 2021, Xilinx, Inc. + * (C) Copyright 2015 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> */@@ -200,13 +201,19 @@ &gem3 { phy-mode = "rgmii-id";
arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts &gem3 { · line 204
Quoted 10 lines
arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts +1
-7pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gem3_default>; - phy0: ethernet-phy@21 { - reg = <21>; - ti,rx-internal-delay = <0x8>; - ti,tx-internal-delay = <0xa>; - ti,fifo-depth = <0x1>; - ti,dp83867-rxctrl-strap-quirk; - /* reset-gpios = <&tca6416_u97 6 GPIO_ACTIVE_LOW>; */ + mdio: mdio {
The "mdio" label isn't needed. Same below.
Quoted 219 lines
arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts +12
-0+ #address-cells = <1>; + #size-cells = <0>; + phy0: ethernet-phy@21 { + #phy-cells = <1>; + compatible = "ethernet-phy-id2000.a231"; + reg = <21>; + ti,rx-internal-delay = <0x8>; + ti,tx-internal-delay = <0xa>; + ti,fifo-depth = <0x1>; + ti,dp83867-rxctrl-strap-quirk; + reset-gpios = <&tca6416_u97 6 GPIO_ACTIVE_LOW>; + }; }; };arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revB.dts +15
-10@@ -2,7 +2,8 @@ /* * dts file for Xilinx ZynqMP ZCU102 RevB * - * (C) Copyright 2016 - 2021, Xilinx, Inc. + * (C) Copyright 2016 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> */@@ -16,16 +17,20 @@ / { &gem3 { phy-handle = <&phyc>; - phyc: ethernet-phy@c { - reg = <0xc>; - ti,rx-internal-delay = <0x8>; - ti,tx-internal-delay = <0xa>; - ti,fifo-depth = <0x1>; - ti,dp83867-rxctrl-strap-quirk; - /* reset-gpios = <&tca6416_u97 6 GPIO_ACTIVE_LOW>; */ + mdio: mdio { + phyc: ethernet-phy@c { + #phy-cells = <0x1>; + compatible = "ethernet-phy-id2000.a231"; + reg = <0xc>; + ti,rx-internal-delay = <0x8>; + ti,tx-internal-delay = <0xa>; + ti,fifo-depth = <0x1>; + ti,dp83867-rxctrl-strap-quirk; + reset-gpios = <&tca6416_u97 6 GPIO_ACTIVE_LOW>; + }; + /* Cleanup from RevA */ + /delete-node/ ethernet-phy@21; }; - /* Cleanup from RevA */ - /delete-node/ ethernet-phy@21; }; /* Fix collision with u61 */arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts +15
-7@@ -2,7 +2,8 @@ /* * dts file for Xilinx ZynqMP ZCU104 * - * (C) Copyright 2017 - 2021, Xilinx, Inc. + * (C) Copyright 2017 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> */@@ -109,12 +110,19 @@ &gem3 { phy-mode = "rgmii-id"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gem3_default>; - phy0: ethernet-phy@c { - reg = <0xc>; - ti,rx-internal-delay = <0x8>; - ti,tx-internal-delay = <0xa>; - ti,fifo-depth = <0x1>; - ti,dp83867-rxctrl-strap-quirk; + mdio: mdio { + #address-cells = <1>; + #size-cells = <0>; + phy0: ethernet-phy@c { + #phy-cells = <1>; + compatible = "ethernet-phy-id2000.a231"; + reg = <0xc>; + ti,rx-internal-delay = <0x8>; + ti,tx-internal-delay = <0xa>; + ti,fifo-depth = <0x1>; + ti,dp83867-rxctrl-strap-quirk; + reset-gpios = <&tca6416_u97 6 GPIO_ACTIVE_LOW>; + }; }; };arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts +15
-7@@ -2,7 +2,8 @@ /* * dts file for Xilinx ZynqMP ZCU104 * - * (C) Copyright 2017 - 2021, Xilinx, Inc. + * (C) Copyright 2017 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> */@@ -114,12 +115,19 @@ &gem3 { phy-mode = "rgmii-id"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gem3_default>; - phy0: ethernet-phy@c { - reg = <0xc>; - ti,rx-internal-delay = <0x8>; - ti,tx-internal-delay = <0xa>; - ti,fifo-depth = <0x1>; - ti,dp83867-rxctrl-strap-quirk; + mdio: mdio { + #address-cells = <1>; + #size-cells = <0>; + phy0: ethernet-phy@c { + #phy-cells = <1>; + compatible = "ethernet-phy-id2000.a231"; + reg = <0xc>; + ti,rx-internal-delay = <0x8>; + ti,tx-internal-delay = <0xa>; + ti,fifo-depth = <0x1>; + ti,dp83867-rxctrl-strap-quirk; + reset-gpios = <&tca6416_u97 6 GPIO_ACTIVE_LOW>; + }; }; };arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts +15
-7@@ -2,7 +2,8 @@ /* * dts file for Xilinx ZynqMP ZCU106 * - * (C) Copyright 2016 - 2021, Xilinx, Inc. + * (C) Copyright 2016 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> */@@ -212,12 +213,19 @@ &gem3 { phy-mode = "rgmii-id"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gem3_default>; - phy0: ethernet-phy@c { - reg = <0xc>; - ti,rx-internal-delay = <0x8>; - ti,tx-internal-delay = <0xa>; - ti,fifo-depth = <0x1>; - ti,dp83867-rxctrl-strap-quirk; + mdio: mdio { + #address-cells = <1>; + #size-cells = <0>; + phy0: ethernet-phy@c { + #phy-cells = <1>; + reg = <0xc>; + compatible = "ethernet-phy-id2000.a231"; + ti,rx-internal-delay = <0x8>; + ti,tx-internal-delay = <0xa>; + ti,fifo-depth = <0x1>; + ti,dp83867-rxctrl-strap-quirk; + reset-gpios = <&tca6416_u97 6 GPIO_ACTIVE_LOW>; + }; }; };arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts +15
-7@@ -2,7 +2,8 @@ /* * dts file for Xilinx ZynqMP ZCU111 * - * (C) Copyright 2017 - 2021, Xilinx, Inc. + * (C) Copyright 2017 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> */@@ -172,12 +173,19 @@ &gem3 { phy-mode = "rgmii-id"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gem3_default>; - phy0: ethernet-phy@c { - reg = <0xc>; - ti,rx-internal-delay = <0x8>; - ti,tx-internal-delay = <0xa>; - ti,fifo-depth = <0x1>; - ti,dp83867-rxctrl-strap-quirk; + mdio: mdio { + #address-cells = <1>; + #size-cells = <0>; + phy0: ethernet-phy@c { + #phy-cells = <1>; + compatible = "ethernet-phy-id2000.a231"; + reg = <0xc>; + ti,rx-internal-delay = <0x8>; + ti,tx-internal-delay = <0xa>; + ti,fifo-depth = <0x1>; + ti,dp83867-rxctrl-strap-quirk; + reset-gpios = <&tca6416_u22 6 GPIO_ACTIVE_LOW>; + }; }; };
Signature · 3 lines
Regards, Laurent Pinchart
Michal Simek
maintainerRe: [PATCH 01/23] arm64: zynqmp: Describe TI phy as ethernet-phy-id
Hi Laurent,
Quoted 6 lines · Laurent Pinchart
Hi Michal,
Thank you for the patch.
Quoted 1 line · Michal Simek
TI DP83867 is using strapping based on MIO pins. Tristate setup can influce
And typo here.
Quoted 5 lines
Quoted 3 lines
PHY address. That's why switch description with ethernet-phy-id compatible string which enable calling reset. PHY itself setups phy address after power up or reset.
I'm sorry but I don't understand this :-(
What exactly is not clear? Phy has some pins which is using for strapping for phy address after phy reset or power on. Pretty much it is resistor array which based on datasheet is decoded to certain phy address. And because some phy pins are also used as data pin for RGMII they are connected via MIO pins on a silicon. That's why IO block output setting really matter here because it changes resistor array and it moves phy address. That's why there is a need to do proper IO pin setup and after it call phy reset to get it to address which was decided by PCB designer.
Quoted 39 lines
Quoted 39 lines
Phy reset is done via gpio.
Signed-off-by Michal Simek <[email protected]>---
Checkpatch is reporting issue
warning: DT compatible string "ethernet-phy-id2000.a231" appears un-documented but it should be fully aligned withDocumentation/devicetree/bindings/net/ethernet-phy.yaml--- .../boot/dts/xilinx/zynqmp-zcu102-revA.dts | 23 +++++++++++------ .../boot/dts/xilinx/zynqmp-zcu102-revB.dts | 25 +++++++++++-------- .../boot/dts/xilinx/zynqmp-zcu104-revA.dts | 22 ++++++++++------ .../boot/dts/xilinx/zynqmp-zcu104-revC.dts | 22 ++++++++++------ .../boot/dts/xilinx/zynqmp-zcu106-revA.dts | 22 ++++++++++------ .../boot/dts/xilinx/zynqmp-zcu111-revA.dts | 22 ++++++++++------ 6 files changed, 90 insertions(+), 46 deletions(-)arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts +2
-3@@ -2,7 +2,8 @@ /* * dts file for Xilinx ZynqMP ZCU102 RevA * - * (C) Copyright 2015 - 2021, Xilinx, Inc. + * (C) Copyright 2015 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> */@@ -200,13 +201,19 @@ &gem3 { phy-mode = "rgmii-id"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gem3_default>; - phy0: ethernet-phy@21 { - reg = <21>;
Quoted 8 lines
arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts &gem3 { · line 204
Quoted 6 lines
arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts +1
-5- ti,rx-internal-delay = <0x8>; - ti,tx-internal-delay = <0xa>; - ti,fifo-depth = <0x1>; - ti,dp83867-rxctrl-strap-quirk; - /* reset-gpios = <&tca6416_u97 6 GPIO_ACTIVE_LOW>; */ + mdio: mdio {The "mdio" label isn't needed. Same below.
I am doing it by purpose to be able to reference all nodes and add/remove property in an easy way. There shouldn't be any conflict with dt spec to have labels even they are not used in current DT.
Thanks,
Michal
Michal Simek
maintainerPATCH 2/23 arm64: zynqmp: Fix usb node drive strength and slew rate
In reply to Michal SimekFrom: Ashok Reddy Soma <[email protected]>
As per design, all input/rx pins should have fast slew rate and 12mA drive strength. Rest all pins should be slow slew rate and 4mA drive strength. Fix usb nodes as per this and remove setting of slow slew rate for all the usb group pins.
---
.../arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso | 8 ++++++-- .../arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso | 8 ++++++-- .../boot/dts/xilinx/zynqmp-zc1751-xm015-dc1.dts | 8 ++++++-- .../boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts | 8 ++++++-- arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts | 13 ++++++++++--- arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts | 5 ++++- arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts | 6 ++++-- arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts | 6 ++++-- arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts | 5 ++++- arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts | 5 ++++- 10 files changed, 54 insertions(+), 18 deletions(-)
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso +6 -2
@@ -2,7 +2,8 @@ /* * dts file for KV260 revA Carrier Card * - * (C) Copyright 2020 - 2021, Xilinx, Inc. + * (C) Copyright 2020 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * SD level shifter: * "A" – A01 board un-modified (NXP)
@@ -259,19 +260,22 @@ mux { pinctrl_usb0_default: usb0-default { conf { groups = "usb0_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; }; conf-rx { pins = "MIO52", "MIO53", "MIO55"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", "MIO60", "MIO61", "MIO62", "MIO63"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; mux {
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso +6 -2
@@ -2,7 +2,8 @@ /* * dts file for KV260 revA Carrier Card * - * (C) Copyright 2020 - 2021, Xilinx, Inc. + * (C) Copyright 2020 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> */
@@ -242,19 +243,22 @@ mux { pinctrl_usb0_default: usb0-default { conf { groups = "usb0_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; }; conf-rx { pins = "MIO52", "MIO53", "MIO55"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", "MIO60", "MIO61", "MIO62", "MIO63"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; mux {
arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm015-dc1.dts +6 -2
@@ -2,7 +2,8 @@ /* * dts file for Xilinx ZynqMP zc1751-xm015-dc1 * - * (C) Copyright 2015 - 2021, Xilinx, Inc. + * (C) Copyright 2015 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> */
@@ -187,19 +188,22 @@ mux { conf { groups = "usb0_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; }; conf-rx { pins = "MIO52", "MIO53", "MIO55"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", "MIO60", "MIO61", "MIO62", "MIO63"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; };
arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts +6 -2
@@ -2,7 +2,8 @@ /* * dts file for Xilinx ZynqMP zc1751-xm016-dc2 * - * (C) Copyright 2015 - 2021, Xilinx, Inc. + * (C) Copyright 2015 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> */
@@ -281,19 +282,22 @@ mux { conf { groups = "usb1_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; }; conf-rx { pins = "MIO64", "MIO65", "MIO67"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO66", "MIO68", "MIO69", "MIO70", "MIO71", "MIO72", "MIO73", "MIO74", "MIO75"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; };
arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts +10 -3
@@ -2,7 +2,8 @@ /* * dts file for Xilinx ZynqMP ZCU100 revC * - * (C) Copyright 2016 - 2021, Xilinx, Inc. + * (C) Copyright 2016 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> * Nathalie Chan King Choy
@@ -423,19 +424,22 @@ mux { conf { groups = "usb0_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; }; conf-rx { pins = "MIO52", "MIO53", "MIO55"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", "MIO60", "MIO61", "MIO62", "MIO63"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; };
@@ -447,19 +451,22 @@ mux { conf { groups = "usb1_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; }; conf-rx { pins = "MIO64", "MIO65", "MIO67"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO66", "MIO68", "MIO69", "MIO70", "MIO71", "MIO72", "MIO73", "MIO74", "MIO75"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; }; };
arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts +4 -1
@@ -783,19 +783,22 @@ mux { conf { groups = "usb0_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; }; conf-rx { pins = "MIO52", "MIO53", "MIO55"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", "MIO60", "MIO61", "MIO62", "MIO63"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; };
arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts +4 -2
@@ -410,20 +410,22 @@ mux { conf { groups = "usb0_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; - drive-strength = <12>; }; conf-rx { pins = "MIO52", "MIO53", "MIO55"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", "MIO60", "MIO61", "MIO62", "MIO63"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; }; };
arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts +4 -2
@@ -422,20 +422,22 @@ mux { conf { groups = "usb0_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; - drive-strength = <12>; }; conf-rx { pins = "MIO52", "MIO53", "MIO55"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", "MIO60", "MIO61", "MIO62", "MIO63"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; }; };
arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts +4 -1
@@ -794,19 +794,22 @@ mux { conf { groups = "usb0_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; }; conf-rx { pins = "MIO52", "MIO53", "MIO55"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", "MIO60", "MIO61", "MIO62", "MIO63"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; };
arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts +4 -1
@@ -660,19 +660,22 @@ mux { conf { groups = "usb0_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; }; conf-rx { pins = "MIO52", "MIO53", "MIO55"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", "MIO60", "MIO61", "MIO62", "MIO63"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; };
Signature · 1 line
2.36.1
Re: [PATCH 02/23] arm64: zynqmp: Fix usb node drive strength and slew rate
Hi Michal,
Thank you for the patch.
Quoted 4 lines · Michal Simek
From: Ashok Reddy Soma <[email protected]>
As per design, all input/rx pins should have fast slew rate and 12mA drive strength.
Why does the slow rate and drive strength matter for input pins ?
Quoted 376 lines
Rest all pins should be slow slew rate and 4mA drive strength. Fix usb nodes as per this and remove setting of slow slew rate for all the usb group pins.
Signed-off-by Ashok Reddy Soma <[email protected]>Signed-off-by Michal Simek <[email protected]>---
.../arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso | 8 ++++++-- .../arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso | 8 ++++++-- .../boot/dts/xilinx/zynqmp-zc1751-xm015-dc1.dts | 8 ++++++-- .../boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts | 8 ++++++-- arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts | 13 ++++++++++--- arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts | 5 ++++- arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts | 6 ++++-- arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts | 6 ++++-- arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts | 5 ++++- arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts | 5 ++++- 10 files changed, 54 insertions(+), 18 deletions(-)arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso +6
-2@@ -2,7 +2,8 @@ /* * dts file for KV260 revA Carrier Card * - * (C) Copyright 2020 - 2021, Xilinx, Inc. + * (C) Copyright 2020 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * SD level shifter: * "A" – A01 board un-modified (NXP)@@ -259,19 +260,22 @@ mux { pinctrl_usb0_default: usb0-default { conf { groups = "usb0_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; }; conf-rx { pins = "MIO52", "MIO53", "MIO55"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", "MIO60", "MIO61", "MIO62", "MIO63"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; mux {arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso +6
-2@@ -2,7 +2,8 @@ /* * dts file for KV260 revA Carrier Card * - * (C) Copyright 2020 - 2021, Xilinx, Inc. + * (C) Copyright 2020 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> */@@ -242,19 +243,22 @@ mux { pinctrl_usb0_default: usb0-default { conf { groups = "usb0_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; }; conf-rx { pins = "MIO52", "MIO53", "MIO55"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", "MIO60", "MIO61", "MIO62", "MIO63"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; mux {arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm015-dc1.dts +6
-2@@ -2,7 +2,8 @@ /* * dts file for Xilinx ZynqMP zc1751-xm015-dc1 * - * (C) Copyright 2015 - 2021, Xilinx, Inc. + * (C) Copyright 2015 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> */@@ -187,19 +188,22 @@ mux { conf { groups = "usb0_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; }; conf-rx { pins = "MIO52", "MIO53", "MIO55"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", "MIO60", "MIO61", "MIO62", "MIO63"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; };arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts +6
-2@@ -2,7 +2,8 @@ /* * dts file for Xilinx ZynqMP zc1751-xm016-dc2 * - * (C) Copyright 2015 - 2021, Xilinx, Inc. + * (C) Copyright 2015 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> */@@ -281,19 +282,22 @@ mux { conf { groups = "usb1_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; }; conf-rx { pins = "MIO64", "MIO65", "MIO67"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO66", "MIO68", "MIO69", "MIO70", "MIO71", "MIO72", "MIO73", "MIO74", "MIO75"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; };arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts +10
-3@@ -2,7 +2,8 @@ /* * dts file for Xilinx ZynqMP ZCU100 revC * - * (C) Copyright 2016 - 2021, Xilinx, Inc. + * (C) Copyright 2016 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> * Nathalie Chan King Choy@@ -423,19 +424,22 @@ mux { conf { groups = "usb0_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; }; conf-rx { pins = "MIO52", "MIO53", "MIO55"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", "MIO60", "MIO61", "MIO62", "MIO63"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; };@@ -447,19 +451,22 @@ mux { conf { groups = "usb1_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; }; conf-rx { pins = "MIO64", "MIO65", "MIO67"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO66", "MIO68", "MIO69", "MIO70", "MIO71", "MIO72", "MIO73", "MIO74", "MIO75"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; }; };arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts +4
-1@@ -783,19 +783,22 @@ mux { conf { groups = "usb0_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; }; conf-rx { pins = "MIO52", "MIO53", "MIO55"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", "MIO60", "MIO61", "MIO62", "MIO63"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; };arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts +4
-2@@ -410,20 +410,22 @@ mux { conf { groups = "usb0_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; - drive-strength = <12>; }; conf-rx { pins = "MIO52", "MIO53", "MIO55"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", "MIO60", "MIO61", "MIO62", "MIO63"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; }; };arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts +4
-2@@ -422,20 +422,22 @@ mux { conf { groups = "usb0_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; - drive-strength = <12>; }; conf-rx { pins = "MIO52", "MIO53", "MIO55"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", "MIO60", "MIO61", "MIO62", "MIO63"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; }; };arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts +4
-1@@ -794,19 +794,22 @@ mux { conf { groups = "usb0_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; }; conf-rx { pins = "MIO52", "MIO53", "MIO55"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", "MIO60", "MIO61", "MIO62", "MIO63"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; };arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts +4
-1@@ -660,19 +660,22 @@ mux { conf { groups = "usb0_0_grp"; - slew-rate = <SLEW_RATE_SLOW>; power-source = <IO_STANDARD_LVCMOS18>; }; conf-rx { pins = "MIO52", "MIO53", "MIO55"; bias-high-impedance; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; conf-tx { pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", "MIO60", "MIO61", "MIO62", "MIO63"; bias-disable; + drive-strength = <4>; + slew-rate = <SLEW_RATE_SLOW>; }; };
Signature · 3 lines
Regards, Laurent Pinchart
Michal Simek
maintainerRe: [PATCH 02/23] arm64: zynqmp: Fix usb node drive strength and slew rate
Hi Laurent
Quoted 11 lines · Laurent Pinchart
Hi Michal,
Thank you for the patch.
Quoted 4 lines · Michal Simek
From: Ashok Reddy Soma <[email protected]>
As per design, all input/rx pins should have fast slew rate and 12mA drive strength.
Why does the slow rate and drive strength matter for input pins ?
In design tools all inputs pins are setup like described by default.
That's why it could suggest that there is no need to describe default configuration in DT.
But all MIOs can be used as GPIOs where pinctrl can change their default values to something else. That's why setting up default values is to be safe even for input pins. I don't know HW details to that extend but that values can also change input behavior that's why having default is not a bad idea.
Maybe make sense to extend commit message to describe it better.
Thanks,
Michal
Michal Simek
maintainerPATCH 3/23 arm64: zynqmp: Set qspi tx-buswidth to 4
In reply to Michal SimekFrom: Amit Kumar Mahapatra <[email protected]>
All ZynqMP boards are setting up tx-buswidth 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.
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.
---
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-zc1232-revA.dts | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-zc1254-revA.dts | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-zc1275-revA.dts | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm015-dc1.dts | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm018-dc4.dts | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-)
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +1 -1
@@ -85,7 +85,7 @@ flash@0 { /* MT25QU512A */ #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@0 {
arch/arm64/boot/dts/xilinx/zynqmp-zc1232-revA.dts +1 -1
@@ -44,7 +44,7 @@ flash@0 { #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 */ };
arch/arm64/boot/dts/xilinx/zynqmp-zc1254-revA.dts +1 -1
@@ -45,7 +45,7 @@ flash@0 { #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 */ };
arch/arm64/boot/dts/xilinx/zynqmp-zc1275-revA.dts +1 -1
@@ -47,7 +47,7 @@ &qspi { flash@0 { compatible = "m25p80", "jedec,spi-nor"; reg = <0x0>; - spi-tx-bus-width = <1>; + spi-tx-bus-width = <4>; spi-rx-bus-width = <4>; spi-max-frequency = <108000000>; };
arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm015-dc1.dts +1 -1
@@ -355,7 +355,7 @@ flash@0 { #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 */ };
arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm018-dc4.dts +1 -1
@@ -173,7 +173,7 @@ flash@0 { #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 */ };
arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts +1 -1
@@ -957,7 +957,7 @@ flash@0 { #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 */ };
arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts +1 -1
@@ -444,7 +444,7 @@ flash@0 { #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 */ };
arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts +1 -1
@@ -456,7 +456,7 @@ flash@0 { #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 */ };
arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts +1 -1
@@ -964,7 +964,7 @@ flash@0 { #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 */ };
arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts +1 -1
@@ -794,7 +794,7 @@ flash@0 { #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 */ };
Signature · 1 line
2.36.1
Re: [PATCH 03/23] arm64: zynqmp: Set qspi tx-buswidth to 4
Hi Michal,
Thank you for the patch.
Quoted 9 lines · Michal Simek
From: Amit Kumar Mahapatra <[email protected]>
All ZynqMP boards are setting up tx-buswidth 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.
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.
The change seems OK, but the commit message shouldn't mention drivers. DT is a hardware description, the commit message should focus on that.
Quoted 160 lines
Signed-off-by Amit Kumar Mahapatra <[email protected]>Signed-off-by Michal Simek <[email protected]>---
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-zc1232-revA.dts | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-zc1254-revA.dts | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-zc1275-revA.dts | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm015-dc1.dts | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm018-dc4.dts | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-)arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +1
-1@@ -85,7 +85,7 @@ flash@0 { /* MT25QU512A */ #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@0 {arch/arm64/boot/dts/xilinx/zynqmp-zc1232-revA.dts +1
-1@@ -44,7 +44,7 @@ flash@0 { #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 */ };arch/arm64/boot/dts/xilinx/zynqmp-zc1254-revA.dts +1
-1@@ -45,7 +45,7 @@ flash@0 { #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 */ };arch/arm64/boot/dts/xilinx/zynqmp-zc1275-revA.dts +1
-1@@ -47,7 +47,7 @@ &qspi { flash@0 { compatible = "m25p80", "jedec,spi-nor"; reg = <0x0>; - spi-tx-bus-width = <1>; + spi-tx-bus-width = <4>; spi-rx-bus-width = <4>; spi-max-frequency = <108000000>; };arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm015-dc1.dts +1
-1@@ -355,7 +355,7 @@ flash@0 { #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 */ };arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm018-dc4.dts +1
-1@@ -173,7 +173,7 @@ flash@0 { #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 */ };arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts +1
-1@@ -957,7 +957,7 @@ flash@0 { #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 */ };arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts +1
-1@@ -444,7 +444,7 @@ flash@0 { #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 */ };arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts +1
-1@@ -456,7 +456,7 @@ flash@0 { #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 */ };arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts +1
-1@@ -964,7 +964,7 @@ flash@0 { #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 */ };arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts +1
-1@@ -794,7 +794,7 @@ flash@0 { #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 */ };
Signature · 3 lines
Regards, Laurent Pinchart
Michal Simek
maintainerPATCH 4/23 arm64: zynqmp: Fix usb reset over bootmode pins on zcu100
In reply to Michal SimekThe commit 53ba1b2bdaf7 ("arm64: dts: zynqmp: Add mode-pin GPIO controller DT node") added usb phy reset over bootmode pins by default on usb0 only. zcu100 is using usb0 as peripheral and usb1 as host. Unfortunately reset line is shared for both usb ulpi phys but usb_rst_b is connected to usb5744 hub which is used only in host mode. Especially this chip requires reset to operate properly that's why better assign gpio reset to usb1 instead of usb0.
---
arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts | 2 ++ 1 file changed, 2 insertions(+)
arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts +2 -0
@@ -552,6 +552,7 @@ &usb0 { pinctrl-0 = <&pinctrl_usb0_default>; phy-names = "usb3-phy"; phys = <&psgtr 2 PHY_TYPE_USB3 0 0>; + /delete-property/ reset-gpios; }; &dwc3_0 {
@@ -567,6 +568,7 @@ &usb1 { pinctrl-0 = <&pinctrl_usb1_default>; phy-names = "usb3-phy"; phys = <&psgtr 3 PHY_TYPE_USB3 1 0>; + reset-gpios = <&modepin_gpio 1 GPIO_ACTIVE_LOW>; }; &dwc3_1 {
Signature · 1 line
2.36.1
Michal Simek
AppliedRe: [PATCH 04/23] arm64: zynqmp: Fix usb reset over bootmode pins on zcu100
Quoted 27 lines · Michal Simek
The commit
53ba1b2bdaf7("arm64: dts: zynqmp: Add mode-pin GPIO controller DT node") added usb phy reset over bootmode pins by default on usb0 only. zcu100 is using usb0 as peripheral and usb1 as host. Unfortunately reset line is shared for both usb ulpi phys butusb_rst_bis connected to usb5744 hub which is used only in host mode. Especially this chip requires reset to operate properly that's why better assign gpio reset to usb1 instead of usb0.Signed-off-by Michal Simek <[email protected]>---
arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts | 2 ++ 1 file changed, 2 insertions(+)arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts +1
-0@@ -552,6 +552,7 @@ &usb0 { pinctrl-0 = <&pinctrl_usb0_default>; phy-names = "usb3-phy"; phys = <&psgtr 2 PHY_TYPE_USB3 0 0>; + /delete-property/ reset-gpios; }; &dwc3_0 {
arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts &usb1 { · line 574
Quoted 7 lines
arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts +1
-0@@ -567,6 +568,7 @@ &usb1 { pinctrl-0 = <&pinctrl_usb1_default>; phy-names = "usb3-phy"; phys = <&psgtr 3 PHY_TYPE_USB3 1 0>; + reset-gpios = <&modepin_gpio 1 GPIO_ACTIVE_LOW>; }; &dwc3_1 {
Applied.
M
Signature · 11 lines
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 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
maintainerPATCH 5/23 arm64: zynqmp: Add L2 cache nodes
In reply to Michal SimekFrom: Radhey Shyam Pandey <[email protected]>
Linux kernel throws "cacheinfo: Unable to detect cache hierarchy for CPU 0" warning when booting on zu+ Soc. To fix it add the L2 cache node and let each CPU point to it.
---
arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 9 +++++++++ 1 file changed, 9 insertions(+)
arch/arm64/boot/dts/xilinx/zynqmp.dtsi +9 -0
@@ -33,6 +33,7 @@ cpu0: cpu@0 { operating-points-v2 = <&cpu_opp_table>; reg = <0x0>; cpu-idle-states = <&CPU_SLEEP_0>; + next-level-cache = <&L2>; }; cpu1: cpu@1 {
@@ -42,6 +43,7 @@ cpu1: cpu@1 { reg = <0x1>; operating-points-v2 = <&cpu_opp_table>; cpu-idle-states = <&CPU_SLEEP_0>; + next-level-cache = <&L2>; }; cpu2: cpu@2 {
@@ -51,6 +53,7 @@ cpu2: cpu@2 { reg = <0x2>; operating-points-v2 = <&cpu_opp_table>; cpu-idle-states = <&CPU_SLEEP_0>; + next-level-cache = <&L2>; }; cpu3: cpu@3 {
@@ -60,6 +63,12 @@ cpu3: cpu@3 { reg = <0x3>; operating-points-v2 = <&cpu_opp_table>; cpu-idle-states = <&CPU_SLEEP_0>; + next-level-cache = <&L2>; + }; + + L2: l2-cache { + compatible = "cache"; + cache-level = <2>; }; idle-states {
Signature · 1 line
2.36.1
Re: [PATCH 05/23] arm64: zynqmp: Add L2 cache nodes
Hi Michal,
Thank you for the patch.
Quoted 5 lines · Michal Simek
From: Radhey Shyam Pandey <[email protected]>
Linux kernel throws "cacheinfo: Unable to detect cache hierarchy for CPU 0" warning when booting on zu+ Soc. To fix it add the L2 cache node and let each CPU point to it.
The commit message should focus on how this change brings the DT in line with the hardware, not on what the Linux kernel does.
Quoted 36 lines
Signed-off-by Radhey Shyam Pandey <[email protected]>Signed-off-by Michal Simek <[email protected]>---
arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 9 +++++++++ 1 file changed, 9 insertions(+)arch/arm64/boot/dts/xilinx/zynqmp.dtsi +3
-0@@ -33,6 +33,7 @@ cpu0: cpu@0 { operating-points-v2 = <&cpu_opp_table>; reg = <0x0>; cpu-idle-states = <&CPU_SLEEP_0>; + next-level-cache = <&L2>; }; cpu1: cpu@1 {@@ -42,6 +43,7 @@ cpu1: cpu@1 { reg = <0x1>; operating-points-v2 = <&cpu_opp_table>; cpu-idle-states = <&CPU_SLEEP_0>; + next-level-cache = <&L2>; }; cpu2: cpu@2 {@@ -51,6 +53,7 @@ cpu2: cpu@2 { reg = <0x2>; operating-points-v2 = <&cpu_opp_table>; cpu-idle-states = <&CPU_SLEEP_0>; + next-level-cache = <&L2>; }; cpu3: cpu@3 {
arch/arm64/boot/dts/xilinx/zynqmp.dtsi cpu3: cpu@3 { · line 69
Quoted 7 lines
arch/arm64/boot/dts/xilinx/zynqmp.dtsi +4
-0@@ -60,6 +63,12 @@ cpu3: cpu@3 { reg = <0x3>; operating-points-v2 = <&cpu_opp_table>; cpu-idle-states = <&CPU_SLEEP_0>; + next-level-cache = <&L2>; + }; + + L2: l2-cache {
Shouldn't labels be lower-case ?
Quoted 5 lines
arch/arm64/boot/dts/xilinx/zynqmp.dtsi +2
-0+ compatible = "cache"; + cache-level = <2>; }; idle-states {
Signature · 3 lines
Regards, Laurent Pinchart
Michal Simek
maintainerRe: [PATCH 05/23] arm64: zynqmp: Add L2 cache nodes
Hi Laurent,
Quoted 5 lines · Laurent Pinchart
Hi Michal,
Thank you for the patch.
On Tue, May 02, 2023 at 03:35:33PM +0200, Michal Simek wrote:
Quoted 8 lines
Quoted 5 lines
From: Radhey Shyam Pandey <[email protected]>
Linux kernel throws "cacheinfo: Unable to detect cache hierarchy for CPU 0" warning when booting on zu+ Soc. To fix it add the L2 cache node and let each CPU point to it.
The commit message should focus on how this change brings the DT in line with the hardware, not on what the Linux kernel does.
ok.
Quoted 35 lines
Quoted 35 lines
Signed-off-by Radhey Shyam Pandey <[email protected]>Signed-off-by Michal Simek <[email protected]>---
arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 9 +++++++++ 1 file changed, 9 insertions(+)arch/arm64/boot/dts/xilinx/zynqmp.dtsi +3
-0@@ -33,6 +33,7 @@ cpu0: cpu@0 { operating-points-v2 = <&cpu_opp_table>; reg = <0x0>; cpu-idle-states = <&CPU_SLEEP_0>; + next-level-cache = <&L2>; }; cpu1: cpu@1 {@@ -42,6 +43,7 @@ cpu1: cpu@1 { reg = <0x1>; operating-points-v2 = <&cpu_opp_table>; cpu-idle-states = <&CPU_SLEEP_0>; + next-level-cache = <&L2>; }; cpu2: cpu@2 {@@ -51,6 +53,7 @@ cpu2: cpu@2 { reg = <0x2>; operating-points-v2 = <&cpu_opp_table>; cpu-idle-states = <&CPU_SLEEP_0>; + next-level-cache = <&L2>; };
Quoted 11 lines
arch/arm64/boot/dts/xilinx/zynqmp.dtsi cpu3: cpu@3 { · line 69
Quoted 9 lines
arch/arm64/boot/dts/xilinx/zynqmp.dtsi +4
-0cpu3: cpu@3 {@@ -60,6 +63,12 @@ cpu3: cpu@3 { reg = <0x3>; operating-points-v2 = <&cpu_opp_table>; cpu-idle-states = <&CPU_SLEEP_0>; + next-level-cache = <&L2>; + }; + + L2: l2-cache {Shouldn't labels be lower-case ?
Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml:220: L2_0: l2-cache {Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml:241: L2_100: l2-cache { Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml:257: L2_200: l2-cache { Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml:273: L2_300: l2-cache { Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml:289: L2_400: l2-cache { Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml:305: L2_500: l2-cache { Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml:321: L2_600: l2-cache { Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml:337: L2_700: l2-cache { Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml:116: L2_0: l2-cache { Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml:151: L2_1: l2-cache { Documentation/devicetree/bindings/thermal/thermal-cooling-devices.yaml:77:
L2_0: l2-cache {And in dt spec - 6.2 chapter uppercase letter is valid chars for DTS labels.
Thanks,
Michal
Re: [PATCH 05/23] arm64: zynqmp: Add L2 cache nodes
Hi Michal,
Quoted 80 lines · Michal Simek
Quoted 9 lines · Laurent Pinchart
Quoted 5 lines · Michal Simek
From: Radhey Shyam Pandey <[email protected]>
Linux kernel throws "cacheinfo: Unable to detect cache hierarchy for CPU 0" warning when booting on zu+ Soc. To fix it add the L2 cache node and let each CPU point to it.
The commit message should focus on how this change brings the DT in line with the hardware, not on what the Linux kernel does.
ok.
Quoted 34 lines
Quoted 34 lines
Signed-off-by Radhey Shyam Pandey <[email protected]>Signed-off-by Michal Simek <[email protected]>---
arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 9 +++++++++ 1 file changed, 9 insertions(+)arch/arm64/boot/dts/xilinx/zynqmp.dtsi +3
-0@@ -33,6 +33,7 @@ cpu0: cpu@0 { operating-points-v2 = <&cpu_opp_table>; reg = <0x0>; cpu-idle-states = <&CPU_SLEEP_0>; + next-level-cache = <&L2>; }; cpu1: cpu@1 {@@ -42,6 +43,7 @@ cpu1: cpu@1 { reg = <0x1>; operating-points-v2 = <&cpu_opp_table>; cpu-idle-states = <&CPU_SLEEP_0>; + next-level-cache = <&L2>; }; cpu2: cpu@2 {@@ -51,6 +53,7 @@ cpu2: cpu@2 { reg = <0x2>; operating-points-v2 = <&cpu_opp_table>; cpu-idle-states = <&CPU_SLEEP_0>; + next-level-cache = <&L2>; };Quoted 11 lines
arch/arm64/boot/dts/xilinx/zynqmp.dtsi cpu3: cpu@3 { · line 69
Quoted 9 lines
arch/arm64/boot/dts/xilinx/zynqmp.dtsi +4
-0cpu3: cpu@3 {@@ -60,6 +63,12 @@ cpu3: cpu@3 { reg = <0x3>; operating-points-v2 = <&cpu_opp_table>; cpu-idle-states = <&CPU_SLEEP_0>; + next-level-cache = <&L2>; + }; + + L2: l2-cache {Shouldn't labels be lower-case ?
Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml:220:L2_0:
l2-cache {Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml:241:L2_100: l2-cache {Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml:257:L2_200: l2-cache {Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml:273:L2_300: l2-cache {Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml:289:L2_400: l2-cache {Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml:305:L2_500: l2-cache {Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml:321:L2_600: l2-cache {Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml:337:L2_700: l2-cache {Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml:116:L2_0: l2-cache {Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml:151:L2_1: l2-cache {Documentation/devicetree/bindings/thermal/thermal-cooling-devices.yaml:77:
Quoted 3 lines
L2_0: l2-cache {And in dt spec - 6.2 chapter uppercase letter is valid chars for DTS labels.
Thanks for the clarification. It's all good.
Signature · 3 lines
Regards, Laurent Pinchart
Michal Simek
maintainerPATCH 6/23 arm64: zynqmp: Sync node name address with reg (mailbox)
In reply to Michal SimekAddress in node name should match with the first reg property in DT.
---
arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm64/boot/dts/xilinx/zynqmp.dtsi +1 -1
@@ -135,7 +135,7 @@ zynqmp_ipi: zynqmp_ipi { #size-cells = <2>; ranges; - ipi_mailbox_pmu1: mailbox@ff990400 { + ipi_mailbox_pmu1: mailbox@ff9905c0 { reg = <0x0 0xff9905c0 0x0 0x20>, <0x0 0xff9905e0 0x0 0x20>, <0x0 0xff990e80 0x0 0x20>,
Signature · 7 lines
2.36.1 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Re: [PATCH 06/23] arm64: zynqmp: Sync node name address with reg (mailbox)
Hi Michal,
Thank you for the patch.
Quoted 3 lines · Michal Simek
Address in node name should match with the first reg property in DT.
Signed-off-by Michal Simek <[email protected]>
Quoted 18 lines
---
arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)arch/arm64/boot/dts/xilinx/zynqmp.dtsi +1
-1@@ -135,7 +135,7 @@ zynqmp_ipi: zynqmp_ipi { #size-cells = <2>; ranges; - ipi_mailbox_pmu1: mailbox@ff990400 { + ipi_mailbox_pmu1: mailbox@ff9905c0 { reg = <0x0 0xff9905c0 0x0 0x20>, <0x0 0xff9905e0 0x0 0x20>, <0x0 0xff990e80 0x0 0x20>,
Signature · 3 lines
Regards, Laurent Pinchart
Re: [PATCH 06/23] arm64: zynqmp: Sync node name address with reg (mailbox)
Quoted 10 lines · Laurent Pinchart
Hi Michal,
Thank you for the patch.
Quoted 3 lines · Michal Simek
Address in node name should match with the first reg property in DT.
Signed-off-by Michal Simek <[email protected]>Reviewed-by Laurent Pinchart <[email protected]>
Applied.
M
Michal Simek
maintainerPATCH 7/23 arm64: zynqmp: Add pmu interrupt-affinity
In reply to Michal SimekFrom: Radhey Shyam Pandey <[email protected]>
Explicitly specify interrupt affinity to avoid HW perfevents need to guess. This avoids the following error upon linux boot:
armv8-pmu pmu: hw perfevents: no interrupt-affinity property, guessing.
---
arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 4 ++++ 1 file changed, 4 insertions(+)
arch/arm64/boot/dts/xilinx/zynqmp.dtsi +4 -0
@@ -161,6 +161,10 @@ pmu { <0 144 4>, <0 145 4>, <0 146 4>; + interrupt-affinity = <&cpu0>, + <&cpu1>, + <&cpu2>, + <&cpu3>; }; psci {
Signature · 7 lines
2.36.1 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Re: [PATCH 07/23] arm64: zynqmp: Add pmu interrupt-affinity
Hi Michal,
Thank you for the patch.
Quoted 6 lines · Michal Simek
From: Radhey Shyam Pandey <[email protected]>
Explicitly specify interrupt affinity to avoid HW perfevents need to guess. This avoids the following error upon linux boot:
armv8-pmu pmu: hw perfevents: no interrupt-affinity property, guessing.
As mentioned for some of the previous patches, the commit message should explain why this change improves the DT system description. The fact that it gets rid of a warning message may be mentioned, but it shouldn't be the main focus.
Quoted 22 lines
Signed-off-by Radhey Shyam Pandey <[email protected]>Signed-off-by Michal Simek <[email protected]>---
arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 4 ++++ 1 file changed, 4 insertions(+)arch/arm64/boot/dts/xilinx/zynqmp.dtsi +4
-0@@ -161,6 +161,10 @@ pmu { <0 144 4>, <0 145 4>, <0 146 4>; + interrupt-affinity = <&cpu0>, + <&cpu1>, + <&cpu2>, + <&cpu3>; }; psci {
Signature · 3 lines
Regards, Laurent Pinchart
Michal Simek
AppliedRe: [PATCH 07/23] arm64: zynqmp: Add pmu interrupt-affinity
In reply to Michal SimekQuoted 19 lines · Michal Simek
From: Radhey Shyam Pandey <[email protected]>
Explicitly specify interrupt affinity to avoid HW perfevents need to guess. This avoids the following error upon linux boot:
armv8-pmu pmu: hw perfevents: no interrupt-affinity property, guessing.Signed-off-by Radhey Shyam Pandey <[email protected]>Signed-off-by Michal Simek <[email protected]>---
arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 4 ++++ 1 file changed, 4 insertions(+)arch/arm64/boot/dts/xilinx/zynqmp.dtsi +0
-0
arch/arm64/boot/dts/xilinx/zynqmp.dtsi pmu { · line 170
Quoted 10 lines
arch/arm64/boot/dts/xilinx/zynqmp.dtsi +4
-0@@ -161,6 +161,10 @@ pmu { <0 144 4>, <0 145 4>, <0 146 4>; + interrupt-affinity = <&cpu0>, + <&cpu1>, + <&cpu2>, + <&cpu3>; }; psci {
Applied.
M
Signature · 11 lines
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 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Re: [PATCH 07/23] arm64: zynqmp: Add pmu interrupt-affinity
Quoted 26 lines · Michal Simek
Quoted 23 lines · Michal Simek
From: Radhey Shyam Pandey <[email protected]>
Explicitly specify interrupt affinity to avoid HW perfevents need to guess. This avoids the following error upon linux boot:
armv8-pmu pmu: hw perfevents: no interrupt-affinity property, guessing.Signed-off-by Radhey Shyam Pandey <[email protected]>Signed-off-by Michal Simek <[email protected]>---
arch/arm64/boot/dts/xilinx/zynqmp.dtsi| 4 ++++1 file changed, 4 insertions(+)arch/arm64/boot/dts/xilinx/zynqmp.dtsi +1
-0@@ -161,6 +161,10 @@ pmu { <0 144 4>, <0 145 4>, <0 146 4>; + interrupt-affinity = <&cpu0>,
Quoted 8 lines
arch/arm64/boot/dts/xilinx/zynqmp.dtsi pmu { · line 170
Quoted 5 lines
arch/arm64/boot/dts/xilinx/zynqmp.dtsi +3
-0+ <&cpu1>, + <&cpu2>, + <&cpu3>; }; psci {Applied.
M
Actually remove this one from my queue because there were comment from Laurent.
M
Signature · 6 lines
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
Michal Simek
maintainerPATCH 8/23 arm64: zynqmp: Add resets property to sdhci nodes
In reply to Michal SimekFrom: Sai Krishna Potthuri <[email protected]>
Add "resets" property to sdhci nodes. Resets property is used to reset the SD host controller when dynamic configuration support is enabled.
---
arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 2 ++ 1 file changed, 2 insertions(+)
arch/arm64/boot/dts/xilinx/zynqmp.dtsi +2 -0
@@ -755,6 +755,7 @@ sdhci0: mmc@ff160000 { #clock-cells = <1>; clock-output-names = "clk_out_sd0", "clk_in_sd0"; power-domains = <&zynqmp_firmware PD_SD_0>; + resets = <&zynqmp_reset ZYNQMP_RESET_SDIO0>; }; sdhci1: mmc@ff170000 {
@@ -768,6 +769,7 @@ sdhci1: mmc@ff170000 { #clock-cells = <1>; clock-output-names = "clk_out_sd1", "clk_in_sd1"; power-domains = <&zynqmp_firmware PD_SD_1>; + resets = <&zynqmp_reset ZYNQMP_RESET_SDIO1>; }; smmu: iommu@fd800000 {
Signature · 7 lines
2.36.1 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Re: [PATCH 08/23] arm64: zynqmp: Add resets property to sdhci nodes
Hi Michal,
Thank you for the patch.
Quoted 7 lines · Michal Simek
From: Sai Krishna Potthuri <[email protected]>
Add "resets" property to sdhci nodes. Resets property is used to reset the SD host controller when dynamic configuration support is enabled.
Signed-off-by Sai Krishna Potthuri <[email protected]>Signed-off-by Michal Simek <[email protected]>
Quoted 25 lines
---
arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 2 ++ 1 file changed, 2 insertions(+)arch/arm64/boot/dts/xilinx/zynqmp.dtsi +2
-0@@ -755,6 +755,7 @@ sdhci0: mmc@ff160000 { #clock-cells = <1>; clock-output-names = "clk_out_sd0", "clk_in_sd0"; power-domains = <&zynqmp_firmware PD_SD_0>; + resets = <&zynqmp_reset ZYNQMP_RESET_SDIO0>; }; sdhci1: mmc@ff170000 {@@ -768,6 +769,7 @@ sdhci1: mmc@ff170000 { #clock-cells = <1>; clock-output-names = "clk_out_sd1", "clk_in_sd1"; power-domains = <&zynqmp_firmware PD_SD_1>; + resets = <&zynqmp_reset ZYNQMP_RESET_SDIO1>; }; smmu: iommu@fd800000 {
Signature · 3 lines
Regards, Laurent Pinchart
Re: [PATCH 08/23] arm64: zynqmp: Add resets property to sdhci nodes
Quoted 7 lines · Laurent Pinchart
Hi Michal,
Thank you for the patch.
Quoted 2 lines · Michal Simek
From: Sai Krishna Potthuri <[email protected]>
Quoted 7 lines
Quoted 5 lines
Add "resets" property to sdhci nodes. Resets property is used to reset the SD host controller when dynamic configuration support is enabled.
Signed-off-by Sai Krishna Potthuri <[email protected]>Signed-off-by Michal Simek <[email protected]>Reviewed-by Laurent Pinchart <[email protected]>
Applied.
M
Michal Simek
maintainerPATCH 9/23 arm64: zynqmp: Add dmas, dp, rtc, watchdogs and opp nodes for SOM
In reply to Michal SimekThere are couple of IPs which are enabled in origin HW design which are missing in SOM dt. Add them to match default setup.
---
.../boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+)
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +95 -0
@@ -288,6 +288,101 @@ &gpio { "", "", "", ""; /* 170 - 173 */ }; +&zynqmp_dpsub { + status = "okay"; +}; + +&rtc { + status = "okay"; +}; + +&lpd_dma_chan1 { + status = "okay"; +}; + +&lpd_dma_chan2 { + status = "okay"; +}; + +&lpd_dma_chan3 { + status = "okay"; +}; + +&lpd_dma_chan4 { + status = "okay"; +}; + +&lpd_dma_chan5 { + status = "okay"; +}; + +&lpd_dma_chan6 { + status = "okay"; +}; + +&lpd_dma_chan7 { + status = "okay"; +}; + +&lpd_dma_chan8 { + status = "okay"; +}; + +&fpd_dma_chan1 { + status = "okay"; +}; + +&fpd_dma_chan2 { + status = "okay"; +}; + +&fpd_dma_chan3 { + status = "okay"; +}; + +&fpd_dma_chan4 { + status = "okay"; +}; + +&fpd_dma_chan5 { + status = "okay"; +}; + +&fpd_dma_chan6 { + status = "okay"; +}; + +&fpd_dma_chan7 { + status = "okay"; +}; + +&fpd_dma_chan8 { + status = "okay"; +}; + &gpu { status = "okay"; }; + +&lpd_watchdog { + status = "okay"; +}; + +&watchdog0 { + status = "okay"; +}; + +&cpu_opp_table { + opp00 { + opp-hz = /bits/ 64 <1333333333>; + }; + opp01 { + opp-hz = /bits/ 64 <666666666>; + }; + opp02 { + opp-hz = /bits/ 64 <444444444>; + }; + opp03 { + opp-hz = /bits/ 64 <333333333>; + }; +};
Signature · 7 lines
2.36.1 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
AppliedRe: [PATCH 09/23] arm64: zynqmp: Add dmas, dp, rtc, watchdogs and opp nodes for SOM
Quoted 105 lines · Michal Simek
There are couple of IPs which are enabled in origin HW design which are missing in SOM dt. Add them to match default setup.
Signed-off-by Michal Simek <[email protected]>---
.../boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+)arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +85
-0@@ -288,6 +288,101 @@ &gpio { "", "", "", ""; /* 170 - 173 */ }; +&zynqmp_dpsub { + status = "okay"; +}; + +&rtc { + status = "okay"; +}; + +&lpd_dma_chan1 { + status = "okay"; +}; + +&lpd_dma_chan2 { + status = "okay"; +}; + +&lpd_dma_chan3 { + status = "okay"; +}; + +&lpd_dma_chan4 { + status = "okay"; +}; + +&lpd_dma_chan5 { + status = "okay"; +}; + +&lpd_dma_chan6 { + status = "okay"; +}; + +&lpd_dma_chan7 { + status = "okay"; +}; + +&lpd_dma_chan8 { + status = "okay"; +}; + +&fpd_dma_chan1 { + status = "okay"; +}; + +&fpd_dma_chan2 { + status = "okay"; +}; + +&fpd_dma_chan3 { + status = "okay"; +}; + +&fpd_dma_chan4 { + status = "okay"; +}; + +&fpd_dma_chan5 { + status = "okay"; +}; + +&fpd_dma_chan6 { + status = "okay"; +}; + +&fpd_dma_chan7 { + status = "okay"; +}; + +&fpd_dma_chan8 { + status = "okay"; +}; + &gpu { status = "okay"; }; + +&lpd_watchdog { + status = "okay"; +}; + +&watchdog0 { + status = "okay"; +}; + +&cpu_opp_table { + opp00 { + opp-hz = /bits/ 64 <1333333333>; + };
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts &gpio { · line 388
Quoted 10 lines
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +10
-0+ opp01 { + opp-hz = /bits/ 64 <666666666>; + }; + opp02 { + opp-hz = /bits/ 64 <444444444>; + }; + opp03 { + opp-hz = /bits/ 64 <333333333>; + }; +};
Applied.
M
Signature · 11 lines
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 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
maintainerPATCH 10/23 arm64: zynqmp: Add linux,code for gpio button
In reply to Michal SimekFrom: Srinivas Neeli <[email protected]>
BTN_MISC looks like the most reasonable option for this button. Button is used by firmware to indicate (after reset, power up) that user wants to do firmware upgrade via firmware update utility.
For bootloader or OS is this just user button which is worth to have it mapped.
Also button can be used as a wakeup source and pressing it for more time can generate more chars that's why also adding wakeup-source and autorepeat properties.
---
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 3 +++ 1 file changed, 3 insertions(+)
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +3 -0
@@ -55,6 +55,9 @@ gpio-keys { key-fwuen { label = "fwuen"; gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + linux,code = <BTN_MISC>; + wakeup-source; + autorepeat; }; };
Signature · 7 lines
2.36.1 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
AppliedRe: [PATCH 10/23] arm64: zynqmp: Add linux,code for gpio button
Quoted 23 lines · Michal Simek
From: Srinivas Neeli <[email protected]>
BTN_MISClooks like the most reasonable option for this button. Button is used by firmware to indicate (after reset, power up) that user wants to do firmware upgrade via firmware update utility.
For bootloader or OS is this just user button which is worth to have it mapped.
Also button can be used as a wakeup source and pressing it for more time can generate more chars that's why also adding wakeup-source and autorepeat properties.Signed-off-by Srinivas Neeli <[email protected]>Signed-off-by Michal Simek <[email protected]>---
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 3 +++ 1 file changed, 3 insertions(+)arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +0
-0
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts gpio-keys { · line 63
Quoted 9 lines
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +3
-0@@ -55,6 +55,9 @@ gpio-keys { key-fwuen { label = "fwuen"; gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + linux,code = <BTN_MISC>; + wakeup-source; + autorepeat; }; };
Applied.
M
Signature · 11 lines
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 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
maintainerPATCH 11/23 arm64: zynqmp: Use assigned-clock-rates for setting up SD clock in SOM
In reply to Michal SimekWith limited low level configuration done via psu-init only IPs connected on SOM are initialized and configured. All IPs connected to carrier card are not initialized. There is a need to do proper reset, pin configuration and also clock setting.
The patch targets the last part which is setting up proper clock for EMMC on production SOMs and SD on kv260-revB.
---
arch/arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi | 5 ++++- arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso | 1 + arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso | 1 + arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 1 + 4 files changed, 7 insertions(+), 1 deletion(-)
arch/arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi +4 -1
@@ -2,7 +2,8 @@ /* * Clock specification for Xilinx ZynqMP * - * (C) Copyright 2017 - 2021, Xilinx, Inc. + * (C) Copyright 2017 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> */
@@ -185,10 +186,12 @@ &sata { &sdhci0 { clocks = <&zynqmp_clk SDIO0_REF>, <&zynqmp_clk LPD_LSBUS>; + assigned-clocks = <&zynqmp_clk SDIO0_REF>; }; &sdhci1 { clocks = <&zynqmp_clk SDIO1_REF>, <&zynqmp_clk LPD_LSBUS>; + assigned-clocks = <&zynqmp_clk SDIO1_REF>; }; &spi0 {
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso +1 -0
@@ -133,6 +133,7 @@ &sdhci1 { /* on CC with tuned parameters */ no-1-8-v; disable-wp; xlnx,mio-bank = <1>; + assigned-clock-rates = <187498123>; }; &gem3 { /* required by spec */
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso +1 -0
@@ -116,6 +116,7 @@ &sdhci1 { /* on CC with tuned parameters */ clk-phase-sd-hs = <126>, <60>; clk-phase-uhs-sdr25 = <120>, <60>; clk-phase-uhs-ddr50 = <126>, <48>; + assigned-clock-rates = <187498123>; }; &gem3 { /* required by spec */
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +1 -0
@@ -178,6 +178,7 @@ &sdhci0 { /* MIO13-23 - 16GB emmc MTFC16GAPALBH-IT - U133A */ disable-wp; bus-width = <8>; xlnx,mio-bank = <0>; + assigned-clock-rates = <187498123>; }; &spi1 { /* MIO6, 9-11 */
Signature · 7 lines
2.36.1 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
AppliedRe: [PATCH 11/23] arm64: zynqmp: Use assigned-clock-rates for setting up SD clock in SOM
Quoted 72 lines · Michal Simek
With limited low level configuration done via psu-init only IPs connected on SOM are initialized and configured. All IPs connected to carrier card are not initialized. There is a need to do proper reset, pin configuration and also clock setting.
The patch targets the last part which is setting up proper clock for EMMC on production SOMs and SD on kv260-revB.Signed-off-by Michal Simek <[email protected]>---
arch/arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi | 5 ++++- arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso | 1 + arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso | 1 + arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 1 + 4 files changed, 7 insertions(+), 1 deletion(-)arch/arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi +4
-1@@ -2,7 +2,8 @@ /* * Clock specification for Xilinx ZynqMP * - * (C) Copyright 2017 - 2021, Xilinx, Inc. + * (C) Copyright 2017 - 2022, Xilinx, Inc. + * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. * * Michal Simek <[email protected]> */@@ -185,10 +186,12 @@ &sata { &sdhci0 { clocks = <&zynqmp_clk SDIO0_REF>, <&zynqmp_clk LPD_LSBUS>; + assigned-clocks = <&zynqmp_clk SDIO0_REF>; }; &sdhci1 { clocks = <&zynqmp_clk SDIO1_REF>, <&zynqmp_clk LPD_LSBUS>; + assigned-clocks = <&zynqmp_clk SDIO1_REF>; }; &spi0 {arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso +1
-0@@ -133,6 +133,7 @@ &sdhci1 { /* on CC with tuned parameters */ no-1-8-v; disable-wp; xlnx,mio-bank = <1>; + assigned-clock-rates = <187498123>; }; &gem3 { /* required by spec */arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso +1
-0@@ -116,6 +116,7 @@ &sdhci1 { /* on CC with tuned parameters */ clk-phase-sd-hs = <126>, <60>; clk-phase-uhs-sdr25 = <120>, <60>; clk-phase-uhs-ddr50 = <126>, <48>; + assigned-clock-rates = <187498123>; }; &gem3 { /* required by spec */arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +0
-0
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts &sdhci0 { /* MIO13-23 - 16GB emmc MTFC16GAPALBH-IT - U133A */ · line 184
Quoted 7 lines
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +1
-0@@ -178,6 +178,7 @@ &sdhci0 { /* MIO13-23 - 16GB emmc MTFC16GAPALBH-IT - U133A */ disable-wp; bus-width = <8>; xlnx,mio-bank = <0>; + assigned-clock-rates = <187498123>; }; &spi1 { /* MIO6, 9-11 */
Applied.
M
Signature · 11 lines
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 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
maintainerPATCH 12/23 arm64: zynqmp: Add mtd partition for secure OS storage area
In reply to Michal SimekFrom: Amit Kumar Mahapatra <[email protected]>
Update MTD partitions of Kria device trees to allocate 128KB of QSPI memory for secure OS. Increased "SHA256" partition size & changed starting address of "User" partition to accommodate the new partition "Secure OS Storage"
---
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +8 -4
@@ -83,7 +83,7 @@ &uart1 { /* MIO36/MIO37 */ &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>;
@@ -161,13 +161,17 @@ partition@2220000 { }; partition@2240000 { label = "SHA256"; - reg = <0x2240000 0x10000>; /* 256B but 64KB sector */ + reg = <0x2240000 0x40000>; /* 256B but 256KB sector */ read-only; lock; }; - partition@2250000 { + partition@2280000 { + label = "Secure OS Storage"; + reg = <0x2280000 0x20000>; /* 128KB */ + }; + partition@22A0000 { label = "User"; - reg = <0x2250000 0x1db0000>; /* 29.5 MB */ + reg = <0x22A0000 0x1d60000>; /* 29.375 MB */ }; }; };
Signature · 7 lines
2.36.1 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
AppliedRe: [PATCH 12/23] arm64: zynqmp: Add mtd partition for secure OS storage area
Quoted 38 lines · Michal Simek
From: Amit Kumar Mahapatra <[email protected]>
Update MTD partitions of Kria device trees to allocate 128KB of QSPI memory for secure OS. Increased "SHA256" partition size & changed starting address of "User" partition to accommodate the new partition "Secure OS Storage"
Signed-off-by Amit Kumar Mahapatra <[email protected]>Signed-off-by Michal Simek <[email protected]>---
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +3
-3@@ -83,7 +83,7 @@ &uart1 { /* MIO36/MIO37 */ &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>;@@ -161,13 +161,17 @@ partition@2220000 { }; partition@2240000 { label = "SHA256"; - reg = <0x2240000 0x10000>; /* 256B but 64KB sector */ + reg = <0x2240000 0x40000>; /* 256B but 256KB sector */ read-only; lock; }; - partition@2250000 { + partition@2280000 {
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts partition@2220000 { · line 177
Quoted 10 lines
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +5
-1+ label = "Secure OS Storage"; + reg = <0x2280000 0x20000>; /* 128KB */ + }; + partition@22A0000 { label = "User"; - reg = <0x2250000 0x1db0000>; /* 29.5 MB */ + reg = <0x22A0000 0x1d60000>; /* 29.375 MB */ }; }; };
Applied.
M
Signature · 11 lines
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 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
maintainerPATCH 13/23 arm64: zynqmp: Used fixed-partitions for QSPI in k26
In reply to Michal SimekUsing fixed partitions is recommended way how to describe QSPI. Also add label for qspi flash memory to be able to reference it in future.
---
.../boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 169 +++++++++--------- 1 file changed, 88 insertions(+), 81 deletions(-)
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +88 -81
@@ -91,87 +91,94 @@ spi_flash: flash@0 { /* MT25QU512A */ 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 0x40000>; /* 256B but 256KB sector */ - read-only; - lock; - }; - partition@2280000 { - label = "Secure OS Storage"; - reg = <0x2280000 0x20000>; /* 128KB */ - }; - partition@22A0000 { - label = "User"; - reg = <0x22A0000 0x1d60000>; /* 29.375 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 0x40000>; /* 256B but 256KB sector */ + read-only; + lock; + }; + partition@2280000 { + label = "Secure OS Storage"; + reg = <0x2280000 0x20000>; /* 128KB */ + }; + partition@22A0000 { + label = "User"; + reg = <0x22A0000 0x1d60000>; /* 29.375 MB */ + }; }; }; };
Signature · 7 lines
2.36.1 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
maintainerPATCH 14/23 arm64: zynqmp: Add gpio labels for modepin gpio
In reply to Michal SimekUsing label helps with better chip identification.
---
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 4 ++++ 1 file changed, 4 insertions(+)
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +4 -0
@@ -77,6 +77,10 @@ ds36-led { }; }; +&modepin_gpio { + label = "modepin"; +}; + &uart1 { /* MIO36/MIO37 */ status = "okay"; };
Signature · 7 lines
2.36.1 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
AppliedRe: [PATCH 14/23] arm64: zynqmp: Add gpio labels for modepin gpio
Quoted 13 lines · Michal Simek
Using label helps with better chip identification.
Signed-off-by Michal Simek <[email protected]>---
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 4 ++++ 1 file changed, 4 insertions(+)arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +0
-0
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts ds36-led { · line 86
Quoted 10 lines
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +4
-0@@ -77,6 +77,10 @@ ds36-led { }; }; +&modepin_gpio { + label = "modepin"; +}; + &uart1 { /* MIO36/MIO37 */ status = "okay"; };
Applied.
M
Signature · 11 lines
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 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
maintainerPATCH 15/23 arm64: zynqmp: Add pinctrl emmc description to SM-K26
In reply to Michal SimekProduction SOM has emmc on it and make sense to describe pin description to be able use EMMC if it is not configured via psu_init.
(Still some regs are not handled but this is one step in that direction)
---
.../boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+)
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +20 -0
@@ -14,6 +14,7 @@ #include <dt-bindings/input/input.h> #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/phy/phy.h> +#include <dt-bindings/pinctrl/pinctrl-zynqmp.h> / { model = "ZynqMP SM-K26 Rev1/B/A";
@@ -85,6 +86,23 @@ &uart1 { /* MIO36/MIO37 */ status = "okay"; }; +&pinctrl0 { + status = "okay"; + pinctrl_sdhci0_default: sdhci0-default { + conf { + groups = "sdio0_0_grp"; + slew-rate = <SLEW_RATE_SLOW>; + power-source = <IO_STANDARD_LVCMOS18>; + bias-disable; + }; + + mux { + groups = "sdio0_0_grp"; + function = "sdio0"; + }; + }; +}; + &qspi { /* MIO 0-5 - U143 */ status = "okay"; spi_flash: flash@0 { /* MT25QU512A */
@@ -189,6 +207,8 @@ partition@22A0000 { &sdhci0 { /* MIO13-23 - 16GB emmc MTFC16GAPALBH-IT - U133A */ status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sdhci0_default>; non-removable; disable-wp; bus-width = <8>;
Signature · 7 lines
2.36.1 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
AppliedRe: [PATCH 15/23] arm64: zynqmp: Add pinctrl emmc description to SM-K26
Quoted 47 lines · Michal Simek
Production SOM has emmc on it and make sense to describe pin description to be able use EMMC if it is not configured via
psu_init.
(Still some regs are not handled but this is one step in that direction)Signed-off-by Michal Simek <[email protected]>---
.../boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+)arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +18
-0@@ -14,6 +14,7 @@ #include <dt-bindings/input/input.h> #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/phy/phy.h> +#include <dt-bindings/pinctrl/pinctrl-zynqmp.h> / { model = "ZynqMP SM-K26 Rev1/B/A";@@ -85,6 +86,23 @@ &uart1 { /* MIO36/MIO37 */ status = "okay"; }; +&pinctrl0 { + status = "okay"; + pinctrl_sdhci0_default: sdhci0-default { + conf { + groups = "sdio0_0_grp"; + slew-rate = <SLEW_RATE_SLOW>; + power-source = <IO_STANDARD_LVCMOS18>; + bias-disable; + }; + + mux { + groups = "sdio0_0_grp"; + function = "sdio0"; + }; + }; +}; + &qspi { /* MIO 0-5 - U143 */ status = "okay"; spi_flash: flash@0 { /* MT25QU512A */
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts partition@22A0000 { · line 214
Quoted 8 lines
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +2
-0@@ -189,6 +207,8 @@ partition@22A0000 { &sdhci0 { /* MIO13-23 - 16GB emmc MTFC16GAPALBH-IT - U133A */ status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sdhci0_default>; non-removable; disable-wp; bus-width = <8>;
Applied.
M
Signature · 11 lines
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 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
maintainerPATCH 16/23 arm64: zynqmp: Disable USB3.0 for zc1751-xm016-dc2
In reply to Michal SimekFrom: Piyush Mehta <[email protected]>
The board zynqmp-zc1751-xm016-dc2 support only USB2.0 that's why remove USB3.0 DT configuration.
---
arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts | 2 -- 1 file changed, 2 deletions(-)
arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts +0 -2
@@ -489,8 +489,6 @@ &usb1 { &dwc3_1 { status = "okay"; dr_mode = "host"; - snps,usb3_lpm_capable; - maximum-speed = "super-speed"; }; &uart0 {
Signature · 7 lines
2.36.1 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
AppliedRe: [PATCH 16/23] arm64: zynqmp: Disable USB3.0 for zc1751-xm016-dc2
Quoted 17 lines · Michal Simek
From: Piyush Mehta <[email protected]>
The board zynqmp-zc1751-xm016-dc2 support only USB2.0 that's why remove USB3.0 DT configuration.
Signed-off-by Piyush Mehta <[email protected]>Signed-off-by Michal Simek <[email protected]>---
arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts | 2 -- 1 file changed, 2 deletions(-)arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts +0
-0
arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts &usb1 { · line 494
Quoted 8 lines
arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts +0
-2@@ -489,8 +489,6 @@ &usb1 { &dwc3_1 { status = "okay"; dr_mode = "host"; - snps,usb3_lpm_capable; - maximum-speed = "super-speed"; }; &uart0 {
Applied.
M
Signature · 11 lines
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 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
maintainerPATCH 17/23 arm64: zynqmp: Switch to ethernet-phy-id in kv260
In reply to Michal SimekUse ethernet-phy-id compatible string to properly describe phy reset on kv260 boards. Previous description wasn't correct because reset was done for mdio bus to operate and it was in this case used for different purpose which was eth phy reset. With ethernet-phy-id phy reset happens only for the phy via phy framework.
---
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso | 6 ++++-- arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-)
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso +4 -2
@@ -146,16 +146,18 @@ &gem3 { /* required by spec */ mdio: mdio { #address-cells = <1>; #size-cells = <0>; - reset-gpios = <&gpio 38 GPIO_ACTIVE_LOW>; - reset-delay-us = <2>; phy0: ethernet-phy@1 { #phy-cells = <1>; reg = <1>; + compatible = "ethernet-phy-id2000.a231"; ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>; ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_75_NS>; ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; ti,dp83867-rxctrl-strap-quirk; + reset-assert-us = <100>; + reset-deassert-us = <280>; + reset-gpios = <&gpio 38 GPIO_ACTIVE_LOW>; }; }; };
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso +4 -2
@@ -129,16 +129,18 @@ &gem3 { /* required by spec */ mdio: mdio { #address-cells = <1>; #size-cells = <0>; - reset-gpios = <&gpio 38 GPIO_ACTIVE_LOW>; - reset-delay-us = <2>; phy0: ethernet-phy@1 { #phy-cells = <1>; reg = <1>; + compatible = "ethernet-phy-id2000.a231"; ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>; ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_75_NS>; ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; ti,dp83867-rxctrl-strap-quirk; + reset-assert-us = <100>; + reset-deassert-us = <280>; + reset-gpios = <&gpio 38 GPIO_ACTIVE_LOW>; }; }; };
Signature · 7 lines
2.36.1 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
AppliedRe: [PATCH 17/23] arm64: zynqmp: Switch to ethernet-phy-id in kv260
Quoted 53 lines · Michal Simek
Use ethernet-phy-id compatible string to properly describe phy reset on kv260 boards. Previous description wasn't correct because reset was done for mdio bus to operate and it was in this case used for different purpose which was eth phy reset. With ethernet-phy-id phy reset happens only for the phy via phy framework.
Signed-off-by Michal Simek <[email protected]>---
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso | 6 ++++-- arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-)arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso +4
-2@@ -146,16 +146,18 @@ &gem3 { /* required by spec */ mdio: mdio { #address-cells = <1>; #size-cells = <0>; - reset-gpios = <&gpio 38 GPIO_ACTIVE_LOW>; - reset-delay-us = <2>; phy0: ethernet-phy@1 { #phy-cells = <1>; reg = <1>; + compatible = "ethernet-phy-id2000.a231"; ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>; ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_75_NS>; ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; ti,dp83867-rxctrl-strap-quirk; + reset-assert-us = <100>; + reset-deassert-us = <280>; + reset-gpios = <&gpio 38 GPIO_ACTIVE_LOW>; }; }; };arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso +1
-2@@ -129,16 +129,18 @@ &gem3 { /* required by spec */ mdio: mdio { #address-cells = <1>; #size-cells = <0>; - reset-gpios = <&gpio 38 GPIO_ACTIVE_LOW>; - reset-delay-us = <2>; phy0: ethernet-phy@1 { #phy-cells = <1>; reg = <1>; + compatible = "ethernet-phy-id2000.a231";
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso &gem3 { /* required by spec */ · line 146
Quoted 10 lines
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso +3
-0ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>; ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_75_NS>; ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; ti,dp83867-rxctrl-strap-quirk; + reset-assert-us = <100>; + reset-deassert-us = <280>; + reset-gpios = <&gpio 38 GPIO_ACTIVE_LOW>; }; }; };
Applied.
M
Signature · 11 lines
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 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
maintainerPATCH 18/23 arm64: zynqmp: Setup clock for DP and DPDMA
In reply to Michal SimekClocks are coming from shared HW design where these frequencies should be aligned with PLL setup.
---
arch/arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi | 4 ++++ arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso | 2 ++ arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso | 2 ++ 3 files changed, 8 insertions(+)
arch/arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi +4 -0
@@ -248,10 +248,14 @@ &xilinx_ams { &zynqmp_dpdma { clocks = <&zynqmp_clk DPDMA_REF>; + assigned-clocks = <&zynqmp_clk DPDMA_REF>; /* apll */ }; &zynqmp_dpsub { clocks = <&zynqmp_clk TOPSW_LSBUS>, <&zynqmp_clk DP_AUDIO_REF>, <&zynqmp_clk DP_VIDEO_REF>; + assigned-clocks = <&zynqmp_clk DP_STC_REF>, + <&zynqmp_clk DP_AUDIO_REF>, + <&zynqmp_clk DP_VIDEO_REF>; /* rpll, rpll, vpll */ };
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso +2 -0
@@ -99,10 +99,12 @@ &zynqmp_dpsub { status = "disabled"; phy-names = "dp-phy0", "dp-phy1"; phys = <&psgtr 1 PHY_TYPE_DP 0 0>, <&psgtr 0 PHY_TYPE_DP 1 0>; + assigned-clock-rates = <27000000>, <25000000>, <300000000>; }; &zynqmp_dpdma { status = "okay"; + assigned-clock-rates = <600000000>; }; &usb0 {
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso +2 -0
@@ -80,10 +80,12 @@ &zynqmp_dpsub { status = "disabled"; phy-names = "dp-phy0", "dp-phy1"; phys = <&psgtr 1 PHY_TYPE_DP 0 0>, <&psgtr 0 PHY_TYPE_DP 1 0>; + assigned-clock-rates = <27000000>, <25000000>, <300000000>; }; &zynqmp_dpdma { status = "okay"; + assigned-clock-rates = <600000000>; }; &usb0 {
Signature · 7 lines
2.36.1 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
AppliedRe: [PATCH 18/23] arm64: zynqmp: Setup clock for DP and DPDMA
Quoted 54 lines · Michal Simek
Clocks are coming from shared HW design where these frequencies should be aligned with PLL setup.
Signed-off-by Michal Simek <[email protected]>---
arch/arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi | 4 ++++ arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso | 2 ++ arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso | 2 ++ 3 files changed, 8 insertions(+)arch/arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi +4
-0@@ -248,10 +248,14 @@ &xilinx_ams { &zynqmp_dpdma { clocks = <&zynqmp_clk DPDMA_REF>; + assigned-clocks = <&zynqmp_clk DPDMA_REF>; /* apll */ }; &zynqmp_dpsub { clocks = <&zynqmp_clk TOPSW_LSBUS>, <&zynqmp_clk DP_AUDIO_REF>, <&zynqmp_clk DP_VIDEO_REF>; + assigned-clocks = <&zynqmp_clk DP_STC_REF>, + <&zynqmp_clk DP_AUDIO_REF>, + <&zynqmp_clk DP_VIDEO_REF>; /* rpll, rpll, vpll */ };arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso +2
-0@@ -99,10 +99,12 @@ &zynqmp_dpsub { status = "disabled"; phy-names = "dp-phy0", "dp-phy1"; phys = <&psgtr 1 PHY_TYPE_DP 0 0>, <&psgtr 0 PHY_TYPE_DP 1 0>; + assigned-clock-rates = <27000000>, <25000000>, <300000000>; }; &zynqmp_dpdma { status = "okay"; + assigned-clock-rates = <600000000>; }; &usb0 {arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso +0
-0@@ -80,10 +80,12 @@ &zynqmp_dpsub { status = "disabled"; phy-names = "dp-phy0", "dp-phy1";
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso &zynqmp_dpsub { · line 91
Quoted 10 lines
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso +2
-0phys = <&psgtr 1 PHY_TYPE_DP 0 0>, <&psgtr 0 PHY_TYPE_DP 1 0>; + assigned-clock-rates = <27000000>, <25000000>, <300000000>; }; &zynqmp_dpdma { status = "okay"; + assigned-clock-rates = <600000000>; }; &usb0 {
Applied.
M
Signature · 11 lines
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 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
maintainerPATCH 19/23 arm64: zynqmp: Enable DP driver for SOMs
In reply to Michal SimekDP DMA is already enabled that's why there is no reason to keep DP disabled.
---
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso +1 -1
@@ -96,7 +96,7 @@ &sata { }; &zynqmp_dpsub { - status = "disabled"; + status = "okay"; phy-names = "dp-phy0", "dp-phy1"; phys = <&psgtr 1 PHY_TYPE_DP 0 0>, <&psgtr 0 PHY_TYPE_DP 1 0>; assigned-clock-rates = <27000000>, <25000000>, <300000000>;
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso +1 -1
@@ -77,7 +77,7 @@ &psgtr { }; &zynqmp_dpsub { - status = "disabled"; + status = "okay"; phy-names = "dp-phy0", "dp-phy1"; phys = <&psgtr 1 PHY_TYPE_DP 0 0>, <&psgtr 0 PHY_TYPE_DP 1 0>; assigned-clock-rates = <27000000>, <25000000>, <300000000>;
Signature · 7 lines
2.36.1 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
AppliedRe: [PATCH 19/23] arm64: zynqmp: Enable DP driver for SOMs
Quoted 28 lines · Michal Simek
DP DMA is already enabled that's why there is no reason to keep DP disabled.
Signed-off-by Michal Simek <[email protected]>---
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso | 2 +- arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso +1
-1@@ -96,7 +96,7 @@ &sata { }; &zynqmp_dpsub { - status = "disabled"; + status = "okay"; phy-names = "dp-phy0", "dp-phy1"; phys = <&psgtr 1 PHY_TYPE_DP 0 0>, <&psgtr 0 PHY_TYPE_DP 1 0>; assigned-clock-rates = <27000000>, <25000000>, <300000000>;arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso +0
-0
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso &psgtr { · line 83
Quoted 8 lines
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso +1
-1@@ -77,7 +77,7 @@ &psgtr { }; &zynqmp_dpsub { - status = "disabled"; + status = "okay"; phy-names = "dp-phy0", "dp-phy1"; phys = <&psgtr 1 PHY_TYPE_DP 0 0>, <&psgtr 0 PHY_TYPE_DP 1 0>; assigned-clock-rates = <27000000>, <25000000>, <300000000>;
Applied.
M
Signature · 11 lines
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 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
maintainerPATCH 20/23 arm64: zynqmp: Rename ams_ps/pl node names
In reply to Michal SimekFix child node names to be aligned with commit 39dd2d1e251d ("dt-bindings:
iio: adc: Add Xilinx AMS binding documentation") which requires names as ams-ps@ and ams-pl@.
---
arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arm64/boot/dts/xilinx/zynqmp.dtsi +2 -2
@@ -955,13 +955,13 @@ xilinx_ams: ams@ffa50000 { #io-channel-cells = <1>; ranges = <0 0 0xffa50800 0x800>; - ams_ps: ams_ps@0 { + ams_ps: ams-ps@0 { compatible = "xlnx,zynqmp-ams-ps"; status = "disabled"; reg = <0x0 0x400>; }; - ams_pl: ams_pl@400 { + ams_pl: ams-pl@400 { compatible = "xlnx,zynqmp-ams-pl"; status = "disabled"; reg = <0x400 0x400>;
Signature · 7 lines
2.36.1 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Re: [PATCH 20/23] arm64: zynqmp: Rename ams_ps/pl node names
Hi Michal,
Thank you for the patch.
Quoted 5 lines · Michal Simek
Fix child node names to be aligned with commit
39dd2d1e251d("dt-bindings:
iio: adc: Add Xilinx AMS binding documentation") which requires names as ams-ps@ and ams-pl@.Signed-off-by Michal Simek <[email protected]>
Quoted 25 lines
---
arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)arch/arm64/boot/dts/xilinx/zynqmp.dtsi +2
-2@@ -955,13 +955,13 @@ xilinx_ams: ams@ffa50000 { #io-channel-cells = <1>; ranges = <0 0 0xffa50800 0x800>; - ams_ps: ams_ps@0 { + ams_ps: ams-ps@0 { compatible = "xlnx,zynqmp-ams-ps"; status = "disabled"; reg = <0x0 0x400>; }; - ams_pl: ams_pl@400 { + ams_pl: ams-pl@400 { compatible = "xlnx,zynqmp-ams-pl"; status = "disabled"; reg = <0x400 0x400>;
Signature · 3 lines
Regards, Laurent Pinchart
Re: [PATCH 20/23] arm64: zynqmp: Rename ams_ps/pl node names
Quoted 4 lines · Laurent Pinchart
Hi Michal,
Thank you for the patch.
Quoted 8 lines
Quoted 5 lines · Michal Simek
Fix child node names to be aligned with commit
39dd2d1e251d("dt-bindings:
iio: adc: Add Xilinx AMS binding documentation") which requires names as ams-ps@ and ams-pl@.Signed-off-by Michal Simek <[email protected]>Reviewed-by Laurent Pinchart <[email protected]>
Applied.
M
Michal Simek
maintainerPATCH 21/23 arm64: zynqmp: Enable AMS on SOM and other zcu10x boards
In reply to Michal SimekAMS is used for monitoring system. Used for measuring voltages and especially temperatures. Origin interface is IIO but via iio-hwmon it can be moved to hwmon framework too (done for SOM and zcu100).
---
.../boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 26 +++++++++++++++++++ .../boot/dts/xilinx/zynqmp-zcu100-revC.dts | 17 ++++++++++++ .../boot/dts/xilinx/zynqmp-zcu102-revA.dts | 12 +++++++++ .../boot/dts/xilinx/zynqmp-zcu104-revA.dts | 12 +++++++++ .../boot/dts/xilinx/zynqmp-zcu104-revC.dts | 12 +++++++++ 5 files changed, 79 insertions(+)
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +26 -0
@@ -76,6 +76,20 @@ ds36-led { default-state = "on"; }; }; + + ams { + compatible = "iio-hwmon"; + io-channels = <&xilinx_ams 0>, <&xilinx_ams 1>, <&xilinx_ams 2>, + <&xilinx_ams 3>, <&xilinx_ams 4>, <&xilinx_ams 5>, + <&xilinx_ams 6>, <&xilinx_ams 7>, <&xilinx_ams 8>, + <&xilinx_ams 9>, <&xilinx_ams 10>, <&xilinx_ams 11>, + <&xilinx_ams 12>, <&xilinx_ams 13>, <&xilinx_ams 14>, + <&xilinx_ams 15>, <&xilinx_ams 16>, <&xilinx_ams 17>, + <&xilinx_ams 18>, <&xilinx_ams 19>, <&xilinx_ams 20>, + <&xilinx_ams 21>, <&xilinx_ams 22>, <&xilinx_ams 23>, + <&xilinx_ams 24>, <&xilinx_ams 25>, <&xilinx_ams 26>, + <&xilinx_ams 27>, <&xilinx_ams 28>, <&xilinx_ams 29>; + }; }; &modepin_gpio {
@@ -327,6 +341,18 @@ &gpio { "", "", "", ""; /* 170 - 173 */ }; +&xilinx_ams { + status = "okay"; +}; + +&ams_ps { + status = "okay"; +}; + +&ams_pl { + status = "okay"; +}; + &zynqmp_dpsub { status = "okay"; };
arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts +17 -0
@@ -59,6 +59,15 @@ switch-4 { }; }; + iio-hwmon { + compatible = "iio-hwmon"; + io-channels = <&xilinx_ams 0>, <&xilinx_ams 1>, <&xilinx_ams 2>, + <&xilinx_ams 3>, <&xilinx_ams 4>, <&xilinx_ams 5>, + <&xilinx_ams 6>, <&xilinx_ams 7>, <&xilinx_ams 8>, + <&xilinx_ams 9>, <&xilinx_ams 10>, + <&xilinx_ams 11>, <&xilinx_ams 12>; + }; + leds { compatible = "gpio-leds"; led-ds2 {
@@ -581,6 +590,14 @@ &watchdog0 { status = "okay"; }; +&xilinx_ams { + status = "okay"; +}; + +&ams_ps { + status = "okay"; +}; + &zynqmp_dpdma { status = "okay"; };
arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts +12 -0
@@ -1027,6 +1027,18 @@ &watchdog0 { status = "okay"; }; +&xilinx_ams { + status = "okay"; +}; + +&ams_ps { + status = "okay"; +}; + +&ams_pl { + status = "okay"; +}; + &zynqmp_dpdma { status = "okay"; };
arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts +12 -0
@@ -511,6 +511,18 @@ &watchdog0 { status = "okay"; }; +&xilinx_ams { + status = "okay"; +}; + +&ams_ps { + status = "okay"; +}; + +&ams_pl { + status = "okay"; +}; + &zynqmp_dpdma { status = "okay"; };
arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts +12 -0
@@ -523,6 +523,18 @@ &watchdog0 { status = "okay"; }; +&xilinx_ams { + status = "okay"; +}; + +&ams_ps { + status = "okay"; +}; + +&ams_pl { + status = "okay"; +}; + &zynqmp_dpdma { status = "okay"; };
Signature · 7 lines
2.36.1 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
AppliedRe: [PATCH 21/23] arm64: zynqmp: Enable AMS on SOM and other zcu10x boards
Quoted 152 lines · Michal Simek
AMS is used for monitoring system. Used for measuring voltages and especially temperatures. Origin interface is IIO but via iio-hwmon it can be moved to hwmon framework too (done for SOM and zcu100).
Signed-off-by Michal Simek <[email protected]>---
.../boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 26 +++++++++++++++++++ .../boot/dts/xilinx/zynqmp-zcu100-revC.dts | 17 ++++++++++++ .../boot/dts/xilinx/zynqmp-zcu102-revA.dts | 12 +++++++++ .../boot/dts/xilinx/zynqmp-zcu104-revA.dts | 12 +++++++++ .../boot/dts/xilinx/zynqmp-zcu104-revC.dts | 12 +++++++++ 5 files changed, 79 insertions(+)arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +26
-0@@ -76,6 +76,20 @@ ds36-led { default-state = "on"; }; }; + + ams { + compatible = "iio-hwmon"; + io-channels = <&xilinx_ams 0>, <&xilinx_ams 1>, <&xilinx_ams 2>, + <&xilinx_ams 3>, <&xilinx_ams 4>, <&xilinx_ams 5>, + <&xilinx_ams 6>, <&xilinx_ams 7>, <&xilinx_ams 8>, + <&xilinx_ams 9>, <&xilinx_ams 10>, <&xilinx_ams 11>, + <&xilinx_ams 12>, <&xilinx_ams 13>, <&xilinx_ams 14>, + <&xilinx_ams 15>, <&xilinx_ams 16>, <&xilinx_ams 17>, + <&xilinx_ams 18>, <&xilinx_ams 19>, <&xilinx_ams 20>, + <&xilinx_ams 21>, <&xilinx_ams 22>, <&xilinx_ams 23>, + <&xilinx_ams 24>, <&xilinx_ams 25>, <&xilinx_ams 26>, + <&xilinx_ams 27>, <&xilinx_ams 28>, <&xilinx_ams 29>; + }; }; &modepin_gpio {@@ -327,6 +341,18 @@ &gpio { "", "", "", ""; /* 170 - 173 */ }; +&xilinx_ams { + status = "okay"; +}; + +&ams_ps { + status = "okay"; +}; + +&ams_pl { + status = "okay"; +}; + &zynqmp_dpsub { status = "okay"; };arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts +17
-0@@ -59,6 +59,15 @@ switch-4 { }; }; + iio-hwmon { + compatible = "iio-hwmon"; + io-channels = <&xilinx_ams 0>, <&xilinx_ams 1>, <&xilinx_ams 2>, + <&xilinx_ams 3>, <&xilinx_ams 4>, <&xilinx_ams 5>, + <&xilinx_ams 6>, <&xilinx_ams 7>, <&xilinx_ams 8>, + <&xilinx_ams 9>, <&xilinx_ams 10>, + <&xilinx_ams 11>, <&xilinx_ams 12>; + }; + leds { compatible = "gpio-leds"; led-ds2 {@@ -581,6 +590,14 @@ &watchdog0 { status = "okay"; }; +&xilinx_ams { + status = "okay"; +}; + +&ams_ps { + status = "okay"; +}; + &zynqmp_dpdma { status = "okay"; };arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts +12
-0@@ -1027,6 +1027,18 @@ &watchdog0 { status = "okay"; }; +&xilinx_ams { + status = "okay"; +}; + +&ams_ps { + status = "okay"; +}; + +&ams_pl { + status = "okay"; +}; + &zynqmp_dpdma { status = "okay"; };arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts +12
-0@@ -511,6 +511,18 @@ &watchdog0 { status = "okay"; }; +&xilinx_ams { + status = "okay"; +}; + +&ams_ps { + status = "okay"; +}; + +&ams_pl { + status = "okay"; +}; + &zynqmp_dpdma { status = "okay"; };arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts +5
-0@@ -523,6 +523,18 @@ &watchdog0 { status = "okay"; }; +&xilinx_ams { + status = "okay"; +}; + +&ams_ps {
arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts &watchdog0 { · line 540
Quoted 10 lines
arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts +7
-0+ status = "okay"; +}; + +&ams_pl { + status = "okay"; +}; + &zynqmp_dpdma { status = "okay"; };
Applied.
M
Signature · 11 lines
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 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
maintainerPATCH 22/23 arm64: zynqmp: Describe bus-width for SD card on KV260
In reply to Michal SimekSD card is connected with 4 data lines which should be described properly.
---
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso | 1 + arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso | 1 + 2 files changed, 2 insertions(+)
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso +1 -0
@@ -136,6 +136,7 @@ &sdhci1 { /* on CC with tuned parameters */ disable-wp; xlnx,mio-bank = <1>; assigned-clock-rates = <187498123>; + bus-width = <4>; }; &gem3 { /* required by spec */
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso +1 -0
@@ -119,6 +119,7 @@ &sdhci1 { /* on CC with tuned parameters */ clk-phase-uhs-sdr25 = <120>, <60>; clk-phase-uhs-ddr50 = <126>, <48>; assigned-clock-rates = <187498123>; + bus-width = <4>; }; &gem3 { /* required by spec */
Signature · 7 lines
2.36.1 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
AppliedRe: [PATCH 22/23] arm64: zynqmp: Describe bus-width for SD card on KV260
Quoted 26 lines · Michal Simek
SD card is connected with 4 data lines which should be described properly.
Signed-off-by Michal Simek <[email protected]>---
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso | 1 + arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso | 1 + 2 files changed, 2 insertions(+)arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso +1
-0@@ -136,6 +136,7 @@ &sdhci1 { /* on CC with tuned parameters */ disable-wp; xlnx,mio-bank = <1>; assigned-clock-rates = <187498123>; + bus-width = <4>; }; &gem3 { /* required by spec */arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso +0
-0
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso &sdhci1 { /* on CC with tuned parameters */ · line 125
Quoted 7 lines
arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso +1
-0@@ -119,6 +119,7 @@ &sdhci1 { /* on CC with tuned parameters */ clk-phase-uhs-sdr25 = <120>, <60>; clk-phase-uhs-ddr50 = <126>, <48>; assigned-clock-rates = <187498123>; + bus-width = <4>; }; &gem3 { /* required by spec */
Applied.
M
Signature · 11 lines
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 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
maintainerPATCH 23/23 arm64: zynqmp: Add phase tags marking
In reply to Michal Simekbootph-all as phase tag was added to dt-schema (dtschema/schemas/bootph.yaml) to cover U-Boot challenges with DT. That's why add it also to Linux to be aligned with bootloader requirement.
---
--- arch/arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi | 6 ++++++ arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 3 +++ arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 12 ++++++++++++ 3 files changed, 21 insertions(+)
arch/arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi +6 -0
@@ -11,30 +11,35 @@ #include <dt-bindings/clock/xlnx-zynqmp-clk.h> / { pss_ref_clk: pss_ref_clk { + bootph-all; compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <33333333>; }; video_clk: video_clk { + bootph-all; compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <27000000>; }; pss_alt_ref_clk: pss_alt_ref_clk { + bootph-all; compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <0>; }; gt_crx_ref_clk: gt_crx_ref_clk { + bootph-all; compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <108000000>; }; aux_ref_clk: aux_ref_clk { + bootph-all; compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <27000000>;
@@ -43,6 +48,7 @@ aux_ref_clk: aux_ref_clk { &zynqmp_firmware { zynqmp_clk: clock-controller { + bootph-all; #clock-cells = <1>; compatible = "xlnx,zynqmp-clk"; clocks = <&pss_ref_clk>, <&video_clk>, <&pss_alt_ref_clk>,
arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +3 -0
@@ -243,17 +243,20 @@ tpm@0 { /* slm9670 - U144 */ &i2c1 { status = "okay"; + bootph-all; clock-frequency = <400000>; scl-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>; sda-gpios = <&gpio 25 GPIO_ACTIVE_HIGH>; eeprom: eeprom@50 { /* u46 - also at address 0x58 */ + bootph-all; compatible = "st,24c64", "atmel,24c64"; /* st m24c64 */ reg = <0x50>; /* WP pin EE_WP_EN connected to slg7x644092@68 */ }; eeprom_cc: eeprom@51 { /* required by spec - also at address 0x59 */ + bootph-all; compatible = "st,24c64", "atmel,24c64"; /* st m24c64 */ reg = <0x51>; };
arch/arm64/boot/dts/xilinx/zynqmp.dtsi +12 -0
@@ -127,6 +127,7 @@ rproc_1_fw_image: memory@3ef00000 { }; zynqmp_ipi: zynqmp_ipi { + bootph-all; compatible = "xlnx,zynqmp-ipi-mailbox"; interrupt-parent = <&gic>; interrupts = <0 35 4>;
@@ -136,6 +137,7 @@ zynqmp_ipi: zynqmp_ipi { ranges; ipi_mailbox_pmu1: mailbox@ff9905c0 { + bootph-all; reg = <0x0 0xff9905c0 0x0 0x20>, <0x0 0xff9905e0 0x0 0x20>, <0x0 0xff990e80 0x0 0x20>,
@@ -152,6 +154,7 @@ ipi_mailbox_pmu1: mailbox@ff9905c0 { dcc: dcc { compatible = "arm,dcc"; status = "disabled"; + bootph-all; }; pmu {
@@ -177,8 +180,10 @@ zynqmp_firmware: zynqmp-firmware { compatible = "xlnx,zynqmp-firmware"; #power-domain-cells = <1>; method = "smc"; + bootph-all; zynqmp_power: zynqmp-power { + bootph-all; compatible = "xlnx,zynqmp-power"; interrupt-parent = <&gic>; interrupts = <0 35 4>;
@@ -258,6 +263,7 @@ r5f-1 { amba: axi { compatible = "simple-bus"; + bootph-all; #address-cells = <2>; #size-cells = <2>; ranges;
@@ -699,6 +705,7 @@ pcie_intc: legacy-interrupt-controller { }; qspi: spi@ff0f0000 { + bootph-all; compatible = "xlnx,zynqmp-qspi-1.0"; status = "disabled"; clock-names = "ref_clk", "pclk";
@@ -745,6 +752,7 @@ sata: ahci@fd0c0000 { }; sdhci0: mmc@ff160000 { + bootph-all; compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a"; status = "disabled"; interrupt-parent = <&gic>;
@@ -759,6 +767,7 @@ sdhci0: mmc@ff160000 { }; sdhci1: mmc@ff170000 { + bootph-all; compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a"; status = "disabled"; interrupt-parent = <&gic>;
@@ -851,6 +860,7 @@ ttc3: timer@ff140000 { }; uart0: serial@ff000000 { + bootph-all; compatible = "xlnx,zynqmp-uart", "cdns,uart-r1p12"; status = "disabled"; interrupt-parent = <&gic>;
@@ -861,6 +871,7 @@ uart0: serial@ff000000 { }; uart1: serial@ff010000 { + bootph-all; compatible = "xlnx,zynqmp-uart", "cdns,uart-r1p12"; status = "disabled"; interrupt-parent = <&gic>;
@@ -982,6 +993,7 @@ zynqmp_dpdma: dma-controller@fd4c0000 { }; zynqmp_dpsub: display@fd4a0000 { + bootph-all; compatible = "xlnx,zynqmp-dpsub-1.7"; status = "disabled"; reg = <0x0 0xfd4a0000 0x0 0x1000>,
Signature · 7 lines
2.36.1 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Michal Simek
AppliedRe: [PATCH 23/23] arm64: zynqmp: Add phase tags marking
Quoted 174 lines · Michal Simek
bootph-all as phase tag was added to dt-schema (
dtschema/schemas/bootph.yaml) to cover U-Boot challenges with DT. That's why add it also to Linux to be aligned with bootloader requirement.Signed-off-by Michal Simek <[email protected]>---
--- arch/arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi | 6 ++++++ arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 3 +++ arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 12 ++++++++++++ 3 files changed, 21 insertions(+)arch/arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi +6
-0@@ -11,30 +11,35 @@ #include <dt-bindings/clock/xlnx-zynqmp-clk.h> / { pss_ref_clk: pss_ref_clk { + bootph-all; compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <33333333>; }; video_clk: video_clk { + bootph-all; compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <27000000>; }; pss_alt_ref_clk: pss_alt_ref_clk { + bootph-all; compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <0>; }; gt_crx_ref_clk: gt_crx_ref_clk { + bootph-all; compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <108000000>; }; aux_ref_clk: aux_ref_clk { + bootph-all; compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <27000000>;@@ -43,6 +48,7 @@ aux_ref_clk: aux_ref_clk { &zynqmp_firmware { zynqmp_clk: clock-controller { + bootph-all; #clock-cells = <1>; compatible = "xlnx,zynqmp-clk"; clocks = <&pss_ref_clk>, <&video_clk>, <&pss_alt_ref_clk>,arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts +3
-0@@ -243,17 +243,20 @@ tpm@0 { /* slm9670 - U144 */ &i2c1 { status = "okay"; + bootph-all; clock-frequency = <400000>; scl-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>; sda-gpios = <&gpio 25 GPIO_ACTIVE_HIGH>; eeprom: eeprom@50 { /* u46 - also at address 0x58 */ + bootph-all; compatible = "st,24c64", "atmel,24c64"; /* st m24c64 */ reg = <0x50>; /* WP pin EE_WP_EN connected to slg7x644092@68 */ }; eeprom_cc: eeprom@51 { /* required by spec - also at address 0x59 */ + bootph-all; compatible = "st,24c64", "atmel,24c64"; /* st m24c64 */ reg = <0x51>; };arch/arm64/boot/dts/xilinx/zynqmp.dtsi +11
-0@@ -127,6 +127,7 @@ rproc_1_fw_image: memory@3ef00000 { }; zynqmp_ipi: zynqmp_ipi { + bootph-all; compatible = "xlnx,zynqmp-ipi-mailbox"; interrupt-parent = <&gic>; interrupts = <0 35 4>;@@ -136,6 +137,7 @@ zynqmp_ipi: zynqmp_ipi { ranges; ipi_mailbox_pmu1: mailbox@ff9905c0 { + bootph-all; reg = <0x0 0xff9905c0 0x0 0x20>, <0x0 0xff9905e0 0x0 0x20>, <0x0 0xff990e80 0x0 0x20>,@@ -152,6 +154,7 @@ ipi_mailbox_pmu1: mailbox@ff9905c0 { dcc: dcc { compatible = "arm,dcc"; status = "disabled"; + bootph-all; }; pmu {@@ -177,8 +180,10 @@ zynqmp_firmware: zynqmp-firmware { compatible = "xlnx,zynqmp-firmware"; #power-domain-cells = <1>; method = "smc"; + bootph-all; zynqmp_power: zynqmp-power { + bootph-all; compatible = "xlnx,zynqmp-power"; interrupt-parent = <&gic>; interrupts = <0 35 4>;@@ -258,6 +263,7 @@ r5f-1 { amba: axi { compatible = "simple-bus"; + bootph-all; #address-cells = <2>; #size-cells = <2>; ranges;@@ -699,6 +705,7 @@ pcie_intc: legacy-interrupt-controller { }; qspi: spi@ff0f0000 { + bootph-all; compatible = "xlnx,zynqmp-qspi-1.0"; status = "disabled"; clock-names = "ref_clk", "pclk";@@ -745,6 +752,7 @@ sata: ahci@fd0c0000 { }; sdhci0: mmc@ff160000 { + bootph-all; compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a"; status = "disabled"; interrupt-parent = <&gic>;@@ -759,6 +767,7 @@ sdhci0: mmc@ff160000 { }; sdhci1: mmc@ff170000 { + bootph-all; compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a"; status = "disabled"; interrupt-parent = <&gic>;@@ -851,6 +860,7 @@ ttc3: timer@ff140000 { }; uart0: serial@ff000000 { + bootph-all; compatible = "xlnx,zynqmp-uart", "cdns,uart-r1p12"; status = "disabled"; interrupt-parent = <&gic>;@@ -861,6 +871,7 @@ uart0: serial@ff000000 { }; uart1: serial@ff010000 { + bootph-all; compatible = "xlnx,zynqmp-uart", "cdns,uart-r1p12"; status = "disabled"; interrupt-parent = <&gic>;
arch/arm64/boot/dts/xilinx/zynqmp.dtsi zynqmp_dpdma: dma-controller@fd4c0000 { · line 999
Quoted 7 lines
arch/arm64/boot/dts/xilinx/zynqmp.dtsi +1
-0@@ -982,6 +993,7 @@ zynqmp_dpdma: dma-controller@fd4c0000 { }; zynqmp_dpsub: display@fd4a0000 { + bootph-all; compatible = "xlnx,zynqmp-dpsub-1.7"; status = "disabled"; reg = <0x0 0xfd4a0000 0x0 0x1000>,
Applied.
M
Signature · 12 lines
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 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Quoted 59 lines · Michal Simek
Hi,
the series is syncing the latest dt changes based on board status and the latest DT schema.
The patches are based on
https://lore.kernel.org/all/[email protected]/Thanks,
MichalAmit Kumar Mahapatra (2):
arm64: zynqmp: Set qspi tx-buswidth to 4
arm64: zynqmp: Add mtd partition for secure OS storage areaAshok Reddy Soma (1):
arm64: zynqmp: Fix usb node drive strength and slew rateMichal Simek (15):
arm64: zynqmp: Describe TI phy as ethernet-phy-id
arm64: zynqmp: Fix usb reset over bootmode pins on zcu100
arm64: zynqmp: Sync node name address with reg (mailbox)
arm64: zynqmp: Add dmas, dp, rtc, watchdogs and opp nodes for SOM
arm64: zynqmp: Use assigned-clock-rates for setting up SD clock in SOM
arm64: zynqmp: Used fixed-partitions for QSPI in k26
arm64: zynqmp: Add gpio labels for modepin gpio
arm64: zynqmp: Add pinctrl emmc description to SM-K26
arm64: zynqmp: Switch to ethernet-phy-id in kv260
arm64: zynqmp: Setup clock for DP and DPDMA
arm64: zynqmp: Enable DP driver for SOMs
arm64: zynqmp: Rename ams_ps/pl node names
arm64: zynqmp: Enable AMS on SOM and other zcu10x boards
arm64: zynqmp: Describe bus-width for SD card on KV260
arm64: zynqmp: Add phase tags markingPiyush Mehta (1):
arm64: zynqmp: Disable USB3.0 for zc1751-xm016-dc2Radhey Shyam Pandey (2):
arm64: zynqmp: Add L2 cache nodes
arm64: zynqmp: Add pmu interrupt-affinitySai Krishna Potthuri (1):
arm64: zynqmp: Add resets property to sdhci nodesSrinivas Neeli (1):
arm64: zynqmp: Add linux,code for gpio button.../arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi | 15 +- .../boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso | 20 +- .../boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso | 20 +- .../boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 321 +++++++++++++----- .../boot/dts/xilinx/zynqmp-zc1232-revA.dts | 2 +- .../boot/dts/xilinx/zynqmp-zc1254-revA.dts | 2 +- .../boot/dts/xilinx/zynqmp-zc1275-revA.dts | 2 +- .../dts/xilinx/zynqmp-zc1751-xm015-dc1.dts | 10 +- .../dts/xilinx/zynqmp-zc1751-xm016-dc2.dts | 10 +- .../dts/xilinx/zynqmp-zc1751-xm018-dc4.dts | 2 +- .../boot/dts/xilinx/zynqmp-zcu100-revC.dts | 32 +-
Quoted 9 lines
.../boot/dts/xilinx/zynqmp-zcu102-revA.dts | 42 ++- .../boot/dts/xilinx/zynqmp-zcu102-revB.dts | 25 +- .../boot/dts/xilinx/zynqmp-zcu104-revA.dts | 42 ++- .../boot/dts/xilinx/zynqmp-zcu104-revC.dts | 42 ++- .../boot/dts/xilinx/zynqmp-zcu106-revA.dts | 29 +- .../boot/dts/xilinx/zynqmp-zcu111-revA.dts | 29 +- arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 33 +- 18 files changed, 513 insertions(+), 165 deletions(-)
I have applied the most of these patches. The rest will be update and sent as v2.
Thanks,
Michal
Signature · 11 lines
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 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel