Add voltage supplies to DVFS-capable devices in order to enable
system-wide voltage scaling and allow CORE/RTC regulators to go lower.

Signed-off-by: Dmitry Osipenko <dig...@gmail.com>
---
 arch/arm/boot/dts/tegra20-ventana.dts | 65 +++++++++++++++++++++++----
 1 file changed, 56 insertions(+), 9 deletions(-)

diff --git a/arch/arm/boot/dts/tegra20-ventana.dts 
b/arch/arm/boot/dts/tegra20-ventana.dts
index b158771ac0b7..d5d90605e649 100644
--- a/arch/arm/boot/dts/tegra20-ventana.dts
+++ b/arch/arm/boot/dts/tegra20-ventana.dts
@@ -23,7 +23,19 @@ memory@0 {
        };
 
        host1x@50000000 {
+               core-supply = <&vdd_core>;
+
+               gr2d@54140000 {
+                       core-supply = <&vdd_core>;
+               };
+
+               gr3d@54180000 {
+                       core-supply = <&vdd_core>;
+               };
+
                dc@54200000 {
+                       core-supply = <&vdd_core>;
+
                        rgb {
                                status = "okay";
 
@@ -31,11 +43,16 @@ rgb {
                        };
                };
 
+               dc@54240000 {
+                       core-supply = <&vdd_core>;
+               };
+
                hdmi@54280000 {
                        status = "okay";
 
                        vdd-supply = <&hdmi_vdd_reg>;
                        pll-supply = <&hdmi_pll_reg>;
+                       core-supply = <&vdd_core>;
 
                        nvidia,ddc-i2c-bus = <&hdmi_ddc>;
                        nvidia,hpd-gpio = <&gpio TEGRA_GPIO(N, 7)
@@ -43,6 +60,10 @@ hdmi@54280000 {
                };
        };
 
+       vde@6001a000 {
+               core-supply = <&vdd_core>;
+       };
+
        pinmux@70000014 {
                pinctrl-names = "default";
                pinctrl-0 = <&state_default>;
@@ -419,18 +440,28 @@ sys_reg: sys {
                                        regulator-always-on;
                                };
 
-                               sm0 {
+                               vdd_core: sm0 {
                                        regulator-name = "vdd_sm0,vdd_core";
-                                       regulator-min-microvolt = <1200000>;
-                                       regulator-max-microvolt = <1200000>;
+                                       regulator-min-microvolt = <950000>;
+                                       regulator-max-microvolt = <1300000>;
+                                       regulator-coupled-with = <&rtc_vdd 
&vdd_cpu>;
+                                       regulator-coupled-max-spread = <170000 
550000>;
                                        regulator-always-on;
+                                       regulator-boot-on;
+
+                                       nvidia,tegra-core-regulator;
                                };
 
-                               sm1 {
+                               vdd_cpu: sm1 {
                                        regulator-name = "vdd_sm1,vdd_cpu";
-                                       regulator-min-microvolt = <1000000>;
-                                       regulator-max-microvolt = <1000000>;
+                                       regulator-min-microvolt = <750000>;
+                                       regulator-max-microvolt = <1125000>;
+                                       regulator-coupled-with = <&vdd_core 
&rtc_vdd>;
+                                       regulator-coupled-max-spread = <550000 
550000>;
                                        regulator-always-on;
+                                       regulator-boot-on;
+
+                                       nvidia,tegra-cpu-regulator;
                                };
 
                                sm2_reg: sm2 {
@@ -449,10 +480,16 @@ ldo1 {
                                        regulator-always-on;
                                };
 
-                               ldo2 {
+                               rtc_vdd: ldo2 {
                                        regulator-name = "vdd_ldo2,vdd_rtc";
-                                       regulator-min-microvolt = <1200000>;
-                                       regulator-max-microvolt = <1200000>;
+                                       regulator-min-microvolt = <950000>;
+                                       regulator-max-microvolt = <1300000>;
+                                       regulator-coupled-with = <&vdd_core 
&vdd_cpu>;
+                                       regulator-coupled-max-spread = <170000 
550000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+
+                                       nvidia,tegra-rtc-regulator;
                                };
 
                                ldo3 {
@@ -526,8 +563,13 @@ pmc@7000e400 {
                nvidia,sys-clock-req-active-high;
        };
 
+       memory-controller@7000f400 {
+               core-supply = <&vdd_core>;
+       };
+
        usb@c5000000 {
                status = "okay";
+               core-supply = <&vdd_core>;
        };
 
        usb-phy@c5000000 {
@@ -538,6 +580,7 @@ usb@c5004000 {
                status = "okay";
                nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 1)
                        GPIO_ACTIVE_LOW>;
+               core-supply = <&vdd_core>;
        };
 
        usb-phy@c5004000 {
@@ -548,6 +591,7 @@ usb-phy@c5004000 {
 
        usb@c5008000 {
                status = "okay";
+               core-supply = <&vdd_core>;
        };
 
        usb-phy@c5008000 {
@@ -559,6 +603,7 @@ mmc@c8000000 {
                power-gpios = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_HIGH>;
                bus-width = <4>;
                keep-power-in-suspend;
+               core-supply = <&vdd_core>;
        };
 
        mmc@c8000400 {
@@ -567,12 +612,14 @@ mmc@c8000400 {
                wp-gpios = <&gpio TEGRA_GPIO(H, 1) GPIO_ACTIVE_HIGH>;
                power-gpios = <&gpio TEGRA_GPIO(I, 6) GPIO_ACTIVE_HIGH>;
                bus-width = <4>;
+               core-supply = <&vdd_core>;
        };
 
        mmc@c8000600 {
                status = "okay";
                bus-width = <8>;
                non-removable;
+               core-supply = <&vdd_core>;
        };
 
        backlight: backlight {
-- 
2.27.0

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to