All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] ARM: dt: tegra: cardhu: add entry for regulators
@ 2012-08-08  6:48 ` Laxman Dewangan
  0 siblings, 0 replies; 17+ messages in thread
From: Laxman Dewangan @ 2012-08-08  6:48 UTC (permalink / raw)
  To: swarren-3lzwWm7+Weoh9ZMKESR00Q, olof-nZhT3qVonbNeoWH0uzbU5w
  Cc: linux-lFZ/pmaqli7XmaaqVzeoHQ,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Laxman Dewangan

This patch series add the PMIC and fixed regulators for 
cardhu board. There is multiple versions of cardhu baord named
as A01, A02, A03..and so on. Cardhu A01 and A03 are not supported.
Cardhu A02 and A04 have different sets of GPIO for regualtors.
The cardhu A04 is compatible for A05, A06 and A07 in GPIOs.
This patch series split the cardhu dts file to cardhu-a02 and 
carchu-a04 and then add entry for different fixed regualtors.

In patch 1, it enabled the PMIC tps65910 which is main pmu for 
the cardhu.
In Patch 2, split the cardhu support for cardhu-a02 and cardhu-a04.
In Patch 3, add different regulators.

Laxman Dewangan (3):
  ARM: dt: tegra: cardhu: add entry for PMIC TPS65911.
  ARM: dt: tegra: cardhu: split dts file for support multiple board
    versions
  ARM: tegra: cardhu: add dt entry for fixed regulators

 arch/arm/boot/dts/tegra30-cardhu-a02.dts |   87 ++++++
 arch/arm/boot/dts/tegra30-cardhu-a04.dts |   98 ++++++
 arch/arm/boot/dts/tegra30-cardhu.dts     |  171 -----------
 arch/arm/boot/dts/tegra30-cardhu.dtsi    |  483 ++++++++++++++++++++++++++++++
 arch/arm/mach-tegra/Makefile.boot        |    3 +-
 5 files changed, 670 insertions(+), 172 deletions(-)
 create mode 100644 arch/arm/boot/dts/tegra30-cardhu-a02.dts
 create mode 100644 arch/arm/boot/dts/tegra30-cardhu-a04.dts
 delete mode 100644 arch/arm/boot/dts/tegra30-cardhu.dts
 create mode 100644 arch/arm/boot/dts/tegra30-cardhu.dtsi

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

* [PATCH 0/3] ARM: dt: tegra: cardhu: add entry for regulators
@ 2012-08-08  6:48 ` Laxman Dewangan
  0 siblings, 0 replies; 17+ messages in thread
From: Laxman Dewangan @ 2012-08-08  6:48 UTC (permalink / raw)
  To: swarren, olof; +Cc: linux, linux-kernel, linux-tegra, Laxman Dewangan

This patch series add the PMIC and fixed regulators for 
cardhu board. There is multiple versions of cardhu baord named
as A01, A02, A03..and so on. Cardhu A01 and A03 are not supported.
Cardhu A02 and A04 have different sets of GPIO for regualtors.
The cardhu A04 is compatible for A05, A06 and A07 in GPIOs.
This patch series split the cardhu dts file to cardhu-a02 and 
carchu-a04 and then add entry for different fixed regualtors.

In patch 1, it enabled the PMIC tps65910 which is main pmu for 
the cardhu.
In Patch 2, split the cardhu support for cardhu-a02 and cardhu-a04.
In Patch 3, add different regulators.

Laxman Dewangan (3):
  ARM: dt: tegra: cardhu: add entry for PMIC TPS65911.
  ARM: dt: tegra: cardhu: split dts file for support multiple board
    versions
  ARM: tegra: cardhu: add dt entry for fixed regulators

 arch/arm/boot/dts/tegra30-cardhu-a02.dts |   87 ++++++
 arch/arm/boot/dts/tegra30-cardhu-a04.dts |   98 ++++++
 arch/arm/boot/dts/tegra30-cardhu.dts     |  171 -----------
 arch/arm/boot/dts/tegra30-cardhu.dtsi    |  483 ++++++++++++++++++++++++++++++
 arch/arm/mach-tegra/Makefile.boot        |    3 +-
 5 files changed, 670 insertions(+), 172 deletions(-)
 create mode 100644 arch/arm/boot/dts/tegra30-cardhu-a02.dts
 create mode 100644 arch/arm/boot/dts/tegra30-cardhu-a04.dts
 delete mode 100644 arch/arm/boot/dts/tegra30-cardhu.dts
 create mode 100644 arch/arm/boot/dts/tegra30-cardhu.dtsi


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

* [PATCH 1/3] ARM: dt: tegra: cardhu: add entry for PMIC TPS65911.
  2012-08-08  6:48 ` Laxman Dewangan
@ 2012-08-08  6:48   ` Laxman Dewangan
  -1 siblings, 0 replies; 17+ messages in thread
From: Laxman Dewangan @ 2012-08-08  6:48 UTC (permalink / raw)
  To: swarren, olof; +Cc: linux, linux-kernel, linux-tegra, Laxman Dewangan

Tegra30 based platform "cardhu" have the power management
IC TPS65911 for the regulator.
Adding DT entry for this device.
Data are chosen from downstream kernel and making the
voltage output as require by default for device to
operate.
The default interrupt line is HIGH from PMIC device and so
inverting the interrupt detection line of PMU interrupt
through configuring PMC.
In this patch, do not registering LDO5 because the input
supply for this rail is different for different version of
cardhu i..e A02 and A04. The registration will be done once
the dts file for cardhu A02 and A04 are added in follow on
patches.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
 arch/arm/boot/dts/tegra30-cardhu.dts |  134 ++++++++++++++++++++++++++++++++++
 1 files changed, 134 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/tegra30-cardhu.dts b/arch/arm/boot/dts/tegra30-cardhu.dts
index c169bce..6f9daae 100644
--- a/arch/arm/boot/dts/tegra30-cardhu.dts
+++ b/arch/arm/boot/dts/tegra30-cardhu.dts
@@ -126,6 +126,120 @@
 			ti,vsel0-state-high;
 			ti,vsel1-state-high;
 		};
+
+		pmic: tps65911@2d {
+			compatible = "ti,tps65911";
+			reg = <0x2d>;
+
+			interrupts = <0 86 0x4>;
+			#interrupt-cells = <2>;
+			interrupt-controller;
+
+			#gpio-cells = <2>;
+			gpio-controller;
+
+			vcc1-supply = <&vdd_ac_bat_reg>;
+			vcc2-supply = <&vdd_ac_bat_reg>;
+			vcc3-supply = <&vio_reg>;
+			vcc5-supply = <&vdd_ac_bat_reg>;
+			vcc6-supply = <&vdd2_reg>;
+			vcc7-supply = <&vdd_ac_bat_reg>;
+			vccio-supply = <&vdd_ac_bat_reg>;
+
+			regulators {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				vdd1_reg: regulator@0 {
+					reg = <0>;
+					regulator-compatible = "vdd1";
+					regulator-name = "vddio_ddr_1v2";
+					regulator-min-microvolt = <1200000>;
+					regulator-max-microvolt = <1200000>;
+					regulator-always-on;
+				};
+
+				vdd2_reg: regulator@1 {
+					reg = <1>;
+					regulator-compatible = "vdd2";
+					regulator-name = "vdd_1v5_gen";
+					regulator-min-microvolt = <1500000>;
+					regulator-max-microvolt = <1500000>;
+					regulator-always-on;
+				};
+
+				vddctrl_reg: regulator@2 {
+					reg = <2>;
+					regulator-compatible = "vddctrl";
+					regulator-name = "vdd_cpu,vdd_sys";
+					regulator-min-microvolt = <1000000>;
+					regulator-max-microvolt = <1000000>;
+					regulator-always-on;
+				};
+
+				vio_reg: regulator@3 {
+					reg = <3>;
+					regulator-compatible = "vio";
+					regulator-name = "vdd_1v8_gen";
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+					regulator-always-on;
+				};
+
+				ldo1_reg: regulator@4 {
+					reg = <4>;
+					regulator-compatible = "ldo1";
+					regulator-name = "vdd_pexa,vdd_pexb";
+					regulator-min-microvolt = <1050000>;
+					regulator-max-microvolt = <1050000>;
+				};
+
+				ldo2_reg: regulator@5 {
+					reg = <5>;
+					regulator-compatible = "ldo2";
+					regulator-name = "vdd_sata,avdd_plle";
+					regulator-min-microvolt = <1050000>;
+					regulator-max-microvolt = <1050000>;
+				};
+
+				/* LDO3 is not connected to anything */
+
+				ldo4_reg: regulator@7 {
+					reg = <7>;
+					regulator-compatible = "ldo4";
+					regulator-name = "vdd_rtc";
+					regulator-min-microvolt = <1200000>;
+					regulator-max-microvolt = <1200000>;
+					regulator-always-on;
+				};
+
+				ldo6_reg: regulator@9 {
+					reg = <9>;
+					regulator-compatible = "ldo6";
+					regulator-name = "avdd_dsi_csi,pwrdet_mipi";
+					regulator-min-microvolt = <1200000>;
+					regulator-max-microvolt = <1200000>;
+				};
+
+				ldo7_reg: regulator@10 {
+					reg = <10>;
+					regulator-compatible = "ldo7";
+					regulator-name = "vdd_pllm,x,u,a_p_c_s";
+					regulator-min-microvolt = <1200000>;
+					regulator-max-microvolt = <1200000>;
+					regulator-always-on;
+				};
+
+				ldo8_reg: regulator@11 {
+					reg = <11>;
+					regulator-compatible = "ldo8";
+					regulator-name = "vdd_ddr_hs";
+					regulator-min-microvolt = <1000000>;
+					regulator-max-microvolt = <1000000>;
+					regulator-always-on;
+				};
+			};
+		};
 	};
 
 	ahub {
@@ -134,6 +248,11 @@
 		};
 	};
 
