linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] ARM: dt: tegra: seaboard: add regulators
@ 2012-06-22 23:14 Stephen Warren
  2012-06-22 23:14 ` [PATCH 2/3] ARM: dt: tegra: ventana: " Stephen Warren
                   ` (2 more replies)
  0 siblings, 3 replies; 35+ messages in thread
From: Stephen Warren @ 2012-06-22 23:14 UTC (permalink / raw)
  To: linux-arm-kernel

From: Stephen Warren <swarren@nvidia.com>

Seaboard uses a TPS6586x regulator. Instantiate this, and hook up a
couple of fixed GPIO-controlled regulators too.

The regulator configurations were mostly taken from the ChromeOS 3.2
kernel. Exceptions are:

* The schematic lists a fixed voltage for each rail, whereas the ChromeOS
  kernel lists a range for many rails. I used the values from the ChromeOS
  kernel in all cases, since I know the board file there is the most
  complete available for this hardware.

* The vdd_1v2 fixed regulator is present only in the schematic. So, I added
  this based on the schematic.

* A 3.3v fixed regulator using GPIO3 of the TPS6586x is present in the
  ChromeOS kernel, but not in the schematic. So, I dropped this based on
  the schematic.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
---
 arch/arm/boot/dts/tegra20-seaboard.dts |  164 ++++++++++++++++++++++++++++++++
 1 files changed, 164 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/tegra20-seaboard.dts b/arch/arm/boot/dts/tegra20-seaboard.dts
index 85e621a..fe2bdd0 100644
--- a/arch/arm/boot/dts/tegra20-seaboard.dts
+++ b/arch/arm/boot/dts/tegra20-seaboard.dts
@@ -374,6 +374,141 @@
 		status = "okay";
 		clock-frequency = <400000>;
 
+		pmic: tps6586x at 34 {
+			compatible = "ti,tps6586x";
+			reg = <0x34>;
+			interrupts = <0 86 0x4>;
+
+			#gpio-cells = <2>;
+			gpio-controller;
+
+			regulators {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				regulator at 0 {
+					reg = <0>;
+					regulator-compatible = "sm0";
+					regulator-name = "vdd_sm0";
+					regulator-min-microvolt = < 950000>;
+					regulator-max-microvolt = <1300000>;
+					regulator-always-on;
+				};
+
+				regulator at 1 {
+					reg = <1>;
+					regulator-compatible = "sm1";
+					regulator-name = "vdd_sm1";
+					regulator-min-microvolt = < 750000>;
+					regulator-max-microvolt = <1275000>;
+					regulator-always-on;
+				};
+
+				sm2_reg: regulator at 2 {
+					reg = <2>;
+					regulator-compatible = "sm2";
+					regulator-name = "vdd_sm2";
+					regulator-min-microvolt = <3000000>;
+					regulator-max-microvolt = <4550000>;
+					regulator-always-on;
+				};
+
+				regulator at 3 {
+					reg = <3>;
+					regulator-compatible = "ldo0";
+					regulator-name = "vdd_ldo0";
+					regulator-min-microvolt = <1250000>;
+					regulator-max-microvolt = <3300000>;
+					vin-supply = <&sm2_reg>;
+				};
+
+				regulator at 4 {
+					reg = <4>;
+					regulator-compatible = "ldo1";
+					regulator-name = "vdd_ldo1";
+					regulator-min-microvolt = <1100000>;
+					regulator-max-microvolt = <1100000>;
+					regulator-always-on;
+					vin-supply = <&sm2_reg>;
+				};
+
+				regulator at 5 {
+					reg = <5>;
+					regulator-compatible = "ldo2";
+					regulator-name = "vdd_ldo2";
+					regulator-min-microvolt = < 900000>;
+					regulator-max-microvolt = <1300000>;
+					vin-supply = <&sm2_reg>;
+				};
+
+				regulator at 6 {
+					reg = <6>;
+					regulator-compatible = "ldo3";
+					regulator-name = "vdd_ldo3";
+					regulator-min-microvolt = <3300000>;
+					regulator-max-microvolt = <3300000>;
+					regulator-always-on;
+					vin-supply = <&sm2_reg>;
+				};
+
+				regulator at 7 {
+					reg = <7>;
+					regulator-compatible = "ldo4";
+					regulator-name = "vdd_ldo4";
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+					regulator-always-on;
+					vin-supply = <&sm2_reg>;
+				};
+
+				regulator at 8 {
+					reg = <8>;
+					regulator-compatible = "ldo5";
+					regulator-name = "vdd_ldo5";
+					regulator-min-microvolt = <2850000>;
+					regulator-max-microvolt = <3300000>;
+					regulator-always-on;
+				};
+
+				regulator at 9 {
+					reg = <9>;
+					regulator-compatible = "ldo6";
+					regulator-name = "vdd_ldo6";
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+					vin-supply = <&sm2_reg>;
+				};
+
+				regulator at 10 {
+					reg = <10>;
+					regulator-compatible = "ldo7";
+					regulator-name = "vdd_ldo7";
+					regulator-min-microvolt = <3300000>;
+					regulator-max-microvolt = <3300000>;
+					vin-supply = <&sm2_reg>;
+				};
+
+				regulator at 11 {
+					reg = <11>;
+					regulator-compatible = "ldo8";
+					regulator-name = "vdd_ldo8";
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+					vin-supply = <&sm2_reg>;
+				};
+
+				regulator at 12 {
+					reg = <12>;
+					regulator-compatible = "ldo9";
+					regulator-name = "vdd_ldo9";
+					regulator-min-microvolt = <2850000>;
+					regulator-max-microvolt = <2850000>;
+					regulator-always-on;
+					vin-supply = <&sm2_reg>;
+				};
+			};
+		};
+
 		temperature-sensor at 4c {
 			compatible = "nct1008";
 			reg = <0x4c>;
@@ -387,6 +522,10 @@
 		};
 	};
 
