summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaikh Mohammed Suhan <[email protected]>2026-06-09 09:48:20 +0200
committerMichal Simek <[email protected]>2026-07-08 08:55:50 +0200
commitaf7a1a6f24411d2bd6d8f39efe8ff486c0e3da55 (patch)
tree325d67d028a3cae87fa6739ae8e33f5d6fea04ae
parent085a5acd9d102ad174d9653a7ef7bf6128e3aa87 (diff)
arm64: zynqmp: add USB hub supply regulators
Add fixed supply regulators for the onboard USB hub (USB2744) used on Kria platforms. The USB hub requires two always-on power rails: - vdd: 3.3V main supply - vdd2: auxiliary supply Model these rails as fixed regulators and reference them from the hub node to accurately describe the hardware. Signed-off-by: Shaikh Mohammed Suhan <[email protected]> Reviewed-by: Radhey Shyam Pandey <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/541ee484c0f73fda630022528ddc56d01a481bca.1780991287.git.michal.simek@amd.com
-rw-r--r--arch/arm/dts/zynqmp-sck-kd-g-revA.dtso20
-rw-r--r--arch/arm/dts/zynqmp-sck-kr-g-revA.dtso22
-rw-r--r--arch/arm/dts/zynqmp-sck-kr-g-revB.dtso22
-rw-r--r--arch/arm/dts/zynqmp-sck-kv-g-revA.dtso20
-rw-r--r--arch/arm/dts/zynqmp-sck-kv-g-revB.dtso20
5 files changed, 104 insertions, 0 deletions
diff --git a/arch/arm/dts/zynqmp-sck-kd-g-revA.dtso b/arch/arm/dts/zynqmp-sck-kd-g-revA.dtso
index 021bf8ac26e..02b9d82eb7c 100644
--- a/arch/arm/dts/zynqmp-sck-kd-g-revA.dtso
+++ b/arch/arm/dts/zynqmp-sck-kd-g-revA.dtso
@@ -50,6 +50,24 @@
gpio-controller;
gpios = <&slg7xl45106 3 GPIO_ACTIVE_LOW>;
};
+
+ vdd_usb_hub: regulator-vdd-usb-hub {
+ compatible = "regulator-fixed";
+ regulator-name = "vdd_usb_hub";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vdd2_usb_hub: regulator-vdd2-usb-hub {
+ compatible = "regulator-fixed";
+ regulator-name = "vdd2_usb_hub";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
};
&can0 {
@@ -124,6 +142,8 @@
peer-hub = <&hub_3_0>;
i2c-bus = <&hub>;
reset-gpios = <&slg_delay 0 10000 10000>;
+ vdd-supply = <&vdd_usb_hub>;
+ vdd2-supply = <&vdd2_usb_hub>;
};
/* 3.0 hub on port 2 */
diff --git a/arch/arm/dts/zynqmp-sck-kr-g-revA.dtso b/arch/arm/dts/zynqmp-sck-kr-g-revA.dtso
index 048aeb1e765..47f0fb5f74f 100644
--- a/arch/arm/dts/zynqmp-sck-kr-g-revA.dtso
+++ b/arch/arm/dts/zynqmp-sck-kr-g-revA.dtso
@@ -85,6 +85,24 @@
gpios = <&slg7xl45106 3 GPIO_ACTIVE_LOW>,
<&slg7xl45106 4 GPIO_ACTIVE_LOW>;
};
+
+ vdd_usb_hub: regulator-vdd-usb-hub {
+ compatible = "regulator-fixed";
+ regulator-name = "vdd_usb_hub";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vdd2_usb_hub: regulator-vdd2-usb-hub {
+ compatible = "regulator-fixed";
+ regulator-name = "vdd2_usb_hub";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
};
&i2c1 { /* I2C_SCK C26/C27 - MIO from SOM */
@@ -196,6 +214,8 @@
peer-hub = <&hub_3_0>;
i2c-bus = <&hub_1>;
reset-gpios = <&slg_delay 0 10000 10000>;
+ vdd-supply = <&vdd_usb_hub>;
+ vdd2-supply = <&vdd2_usb_hub>;
};
/* 3.0 hub on port 2 */
@@ -233,6 +253,8 @@
peer-hub = <&hub1_3_0>;
i2c-bus = <&hub_2>;
reset-gpios = <&slg_delay 1 10000 10000>;
+ vdd-supply = <&vdd_usb_hub>;
+ vdd2-supply = <&vdd2_usb_hub>;
};
/* 3.0 hub on port 2 */
diff --git a/arch/arm/dts/zynqmp-sck-kr-g-revB.dtso b/arch/arm/dts/zynqmp-sck-kr-g-revB.dtso
index 2eef6ba7df7..b3c75f67bbd 100644
--- a/arch/arm/dts/zynqmp-sck-kr-g-revB.dtso
+++ b/arch/arm/dts/zynqmp-sck-kr-g-revB.dtso
@@ -86,6 +86,24 @@
gpios = <&slg7xl45106 3 GPIO_ACTIVE_LOW>,
<&slg7xl45106 4 GPIO_ACTIVE_LOW>;
};
+
+ vdd_usb_hub: regulator-vdd-usb-hub {
+ compatible = "regulator-fixed";
+ regulator-name = "vdd_usb_hub";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vdd2_usb_hub: regulator-vdd2-usb-hub {
+ compatible = "regulator-fixed";
+ regulator-name = "vdd2_usb_hub";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
};
&i2c1 { /* I2C_SCK C26/C27 - MIO from SOM */
@@ -197,6 +215,8 @@
peer-hub = <&hub_3_0>;
i2c-bus = <&hub_1>;
reset-gpios = <&slg_delay 0 10000 10000>;
+ vdd-supply = <&vdd_usb_hub>;
+ vdd2-supply = <&vdd2_usb_hub>;
};
/* 3.0 hub on port 2 */
@@ -234,6 +254,8 @@
peer-hub = <&hub1_3_0>;
i2c-bus = <&hub_2>;
reset-gpios = <&slg_delay 1 10000 10000>;
+ vdd-supply = <&vdd_usb_hub>;
+ vdd2-supply = <&vdd2_usb_hub>;
};
/* 3.0 hub on port 2 */
diff --git a/arch/arm/dts/zynqmp-sck-kv-g-revA.dtso b/arch/arm/dts/zynqmp-sck-kv-g-revA.dtso
index ea947cd2dc0..3c551f30315 100644
--- a/arch/arm/dts/zynqmp-sck-kv-g-revA.dtso
+++ b/arch/arm/dts/zynqmp-sck-kv-g-revA.dtso
@@ -85,6 +85,24 @@
gpio-controller;
gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
};
+
+ vdd_usb_hub: regulator-vdd-usb-hub {
+ compatible = "regulator-fixed";
+ regulator-name = "vdd_usb_hub";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vdd2_usb_hub: regulator-vdd2-usb-hub {
+ compatible = "regulator-fixed";
+ regulator-name = "vdd2_usb_hub";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
};
&i2c1 { /* I2C_SCK C23/C24 - MIO from SOM */
@@ -169,6 +187,8 @@
reg = <1>;
peer-hub = <&hub_3_0>;
reset-gpios = <&slg_delay 0 10000 10000>;
+ vdd-supply = <&vdd_usb_hub>;
+ vdd2-supply = <&vdd2_usb_hub>;
};
/* 3.0 hub on port 2 */
diff --git a/arch/arm/dts/zynqmp-sck-kv-g-revB.dtso b/arch/arm/dts/zynqmp-sck-kv-g-revB.dtso
index ea7b9253468..a60bd7b7bdb 100644
--- a/arch/arm/dts/zynqmp-sck-kv-g-revB.dtso
+++ b/arch/arm/dts/zynqmp-sck-kv-g-revB.dtso
@@ -81,6 +81,24 @@
gpio-controller;
gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
};
+
+ vdd_usb_hub: regulator-vdd-usb-hub {
+ compatible = "regulator-fixed";
+ regulator-name = "vdd_usb_hub";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vdd2_usb_hub: regulator-vdd2-usb-hub {
+ compatible = "regulator-fixed";
+ regulator-name = "vdd2_usb_hub";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
};
&i2c1 { /* I2C_SCK C23/C24 - MIO from SOM */
@@ -156,6 +174,8 @@
peer-hub = <&hub_3_0>;
i2c-bus = <&hub>;
reset-gpios = <&slg_delay 0 10000 10000>;
+ vdd-supply = <&vdd_usb_hub>;
+ vdd2-supply = <&vdd2_usb_hub>;
};
/* 3.0 hub on port 2 */