On 6/5/24 12:02, Venkatesh Yadav Abbarapu wrote:
Updating the usb5744 hub node as per the latest upstream DT binding
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
tree/Documentation/devicetree/bindings/usb/microchip,usb5744.yaml?h=v6.8.8

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbar...@amd.com>
---
  arch/arm/dts/zynqmp-sck-kr-g-revA.dtso | 48 ++++++++++++++++++++++++++
  arch/arm/dts/zynqmp-sck-kr-g-revB.dtso | 48 ++++++++++++++++++++++++++
  arch/arm/dts/zynqmp-sck-kv-g-revA.dtso | 18 ++++++++++
  arch/arm/dts/zynqmp-sck-kv-g-revB.dtso | 25 +++++++++++++-
  4 files changed, 138 insertions(+), 1 deletion(-)

diff --git a/arch/arm/dts/zynqmp-sck-kr-g-revA.dtso 
b/arch/arm/dts/zynqmp-sck-kr-g-revA.dtso
index ce7c5eb6d34..18e9d308de3 100644
--- a/arch/arm/dts/zynqmp-sck-kr-g-revA.dtso
+++ b/arch/arm/dts/zynqmp-sck-kr-g-revA.dtso
@@ -105,11 +105,19 @@
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <0>;
+                       hub_1: usb-hub@2d {
+                               compatible = "microchip,usb5744";
+                               reg = <0x2d>;
+                       };
                };
                usbhub_i2c1: i2c@1 {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <1>;
+                       hub_2: usb-hub@2d {
+                               compatible = "microchip,usb5744";
+                               reg = <0x2d>;
+                       };
                };
                /* Bus 2/3 are not connected */
        };
@@ -164,6 +172,26 @@
        dr_mode = "host";
        snps,usb3_lpm_capable;
        maximum-speed = "super-speed";
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       /* 2.0 hub on port 1 */
+       hub_2_0: hub@1 {
+               compatible = "usb424,2744";
+               reg = <1>;
+               peer-hub = <&hub_3_0>;
+               i2c-bus = <&hub_1>;
+               reset-gpios = <&slg7xl45106 3 GPIO_ACTIVE_LOW>;
+       };
+
+       /* 3.0 hub on port 2 */
+       hub_3_0: hub@2 {
+               compatible = "usb424,5744";
+               reg = <2>;
+               peer-hub = <&hub_2_0>;
+               i2c-bus = <&hub_1>;
+               reset-gpios = <&slg7xl45106 3 GPIO_ACTIVE_LOW>;
+       };
  };
&usb1 { /* mio64 - mio75 */
@@ -188,6 +216,26 @@
        dr_mode = "host";
        snps,usb3_lpm_capable;
        maximum-speed = "super-speed";
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       /* 2.0 hub on port 1 */
+       hub1_2_0: hub@1 {
+               compatible = "usb424,2744";
+               reg = <1>;
+               peer-hub = <&hub1_3_0>;
+               i2c-bus = <&hub_2>;
+               reset-gpios = <&slg7xl45106 4 GPIO_ACTIVE_LOW>;
+       };
+
+       /* 3.0 hub on port 2 */
+       hub1_3_0: hub@2 {
+               compatible = "usb424,5744";
+               reg = <2>;
+               peer-hub = <&hub1_2_0>;
+               i2c-bus = <&hub_2>;
+               reset-gpios = <&slg7xl45106 4 GPIO_ACTIVE_LOW>;
+       };
  };
&gem0 { /* mdio mio50/51 */
diff --git a/arch/arm/dts/zynqmp-sck-kr-g-revB.dtso 
b/arch/arm/dts/zynqmp-sck-kr-g-revB.dtso
index 0a0cbd2b69a..5261e793c14 100644
--- a/arch/arm/dts/zynqmp-sck-kr-g-revB.dtso
+++ b/arch/arm/dts/zynqmp-sck-kr-g-revB.dtso
@@ -117,11 +117,19 @@
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <0>;
+                       hub_1: usb-hub@2d {
+                               compatible = "microchip,usb5744";
+                               reg = <0x2d>;
+                       };
                };
                usbhub_i2c1: i2c@1 {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <1>;
+                       hub_2: usb-hub@2d {
+                               compatible = "microchip,usb5744";
+                               reg = <0x2d>;
+                       };
                };
                /* Bus 2/3 are not connected */
        };
