Skip to content

Commit af144b8

Browse files
thierryredingnvswarren
authored andcommitted
ARM: tegra: Overhaul Venice2 regulators
Some of the regulators and the relationships to other regulators are wrong. This commit attempts to rectify this by making them more similar to what the schematics contain. This starts by adding a +VDD_MUX supply that represents the 12V input and derives the main +3.3V_SYS and +5V_SYS supplies from that. The majority of the other regulators derive from one of those three. While at it, rename the regulators to match the names in the schematics to make them easier to match up. Signed-off-by: Thierry Reding <[email protected]> Signed-off-by: Stephen Warren <[email protected]>
1 parent fa15ffa commit af144b8

File tree

1 file changed

+98
-73
lines changed

1 file changed

+98
-73
lines changed

arch/arm/boot/dts/tegra124-venice2.dts

Lines changed: 98 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -644,19 +644,19 @@
644644
};
645645

646646
regulators {
647-
vsup-sd2-supply = <&vdd_ac_bat_reg>;
648-
vsup-sd3-supply = <&vdd_ac_bat_reg>;
649-
vsup-sd4-supply = <&vdd_ac_bat_reg>;
650-
vsup-sd5-supply = <&vdd_ac_bat_reg>;
651-
vin-ldo0-supply = <&as3722_sd2>;
652-
vin-ldo1-6-supply = <&vdd_ac_bat_reg>;
653-
vin-ldo2-5-7-supply = <&as3722_sd5>;
654-
vin-ldo3-4-supply = <&vdd_ac_bat_reg>;
655-
vin-ldo9-10-supply = <&vdd_ac_bat_reg>;
656-
vin-ldo11-supply = <&vdd_ac_bat_reg>;
647+
vsup-sd2-supply = <&vdd_5v0_sys>;
648+
vsup-sd3-supply = <&vdd_5v0_sys>;
649+
vsup-sd4-supply = <&vdd_5v0_sys>;
650+
vsup-sd5-supply = <&vdd_5v0_sys>;
651+
vin-ldo0-supply = <&vdd_1v35_lp0>;
652+
vin-ldo1-6-supply = <&vdd_3v3_run>;
653+
vin-ldo2-5-7-supply = <&vddio_1v8>;
654+
vin-ldo3-4-supply = <&vdd_3v3_sys>;
655+
vin-ldo9-10-supply = <&vdd_5v0_sys>;
656+
vin-ldo11-supply = <&vdd_3v3_run>;
657657

658658
sd0 {
659-
regulator-name = "vdd-cpu";
659+
regulator-name = "+VDD_CPU_AP";
660660
regulator-min-microvolt = <700000>;
661661
regulator-max-microvolt = <1400000>;
662662
regulator-min-microamp = <3500000>;
@@ -667,7 +667,7 @@
667667
};
668668

669669
sd1 {
670-
regulator-name = "vdd-core";
670+
regulator-name = "+VDD_CORE";
671671
regulator-min-microvolt = <700000>;
672672
regulator-max-microvolt = <1350000>;
673673
regulator-min-microamp = <2500000>;
@@ -677,40 +677,38 @@
677677
ams,external-control = <1>;
678678
};
679679

680-
as3722_sd2: sd2 {
681-
regulator-name = "vddio-ddr";
680+
vdd_1v35_lp0: sd2 {
681+
regulator-name = "+1.35V_LP0(sd2)";
682682
regulator-min-microvolt = <1350000>;
683683
regulator-max-microvolt = <1350000>;
684684
regulator-always-on;
685685
regulator-boot-on;
686686
};
687687

688688
sd3 {
689-
regulator-name = "vddio-ddr-2phase";
689+
regulator-name = "+1.35V_LP0(sd3)";
690690
regulator-min-microvolt = <1350000>;
691691
regulator-max-microvolt = <1350000>;
692692
regulator-always-on;
693693
regulator-boot-on;
694694
};
695695

696696
sd4 {
697-
regulator-name = "avdd-pex-sata";
697+
regulator-name = "+1.05V_RUN";
698698
regulator-min-microvolt = <1050000>;
699699
regulator-max-microvolt = <1050000>;
700-
regulator-boot-on;
701-
regulator-always-on;
702700
};
703701

704-
as3722_sd5: sd5 {
705-
regulator-name = "vddio-sys";
702+
vddio_1v8: sd5 {
703+
regulator-name = "+1.8V_VDDIO";
706704
regulator-min-microvolt = <1800000>;
707705
regulator-max-microvolt = <1800000>;
708706
regulator-boot-on;
709707
regulator-always-on;
710708
};
711709

712710
sd6 {
713-
regulator-name = "vdd-gpu";
711+
regulator-name = "+VDD_GPU_AP";
714712
regulator-min-microvolt = <650000>;
715713
regulator-max-microvolt = <1200000>;
716714
regulator-min-microamp = <3500000>;
@@ -720,7 +718,7 @@
720718
};
721719

722720
ldo0 {
723-
regulator-name = "avdd_pll";
721+
regulator-name = "+1.05V_RUN_AVDD";
724722
regulator-min-microvolt = <1050000>;
725723
regulator-max-microvolt = <1050000>;
726724
regulator-boot-on;
@@ -729,21 +727,21 @@
729727
};
730728

731729
ldo1 {
732-
regulator-name = "run-cam-1.8";
730+
regulator-name = "+1.8V_RUN_CAM";
733731
regulator-min-microvolt = <1800000>;
734732
regulator-max-microvolt = <1800000>;
735733
};
736734

737735
ldo2 {
738-
regulator-name = "gen-avdd,vddio-hsic";
736+
regulator-name = "+1.2V_GEN_AVDD";
739737
regulator-min-microvolt = <1200000>;
740738
regulator-max-microvolt = <1200000>;
741739
regulator-boot-on;
742740
regulator-always-on;
743741
};
744742

745743
ldo3 {
746-
regulator-name = "vdd-rtc";
744+
regulator-name = "+1.00V_LP0_VDD_RTC";
747745
regulator-min-microvolt = <1000000>;
748746
regulator-max-microvolt = <1000000>;
749747
regulator-boot-on;
@@ -752,47 +750,45 @@
752750
};
753751

754752
ldo4 {
755-
regulator-name = "vdd-cam";
753+
regulator-name = "+3.3V_RUN_CAM";
756754
regulator-min-microvolt = <2800000>;
757755
regulator-max-microvolt = <2800000>;
758-
regulator-boot-on;
759-
regulator-always-on;
760756
};
761757

762758
ldo5 {
763-
regulator-name = "vdd-cam-front";
759+
regulator-name = "+1.2V_RUN_CAM_FRONT";
764760
regulator-min-microvolt = <1200000>;
765761
regulator-max-microvolt = <1200000>;
766762
};
767763

768764
ldo6 {
769-
regulator-name = "vddio-sdmmc3";
765+
regulator-name = "+VDDIO_SDMMC3";
770766
regulator-min-microvolt = <1800000>;
771767
regulator-max-microvolt = <3300000>;
772768
regulator-boot-on;
773769
regulator-always-on;
774770
};
775771

776772
ldo7 {
777-
regulator-name = "vdd-cam-rear";
773+
regulator-name = "+1.05V_RUN_CAM_REAR";
778774
regulator-min-microvolt = <1050000>;
779775
regulator-max-microvolt = <1050000>;
780776
};
781777

782778
ldo9 {
783-
regulator-name = "vdd-touch";
779+
regulator-name = "+2.8V_RUN_TOUCH";
784780
regulator-min-microvolt = <2800000>;
785781
regulator-max-microvolt = <2800000>;
786782
};
787783

788784
ldo10 {
789-
regulator-name = "vdd-cam-af";
785+
regulator-name = "+2.8V_RUN_CAM_AF";
790786
regulator-min-microvolt = <2800000>;
791787
regulator-max-microvolt = <2800000>;
792788
};
793789

794790
ldo11 {
795-
regulator-name = "vpp-fuse";
791+
regulator-name = "+1.8V_RUN_VPP_FUSE";
796792
regulator-min-microvolt = <1800000>;
797793
regulator-max-microvolt = <1800000>;
798794
};
@@ -975,99 +971,128 @@
975971
#address-cells = <1>;
976972
#size-cells = <0>;
977973

978-
vdd_ac_bat_reg: regulator@0 {
974+
vdd_mux: regulator@0 {
979975
compatible = "regulator-fixed";
980976
reg = <0>;
981-
regulator-name = "vdd_ac_bat";
982-
regulator-min-microvolt = <5000000>;
983-
regulator-max-microvolt = <5000000>;
977+
regulator-name = "+VDD_MUX";
978+
regulator-min-microvolt = <12000000>;
979+
regulator-max-microvolt = <12000000>;
984980
regulator-always-on;
981+
regulator-boot-on;
985982
};
986983

987-
vdd_3v3_reg: regulator@1 {
984+
vdd_5v0_sys: regulator@1 {
988985
compatible = "regulator-fixed";
989986
reg = <1>;
990-
regulator-name = "vdd_3v3";
991-
regulator-min-microvolt = <3300000>;
992-
regulator-max-microvolt = <3300000>;
987+
regulator-name = "+5V_SYS";
988+
regulator-min-microvolt = <5000000>;
989+
regulator-max-microvolt = <5000000>;
993990
regulator-always-on;
994991
regulator-boot-on;
995-
enable-active-high;
996-
gpio = <&as3722 1 GPIO_ACTIVE_HIGH>;
992+
vin-supply = <&vdd_mux>;
997993
};
998994

999-
vdd_3v3_modem_reg: regulator@2 {
995+
vdd_3v3_sys: regulator@2 {
1000996
compatible = "regulator-fixed";
1001997
reg = <2>;
1002-
regulator-name = "vdd-modem-3v3";
998+
regulator-name = "+3.3V_SYS";
1003999
regulator-min-microvolt = <3300000>;
10041000
regulator-max-microvolt = <3300000>;
1005-
enable-active-high;
1006-
gpio = <&as3722 2 GPIO_ACTIVE_HIGH>;
1001+
regulator-always-on;
1002+
regulator-boot-on;
1003+
vin-supply = <&vdd_mux>;
10071004
};
10081005

1009-
vdd_hdmi_5v0_reg: regulator@3 {
1006+
vdd_3v3_run: regulator@3 {
10101007
compatible = "regulator-fixed";
10111008
reg = <3>;
1012-
regulator-name = "vdd-hdmi-5v0";
1013-
regulator-min-microvolt = <5000000>;
1014-
regulator-max-microvolt = <5000000>;
1009+
regulator-name = "+3.3V_RUN";
1010+
regulator-min-microvolt = <3300000>;
1011+
regulator-max-microvolt = <3300000>;
1012+
gpio = <&as3722 1 GPIO_ACTIVE_HIGH>;
10151013
enable-active-high;
1016-
gpio = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_HIGH>;
1014+
vin-supply = <&vdd_3v3_sys>;
10171015
};
10181016

1019-
vdd_bl_reg: regulator@4 {
1017+
vdd_3v3_hdmi: regulator@4 {
10201018
compatible = "regulator-fixed";
10211019
reg = <4>;
1022-
regulator-name = "vdd-bl";
1020+
regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
10231021
regulator-min-microvolt = <3300000>;
10241022
regulator-max-microvolt = <3300000>;
1025-
gpio = <&gpio TEGRA_GPIO(P, 2) GPIO_ACTIVE_LOW>;
1023+
vin-supply = <&vdd_3v3_run>;
10261024
};
10271025

1028-
vdd_ts_sw_5v0: regulator@5 {
1026+
vdd_led: regulator@5 {
10291027
compatible = "regulator-fixed";
10301028
reg = <5>;
1031-
regulator-name = "vdd_ts_sw";
1032-
regulator-min-microvolt = <5000000>;
1033-
regulator-max-microvolt = <5000000>;
1029+
regulator-name = "+VDD_LED";
1030+
gpio = <&gpio TEGRA_GPIO(P, 2) GPIO_ACTIVE_HIGH>;
10341031
enable-active-high;
1035-
regulator-boot-on;
1036-
gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_LOW>;
1032+
vin-supply = <&vdd_mux>;
10371033
};
10381034

1039-
usb1_vbus_reg: regulator@6 {
1035+
vdd_5v0_ts: regulator@6 {
10401036
compatible = "regulator-fixed";
10411037
reg = <6>;
1042-
regulator-name = "usb1_vbus";
1038+
regulator-name = "+5V_VDD_TS_SW";
10431039
regulator-min-microvolt = <5000000>;
10441040
regulator-max-microvolt = <5000000>;
10451041
regulator-boot-on;
1042+
gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>;
10461043
enable-active-high;
1047-
gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
1048-
gpio-open-drain;
1044+
vin-supply = <&vdd_5v0_sys>;
10491045
};
10501046

1051-
usb3_vbus_reg: regulator@7 {
1047+
vdd_usb1_vbus: regulator@7 {
10521048
compatible = "regulator-fixed";
10531049
reg = <7>;
1054-
regulator-name = "usb3_vbus";
1050+
regulator-name = "+5V_USB_HS";
10551051
regulator-min-microvolt = <5000000>;
10561052
regulator-max-microvolt = <5000000>;
1057-
regulator-boot-on;
1053+
gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
10581054
enable-active-high;
1059-
gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
10601055
gpio-open-drain;
1056+
vin-supply = <&vdd_5v0_sys>;
10611057
};
10621058

1063-
panel_3v3_reg: regulator@8 {
1059+
vdd_usb3_vbus: regulator@8 {
10641060
compatible = "regulator-fixed";
10651061
reg = <8>;
1066-
regulator-name = "panel_3v3";
1062+
regulator-name = "+5V_USB_SS";
1063+
regulator-min-microvolt = <5000000>;
1064+
regulator-max-microvolt = <5000000>;
1065+
gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
1066+
enable-active-high;
1067+
gpio-open-drain;
1068+
vin-supply = <&vdd_5v0_sys>;
1069+
};
1070+
1071+
vdd_3v3_panel: regulator@9 {
1072+
compatible = "regulator-fixed";
1073+
reg = <9>;
1074+
regulator-name = "+3.3V_PANEL";
10671075
regulator-min-microvolt = <3300000>;
10681076
regulator-max-microvolt = <3300000>;
1069-
enable-active-high;
10701077
gpio = <&as3722 4 GPIO_ACTIVE_HIGH>;
1078+
enable-active-high;
1079+
vin-supply = <&vdd_3v3_run>;
1080+
};
1081+
1082+
vdd_3v3_lp0: regulator@10 {
1083+
compatible = "regulator-fixed";
1084+
reg = <10>;
1085+
regulator-name = "+3.3V_LP0";
1086+
regulator-min-microvolt = <3300000>;
1087+
regulator-max-microvolt = <3300000>;
1088+
/*
1089+
* TODO: find a way to wire this up with the USB EHCI
1090+
* controllers so that it can be enabled on demand.
1091+
*/
1092+
regulator-always-on;
1093+
gpio = <&as3722 2 GPIO_ACTIVE_HIGH>;
1094+
enable-active-high;
1095+
vin-supply = <&vdd_3v3_sys>;
10711096
};
10721097
};
10731098

0 commit comments

Comments
 (0)