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 <suhan.sm@amd.com>
Reviewed-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/541ee484c0f73fda630022528ddc56d01a481bca.1780991287.git.michal.simek@amd.com
This commit is contained in:
Shaikh Mohammed Suhan
2026-07-08 08:55:50 +02:00
committed by Michal Simek
parent 085a5acd9d
commit af7a1a6f24
5 changed files with 104 additions and 0 deletions
+20
View File
@@ -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 */
+22
View File
@@ -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 */
+22
View File
@@ -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 */
+20
View File
@@ -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 */
+20
View File
@@ -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 */