@@ -184,6 +192,26 @@
        dr_mode = "host";
        snps,usb3_lpm_capable;
        maximum-speed = "super-speed";
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       /* 2.0 hub on port 1 */
+       hub_2_0: hub@1 {
+               compatible = "usb424,2744";
+               reg = <1>;
+               peer-hub = <&hub_3_0>;
+               i2c-bus = <&hub_1>;
+               reset-gpios = <&slg7xl45106 3 GPIO_ACTIVE_LOW>;
+       };
+
+       /* 3.0 hub on port 2 */
+       hub_3_0: hub@2 {
+               compatible = "usb424,5744";
+               reg = <2>;
+               peer-hub = <&hub_2_0>;
+               i2c-bus = <&hub_1>;
+               reset-gpios = <&slg7xl45106 3 GPIO_ACTIVE_LOW>;
+       };
  };
&usb1 { /* mio64 - mio75 */
@@ -209,6 +237,26 @@
        dr_mode = "host";
        snps,usb3_lpm_capable;
        maximum-speed = "super-speed";
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       /* 2.0 hub on port 1 */
+       hub1_2_0: hub@1 {
+               compatible = "usb424,2744";
+               reg = <1>;
+               peer-hub = <&hub1_3_0>;
+               i2c-bus = <&hub_2>;
+               reset-gpios = <&slg7xl45106 4 GPIO_ACTIVE_LOW>;
+       };
+
+       /* 3.0 hub on port 2 */
+       hub1_3_0: hub@2 {
+               compatible = "usb424,5744";
+               reg = <2>;
+               peer-hub = <&hub1_2_0>;
+               i2c-bus = <&hub_2>;
+               reset-gpios = <&slg7xl45106 4 GPIO_ACTIVE_LOW>;
+       };
  };
&gem0 { /* mdio mio50/51 */
diff --git a/arch/arm/dts/zynqmp-sck-kv-g-revA.dtso 
b/arch/arm/dts/zynqmp-sck-kv-g-revA.dtso
index 561b546e37f..0ef0357bd29 100644
--- a/arch/arm/dts/zynqmp-sck-kv-g-revA.dtso
+++ b/arch/arm/dts/zynqmp-sck-kv-g-revA.dtso
@@ -142,6 +142,24 @@
        dr_mode = "host";
        snps,usb3_lpm_capable;
        maximum-speed = "super-speed";
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       /* 2.0 hub on port 1 */
+       hub_2_0: hub@1 {
+               compatible = "usb424,2744";
+               reg = <1>;
+               peer-hub = <&hub_3_0>;
+               reset-gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+       };
+
+       /* 3.0 hub on port 2 */
+       hub_3_0: hub@2 {
+               compatible = "usb424,5744";
+               reg = <2>;
+               peer-hub = <&hub_2_0>;
+               reset-gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+       };
  };
&sdhci1 { /* on CC with tuned parameters */
diff --git a/arch/arm/dts/zynqmp-sck-kv-g-revB.dtso 
b/arch/arm/dts/zynqmp-sck-kv-g-revB.dtso
index 64683e0ccbb..92d8851eb8a 100644
--- a/arch/arm/dts/zynqmp-sck-kv-g-revB.dtso
+++ b/arch/arm/dts/zynqmp-sck-kv-g-revB.dtso
@@ -92,7 +92,10 @@
                label = "ina260-u14";
                reg = <0x40>;
        };
-       /* u43 - 0x2d - USB hub */
+       hub: usb-hub@2d {
+               compatible = "microchip,usb5744";
+               reg = <0x2d>;
+       };
        /* u27 - 0xe0 - STDP4320 DP/HDMI splitter */
  };
@@ -146,6 +149,26 @@
        dr_mode = "host";
        snps,usb3_lpm_capable;
        maximum-speed = "super-speed";
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       /* 2.0 hub on port 1 */
+       hub_2_0: hub@1 {
+               compatible = "usb424,2744";
+               reg = <1>;
+               peer-hub = <&hub_3_0>;
+               i2c-bus = <&hub>;
+               reset-gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+       };
+
+       /* 3.0 hub on port 2 */
+       hub_3_0: hub@2 {
+               compatible = "usb424,5744";
+               reg = <2>;
+               peer-hub = <&hub_2_0>;
+               i2c-bus = <&hub>;
+               reset-gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+       };
  };
&sdhci1 { /* on CC with tuned parameters */

There are other changes which needs to happen here. One is kd240 and second remove usb description from usb glue logic driver but let's wait for Marek to look at onboard-hub part. 6/7 and 7/7 should go through my tree anyway and they are here pretty much for description purpose.

Thanks,
Michal

Reply via email to