Add dummy regulator for USB and PHY supplies.
Add vbus regulator that is enabled by GPIO pin.
Signed-off-by: Pritam Manohar Sutar <pritam.sutar@samsung.com>
---
.../boot/dts/exynos/exynosautov920-sadk.dts | 139 ++++++++++++++++++
1 file changed, 139 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/exynosautov920-sadk.dts b/arch/arm64/boot/dts/exynos/exynosautov920-sadk.dts
index a397f068ed53..f90f7704597c 100644
--- a/arch/arm64/boot/dts/exynos/exynosautov920-sadk.dts
+++ b/arch/arm64/boot/dts/exynos/exynosautov920-sadk.dts
@@ -52,6 +52,76 @@ memory@80000000 {
<0x8 0x80000000 0x1 0xfba00000>,
<0xa 0x00000000 0x2 0x00000000>;
};
+
+ /* TODO: Remove this once PMIC is implemented */
+ dummy_regulator: regulator-0 {
+ compatible = "regulator-fixed";
+ regulator-name = "dummy_regulator";
+ };
+
+ usbdrd31_dwc3_vbus: usbdrd31_dwc3-vbus {
+ compatible = "regulator-fixed";
+ regulator-name = "usbdrd31_dwc3-vbus";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ enable-active-high;
+ regulator-always-on;
+ gpio = <&gpp2 0 GPIO_ACTIVE_HIGH>;
+ };
+
+ /* Use gpio for enabling vbus regulator */
+ usb_phy0: usb-phy0 {
+ compatible = "usb-nop-xceiv";
+ vbus-supply = <&usbdrd31_dwc3_vbus>;
+ };
+
+ usbdrd20_dwc3_0_vbus: usbdrd20_dwc3_0-vbus {
+ compatible = "regulator-fixed";
+ regulator-name = "usbdrd20_dwc3_0-vbus";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ enable-active-high;
+ regulator-always-on;
+ gpio = <&gpp2 1 GPIO_ACTIVE_HIGH>;
+ };
+
+ /* Use gpio for enabling vbus regulator */
+ usb_phy1: usb-phy1 {
+ compatible = "usb-nop-xceiv";
+ vbus-supply = <&usbdrd20_dwc3_0_vbus>;
+ };
+
+ usbdrd20_dwc3_1_vbus: usbdrd20_dwc3_1-vbus {
+ compatible = "regulator-fixed";
+ regulator-name = "usbdrd20_dwc3_1-vbus";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ enable-active-high;
+ regulator-always-on;
+ gpio = <&gpp2 2 GPIO_ACTIVE_HIGH>;
+ };
+
+ /* Use gpio for enabling vbus regulator */
+ usb_phy2: usb-phy2 {
+ compatible = "usb-nop-xceiv";
+ vbus-supply = <&usbdrd20_dwc3_1_vbus>;
+ };
+
+ usbdrd20_dwc3_2_vbus: usbdrd20_dwc3_2-vbus {
+ compatible = "regulator-fixed";
+ regulator-name = "usbdrd20_dwc3_2-vbus";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ enable-active-high;
+ regulator-always-on;
+ gpio = <&gpp2 3 GPIO_ACTIVE_HIGH>;
+ };
+
+ /* Use gpio for enabling vbus regulator */
+ usb_phy3: usb-phy3 {
+ compatible = "usb-nop-xceiv";
+ vbus-supply = <&usbdrd20_dwc3_2_vbus>;
+ };
};
&pinctrl_alive {
@@ -86,3 +156,72 @@ &usi_0 {
&xtcxo {
clock-frequency = <38400000>;
};
+
+&usbdrd31_ssphy {
+ dvdd-supply = <&dummy_regulator>;
+ vdd18-supply = <&dummy_regulator>;
+};
+
+&usbdrd31_hsphy {
+ dvdd-supply = <&dummy_regulator>;
+ vdd18-supply = <&dummy_regulator>;
+ vdd33-supply = <&dummy_regulator>;
+};
+
+&usbdrd31_dwc3 {
+ maximum-speed = "super-speed-plus";
+ usb-phy = <&usb_phy0>;
+};
+
+&usbdrd31 {
+ vdd10-supply = <&dummy_regulator>;
+ vdd33-supply = <&dummy_regulator>;
+};
+
+&usbdrd20_phy0 {
+ dvdd-supply = <&dummy_regulator>;
+ vdd18-supply = <&dummy_regulator>;
+ vdd33-supply = <&dummy_regulator>;
+};
+
+&usbdrd20_dwc3_0 {
+ maximum-speed = "high-speed";
+ usb-phy = <&usb_phy1>;
+};
+
+&usbdrd20_0 {
+ vdd10-supply = <&dummy_regulator>;
+ vdd33-supply = <&dummy_regulator>;
+};
+
+&usbdrd20_phy1 {
+ dvdd-supply = <&dummy_regulator>;
+ vdd18-supply = <&dummy_regulator>;
+ vdd33-supply = <&dummy_regulator>;
+};
+
+&usbdrd20_dwc3_1 {
+ maximum-speed = "high-speed";
+ usb-phy = <&usb_phy2>;
+};
+
+&usbdrd20_1 {
+ vdd10-supply = <&dummy_regulator>;
+ vdd33-supply = <&dummy_regulator>;
+};
+
+&usbdrd20_phy2 {
+ dvdd-supply = <&dummy_regulator>;
+ vdd18-supply = <&dummy_regulator>;
+ vdd33-supply = <&dummy_regulator>;
+};
+
+&usbdrd20_dwc3_2 {
+ maximum-speed = "high-speed";
+ usb-phy = <&usb_phy3>;
+};
+
+&usbdrd20_2 {
+ vdd10-supply = <&dummy_regulator>;
+ vdd33-supply = <&dummy_regulator>;
+};
--
2.34.1
On 22/01/2026 14:07, Pritam Manohar Sutar wrote:
> Add dummy regulator for USB and PHY supplies.
>
> Add vbus regulator that is enabled by GPIO pin.
>
> Signed-off-by: Pritam Manohar Sutar <pritam.sutar@samsung.com>
> ---
> .../boot/dts/exynos/exynosautov920-sadk.dts | 139 ++++++++++++++++++
> 1 file changed, 139 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/exynos/exynosautov920-sadk.dts b/arch/arm64/boot/dts/exynos/exynosautov920-sadk.dts
> index a397f068ed53..f90f7704597c 100644
> --- a/arch/arm64/boot/dts/exynos/exynosautov920-sadk.dts
> +++ b/arch/arm64/boot/dts/exynos/exynosautov920-sadk.dts
> @@ -52,6 +52,76 @@ memory@80000000 {
> <0x8 0x80000000 0x1 0xfba00000>,
> <0xa 0x00000000 0x2 0x00000000>;
> };
> +
> + /* TODO: Remove this once PMIC is implemented */
> + dummy_regulator: regulator-0 {
> + compatible = "regulator-fixed";
> + regulator-name = "dummy_regulator";
> + };
> +
> + usbdrd31_dwc3_vbus: usbdrd31_dwc3-vbus {
Please use name for all fixed regulators which matches current format
recommendation: 'regulator-[0-9]v[0-9]'
https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml
None of the regulators are called like you wrote. Really NONE.
Also, carefully follow DTS coding style.
> + compatible = "regulator-fixed";
> + regulator-name = "usbdrd31_dwc3-vbus";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + enable-active-high;
> + regulator-always-on;
> + gpio = <&gpp2 0 GPIO_ACTIVE_HIGH>;
> + };
> +
> + /* Use gpio for enabling vbus regulator */
> + usb_phy0: usb-phy0 {
usb-phy-0
> + compatible = "usb-nop-xceiv";
> + vbus-supply = <&usbdrd31_dwc3_vbus>;
That's pretty incomplete. Why do you need such node - just to toggle
regulator?
> + };
...
> +&usbdrd20_phy2 {
> + dvdd-supply = <&dummy_regulator>;
> + vdd18-supply = <&dummy_regulator>;
> + vdd33-supply = <&dummy_regulator>;
> +};
> +
> +&usbdrd20_dwc3_2 {
> + maximum-speed = "high-speed";
> + usb-phy = <&usb_phy3>;
> +};
> +
> +&usbdrd20_2 {
> + vdd10-supply = <&dummy_regulator>;
> + vdd33-supply = <&dummy_regulator>;
> +};
That's a bit too much of dummies. This is heavily incomplete. You need
to bring back the PMIC first.
Best regards,
Krzysztof
© 2016 - 2026 Red Hat, Inc.