+	pmc {
+		status = "okay";
+		nvidia,invert-interrupt;
+	};
+
 	sdhci@78000000 {
 		status = "okay";
 		cd-gpios = <&gpio 69 0>; /* gpio PI5 */
@@ -147,6 +266,21 @@
 		bus-width = <8>;
 	};
 
+	regulators {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		vdd_ac_bat_reg: regulator@0 {
+			compatible = "regulator-fixed";
+			reg = <0>;
+			regulator-name = "vdd_ac_bat";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			regulator-always-on;
+		};
+	};
+
 	sound {
 		compatible = "nvidia,tegra-audio-wm8903-cardhu",
 			     "nvidia,tegra-audio-wm8903";
-- 
1.7.1.1

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

* [PATCH 1/3] ARM: dt: tegra: cardhu: add entry for PMIC TPS65911.
@ 2012-08-08  6:48   ` Laxman Dewangan
  0 siblings, 0 replies; 17+ messages in thread
From: Laxman Dewangan @ 2012-08-08  6:48 UTC (permalink / raw)
  To: swarren, olof; +Cc: linux, linux-kernel, linux-tegra, Laxman Dewangan

Tegra30 based platform "cardhu" have the power management
IC TPS65911 for the regulator.
Adding DT entry for this device.
Data are chosen from downstream kernel and making the
voltage output as require by default for device to
operate.
The default interrupt line is HIGH from PMIC device and so
inverting the interrupt detection line of PMU interrupt
through configuring PMC.
In this patch, do not registering LDO5 because the input
supply for this rail is different for different version of
cardhu i..e A02 and A04. The registration will be done once
the dts file for cardhu A02 and A04 are added in follow on
patches.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
 arch/arm/boot/dts/tegra30-cardhu.dts |  134 ++++++++++++++++++++++++++++++++++
 1 files changed, 134 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/tegra30-cardhu.dts b/arch/arm/boot/dts/tegra30-cardhu.dts
index c169bce..6f9daae 100644
--- a/arch/arm/boot/dts/tegra30-cardhu.dts
+++ b/arch/arm/boot/dts/tegra30-cardhu.dts
@@ -126,6 +126,120 @@
 			ti,vsel0-state-high;
 			ti,vsel1-state-high;
 		};
+
+		pmic: tps65911@2d {
+			compatible = "ti,tps65911";
+			reg = <0x2d>;
+
+			interrupts = <0 86 0x4>;
+			#interrupt-cells = <2>;
+			interrupt-controller;
+
+			#gpio-cells = <2>;
+			gpio-controller;
+
+			vcc1-supply = <&vdd_ac_bat_reg>;
+			vcc2-supply = <&vdd_ac_bat_reg>;
+			vcc3-supply = <&vio_reg>;
+			vcc5-supply = <&vdd_ac_bat_reg>;
+			vcc6-supply = <&vdd2_reg>;
+			vcc7-supply = <&vdd_ac_bat_reg>;
+			vccio-supply = <&vdd_ac_bat_reg>;
+
+			regulators {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				vdd1_reg: regulator@0 {
+					reg = <0>;
+					regulator-compatible = "vdd1";
+					regulator-name = "vddio_ddr_1v2";
+					regulator-min-microvolt = <1200000>;
+					regulator-max-microvolt = <1200000>;
+					regulator-always-on;
+				};
+
+				vdd2_reg: regulator@1 {
+					reg = <1>;
+					regulator-compatible = "vdd2";
+					regulator-name = "vdd_1v5_gen";
+					regulator-min-microvolt = <1500000>;
+					regulator-max-microvolt = <1500000>;
+					regulator-always-on;
+				};
+
+				vddctrl_reg: regulator@2 {
+					reg = <2>;
+					regulator-compatible = "vddctrl";
+					regulator-name = "vdd_cpu,vdd_sys";
+					regulator-min-microvolt = <1000000>;
+					regulator-max-microvolt = <1000000>;
+					regulator-always-on;
+				};
+
+				vio_reg: regulator@3 {
+					reg = <3>;
+					regulator-compatible = "vio";
+					regulator-name = "vdd_1v8_gen";
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+					regulator-always-on;
+				};
+
+				ldo1_reg: regulator@4 {
+					reg = <4>;
+					regulator-compatible = "ldo1";
+					regulator-name = "vdd_pexa,vdd_pexb";
+					regulator-min-microvolt = <1050000>;
+					regulator-max-microvolt = <1050000>;
+				};
+
+				ldo2_reg: regulator@5 {
+					reg = <5>;
+					regulator-compatible = "ldo2";
+					regulator-name = "vdd_sata,avdd_plle";
+					regulator-min-microvolt = <1050000>;
+					regulator-max-microvolt = <1050000>;
+				};
+
+				/* LDO3 is not connected to anything */
+
+				ldo4_reg: regulator@7 {
+					reg = <7>;
+					regulator-compatible = "ldo4";
+					regulator-name = "vdd_rtc";
+					regulator-min-microvolt = <1200000>;
+					regulator-max-microvolt = <1200000>;
+					regulator-always-on;
+				};
+
+				ldo6_reg: regulator@9 {
+					reg = <9>;
+					regulator-compatible = "ldo6";
+					regulator-name = "avdd_dsi_csi,pwrdet_mipi";
+					regulator-min-microvolt = <1200000>;
+					regulator-max-microvolt = <1200000>;
+				};
+
+				ldo7_reg: regulator@10 {
+					reg = <10>;
+					regulator-compatible = "ldo7";
+					regulator-name = "vdd_pllm,x,u,a_p_c_s";
+					regulator-min-microvolt = <1200000>;
+					regulator-max-microvolt = <1200000>;
+					regulator-always-on;
+				};
+
+				ldo8_reg: regulator@11 {
+					reg = <11>;
+					regulator-compatible = "ldo8";
+					regulator-name = "vdd_ddr_hs";
+					regulator-min-microvolt = <1000000>;
+					regulator-max-microvolt = <1000000>;
+					regulator-always-on;
+				};
+			};
+		};
 	};
 
 	ahub {
@@ -134,6 +248,11 @@
 		};
 	};
 
+	pmc {
+		status = "okay";
+		nvidia,invert-interrupt;
+	};
+
 	sdhci@78000000 {
 		status = "okay";
 		cd-gpios = <&gpio 69 0>; /* gpio PI5 */
@@ -147,6 +266,21 @@
 		bus-width = <8>;
 	};
 
+	regulators {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		vdd_ac_bat_reg: regulator@0 {
+			compatible = "regulator-fixed";
+			reg = <0>;
+			regulator-name = "vdd_ac_bat";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			regulator-always-on;
+		};
+	};
+
 	sound {
 		compatible = "nvidia,tegra-audio-wm8903-cardhu",
 			     "nvidia,tegra-audio-wm8903";
-- 
1.7.1.1


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

* [PATCH 2/3] ARM: dt: tegra: cardhu: split dts file for support multiple board versions
  2012-08-08  6:48 ` Laxman Dewangan
@ 2012-08-08  6:48   ` Laxman Dewangan
  -1 siblings, 0 replies; 17+ messages in thread
From: Laxman Dewangan @ 2012-08-08  6:48 UTC (permalink / raw)
  To: swarren, olof; +Cc: linux, linux-kernel, linux-tegra, Laxman Dewangan

There is multiple version of cardhu starting from A01 to A07.
Cardhu A01 and A03 are not supported. Cardhu A02 will have
different sets of GPIOs for fixed regulator compare to
cardhu A04. The Cardhu A05, A06, A07 are compatibe with A04.
Based on cardhu version, the related dts file need to be chosen
like for cardhu A02, use tegra30-cardhu-a02.dts, cardhu A04 and
more, use tegra30-cardhu-a04.dts.
This patch create the DTS file A02 and A04 and convert tegra30-cardhu.dts
as dts include file.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
 arch/arm/boot/dts/tegra30-cardhu-a02.dts           |   11 +++++++++
 arch/arm/boot/dts/tegra30-cardhu-a04.dts           |   10 ++++++++
 .../{tegra30-cardhu.dts => tegra30-cardhu.dtsi}    |   24 ++++++++++++++++++-
 arch/arm/mach-tegra/Makefile.boot                  |    3 +-
 4 files changed, 45 insertions(+), 3 deletions(-)
 create mode 100644 arch/arm/boot/dts/tegra30-cardhu-a02.dts
 create mode 100644 arch/arm/boot/dts/tegra30-cardhu-a04.dts
 rename arch/arm/boot/dts/{tegra30-cardhu.dts => tegra30-cardhu.dtsi} (85%)

diff --git a/arch/arm/boot/dts/tegra30-cardhu-a02.dts b/arch/arm/boot/dts/tegra30-cardhu-a02.dts
new file mode 100644
index 0000000..dd870b7
--- /dev/null
+++ b/arch/arm/boot/dts/tegra30-cardhu-a02.dts
@@ -0,0 +1,11 @@
+/dts-v1/;
+
+/include/ "tegra30-cardhu.dtsi"
+
+/* This dts file support the cardhu A02 version of board */
+
+/ {
+	model = "NVIDIA Tegra30 Cardhu A02 evaluation board";
+	compatible = "nvidia,cardhu-a02", "nvidia,cardhu", "nvidia,tegra30";
+};
+
diff --git a/arch/arm/boot/dts/tegra30-cardhu-a04.dts b/arch/arm/boot/dts/tegra30-cardhu-a04.dts
new file mode 100644
index 0000000..a4cae6c
--- /dev/null
+++ b/arch/arm/boot/dts/tegra30-cardhu-a04.dts
@@ -0,0 +1,10 @@
+/dts-v1/;
+
+/include/ "tegra30-cardhu.dtsi"
+
+/* This dts file support the cardhu A04 and later versions of board */
+
+/ {
+	model = "NVIDIA Tegra30 Cardhu A04 (A05, A06, A07) evaluation board";
+	compatible = "nvidia,cardhu-a04", "nvidia,cardhu", "nvidia,tegra30";
+};
diff --git a/arch/arm/boot/dts/tegra30-cardhu.dts b/arch/arm/boot/dts/tegra30-cardhu.dtsi
similarity index 85%
rename from arch/arm/boot/dts/tegra30-cardhu.dts
rename to arch/arm/boot/dts/tegra30-cardhu.dtsi
index 6f9daae..c156273 100644
--- a/arch/arm/boot/dts/tegra30-cardhu.dts
+++ b/arch/arm/boot/dts/tegra30-cardhu.dtsi
@@ -1,7 +1,27 @@
-/dts-v1/;
-
 /include/ "tegra30.dtsi"
 
+/**
+ * This file contains common DT entry for all fab version of Cardhu.
+ * There is multiple fab version of Cardhu starting from A01 to A07.
+ * Cardhu fab version A01 and A03 are not supported. Cardhu fab version
+ * A02 will have different sets of GPIOs for fixed regulator compare to
+ * Cardhu fab version A04. The Cardhu fab version A05, A06, A07 are
+ * compatible with fab version A04. Based on Cardhu fab version, the
+ * related dts file need to be chosen like for Cardhu fab version A02,
+ * use tegra30-cardhu-a02.dts, Cardhu fab version A04 and later, use
+ * tegra30-cardhu-a04.dts.
+ * The identification of board is done in two ways, by looking the sticker
+ * on PCB and by reading board id eeprom.
+ * The stciker will have number like 600-81291-1000-002 C.3. In this 4th
+ * number is the fab version like here it is 002 and hence fab version A02.
+ * The The (downstream internal) U-Boot of Cardhu display the board-id as
+ * follows:
+ * BoardID: 0C5B, SKU: 0A01, Fab: 02, Rev: 45.00
+ * In this Fab version is 02 i.e. A02.
+ * The BoardID eeprom is interfaced through i2c5 (pwr_i2c). The location 0x8
+ * contains the Fab version. It is 1 byte wide.
+ */
+
 / {
 	model = "NVIDIA Tegra30 Cardhu evaluation board";
 	compatible = "nvidia,cardhu", "nvidia,tegra30";
diff --git a/arch/arm/mach-tegra/Makefile.boot b/arch/arm/mach-tegra/Makefile.boot
index 7a1bb62..6e35207 100644
--- a/arch/arm/mach-tegra/Makefile.boot
+++ b/arch/arm/mach-tegra/Makefile.boot
@@ -8,4 +8,5 @@ dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-seaboard.dtb
 dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-trimslice.dtb
 dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-ventana.dtb
 dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-whistler.dtb
-dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu.dtb
+dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a02.dtb
+dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a04.dtb
-- 
1.7.1.1

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

* [PATCH 2/3] ARM: dt: tegra: cardhu: split dts file for support multiple board versions
@ 2012-08-08  6:48   ` Laxman Dewangan
  0 siblings, 0 replies; 17+ messages in thread
From: Laxman Dewangan @ 2012-08-08  6:48 UTC (permalink / raw)
  To: swarren, olof; +Cc: linux, linux-kernel, linux-tegra, Laxman Dewangan

There is multiple version of cardhu starting from A01 to A07.
Cardhu A01 and A03 are not supported. Cardhu A02 will have
different sets of GPIOs for fixed regulator compare to
cardhu A04. The Cardhu A05, A06, A07 are compatibe with A04.
Based on cardhu version, the related dts file need to be chosen
like for cardhu A02, use tegra30-cardhu-a02.dts, cardhu A04 and
more, use tegra30-cardhu-a04.dts.
This patch create the DTS file A02 and A04 and convert tegra30-cardhu.dts
as dts include file.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
 arch/arm/boot/dts/tegra30-cardhu-a02.dts           |   11 +++++++++
 arch/arm/boot/dts/tegra30-cardhu-a04.dts           |   10 ++++++++
 .../{tegra30-cardhu.dts => tegra30-cardhu.dtsi}    |   24 ++++++++++++++++++-
 arch/arm/mach-tegra/Makefile.boot                  |    3 +-
 4 files changed, 45 insertions(+), 3 deletions(-)
 create mode 100644 arch/arm/boot/dts/tegra30-cardhu-a02.dts
 create mode 100644 arch/arm/boot/dts/tegra30-cardhu-a04.dts
 rename arch/arm/boot/dts/{tegra30-cardhu.dts => tegra30-cardhu.dtsi} (85%)

diff --git a/arch/arm/boot/dts/tegra30-cardhu-a02.dts b/arch/arm/boot/dts/tegra30-cardhu-a02.dts
new file mode 100644
index 0000000..dd870b7
--- /dev/null
+++ b/arch/arm/boot/dts/tegra30-cardhu-a02.dts
@@ -0,0 +1,11 @@
+/dts-v1/;
+
+/include/ "tegra30-cardhu.dtsi"
+
+/* This dts file support the cardhu A02 version of board */
+
+/ {
+	model = "NVIDIA Tegra30 Cardhu A02 evaluation board";
+	compatible = "nvidia,cardhu-a02", "nvidia,cardhu", "nvidia,tegra30";
+};
+
diff --git a/arch/arm/boot/dts/tegra30-cardhu-a04.dts b/arch/arm/boot/dts/tegra30-cardhu-a04.dts
new file mode 100644
index 0000000..a4cae6c
--- /dev/null
+++ b/arch/arm/boot/dts/tegra30-cardhu-a04.dts
@@ -0,0 +1,10 @@
+/dts-v1/;
+
+/include/ "tegra30-cardhu.dtsi"
+
+/* This dts file support the cardhu A04 and later versions of board */
+
+/ {
+	model = "NVIDIA Tegra30 Cardhu A04 (A05, A06, A07) evaluation board";
+	compatible = "nvidia,cardhu-a04", "nvidia,cardhu", "nvidia,tegra30";
+};
diff --git a/arch/arm/boot/dts/tegra30-cardhu.dts b/arch/arm/boot/dts/tegra30-cardhu.dtsi
similarity index 85%
rename from arch/arm/boot/dts/tegra30-cardhu.dts
rename to arch/arm/boot/dts/tegra30-cardhu.dtsi
index 6f9daae..c156273 100644
--- a/arch/arm/boot/dts/tegra30-cardhu.dts
+++ b/arch/arm/boot/dts/tegra30-cardhu.dtsi
@@ -1,7 +1,27 @@
-/dts-v1/;
-
 /include/ "tegra30.dtsi"
 
+/**
+ * This file contains common DT entry for all fab version of Cardhu.
+ * There is multiple fab version of Cardhu starting from A01 to A07.
+ * Cardhu fab version A01 and A03 are not supported. Cardhu fab version
+ * A02 will have different sets of GPIOs for fixed regulator compare to
+ * Cardhu fab version A04. The Cardhu fab version A05, A06, A07 are
+ * compatible with fab version A04. Based on Cardhu fab version, the
+ * related dts file need to be chosen like for Cardhu fab version A02,
+ * use tegra30-cardhu-a02.dts, Cardhu fab version A04 and later, use
+ * tegra30-cardhu-a04.dts.
+ * The identification of board is done in two ways, by looking the sticker
+ * on PCB and by reading board id eeprom.
+ * The stciker will have number like 600-81291-1000-002 C.3. In this 4th
+ * number is the fab version like here it is 002 and hence fab version A02.
+ * The The (downstream internal) U-Boot of Cardhu display the board-id as
+ * follows:
+ * BoardID: 0C5B, SKU: 0A01, Fab: 02, Rev: 45.00
+ * In this Fab version is 02 i.e. A02.
+ * The BoardID eeprom is interfaced through i2c5 (pwr_i2c). The location 0x8
+ * contains the Fab version. It is 1 byte wide.
+ */
+
 / {
 	model = "NVIDIA Tegra30 Cardhu evaluation board";
 	compatible = "nvidia,cardhu", "nvidia,tegra30";
diff --git a/arch/arm/mach-tegra/Makefile.boot b/arch/arm/mach-tegra/Makefile.boot
index 7a1bb62..6e35207 100644
--- a/arch/arm/mach-tegra/Makefile.boot
+++ b/arch/arm/mach-tegra/Makefile.boot
@@ -8,4 +8,5 @@ dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-seaboard.dtb
 dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-trimslice.dtb
 dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-ventana.dtb
 dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-whistler.dtb
-dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu.dtb
+dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a02.dtb
+dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a04.dtb
-- 
1.7.1.1


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

* [PATCH 3/3] ARM: tegra: cardhu: add dt entry for fixed regulators
  2012-08-08  6:48 ` Laxman Dewangan
@ 2012-08-08  6:48   ` Laxman Dewangan
  -1 siblings, 0 replies; 17+ messages in thread
From: Laxman Dewangan @ 2012-08-08  6:48 UTC (permalink / raw)
  To: swarren, olof; +Cc: linux, linux-kernel, linux-tegra, Laxman Dewangan

Cadhu have multiple power rails which are controlled by
GPIOs. Add support of these power rail control through
fixed regulators. Add entry for all fixed regulators for
cardhu-a02 and a04.
The details are taken from downstream kernel.
Also add the tps65910-LDO5 entry and make it always ON
to suppy power to SDMMC. Once the sd driver support
regulator handling, this flag will be remove.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
 arch/arm/boot/dts/tegra30-cardhu-a02.dts |   76 ++++++++++++++
 arch/arm/boot/dts/tegra30-cardhu-a04.dts |   88 +++++++++++++++++
 arch/arm/boot/dts/tegra30-cardhu.dtsi    |  158 ++++++++++++++++++++++++++++++
 3 files changed, 322 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/tegra30-cardhu-a02.dts b/arch/arm/boot/dts/tegra30-cardhu-a02.dts
index dd870b7..3fe7e23 100644
--- a/arch/arm/boot/dts/tegra30-cardhu-a02.dts
+++ b/arch/arm/boot/dts/tegra30-cardhu-a02.dts
@@ -7,5 +7,81 @@
 / {
 	model = "NVIDIA Tegra30 Cardhu A02 evaluation board";
 	compatible = "nvidia,cardhu-a02", "nvidia,cardhu", "nvidia,tegra30";
+
+	regulators {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		ddr_reg: regulator@100 {
+			compatible = "regulator-fixed";
+			reg = <100>;
+			regulator-name = "vdd_ddr";
+			regulator-min-microvolt = <1500000>;
+			regulator-max-microvolt = <1500000>;
+			regulator-boot-on;
+			regulator-always-on;
+			enable-active-high;
+			gpio = <&pmic 6 0>;
+		};
+
+		sys_3v3_reg: regulator@101 {
+			compatible = "regulator-fixed";
+			reg = <101>;
+			regulator-name = "sys_3v3";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-boot-on;
+			regulator-always-on;
+			enable-active-high;
+			gpio = <&pmic 7 0>;
+		};
+
+		usb1_vbus_reg: regulator@102 {
+			compatible = "regulator-fixed";
+			reg = <102>;
+			regulator-name = "usb1_vbus";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			gpio = <&gpio 68 0>; /* GPIO PI4 */
+			gpio-open-drain;
+			vin-supply = <&vdd_5v0_reg>;
+		};
+
+		usb3_vbus_reg: regulator@103 {
+			compatible = "regulator-fixed";
+			reg = <103>;
+			regulator-name = "usb3_vbus";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			gpio = <&gpio 63 0>; /* GPIO PH7 */
+			gpio-open-drain;
+			vin-supply = <&vdd_5v0_reg>;
+		};
+
+		vdd_5v0_reg: regulator@104 {
+			compatible = "regulator-fixed";
+			reg = <104>;
+			regulator-name = "5v0";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			gpio = <&pmic 2 0>;
+		};
+
+		vdd_bl_reg: regulator@105 {
+			compatible = "regulator-fixed";
+			reg = <105>;
+			regulator-name = "vdd_bl";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			regulator-boot-on;
+			regulator-always-on;
+			enable-active-high;
+			gpio = <&gpio 83 0>; /* GPIO PK3 */
+		};
+	};
 };
 
diff --git a/arch/arm/boot/dts/tegra30-cardhu-a04.dts b/arch/arm/boot/dts/tegra30-cardhu-a04.dts
index a4cae6c..7f1ac8b 100644
--- a/arch/arm/boot/dts/tegra30-cardhu-a04.dts
+++ b/arch/arm/boot/dts/tegra30-cardhu-a04.dts
@@ -7,4 +7,92 @@
 / {
 	model = "NVIDIA Tegra30 Cardhu A04 (A05, A06, A07) evaluation board";
 	compatible = "nvidia,cardhu-a04", "nvidia,cardhu", "nvidia,tegra30";
+
+	regulators {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		ddr_reg: regulator@100 {
+			compatible = "regulator-fixed";
+			regulator-name = "ddr";
+			reg = <100>;
+			regulator-min-microvolt = <1500000>;
+			regulator-max-microvolt = <1500000>;
+			regulator-boot-on;
+			regulator-always-on;
+			enable-active-high;
+			gpio = <&pmic 7 0>;
+		};
+
+		sys_3v3_reg: regulator@101 {
+			compatible = "regulator-fixed";
+			reg = <101>;
+			regulator-name = "sys_3v3";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-boot-on;
+			regulator-always-on;
+			enable-active-high;
+			gpio = <&pmic 6 0>;
+		};
+
+		usb1_vbus_reg: regulator@102 {
+			compatible = "regulator-fixed";
+			reg = <102>;
+			regulator-name = "usb1_vbus";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			gpio = <&gpio 238 0>; /* GPIO PDD6 */
+			gpio-open-drain;
+			vin-supply = <&vdd_5v0_reg>;
+		};
+
+		usb3_vbus_reg: regulator@103 {
+			compatible = "regulator-fixed";
+			reg = <103>;
+			regulator-name = "usb3_vbus";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			gpio = <&gpio 236 0>; /* GPIO PDD4 */
+			gpio-open-drain;
+			vin-supply = <&vdd_5v0_reg>;
+		};
+
+		vdd_5v0_reg: regulator@104 {
+			compatible = "regulator-fixed";
+			reg = <104>;
+			regulator-name = "5v0";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			gpio = <&pmic 8 0>;
+		};
+
+		vdd_bl_reg: regulator@105 {
+			compatible = "regulator-fixed";
+			reg = <105>;
+			regulator-name = "vdd_bl";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			regulator-boot-on;
+			regulator-always-on;
+			enable-active-high;
+			gpio = <&gpio 234 0>; /* GPIO PDD2 */
+		};
+
+		vdd_bl2_reg: regulator@106 {
+			compatible = "regulator-fixed";
+			reg = <106>;
+			regulator-name = "vdd_bl2";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			regulator-boot-on;
+			regulator-always-on;
+			enable-active-high;
+			gpio = <&gpio 232 0>; /* GPIO PDD0 */
+		};
+	};
 };
diff --git a/arch/arm/boot/dts/tegra30-cardhu.dtsi b/arch/arm/boot/dts/tegra30-cardhu.dtsi
index c156273..e40f3fd 100644
--- a/arch/arm/boot/dts/tegra30-cardhu.dtsi
+++ b/arch/arm/boot/dts/tegra30-cardhu.dtsi
@@ -161,6 +161,7 @@
 			vcc1-supply = <&vdd_ac_bat_reg>;
 			vcc2-supply = <&vdd_ac_bat_reg>;
 			vcc3-supply = <&vio_reg>;
+			vcc4-supply = <&vdd_5v0_reg>;
 			vcc5-supply = <&vdd_ac_bat_reg>;
 			vcc6-supply = <&vdd2_reg>;
 			vcc7-supply = <&vdd_ac_bat_reg>;
@@ -233,6 +234,15 @@
 					regulator-always-on;
 				};
 
+				ldo5_reg: regulator@8 {
+					reg = <8>;
+					regulator-compatible = "ldo5";
+					regulator-name = "vddio_sdmmc,avdd_vdac";
+					regulator-min-microvolt = <3300000>;
+					regulator-max-microvolt = <3300000>;
+					regulator-always-on;
+				};
+
 				ldo6_reg: regulator@9 {
 					reg = <9>;
 					regulator-compatible = "ldo6";
@@ -299,6 +309,154 @@
 			regulator-max-microvolt = <5000000>;
 			regulator-always-on;
 		};
+
+		cam_1v8_reg: regulator@1 {
+			compatible = "regulator-fixed";
+			reg = <1>;
+			regulator-name = "cam_1v8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			enable-active-high;
+			gpio = <&gpio 220 0>; /* gpio PBB4 */
+			vin-supply = <&vio_reg>;
+		};
+
+		cp_5v_reg: regulator@2 {
+			compatible = "regulator-fixed";
+			reg = <2>;
+			regulator-name = "cp_5v";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			regulator-boot-on;
+			regulator-always-on;
+			enable-active-high;
+			gpio = <&pmic 0 0>; /* PMIC TPS65911 GPIO0 */
+		};
+
+		emmc_3v3_reg: regulator@3 {
+			compatible = "regulator-fixed";
+			reg = <3>;
+			regulator-name = "emmc_3v3";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-boot-on;
+			regulator-always-on;
+			enable-active-high;
+			gpio = <&gpio 25 0>; /* gpio PD1 */
+			vin-supply = <&sys_3v3_reg>;
+		};
+
+		modem_3v3_reg: regulator@4 {
+			compatible = "regulator-fixed";
+			reg = <4>;
+			regulator-name = "modem_3v3";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			enable-active-high;
+			gpio = <&gpio 30 0>; /* gpio PD6>
+		};
+
+		pex_hvdd_3v3_reg: regulator@5 {
+			compatible = "regulator-fixed";
+			reg = <5>;
+			regulator-name = "pex_hvdd_3v3";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			enable-active-high;
+			gpio = <&gpio 95 0>; /* gpio PL7 */
+			vin-supply = <&sys_3v3_reg>;
+		};
+
+		vdd_cam1_ldo_reg: regulator@6 {
+			compatible = "regulator-fixed";
+			reg = <6>;
+			regulator-name = "vdd_cam1_ldo";
+			regulator-min-microvolt = <2800000>;
+			regulator-max-microvolt = <2800000>;
+			enable-active-high;
+			gpio = <&gpio 142 0>; /* gpio PR6 */
+			vin-supply = <&sys_3v3_reg>;
+		};
+
+		vdd_cam2_ldo_reg: regulator@7 {
+			compatible = "regulator-fixed";
+			reg = <7>;
+			regulator-name = "vdd_cam2_ldo";
+			regulator-min-microvolt = <2800000>;
+			regulator-max-microvolt = <2800000>;
+			enable-active-high;
+			gpio = <&gpio 143 0>; /* gpio PR7 */
+			vin-supply = <&sys_3v3_reg>;
+		};
+
+		vdd_cam3_ldo_reg: regulator@8 {
+			compatible = "regulator-fixed";
+			reg = <8>;
+			regulator-name = "vdd_cam3_ldo";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			enable-active-high;
+			gpio = <&gpio 144 0>; /* gpio PS0 */
+			vin-supply = <&sys_3v3_reg>;
+		};
+
+		vdd_com_reg: regulator@9 {
+			compatible = "regulator-fixed";
+			reg = <9>;
+			regulator-name = "vdd_com";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			enable-active-high;
+			gpio = <&gpio 24 0>; /* gpio PD0 */
+			vin-supply = <&sys_3v3_reg>;
+		};
+
+		vdd_fuse_3v3_reg: regulator@10 {
+			compatible = "regulator-fixed";
+			reg = <10>;
+			regulator-name = "vdd_fuse_3v3";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			enable-active-high;
+			gpio = <&gpio 94 0>; /* gpio PL6 */
+			vin-supply = <&sys_3v3_reg>;
+		};
+
+		vdd_pnl1_reg: regulator@11 {
+			compatible = "regulator-fixed";
+			reg = <11>;
+			regulator-name = "vdd_pnl1";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			enable-active-high;
+			gpio = <&gpio 92 0>; /* gpio PL4 */
+			vin-supply = <&sys_3v3_reg>;
+		};
+
+		vdd_sdmmc1_reg: regulator@12 {
+			compatible = "regulator-fixed";
+			reg = <12>;
+			regulator-name = "vdd_sdmmc1";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-boot-on;
+			regulator-always-on;
+			enable-active-high;
+			gpio = <&gpio 31 0>; /* gpio PD7 */
+			vin-supply = <&sys_3v3_reg>;
+		};
+
+		vdd_vid_reg: regulator@13 {
+			compatible = "regulator-fixed";
+			reg = <13>;
+			regulator-name = "vddio_vid";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			gpio = <&gpio 152 0>; /* GPIO PT0 */
+			gpio-open-drain;
+			vin-supply = <&vdd_5v0_reg>;
+		};
 	};
 
 	sound {
-- 
1.7.1.1

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

* [PATCH 3/3] ARM: tegra: cardhu: add dt entry for fixed regulators
@ 2012-08-08  6:48   ` Laxman Dewangan
  0 siblings, 0 replies; 17+ messages in thread
From: Laxman Dewangan @ 2012-08-08  6:48 UTC (permalink / raw)
  To: swarren, olof; +Cc: linux, linux-kernel, linux-tegra, Laxman Dewangan

Cadhu have multiple power rails which are controlled by
GPIOs. Add support of these power rail control through
fixed regulators. Add entry for all fixed regulators for
cardhu-a02 and a04.
The details are taken from downstream kernel.
Also add the tps65910-LDO5 entry and make it always ON
to suppy power to SDMMC. Once the sd driver support
regulator handling, this flag will be remove.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
 arch/arm/boot/dts/tegra30-cardhu-a02.dts |   76 ++++++++++++++
 arch/arm/boot/dts/tegra30-cardhu-a04.dts |   88 +++++++++++++++++
 arch/arm/boot/dts/tegra30-cardhu.dtsi    |  158 ++++++++++++++++++++++++++++++
 3 files changed, 322 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/tegra30-cardhu-a02.dts b/arch/arm/boot/dts/tegra30-cardhu-a02.dts
index dd870b7..3fe7e23 100644
--- a/arch/arm/boot/dts/tegra30-cardhu-a02.dts
+++ b/arch/arm/boot/dts/tegra30-cardhu-a02.dts
@@ -7,5 +7,81 @@
 / {
 	model = "NVIDIA Tegra30 Cardhu A02 evaluation board";
 	compatible = "nvidia,cardhu-a02", "nvidia,cardhu", "nvidia,tegra30";
+
+	regulators {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		ddr_reg: regulator@100 {
+			compatible = "regulator-fixed";
+			reg = <100>;
+			regulator-name = "vdd_ddr";
+			regulator-min-microvolt = <1500000>;
+			regulator-max-microvolt = <1500000>;
+			regulator-boot-on;
+			regulator-always-on;
+			enable-active-high;
+			gpio = <&pmic 6 0>;
+		};
+
+		sys_3v3_reg: regulator@101 {
+			compatible = "regulator-fixed";
+			reg = <101>;
+			regulator-name = "sys_3v3";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-boot-on;
+			regulator-always-on;
+			enable-active-high;
+			gpio = <&pmic 7 0>;
+		};
+
+		usb1_vbus_reg: regulator@102 {
+			compatible = "regulator-fixed";
+			reg = <102>;
+			regulator-name = "usb1_vbus";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			gpio = <&gpio 68 0>; /* GPIO PI4 */
+			gpio-open-drain;
+			vin-supply = <&vdd_5v0_reg>;
+		};
+
+		usb3_vbus_reg: regulator@103 {
+			compatible = "regulator-fixed";
+			reg = <103>;
+			regulator-name = "usb3_vbus";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			gpio = <&gpio 63 0>; /* GPIO PH7 */
+			gpio-open-drain;
+			vin-supply = <&vdd_5v0_reg>;
+		};
+
+		vdd_5v0_reg: regulator@104 {
+			compatible = "regulator-fixed";
+			reg = <104>;
+			regulator-name = "5v0";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			gpio = <&pmic 2 0>;
+		};
+
+		vdd_bl_reg: regulator@105 {
+			compatible = "regulator-fixed";
+			reg = <105>;
+			regulator-name = "vdd_bl";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			regulator-boot-on;
+			regulator-always-on;
+			enable-active-high;
+			gpio = <&gpio 83 0>; /* GPIO PK3 */
+		};
+	};
 };
 
diff --git a/arch/arm/boot/dts/tegra30-cardhu-a04.dts b/arch/arm/boot/dts/tegra30-cardhu-a04.dts
index a4cae6c..7f1ac8b 100644
--- a/arch/arm/boot/dts/tegra30-cardhu-a04.dts
+++ b/arch/arm/boot/dts/tegra30-cardhu-a04.dts
@@ -7,4 +7,92 @@
 / {
 	model = "NVIDIA Tegra30 Cardhu A04 (A05, A06, A07) evaluation board";
 	compatible = "nvidia,cardhu-a04", "nvidia,cardhu", "nvidia,tegra30";
+
+	regulators {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		ddr_reg: regulator@100 {
+			compatible = "regulator-fixed";
+			regulator-name = "ddr";
+			reg = <100>;
+			regulator-min-microvolt = <1500000>;
+			regulator-max-microvolt = <1500000>;
+			regulator-boot-on;
+			regulator-always-on;
+			enable-active-high;
+			gpio = <&pmic 7 0>;
+		};
+
+		sys_3v3_reg: regulator@101 {
+			compatible = "regulator-fixed";
+			reg = <101>;
+			regulator-name = "sys_3v3";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-boot-on;
+			regulator-always-on;
+			enable-active-high;
+			gpio = <&pmic 6 0>;
+		};
+
+		usb1_vbus_reg: regulator@102 {
+			compatible = "regulator-fixed";
+			reg = <102>;
+			regulator-name = "usb1_vbus";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			gpio = <&gpio 238 0>; /* GPIO PDD6 */
+			gpio-open-drain;
+			vin-supply = <&vdd_5v0_reg>;
+		};
+
+		usb3_vbus_reg: regulator@103 {
+			compatible = "regulator-fixed";
+			reg = <103>;
+			regulator-name = "usb3_vbus";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			gpio = <&gpio 236 0>; /* GPIO PDD4 */
+			gpio-open-drain;
+			vin-supply = <&vdd_5v0_reg>;
+		};
+
+		vdd_5v0_reg: regulator@104 {
+			compatible = "regulator-fixed";
+			reg = <104>;
+			regulator-name = "5v0";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			gpio = <&pmic 8 0>;
+		};
+
+		vdd_bl_reg: regulator@105 {
+			compatible = "regulator-fixed";
+			reg = <105>;
+			regulator-name = "vdd_bl";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			regulator-boot-on;
+			regulator-always-on;
+			enable-active-high;
+			gpio = <&gpio 234 0>; /* GPIO PDD2 */
+		};
+
+		vdd_bl2_reg: regulator@106 {
+			compatible = "regulator-fixed";
+			reg = <106>;
+			regulator-name = "vdd_bl2";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			regulator-boot-on;
+			regulator-always-on;
+			enable-active-high;
+			gpio = <&gpio 232 0>; /* GPIO PDD0 */
+		};
+	};
 };
diff --git a/arch/arm/boot/dts/tegra30-cardhu.dtsi b/arch/arm/boot/dts/tegra30-cardhu.dtsi
index c156273..e40f3fd 100644
--- a/arch/arm/boot/dts/tegra30-cardhu.dtsi
+++ b/arch/arm/boot/dts/tegra30-cardhu.dtsi
@@ -161,6 +161,7 @@
 			vcc1-supply = <&vdd_ac_bat_reg>;
 			vcc2-supply = <&vdd_ac_bat_reg>;
 			vcc3-supply = <&vio_reg>;
+			vcc4-supply = <&vdd_5v0_reg>;
 			vcc5-supply = <&vdd_ac_bat_reg>;
 			vcc6-supply = <&vdd2_reg>;
 			vcc7-supply = <&vdd_ac_bat_reg>;
@@ -233,6 +234,15 @@
 					regulator-always-on;
 				};
 
+				ldo5_reg: regulator@8 {
+					reg = <8>;
+					regulator-compatible = "ldo5";
+					regulator-name = "vddio_sdmmc,avdd_vdac";
+					regulator-min-microvolt = <3300000>;
+					regulator-max-microvolt = <3300000>;
+					regulator-always-on;
+				};
+
 				ldo6_reg: regulator@9 {
 					reg = <9>;
 					regulator-compatible = "ldo6";
@@ -299,6 +309,154 @@
 			regulator-max-microvolt = <5000000>;
 			regulator-always-on;
 		};
+
+		cam_1v8_reg: regulator@1 {
+			compatible = "regulator-fixed";
+			reg = <1>;
+			regulator-name = "cam_1v8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			enable-active-high;
+			gpio = <&gpio 220 0>; /* gpio PBB4 */
+			vin-supply = <&vio_reg>;
+		};
+
+		cp_5v_reg: regulator@2 {
+			compatible = "regulator-fixed";
+			reg = <2>;
+			regulator-name = "cp_5v";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			regulator-boot-on;
+			regulator-always-on;
+			enable-active-high;
+			gpio = <&pmic 0 0>; /* PMIC TPS65911 GPIO0 */
+		};
+
+		emmc_3v3_reg: regulator@3 {
+			compatible = "regulator-fixed";
+			reg = <3>;
+			regulator-name = "emmc_3v3";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-boot-on;
+			regulator-always-on;
+			enable-active-high;
+			gpio = <&gpio 25 0>; /* gpio PD1 */
+			vin-supply = <&sys_3v3_reg>;
+		};
+
+		modem_3v3_reg: regulator@4 {
+			compatible = "regulator-fixed";
+			reg = <4>;
+			regulator-name = "modem_3v3";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			enable-active-high;
+			gpio = <&gpio 30 0>; /* gpio PD6>
+		};
+
+		pex_hvdd_3v3_reg: regulator@5 {
+			compatible = "regulator-fixed";
+			reg = <5>;
+			regulator-name = "pex_hvdd_3v3";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			enable-active-high;
+			gpio = <&gpio 95 0>; /* gpio PL7 */
+			vin-supply = <&sys_3v3_reg>;
+		};
+
+		vdd_cam1_ldo_reg: regulator@6 {
+			compatible = "regulator-fixed";
+			reg = <6>;
+			regulator-name = "vdd_cam1_ldo";
+			regulator-min-microvolt = <2800000>;
+			regulator-max-microvolt = <2800000>;
+			enable-active-high;
+			gpio = <&gpio 142 0>; /* gpio PR6 */
+			vin-supply = <&sys_3v3_reg>;
+		};
+
+		vdd_cam2_ldo_reg: regulator@7 {
+			compatible = "regulator-fixed";
+			reg = <7>;
+			regulator-name = "vdd_cam2_ldo";
+			regulator-min-microvolt = <2800000>;
+			regulator-max-microvolt = <2800000>;
+			enable-active-high;
+			gpio = <&gpio 143 0>; /* gpio PR7 */
+			vin-supply = <&sys_3v3_reg>;
+		};
+
+		vdd_cam3_ldo_reg: regulator@8 {
+			compatible = "regulator-fixed";
+			reg = <8>;
+			regulator-name = "vdd_cam3_ldo";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			enable-active-high;
+			gpio = <&gpio 144 0>; /* gpio PS0 */
+			vin-supply = <&sys_3v3_reg>;
+		};
+
+		vdd_com_reg: regulator@9 {
+			compatible = "regulator-fixed";
+			reg = <9>;
+			regulator-name = "vdd_com";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			enable-active-high;
+			gpio = <&gpio 24 0>; /* gpio PD0 */
+			vin-supply = <&sys_3v3_reg>;
+		};
+
+		vdd_fuse_3v3_reg: regulator@10 {
+			compatible = "regulator-fixed";
+			reg = <10>;
+			regulator-name = "vdd_fuse_3v3";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			enable-active-high;
+			gpio = <&gpio 94 0>; /* gpio PL6 */
+			vin-supply = <&sys_3v3_reg>;
+		};
+
+		vdd_pnl1_reg: regulator@11 {
+			compatible = "regulator-fixed";
+			reg = <11>;
+			regulator-name = "vdd_pnl1";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			enable-active-high;
+			gpio = <&gpio 92 0>; /* gpio PL4 */
+			vin-supply = <&sys_3v3_reg>;
+		};
+
+		vdd_sdmmc1_reg: regulator@12 {
+			compatible = "regulator-fixed";
+			reg = <12>;
+			regulator-name = "vdd_sdmmc1";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-boot-on;
+			regulator-always-on;
+			enable-active-high;
+			gpio = <&gpio 31 0>; /* gpio PD7 */
+			vin-supply = <&sys_3v3_reg>;
+		};
+
+		vdd_vid_reg: regulator@13 {
+			compatible = "regulator-fixed";
+			reg = <13>;
+			regulator-name = "vddio_vid";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			gpio = <&gpio 152 0>; /* GPIO PT0 */
+			gpio-open-drain;
+			vin-supply = <&vdd_5v0_reg>;
+		};
 	};
 
 	sound {
-- 
1.7.1.1


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

* Re: [PATCH 2/3] ARM: dt: tegra: cardhu: split dts file for support multiple board versions
  2012-08-08  6:48   ` Laxman Dewangan
@ 2012-08-08 16:30       ` Stephen Warren
  -1 siblings, 0 replies; 17+ messages in thread
From: Stephen Warren @ 2012-08-08 16:30 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: olof-nZhT3qVonbNeoWH0uzbU5w, linux-lFZ/pmaqli7XmaaqVzeoHQ,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

On 08/08/2012 12:48 AM, Laxman Dewangan wrote:
> There is multiple version of cardhu starting from A01 to A07.
> Cardhu A01 and A03 are not supported. Cardhu A02 will have
> different sets of GPIOs for fixed regulator compare to
> cardhu A04. The Cardhu A05, A06, A07 are compatibe with A04.
> Based on cardhu version, the related dts file need to be chosen
> like for cardhu A02, use tegra30-cardhu-a02.dts, cardhu A04 and
> more, use tegra30-cardhu-a04.dts.
> This patch create the DTS file A02 and A04 and convert tegra30-cardhu.dts
> as dts include file.
> 

> diff --git a/arch/arm/boot/dts/tegra30-cardhu.dts b/arch/arm/boot/dts/tegra30-cardhu.dtsi

> +/**
> + * This file contains common DT entry for all fab version of Cardhu.
> + * There is multiple fab version of Cardhu starting from A01 to A07.
> + * Cardhu fab version A01 and A03 are not supported. Cardhu fab version
> + * A02 will have different sets of GPIOs for fixed regulator compare to
> + * Cardhu fab version A04. The Cardhu fab version A05, A06, A07 are
> + * compatible with fab version A04. Based on Cardhu fab version, the
> + * related dts file need to be chosen like for Cardhu fab version A02,
> + * use tegra30-cardhu-a02.dts, Cardhu fab version A04 and later, use
> + * tegra30-cardhu-a04.dts.
> + * The identification of board is done in two ways, by looking the sticker
> + * on PCB and by reading board id eeprom.
> + * The stciker will have number like 600-81291-1000-002 C.3. In this 4th
> + * number is the fab version like here it is 002 and hence fab version A02.
> + * The The (downstream internal) U-Boot of Cardhu display the board-id as

"The The"

> + * follows:
> + * BoardID: 0C5B, SKU: 0A01, Fab: 02, Rev: 45.00
> + * In this Fab version is 02 i.e. A02.
> + * The BoardID eeprom is interfaced through i2c5 (pwr_i2c). The location 0x8
> + * contains the Fab version. It is 1 byte wide.

That should also mention the Board ID EEPROM's I2C address (0x56).

I can fix up these two issues when I apply the patches.

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

* Re: [PATCH 2/3] ARM: dt: tegra: cardhu: split dts file for support multiple board versions
@ 2012-08-08 16:30       ` Stephen Warren
  0 siblings, 0 replies; 17+ messages in thread
From: Stephen Warren @ 2012-08-08 16:30 UTC (permalink / raw)
  To: Laxman Dewangan; +Cc: olof, linux, linux-kernel, linux-tegra

On 08/08/2012 12:48 AM, Laxman Dewangan wrote:
> There is multiple version of cardhu starting from A01 to A07.
> Cardhu A01 and A03 are not supported. Cardhu A02 will have
> different sets of GPIOs for fixed regulator compare to
> cardhu A04. The Cardhu A05, A06, A07 are compatibe with A04.
> Based on cardhu version, the related dts file need to be chosen
> like for cardhu A02, use tegra30-cardhu-a02.dts, cardhu A04 and
> more, use tegra30-cardhu-a04.dts.
> This patch create the DTS file A02 and A04 and convert tegra30-cardhu.dts
> as dts include file.
> 

> diff --git a/arch/arm/boot/dts/tegra30-cardhu.dts b/arch/arm/boot/dts/tegra30-cardhu.dtsi

> +/**
> + * This file contains common DT entry for all fab version of Cardhu.
> + * There is multiple fab version of Cardhu starting from A01 to A07.
> + * Cardhu fab version A01 and A03 are not supported. Cardhu fab version
> + * A02 will have different sets of GPIOs for fixed regulator compare to
> + * Cardhu fab version A04. The Cardhu fab version A05, A06, A07 are
> + * compatible with fab version A04. Based on Cardhu fab version, the
> + * related dts file need to be chosen like for Cardhu fab version A02,
> + * use tegra30-cardhu-a02.dts, Cardhu fab version A04 and later, use
> + * tegra30-cardhu-a04.dts.
> + * The identification of board is done in two ways, by looking the sticker
> + * on PCB and by reading board id eeprom.
> + * The stciker will have number like 600-81291-1000-002 C.3. In this 4th
> + * number is the fab version like here it is 002 and hence fab version A02.
> + * The The (downstream internal) U-Boot of Cardhu display the board-id as

"The The"

> + * follows:
> + * BoardID: 0C5B, SKU: 0A01, Fab: 02, Rev: 45.00
> + * In this Fab version is 02 i.e. A02.
> + * The BoardID eeprom is interfaced through i2c5 (pwr_i2c). The location 0x8
> + * contains the Fab version. It is 1 byte wide.

That should also mention the Board ID EEPROM's I2C address (0x56).

I can fix up these two issues when I apply the patches.

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

* Re: [PATCH 0/3] ARM: dt: tegra: cardhu: add entry for regulators
  2012-08-08  6:48 ` Laxman Dewangan
                   ` (3 preceding siblings ...)
  (?)
@ 2012-08-08 17:18 ` Stephen Warren
       [not found]   ` <50229F6C.10802-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
  -1 siblings, 1 reply; 17+ messages in thread
From: Stephen Warren @ 2012-08-08 17:18 UTC (permalink / raw)
  To: Laxman Dewangan; +Cc: olof, linux, linux-kernel, linux-tegra

On 08/08/2012 12:48 AM, Laxman Dewangan wrote:
> This patch series add the PMIC and fixed regulators for 
> cardhu board. There is multiple versions of cardhu baord named
> as A01, A02, A03..and so on. Cardhu A01 and A03 are not supported.
> Cardhu A02 and A04 have different sets of GPIO for regualtors.
> The cardhu A04 is compatible for A05, A06 and A07 in GPIOs.
> This patch series split the cardhu dts file to cardhu-a02 and 
> carchu-a04 and then add entry for different fixed regualtors.

With this series, I see the following warnings:

tps65910 4-002d: VMBCH-Threshold not specified
tps65910 4-002d: VMBCH2-Threshold not specified

I also see the following error:

vdd_sdmmc1: Failed to request enable GPIO31: -16
reg-fixed-voltage c.regulator: Failed to register regulator: -16
reg-fixed-voltage: probe of c.regulator failed with error -16

... because both the existing SDHCI node and the new "vdd_sdmmc1_reg:
regulator@12" node both use the same GPIO.

I also don't see "pex_hvdd_3v3_reg: regulator@5" being created, for
reasons I haven't tracked down.

Note that I have a Cardhu A02, although all the issues are with
regulators in the common file.

Can you please fix these, roll in the fixes for the board ID comment
issues I mentioned before, retest to ensure there are no errors and that
all regulators get created as expected, and resubmit.

Thanks.

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

* Re: [PATCH 0/3] ARM: dt: tegra: cardhu: add entry for regulators
  2012-08-08  6:48 ` Laxman Dewangan
@ 2012-08-08 17:28     ` Stephen Warren
  -1 siblings, 0 replies; 17+ messages in thread
From: Stephen Warren @ 2012-08-08 17:28 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: olof-nZhT3qVonbNeoWH0uzbU5w, linux-lFZ/pmaqli7XmaaqVzeoHQ,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

On 08/08/2012 12:48 AM, Laxman Dewangan wrote:
> This patch series add the PMIC and fixed regulators for 
> cardhu board. There is multiple versions of cardhu baord named
> as A01, A02, A03..and so on. Cardhu A01 and A03 are not supported.
> Cardhu A02 and A04 have different sets of GPIO for regualtors.
> The cardhu A04 is compatible for A05, A06 and A07 in GPIOs.
> This patch series split the cardhu dts file to cardhu-a02 and 
> carchu-a04 and then add entry for different fixed regualtors.

Two more comments on this patch, sorry for the noise...

1) With this patch, running "reboot" or "shutdown -r now" no longer
works; the system hangs. Reboot works fine without this patch, in
next-20120708.

2) U-Boot initializes the LCD, and prints to it. This is left running
when the kernel is booted, and the kernel doesn't reprogram the HW, so
the LCD continues to scan out some "random" area of memory. Typically,
this then gets used and so the LCD shows random patterns. In today's
linux-next it seems to be turned black though; not sure why that's
happening. Either way, this patch turns the whole LCD completely white.
Is that an expected change?

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

* Re: [PATCH 0/3] ARM: dt: tegra: cardhu: add entry for regulators
@ 2012-08-08 17:28     ` Stephen Warren
  0 siblings, 0 replies; 17+ messages in thread
From: Stephen Warren @ 2012-08-08 17:28 UTC (permalink / raw)
  To: Laxman Dewangan; +Cc: olof, linux, linux-kernel, linux-tegra

On 08/08/2012 12:48 AM, Laxman Dewangan wrote:
> This patch series add the PMIC and fixed regulators for 
> cardhu board. There is multiple versions of cardhu baord named
> as A01, A02, A03..and so on. Cardhu A01 and A03 are not supported.
> Cardhu A02 and A04 have different sets of GPIO for regualtors.
> The cardhu A04 is compatible for A05, A06 and A07 in GPIOs.
> This patch series split the cardhu dts file to cardhu-a02 and 
> carchu-a04 and then add entry for different fixed regualtors.

Two more comments on this patch, sorry for the noise...

1) With this patch, running "reboot" or "shutdown -r now" no longer
works; the system hangs. Reboot works fine without this patch, in
next-20120708.

2) U-Boot initializes the LCD, and prints to it. This is left running
when the kernel is booted, and the kernel doesn't reprogram the HW, so
the LCD continues to scan out some "random" area of memory. Typically,
this then gets used and so the LCD shows random patterns. In today's
linux-next it seems to be turned black though; not sure why that's
happening. Either way, this patch turns the whole LCD completely white.
Is that an expected change?

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

* Re: [PATCH 0/3] ARM: dt: tegra: cardhu: add entry for regulators
  2012-08-08 17:18 ` [PATCH 0/3] ARM: dt: tegra: cardhu: add entry for regulators Stephen Warren
@ 2012-08-09 10:54       ` Laxman Dewangan
  0 siblings, 0 replies; 17+ messages in thread
From: Laxman Dewangan @ 2012-08-09 10:54 UTC (permalink / raw)
  To: Stephen Warren
  Cc: olof-nZhT3qVonbNeoWH0uzbU5w, linux-lFZ/pmaqli7XmaaqVzeoHQ,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

On Wednesday 08 August 2012 10:48 PM, Stephen Warren wrote:
> On 08/08/2012 12:48 AM, Laxman Dewangan wrote:
>> This patch series add the PMIC and fixed regulators for
>> cardhu board. There is multiple versions of cardhu baord named
>> as A01, A02, A03..and so on. Cardhu A01 and A03 are not supported.
>> Cardhu A02 and A04 have different sets of GPIO for regualtors.
>> The cardhu A04 is compatible for A05, A06 and A07 in GPIOs.
>> This patch series split the cardhu dts file to cardhu-a02 and
>> carchu-a04 and then add entry for different fixed regualtors.
> With this series, I see the following warnings:
>
> tps65910 4-002d: VMBCH-Threshold not specified
> tps65910 4-002d: VMBCH2-Threshold not specified
>
This is noise from driver. The vmbch entries are optional as per 
document and so should not throw warning. Either fix will go to driver 
or with documentation file and then on DT. Will work on  this as 
independent patch, atleast not with this series.


> I also see the following error:
>
> vdd_sdmmc1: Failed to request enable GPIO31: -16
> reg-fixed-voltage c.regulator: Failed to register regulator: -16
> reg-fixed-voltage: probe of c.regulator failed with error -16
>

The sdhci node take the gpio as power-gpio and conflict with this 
regulator gpio. I dropped the vdd_sdmmc1 as sdhci driver need to change 
accordingly to handle deferred probe.
Will add registration of that file later.

> ... because both the existing SDHCI node and the new "vdd_sdmmc1_reg:
> regulator@12" node both use the same GPIO.
>
> I also don't see "pex_hvdd_3v3_reg: regulator@5" being created, for
> reasons I haven't tracked down.

The issue is comment was not closed. Fixed it in next patch.

> Note that I have a Cardhu A02, although all the issues are with
> regulators in the common file.
>
> Can you please fix these, roll in the fixes for the board ID comment
> issues I mentioned before, retest to ensure there are no errors and that
> all regulators get created as expected, and resubmit.

I fixed as per above details and did not observe any failure on my testing.

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

* Re: [PATCH 0/3] ARM: dt: tegra: cardhu: add entry for regulators
@ 2012-08-09 10:54       ` Laxman Dewangan
  0 siblings, 0 replies; 17+ messages in thread
From: Laxman Dewangan @ 2012-08-09 10:54 UTC (permalink / raw)
  To: Stephen Warren; +Cc: olof, linux, linux-kernel, linux-tegra

On Wednesday 08 August 2012 10:48 PM, Stephen Warren wrote:
> On 08/08/2012 12:48 AM, Laxman Dewangan wrote:
>> This patch series add the PMIC and fixed regulators for
>> cardhu board. There is multiple versions of cardhu baord named
>> as A01, A02, A03..and so on. Cardhu A01 and A03 are not supported.
>> Cardhu A02 and A04 have different sets of GPIO for regualtors.
>> The cardhu A04 is compatible for A05, A06 and A07 in GPIOs.
>> This patch series split the cardhu dts file to cardhu-a02 and
>> carchu-a04 and then add entry for different fixed regualtors.
> With this series, I see the following warnings:
>
> tps65910 4-002d: VMBCH-Threshold not specified
> tps65910 4-002d: VMBCH2-Threshold not specified
>
This is noise from driver. The vmbch entries are optional as per 
document and so should not throw warning. Either fix will go to driver 
or with documentation file and then on DT. Will work on  this as 
independent patch, atleast not with this series.


> I also see the following error:
>
> vdd_sdmmc1: Failed to request enable GPIO31: -16
> reg-fixed-voltage c.regulator: Failed to register regulator: -16
> reg-fixed-voltage: probe of c.regulator failed with error -16
>

The sdhci node take the gpio as power-gpio and conflict with this 
regulator gpio. I dropped the vdd_sdmmc1 as sdhci driver need to change 
accordingly to handle deferred probe.
Will add registration of that file later.

> ... because both the existing SDHCI node and the new "vdd_sdmmc1_reg:
> regulator@12" node both use the same GPIO.
>
> I also don't see "pex_hvdd_3v3_reg: regulator@5" being created, for
> reasons I haven't tracked down.

The issue is comment was not closed. Fixed it in next patch.

> Note that I have a Cardhu A02, although all the issues are with
> regulators in the common file.
>
> Can you please fix these, roll in the fixes for the board ID comment
> issues I mentioned before, retest to ensure there are no errors and that
> all regulators get created as expected, and resubmit.

I fixed as per above details and did not observe any failure on my testing.


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

* Re: [PATCH 0/3] ARM: dt: tegra: cardhu: add entry for regulators
  2012-08-08 17:28     ` Stephen Warren
@ 2012-08-09 10:59         ` Laxman Dewangan
  -1 siblings, 0 replies; 17+ messages in thread
From: Laxman Dewangan @ 2012-08-09 10:59 UTC (permalink / raw)
  To: Stephen Warren
  Cc: olof-nZhT3qVonbNeoWH0uzbU5w, linux-lFZ/pmaqli7XmaaqVzeoHQ,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

On Wednesday 08 August 2012 10:58 PM, Stephen Warren wrote:
> On 08/08/2012 12:48 AM, Laxman Dewangan wrote:
>> This patch series add the PMIC and fixed regulators for
>> cardhu board. There is multiple versions of cardhu baord named
>> as A01, A02, A03..and so on. Cardhu A01 and A03 are not supported.
>> Cardhu A02 and A04 have different sets of GPIO for regualtors.
>> The cardhu A04 is compatible for A05, A06 and A07 in GPIOs.
>> This patch series split the cardhu dts file to cardhu-a02 and
>> carchu-a04 and then add entry for different fixed regualtors.
> Two more comments on this patch, sorry for the noise...
>
> 1) With this patch, running "reboot" or "shutdown -r now" no longer
> works; the system hangs. Reboot works fine without this patch, in
> next-20120708.

I tested reboot and it worked fine with me on my patch v2 series.

> 2) U-Boot initializes the LCD, and prints to it. This is left running
> when the kernel is booted, and the kernel doesn't reprogram the HW, so
> the LCD continues to scan out some "random" area of memory. Typically,
> this then gets used and so the LCD shows random patterns. In today's
> linux-next it seems to be turned black though; not sure why that's
> happening. Either way, this patch turns the whole LCD completely white.
> Is that an expected change?

The panel power was not ON and hence the white screen. Fixed it in patch 
V2 to make always ON with boot-on.

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

* Re: [PATCH 0/3] ARM: dt: tegra: cardhu: add entry for regulators
@ 2012-08-09 10:59         ` Laxman Dewangan
  0 siblings, 0 replies; 17+ messages in thread
From: Laxman Dewangan @ 2012-08-09 10:59 UTC (permalink / raw)
  To: Stephen Warren; +Cc: olof, linux, linux-kernel, linux-tegra

On Wednesday 08 August 2012 10:58 PM, Stephen Warren wrote:
> On 08/08/2012 12:48 AM, Laxman Dewangan wrote:
>> This patch series add the PMIC and fixed regulators for
>> cardhu board. There is multiple versions of cardhu baord named
>> as A01, A02, A03..and so on. Cardhu A01 and A03 are not supported.
>> Cardhu A02 and A04 have different sets of GPIO for regualtors.
>> The cardhu A04 is compatible for A05, A06 and A07 in GPIOs.
>> This patch series split the cardhu dts file to cardhu-a02 and
>> carchu-a04 and then add entry for different fixed regualtors.
> Two more comments on this patch, sorry for the noise...
>
> 1) With this patch, running "reboot" or "shutdown -r now" no longer
> works; the system hangs. Reboot works fine without this patch, in
> next-20120708.

I tested reboot and it worked fine with me on my patch v2 series.

> 2) U-Boot initializes the LCD, and prints to it. This is left running
> when the kernel is booted, and the kernel doesn't reprogram the HW, so
> the LCD continues to scan out some "random" area of memory. Typically,
> this then gets used and so the LCD shows random patterns. In today's
> linux-next it seems to be turned black though; not sure why that's
> happening. Either way, this patch turns the whole LCD completely white.
> Is that an expected change?

The panel power was not ON and hence the white screen. Fixed it in patch 
V2 to make always ON with boot-on.


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

end of thread, other threads:[~2012-08-09 11:14 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-08  6:48 [PATCH 0/3] ARM: dt: tegra: cardhu: add entry for regulators Laxman Dewangan
2012-08-08  6:48 ` Laxman Dewangan
2012-08-08  6:48 ` [PATCH 1/3] ARM: dt: tegra: cardhu: add entry for PMIC TPS65911 Laxman Dewangan
2012-08-08  6:48   ` Laxman Dewangan
2012-08-08  6:48 ` [PATCH 2/3] ARM: dt: tegra: cardhu: split dts file for support multiple board versions Laxman Dewangan
2012-08-08  6:48   ` Laxman Dewangan
     [not found]   ` <1344408527-32051-3-git-send-email-ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-08-08 16:30     ` Stephen Warren
2012-08-08 16:30       ` Stephen Warren
2012-08-08  6:48 ` [PATCH 3/3] ARM: tegra: cardhu: add dt entry for fixed regulators Laxman Dewangan
2012-08-08  6:48   ` Laxman Dewangan
2012-08-08 17:18 ` [PATCH 0/3] ARM: dt: tegra: cardhu: add entry for regulators Stephen Warren
     [not found]   ` <50229F6C.10802-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-08-09 10:54     ` Laxman Dewangan
2012-08-09 10:54       ` Laxman Dewangan
     [not found] ` <1344408527-32051-1-git-send-email-ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-08-08 17:28   ` Stephen Warren
2012-08-08 17:28     ` Stephen Warren
     [not found]     ` <5022A1DA.5000203-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-08-09 10:59       ` Laxman Dewangan
2012-08-09 10:59         ` Laxman Dewangan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.