+	pmc {
+		nvidia,invert-interrupt;
+	};
+
 	memory-controller at 0x7000f400 {
 		emc-table at 190000 {
 			reg = <190000>;
@@ -473,6 +612,31 @@
 		};
 	};
 
+	regulators {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		regulator at 0 {
+			compatible = "regulator-fixed";
+			reg = <0>;
+			regulator-name = "vdd_1v5";
+			regulator-min-microvolt = <1500000>;
+			regulator-max-microvolt = <1500000>;
+			gpio = <&pmic 0 0>;
+		};
+
+		regulator at 1 {
+			compatible = "regulator-fixed";
+			reg = <1>;
+			regulator-name = "vdd_1v2";
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			gpio = <&pmic 1 0>;
+			enable-active-high;
+		};
+	};
+
 	sound {
 		compatible = "nvidia,tegra-audio-wm8903-seaboard",
 			     "nvidia,tegra-audio-wm8903";
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2012-07-11 10:02 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-22 23:14 [PATCH 1/3] ARM: dt: tegra: seaboard: add regulators Stephen Warren
2012-06-22 23:14 ` [PATCH 2/3] ARM: dt: tegra: ventana: " Stephen Warren
2012-06-22 23:14 ` [PATCH 3/3] ARM: dt: tegra: paz00: " Stephen Warren
2012-06-23 16:35   ` Marc Dietrich
2012-06-24 11:03     ` Mark Brown
2012-06-24 12:01       ` Marc Dietrich
2012-06-24 12:31         ` Mark Brown
2012-06-24 13:27           ` Marc Dietrich
2012-06-25  8:46             ` Mark Brown
2012-06-25 10:45               ` Marc Dietrich
2012-06-25 11:07             ` Thierry Reding
2012-06-26 22:35       ` Stephen Warren
2012-06-26 23:02         ` Mark Brown
2012-06-26 23:16           ` Stephen Warren
2012-06-29 17:32           ` Stephen Warren
2012-06-30 11:45             ` Mark Brown
2012-06-25  6:24 ` [PATCH 1/3] ARM: dt: tegra: seaboard: " Laxman Dewangan
2012-06-25 15:12   ` Stephen Warren
2012-06-25 15:24     ` Laxman Dewangan
2012-06-25 15:36       ` Stephen Warren
2012-06-25 22:26       ` Mark Brown
2012-06-25 23:09         ` Stephen Warren
2012-06-26  6:38           ` Laxman Dewangan
2012-06-26  8:52           ` Mark Brown
2012-07-10 11:59           ` Laxman Dewangan
2012-07-10 13:44             ` Mark Brown
2012-07-10 13:44               ` Laxman Dewangan
2012-07-10 13:53                 ` Mark Brown
2012-07-10 15:04                   ` Laxman Dewangan
2012-07-10 15:42                     ` Mark Brown
2012-07-10 16:39                       ` Laxman Dewangan
2012-07-10 16:52                         ` Mark Brown
2012-07-10 16:53                           ` Laxman Dewangan
2012-07-10 17:01                             ` Mark Brown
2012-07-11 10:02                               ` Laxman Dewangan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).