All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ARM: tegra: define Jetson TK1 regulators
@ 2014-04-14 22:55 ` Stephen Warren
  0 siblings, 0 replies; 10+ messages in thread
From: Stephen Warren @ 2014-04-14 22:55 UTC (permalink / raw)
  To: swarren-3lzwWm7+Weoh9ZMKESR00Q
  Cc: Thierry Reding, linux-tegra-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	Stephen Warren

From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

These are mostly identical to the Venice2 regulator definitions, since
the board designs are very similar. Differences are:

- Jetson TK1 doesn't have a built-in LCD panel, so on-board regulators
  are not present for the backlight, touchscreen, or panel.
- +3.3V_RUN needs to be boot-on/always-on, since it's widely used. This
  change should likely be propagated to Venice2 for completeness,
  although it will have no practical effect there since various other
  regulators use +3.3V_RUN as their supply and are always-on.
- +3.3V_LP0 needs to be boot-on as well as always-on. One reason
  is because it's used to driver the UART level-shifter; without this, I
  see a brief period of UART corruption during cold boots.I suspect this
  change needs to be propagated to Venice2, and we simply haven't noticed
  the need since there's no UART level-shifter on Venice2.
- A few rails have different names in the schematics.

Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
 arch/arm/boot/dts/tegra124-jetson-tk1.dts | 230 ++++++++++++++++++++++++++++++
 1 file changed, 230 insertions(+)

diff --git a/arch/arm/boot/dts/tegra124-jetson-tk1.dts b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
index dedcb0c165c5..ae5c750dc515 100644
--- a/arch/arm/boot/dts/tegra124-jetson-tk1.dts
+++ b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
@@ -1426,6 +1426,155 @@
 					bias-high-impedance;
 				};
 			};
+
+			regulators {
+				vsup-sd2-supply = <&vdd_5v0_sys>;
+				vsup-sd3-supply = <&vdd_5v0_sys>;
+				vsup-sd4-supply = <&vdd_5v0_sys>;
+				vsup-sd5-supply = <&vdd_5v0_sys>;
+				vin-ldo0-supply = <&vdd_1v35_lp0>;
+				vin-ldo1-6-supply = <&vdd_3v3_run>;
+				vin-ldo2-5-7-supply = <&vddio_1v8>;
+				vin-ldo3-4-supply = <&vdd_3v3_sys>;
+				vin-ldo9-10-supply = <&vdd_5v0_sys>;
+				vin-ldo11-supply = <&vdd_3v3_run>;
+
+				sd0 {
+					regulator-name = "+VDD_CPU_AP";
+					regulator-min-microvolt = <700000>;
+					regulator-max-microvolt = <1400000>;
+					regulator-min-microamp = <3500000>;
+					regulator-max-microamp = <3500000>;
+					regulator-always-on;
+					regulator-boot-on;
+					ams,external-control = <2>;
+				};
+
+				sd1 {
+					regulator-name = "+VDD_CORE";
+					regulator-min-microvolt = <700000>;
+					regulator-max-microvolt = <1350000>;
+					regulator-min-microamp = <2500000>;
+					regulator-max-microamp = <2500000>;
+					regulator-always-on;
+					regulator-boot-on;
+					ams,external-control = <1>;
+				};
+
+				vdd_1v35_lp0: sd2 {
+					regulator-name = "+1.35V_LP0(sd2)";
+					regulator-min-microvolt = <1350000>;
+					regulator-max-microvolt = <1350000>;
+					regulator-always-on;
+					regulator-boot-on;
+				};
+
+				sd3 {
+					regulator-name = "+1.35V_LP0(sd3)";
+					regulator-min-microvolt = <1350000>;
+					regulator-max-microvolt = <1350000>;
+					regulator-always-on;
+					regulator-boot-on;
+				};
+
+				sd4 {
+					regulator-name = "+1.05V_RUN";
+					regulator-min-microvolt = <1050000>;
+					regulator-max-microvolt = <1050000>;
+				};
+
+				vddio_1v8: sd5 {
+					regulator-name = "+1.8V_VDDIO";
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+					regulator-boot-on;
+					regulator-always-on;
+				};
+
+				sd6 {
+					regulator-name = "+VDD_GPU_AP";
+					regulator-min-microvolt = <650000>;
+					regulator-max-microvolt = <1200000>;
+					regulator-min-microamp = <3500000>;
+					regulator-max-microamp = <3500000>;
+					regulator-boot-on;
+					regulator-always-on;
+				};
+
+				ldo0 {
+					regulator-name = "+1.05V_RUN_AVDD";
+					regulator-min-microvolt = <1050000>;
+					regulator-max-microvolt = <1050000>;
+					regulator-boot-on;
+					regulator-always-on;
+					ams,external-control = <1>;
+				};
+
+				ldo1 {
+					regulator-name = "+1.8V_RUN_CAM";
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+				};
+
+				ldo2 {
+					regulator-name = "+1.2V_GEN_AVDD";
+					regulator-min-microvolt = <1200000>;
+					regulator-max-microvolt = <1200000>;
+					regulator-boot-on;
+					regulator-always-on;
+				};
+
+				ldo3 {
+					regulator-name = "+1.05V_LP0_VDD_RTC";
+					regulator-min-microvolt = <1000000>;
+					regulator-max-microvolt = <1000000>;
+					regulator-boot-on;
+					regulator-always-on;
+					ams,enable-tracking;
+				};
+
+				ldo4 {
+					regulator-name = "+2.8V_RUN_CAM";
+					regulator-min-microvolt = <2800000>;
+					regulator-max-microvolt = <2800000>;
+				};
+
+				ldo5 {
+					regulator-name = "+1.2V_RUN_CAM_FRONT";
+					regulator-min-microvolt = <1200000>;
+					regulator-max-microvolt = <1200000>;
+				};
+
+				vddio_sdmmc3: ldo6 {
+					regulator-name = "+VDDIO_SDMMC3";
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <3300000>;
+				};
+
+				ldo7 {
+					regulator-name = "+1.05V_RUN_CAM_REAR";
+					regulator-min-microvolt = <1050000>;
+					regulator-max-microvolt = <1050000>;
+				};
+
+				ldo9 {
+					regulator-name = "+3.3V_RUN_TOUCH";
+					regulator-min-microvolt = <2800000>;
+					regulator-max-microvolt = <2800000>;
+				};
+
+				ldo10 {
+					regulator-name = "+2.8V_RUN_CAM_AF";
+					regulator-min-microvolt = <2800000>;
+					regulator-max-microvolt = <2800000>;
+				};
+
+				ldo11 {
+					regulator-name = "+1.8V_RUN_VPP_FUSE";
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+				};
+			};
 		};
 	};
 
@@ -1462,6 +1611,7 @@
 		cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
 		power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
 		bus-width = <4>;
+		vmmc-supply = <&vddio_sdmmc3>;
 	};
 
 	/* eMMC */
@@ -1525,6 +1675,72 @@
 		#address-cells = <1>;
 		#size-cells = <0>;
 
+		vdd_mux: regulator@0 {
+			compatible = "regulator-fixed";
+			reg = <0>;
+			regulator-name = "+VDD_MUX";
+			regulator-min-microvolt = <12000000>;
+			regulator-max-microvolt = <12000000>;
+			regulator-always-on;
+			regulator-boot-on;
+		};
+
+		vdd_5v0_sys: regulator@1 {
+			compatible = "regulator-fixed";
+			reg = <1>;
+			regulator-name = "+5V_SYS";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			regulator-always-on;
+			regulator-boot-on;
+			vin-supply = <&vdd_mux>;
+		};
+
+		vdd_3v3_sys: regulator@2 {
+			compatible = "regulator-fixed";
+			reg = <2>;
+			regulator-name = "+3.3V_SYS";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-always-on;
+			regulator-boot-on;
+			vin-supply = <&vdd_mux>;
+		};
+
+		vdd_3v3_run: regulator@3 {
+			compatible = "regulator-fixed";
+			reg = <3>;
+			regulator-name = "+3.3V_RUN";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-always-on;
+			regulator-boot-on;
+			gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
+			enable-active-high;
+			vin-supply = <&vdd_3v3_sys>;
+		};
+
+		vdd_3v3_hdmi: regulator@4 {
+			compatible = "regulator-fixed";
+			reg = <4>;
+			regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			vin-supply = <&vdd_3v3_run>;
+		};
+
+		vdd_usb1_vbus: regulator@7 {
+			compatible = "regulator-fixed";
+			reg = <7>;
+			regulator-name = "+USB0_VBUS_SW";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
+			enable-active-high;
+			gpio-open-drain;
+			vin-supply = <&vdd_5v0_sys>;
+		};
+
 		vdd_usb3_vbus: regulator@8 {
 			compatible = "regulator-fixed";
 			reg = <8>;
@@ -1534,6 +1750,20 @@
 			gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
 			enable-active-high;
 			gpio-open-drain;
+			vin-supply = <&vdd_5v0_sys>;
+		};
+
+		vdd_3v3_lp0: regulator@10 {
+			compatible = "regulator-fixed";
+			reg = <10>;
+			regulator-name = "+3.3V_LP0";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-always-on;
+			regulator-boot-on;
+			gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
+			enable-active-high;
+			vin-supply = <&vdd_3v3_sys>;
 		};
 	};
 
-- 
1.8.1.5

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

* [PATCH] ARM: tegra: define Jetson TK1 regulators
@ 2014-04-14 22:55 ` Stephen Warren
  0 siblings, 0 replies; 10+ messages in thread
From: Stephen Warren @ 2014-04-14 22:55 UTC (permalink / raw)
  To: linux-arm-kernel

From: Stephen Warren <swarren@nvidia.com>

These are mostly identical to the Venice2 regulator definitions, since
the board designs are very similar. Differences are:

- Jetson TK1 doesn't have a built-in LCD panel, so on-board regulators
  are not present for the backlight, touchscreen, or panel.
- +3.3V_RUN needs to be boot-on/always-on, since it's widely used. This
  change should likely be propagated to Venice2 for completeness,
  although it will have no practical effect there since various other
  regulators use +3.3V_RUN as their supply and are always-on.
- +3.3V_LP0 needs to be boot-on as well as always-on. One reason
  is because it's used to driver the UART level-shifter; without this, I
  see a brief period of UART corruption during cold boots.I suspect this
  change needs to be propagated to Venice2, and we simply haven't noticed
  the need since there's no UART level-shifter on Venice2.
- A few rails have different names in the schematics.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
---
 arch/arm/boot/dts/tegra124-jetson-tk1.dts | 230 ++++++++++++++++++++++++++++++
 1 file changed, 230 insertions(+)

diff --git a/arch/arm/boot/dts/tegra124-jetson-tk1.dts b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
index dedcb0c165c5..ae5c750dc515 100644
--- a/arch/arm/boot/dts/tegra124-jetson-tk1.dts
+++ b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
@@ -1426,6 +1426,155 @@
 					bias-high-impedance;
 				};
 			};
+
+			regulators {
+				vsup-sd2-supply = <&vdd_5v0_sys>;
+				vsup-sd3-supply = <&vdd_5v0_sys>;
+				vsup-sd4-supply = <&vdd_5v0_sys>;
+				vsup-sd5-supply = <&vdd_5v0_sys>;
+				vin-ldo0-supply = <&vdd_1v35_lp0>;
+				vin-ldo1-6-supply = <&vdd_3v3_run>;
+				vin-ldo2-5-7-supply = <&vddio_1v8>;
+				vin-ldo3-4-supply = <&vdd_3v3_sys>;
+				vin-ldo9-10-supply = <&vdd_5v0_sys>;
+				vin-ldo11-supply = <&vdd_3v3_run>;
+
+				sd0 {
+					regulator-name = "+VDD_CPU_AP";
+					regulator-min-microvolt = <700000>;
+					regulator-max-microvolt = <1400000>;
+					regulator-min-microamp = <3500000>;
+					regulator-max-microamp = <3500000>;
+					regulator-always-on;
+					regulator-boot-on;
+					ams,external-control = <2>;
+				};
+
+				sd1 {
+					regulator-name = "+VDD_CORE";
+					regulator-min-microvolt = <700000>;
+					regulator-max-microvolt = <1350000>;
+					regulator-min-microamp = <2500000>;
+					regulator-max-microamp = <2500000>;
+					regulator-always-on;
+					regulator-boot-on;
+					ams,external-control = <1>;
+				};
+
+				vdd_1v35_lp0: sd2 {
+					regulator-name = "+1.35V_LP0(sd2)";
+					regulator-min-microvolt = <1350000>;
+					regulator-max-microvolt = <1350000>;
+					regulator-always-on;
+					regulator-boot-on;
+				};
+
+				sd3 {
+					regulator-name = "+1.35V_LP0(sd3)";
+					regulator-min-microvolt = <1350000>;
+					regulator-max-microvolt = <1350000>;
+					regulator-always-on;
+					regulator-boot-on;
+				};
+
+				sd4 {
+					regulator-name = "+1.05V_RUN";
+					regulator-min-microvolt = <1050000>;
+					regulator-max-microvolt = <1050000>;
+				};
+
+				vddio_1v8: sd5 {
+					regulator-name = "+1.8V_VDDIO";
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+					regulator-boot-on;
+					regulator-always-on;
+				};
+
+				sd6 {
+					regulator-name = "+VDD_GPU_AP";
+					regulator-min-microvolt = <650000>;
+					regulator-max-microvolt = <1200000>;
+					regulator-min-microamp = <3500000>;
+					regulator-max-microamp = <3500000>;
+					regulator-boot-on;
+					regulator-always-on;
+				};
+
+				ldo0 {
+					regulator-name = "+1.05V_RUN_AVDD";
+					regulator-min-microvolt = <1050000>;
+					regulator-max-microvolt = <1050000>;
+					regulator-boot-on;
+					regulator-always-on;
+					ams,external-control = <1>;
+				};
+
+				ldo1 {
+					regulator-name = "+1.8V_RUN_CAM";
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+				};
+
+				ldo2 {
+					regulator-name = "+1.2V_GEN_AVDD";
+					regulator-min-microvolt = <1200000>;
+					regulator-max-microvolt = <1200000>;
+					regulator-boot-on;
+					regulator-always-on;
+				};
+
+				ldo3 {
+					regulator-name = "+1.05V_LP0_VDD_RTC";
+					regulator-min-microvolt = <1000000>;
+					regulator-max-microvolt = <1000000>;
+					regulator-boot-on;
+					regulator-always-on;
+					ams,enable-tracking;
+				};
+
+				ldo4 {
+					regulator-name = "+2.8V_RUN_CAM";
+					regulator-min-microvolt = <2800000>;
+					regulator-max-microvolt = <2800000>;
+				};
+
+				ldo5 {
+					regulator-name = "+1.2V_RUN_CAM_FRONT";
+					regulator-min-microvolt = <1200000>;
+					regulator-max-microvolt = <1200000>;
+				};
+
+				vddio_sdmmc3: ldo6 {
+					regulator-name = "+VDDIO_SDMMC3";
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <3300000>;
+				};
+
+				ldo7 {
+					regulator-name = "+1.05V_RUN_CAM_REAR";
+					regulator-min-microvolt = <1050000>;
+					regulator-max-microvolt = <1050000>;
+				};
+
+				ldo9 {
+					regulator-name = "+3.3V_RUN_TOUCH";
+					regulator-min-microvolt = <2800000>;
+					regulator-max-microvolt = <2800000>;
+				};
+
+				ldo10 {
+					regulator-name = "+2.8V_RUN_CAM_AF";
+					regulator-min-microvolt = <2800000>;
+					regulator-max-microvolt = <2800000>;
+				};
+
+				ldo11 {
+					regulator-name = "+1.8V_RUN_VPP_FUSE";
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+				};
+			};
 		};
 	};
 
@@ -1462,6 +1611,7 @@
 		cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
 		power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
 		bus-width = <4>;
+		vmmc-supply = <&vddio_sdmmc3>;
 	};
 
 	/* eMMC */
@@ -1525,6 +1675,72 @@
 		#address-cells = <1>;
 		#size-cells = <0>;
 
+		vdd_mux: regulator at 0 {
+			compatible = "regulator-fixed";
+			reg = <0>;
+			regulator-name = "+VDD_MUX";
+			regulator-min-microvolt = <12000000>;
+			regulator-max-microvolt = <12000000>;
+			regulator-always-on;
+			regulator-boot-on;
+		};
+
+		vdd_5v0_sys: regulator at 1 {
+			compatible = "regulator-fixed";
+			reg = <1>;
+			regulator-name = "+5V_SYS";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			regulator-always-on;
+			regulator-boot-on;
+			vin-supply = <&vdd_mux>;
+		};
+
+		vdd_3v3_sys: regulator at 2 {
+			compatible = "regulator-fixed";
+			reg = <2>;
+			regulator-name = "+3.3V_SYS";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-always-on;
+			regulator-boot-on;
+			vin-supply = <&vdd_mux>;
+		};
+
+		vdd_3v3_run: regulator at 3 {
+			compatible = "regulator-fixed";
+			reg = <3>;
+			regulator-name = "+3.3V_RUN";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-always-on;
+			regulator-boot-on;
+			gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
+			enable-active-high;
+			vin-supply = <&vdd_3v3_sys>;
+		};
+
+		vdd_3v3_hdmi: regulator at 4 {
+			compatible = "regulator-fixed";
+			reg = <4>;
+			regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			vin-supply = <&vdd_3v3_run>;
+		};
+
+		vdd_usb1_vbus: regulator at 7 {
+			compatible = "regulator-fixed";
+			reg = <7>;
+			regulator-name = "+USB0_VBUS_SW";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
+			enable-active-high;
+			gpio-open-drain;
+			vin-supply = <&vdd_5v0_sys>;
+		};
+
 		vdd_usb3_vbus: regulator at 8 {
 			compatible = "regulator-fixed";
 			reg = <8>;
@@ -1534,6 +1750,20 @@
 			gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
 			enable-active-high;
 			gpio-open-drain;
+			vin-supply = <&vdd_5v0_sys>;
+		};
+
+		vdd_3v3_lp0: regulator at 10 {
+			compatible = "regulator-fixed";
+			reg = <10>;
+			regulator-name = "+3.3V_LP0";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-always-on;
+			regulator-boot-on;
+			gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
+			enable-active-high;
+			vin-supply = <&vdd_3v3_sys>;
 		};
 	};
 
-- 
1.8.1.5

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

* Re: [PATCH] ARM: tegra: define Jetson TK1 regulators
  2014-04-14 22:55 ` Stephen Warren
@ 2014-04-15 20:47     ` Stephen Warren
  -1 siblings, 0 replies; 10+ messages in thread
From: Stephen Warren @ 2014-04-15 20:47 UTC (permalink / raw)
  To: swarren-3lzwWm7+Weoh9ZMKESR00Q
  Cc: Thierry Reding, linux-tegra-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	Stephen Warren

On 04/14/2014 04:55 PM, Stephen Warren wrote:
> From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> 
> These are mostly identical to the Venice2 regulator definitions, since
> the board designs are very similar. Differences are:
> 
> - Jetson TK1 doesn't have a built-in LCD panel, so on-board regulators
>   are not present for the backlight, touchscreen, or panel.
> - +3.3V_RUN needs to be boot-on/always-on, since it's widely used. This
>   change should likely be propagated to Venice2 for completeness,
>   although it will have no practical effect there since various other
>   regulators use +3.3V_RUN as their supply and are always-on.
> - +3.3V_LP0 needs to be boot-on as well as always-on. One reason
>   is because it's used to driver the UART level-shifter; without this, I
>   see a brief period of UART corruption during cold boots.I suspect this
>   change needs to be propagated to Venice2, and we simply haven't noticed
>   the need since there's no UART level-shifter on Venice2.
> - A few rails have different names in the schematics.

I have applied this to Tegra's for-3.16/dt branch.

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

* [PATCH] ARM: tegra: define Jetson TK1 regulators
@ 2014-04-15 20:47     ` Stephen Warren
  0 siblings, 0 replies; 10+ messages in thread
From: Stephen Warren @ 2014-04-15 20:47 UTC (permalink / raw)
  To: linux-arm-kernel

On 04/14/2014 04:55 PM, Stephen Warren wrote:
> From: Stephen Warren <swarren@nvidia.com>
> 
> These are mostly identical to the Venice2 regulator definitions, since
> the board designs are very similar. Differences are:
> 
> - Jetson TK1 doesn't have a built-in LCD panel, so on-board regulators
>   are not present for the backlight, touchscreen, or panel.
> - +3.3V_RUN needs to be boot-on/always-on, since it's widely used. This
>   change should likely be propagated to Venice2 for completeness,
>   although it will have no practical effect there since various other
>   regulators use +3.3V_RUN as their supply and are always-on.
> - +3.3V_LP0 needs to be boot-on as well as always-on. One reason
>   is because it's used to driver the UART level-shifter; without this, I
>   see a brief period of UART corruption during cold boots.I suspect this
>   change needs to be propagated to Venice2, and we simply haven't noticed
>   the need since there's no UART level-shifter on Venice2.
> - A few rails have different names in the schematics.

I have applied this to Tegra's for-3.16/dt branch.

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

* Re: [PATCH] ARM: tegra: define Jetson TK1 regulators
  2014-04-14 22:55 ` Stephen Warren
@ 2014-04-16  0:24     ` Andrew Bresticker
  -1 siblings, 0 replies; 10+ messages in thread
From: Andrew Bresticker @ 2014-04-16  0:24 UTC (permalink / raw)
  To: Stephen Warren
  Cc: Thierry Reding, linux-tegra-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	Stephen Warren

On Mon, Apr 14, 2014 at 3:55 PM, Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org> wrote:
> From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>
> These are mostly identical to the Venice2 regulator definitions, since
> the board designs are very similar. Differences are:
>
> - Jetson TK1 doesn't have a built-in LCD panel, so on-board regulators
>   are not present for the backlight, touchscreen, or panel.
> - +3.3V_RUN needs to be boot-on/always-on, since it's widely used. This
>   change should likely be propagated to Venice2 for completeness,
>   although it will have no practical effect there since various other
>   regulators use +3.3V_RUN as their supply and are always-on.
> - +3.3V_LP0 needs to be boot-on as well as always-on. One reason
>   is because it's used to driver the UART level-shifter; without this, I
>   see a brief period of UART corruption during cold boots.I suspect this
>   change needs to be propagated to Venice2, and we simply haven't noticed
>   the need since there's no UART level-shifter on Venice2.
> - A few rails have different names in the schematics.
>
> Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> ---
>  arch/arm/boot/dts/tegra124-jetson-tk1.dts | 230 ++++++++++++++++++++++++++++++
>  1 file changed, 230 insertions(+)
>
> diff --git a/arch/arm/boot/dts/tegra124-jetson-tk1.dts b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
> index dedcb0c165c5..ae5c750dc515 100644
> --- a/arch/arm/boot/dts/tegra124-jetson-tk1.dts
> +++ b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
> @@ -1426,6 +1426,155 @@
>                                         bias-high-impedance;
>                                 };
>                         };
> +
> +                       regulators {
> +                               vsup-sd2-supply = <&vdd_5v0_sys>;
> +                               vsup-sd3-supply = <&vdd_5v0_sys>;
> +                               vsup-sd4-supply = <&vdd_5v0_sys>;
> +                               vsup-sd5-supply = <&vdd_5v0_sys>;
> +                               vin-ldo0-supply = <&vdd_1v35_lp0>;
> +                               vin-ldo1-6-supply = <&vdd_3v3_run>;
> +                               vin-ldo2-5-7-supply = <&vddio_1v8>;
> +                               vin-ldo3-4-supply = <&vdd_3v3_sys>;
> +                               vin-ldo9-10-supply = <&vdd_5v0_sys>;
> +                               vin-ldo11-supply = <&vdd_3v3_run>;
> +
> +                               sd0 {
> +                                       regulator-name = "+VDD_CPU_AP";
> +                                       regulator-min-microvolt = <700000>;
> +                                       regulator-max-microvolt = <1400000>;
> +                                       regulator-min-microamp = <3500000>;
> +                                       regulator-max-microamp = <3500000>;
> +                                       regulator-always-on;
> +                                       regulator-boot-on;
> +                                       ams,external-control = <2>;
> +                               };
> +
> +                               sd1 {
> +                                       regulator-name = "+VDD_CORE";
> +                                       regulator-min-microvolt = <700000>;
> +                                       regulator-max-microvolt = <1350000>;
> +                                       regulator-min-microamp = <2500000>;
> +                                       regulator-max-microamp = <2500000>;
> +                                       regulator-always-on;
> +                                       regulator-boot-on;
> +                                       ams,external-control = <1>;
> +                               };
> +
> +                               vdd_1v35_lp0: sd2 {
> +                                       regulator-name = "+1.35V_LP0(sd2)";
> +                                       regulator-min-microvolt = <1350000>;
> +                                       regulator-max-microvolt = <1350000>;
> +                                       regulator-always-on;
> +                                       regulator-boot-on;
> +                               };
> +
> +                               sd3 {
> +                                       regulator-name = "+1.35V_LP0(sd3)";
> +                                       regulator-min-microvolt = <1350000>;
> +                                       regulator-max-microvolt = <1350000>;
> +                                       regulator-always-on;
> +                                       regulator-boot-on;
> +                               };
> +
> +                               sd4 {
> +                                       regulator-name = "+1.05V_RUN";
> +                                       regulator-min-microvolt = <1050000>;
> +                                       regulator-max-microvolt = <1050000>;
> +                               };
> +
> +                               vddio_1v8: sd5 {
> +                                       regulator-name = "+1.8V_VDDIO";
> +                                       regulator-min-microvolt = <1800000>;
> +                                       regulator-max-microvolt = <1800000>;
> +                                       regulator-boot-on;
> +                                       regulator-always-on;
> +                               };
> +
> +                               sd6 {
> +                                       regulator-name = "+VDD_GPU_AP";
> +                                       regulator-min-microvolt = <650000>;
> +                                       regulator-max-microvolt = <1200000>;
> +                                       regulator-min-microamp = <3500000>;
> +                                       regulator-max-microamp = <3500000>;
> +                                       regulator-boot-on;
> +                                       regulator-always-on;
> +                               };
> +
> +                               ldo0 {
> +                                       regulator-name = "+1.05V_RUN_AVDD";
> +                                       regulator-min-microvolt = <1050000>;
> +                                       regulator-max-microvolt = <1050000>;
> +                                       regulator-boot-on;
> +                                       regulator-always-on;
> +                                       ams,external-control = <1>;
> +                               };
> +
> +                               ldo1 {
> +                                       regulator-name = "+1.8V_RUN_CAM";
> +                                       regulator-min-microvolt = <1800000>;
> +                                       regulator-max-microvolt = <1800000>;
> +                               };
> +
> +                               ldo2 {
> +                                       regulator-name = "+1.2V_GEN_AVDD";
> +                                       regulator-min-microvolt = <1200000>;
> +                                       regulator-max-microvolt = <1200000>;
> +                                       regulator-boot-on;
> +                                       regulator-always-on;
> +                               };
> +
> +                               ldo3 {
> +                                       regulator-name = "+1.05V_LP0_VDD_RTC";
> +                                       regulator-min-microvolt = <1000000>;
> +                                       regulator-max-microvolt = <1000000>;
> +                                       regulator-boot-on;
> +                                       regulator-always-on;
> +                                       ams,enable-tracking;
> +                               };
> +
> +                               ldo4 {
> +                                       regulator-name = "+2.8V_RUN_CAM";
> +                                       regulator-min-microvolt = <2800000>;
> +                                       regulator-max-microvolt = <2800000>;
> +                               };
> +
> +                               ldo5 {
> +                                       regulator-name = "+1.2V_RUN_CAM_FRONT";
> +                                       regulator-min-microvolt = <1200000>;
> +                                       regulator-max-microvolt = <1200000>;
> +                               };
> +
> +                               vddio_sdmmc3: ldo6 {
> +                                       regulator-name = "+VDDIO_SDMMC3";
> +                                       regulator-min-microvolt = <1800000>;
> +                                       regulator-max-microvolt = <3300000>;
> +                               };
> +
> +                               ldo7 {
> +                                       regulator-name = "+1.05V_RUN_CAM_REAR";
> +                                       regulator-min-microvolt = <1050000>;
> +                                       regulator-max-microvolt = <1050000>;
> +                               };
> +
> +                               ldo9 {
> +                                       regulator-name = "+3.3V_RUN_TOUCH";
> +                                       regulator-min-microvolt = <2800000>;
> +                                       regulator-max-microvolt = <2800000>;
> +                               };
> +
> +                               ldo10 {
> +                                       regulator-name = "+2.8V_RUN_CAM_AF";
> +                                       regulator-min-microvolt = <2800000>;
> +                                       regulator-max-microvolt = <2800000>;
> +                               };
> +
> +                               ldo11 {
> +                                       regulator-name = "+1.8V_RUN_VPP_FUSE";
> +                                       regulator-min-microvolt = <1800000>;
> +                                       regulator-max-microvolt = <1800000>;
> +                               };
> +                       };
>                 };
>         };
>
> @@ -1462,6 +1611,7 @@
>                 cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
>                 power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
>                 bus-width = <4>;
> +               vmmc-supply = <&vddio_sdmmc3>;

I don't have schematics for this board, but I suspect you mean
vqmmc-supply here, per the discussion in the Venice2 VQMMC thread.

>         };
>
>         /* eMMC */
> @@ -1525,6 +1675,72 @@
>                 #address-cells = <1>;
>                 #size-cells = <0>;
>
> +               vdd_mux: regulator@0 {
> +                       compatible = "regulator-fixed";
> +                       reg = <0>;
> +                       regulator-name = "+VDD_MUX";
> +                       regulator-min-microvolt = <12000000>;
> +                       regulator-max-microvolt = <12000000>;
> +                       regulator-always-on;
> +                       regulator-boot-on;
> +               };
> +
> +               vdd_5v0_sys: regulator@1 {
> +                       compatible = "regulator-fixed";
> +                       reg = <1>;
> +                       regulator-name = "+5V_SYS";
> +                       regulator-min-microvolt = <5000000>;
> +                       regulator-max-microvolt = <5000000>;
> +                       regulator-always-on;
> +                       regulator-boot-on;
> +                       vin-supply = <&vdd_mux>;
> +               };
> +
> +               vdd_3v3_sys: regulator@2 {
> +                       compatible = "regulator-fixed";
> +                       reg = <2>;
> +                       regulator-name = "+3.3V_SYS";
> +                       regulator-min-microvolt = <3300000>;
> +                       regulator-max-microvolt = <3300000>;
> +                       regulator-always-on;
> +                       regulator-boot-on;
> +                       vin-supply = <&vdd_mux>;
> +               };
> +
> +               vdd_3v3_run: regulator@3 {
> +                       compatible = "regulator-fixed";
> +                       reg = <3>;
> +                       regulator-name = "+3.3V_RUN";
> +                       regulator-min-microvolt = <3300000>;
> +                       regulator-max-microvolt = <3300000>;
> +                       regulator-always-on;
> +                       regulator-boot-on;
> +                       gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
> +                       enable-active-high;
> +                       vin-supply = <&vdd_3v3_sys>;
> +               };
> +
> +               vdd_3v3_hdmi: regulator@4 {
> +                       compatible = "regulator-fixed";
> +                       reg = <4>;
> +                       regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
> +                       regulator-min-microvolt = <3300000>;
> +                       regulator-max-microvolt = <3300000>;
> +                       vin-supply = <&vdd_3v3_run>;
> +               };
> +
> +               vdd_usb1_vbus: regulator@7 {
> +                       compatible = "regulator-fixed";
> +                       reg = <7>;
> +                       regulator-name = "+USB0_VBUS_SW";
> +                       regulator-min-microvolt = <5000000>;
> +                       regulator-max-microvolt = <5000000>;
> +                       gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
> +                       enable-active-high;
> +                       gpio-open-drain;
> +                       vin-supply = <&vdd_5v0_sys>;
> +               };
> +
>                 vdd_usb3_vbus: regulator@8 {
>                         compatible = "regulator-fixed";
>                         reg = <8>;
> @@ -1534,6 +1750,20 @@
>                         gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
>                         enable-active-high;
>                         gpio-open-drain;
> +                       vin-supply = <&vdd_5v0_sys>;
> +               };
> +
> +               vdd_3v3_lp0: regulator@10 {
> +                       compatible = "regulator-fixed";
> +                       reg = <10>;
> +                       regulator-name = "+3.3V_LP0";
> +                       regulator-min-microvolt = <3300000>;
> +                       regulator-max-microvolt = <3300000>;
> +                       regulator-always-on;
> +                       regulator-boot-on;
> +                       gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
> +                       enable-active-high;
> +                       vin-supply = <&vdd_3v3_sys>;
>                 };
>         };
>
> --
> 1.8.1.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH] ARM: tegra: define Jetson TK1 regulators
@ 2014-04-16  0:24     ` Andrew Bresticker
  0 siblings, 0 replies; 10+ messages in thread
From: Andrew Bresticker @ 2014-04-16  0:24 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Apr 14, 2014 at 3:55 PM, Stephen Warren <swarren@wwwdotorg.org> wrote:
> From: Stephen Warren <swarren@nvidia.com>
>
> These are mostly identical to the Venice2 regulator definitions, since
> the board designs are very similar. Differences are:
>
> - Jetson TK1 doesn't have a built-in LCD panel, so on-board regulators
>   are not present for the backlight, touchscreen, or panel.
> - +3.3V_RUN needs to be boot-on/always-on, since it's widely used. This
>   change should likely be propagated to Venice2 for completeness,
>   although it will have no practical effect there since various other
>   regulators use +3.3V_RUN as their supply and are always-on.
> - +3.3V_LP0 needs to be boot-on as well as always-on. One reason
>   is because it's used to driver the UART level-shifter; without this, I
>   see a brief period of UART corruption during cold boots.I suspect this
>   change needs to be propagated to Venice2, and we simply haven't noticed
>   the need since there's no UART level-shifter on Venice2.
> - A few rails have different names in the schematics.
>
> Signed-off-by: Stephen Warren <swarren@nvidia.com>
> ---
>  arch/arm/boot/dts/tegra124-jetson-tk1.dts | 230 ++++++++++++++++++++++++++++++
>  1 file changed, 230 insertions(+)
>
> diff --git a/arch/arm/boot/dts/tegra124-jetson-tk1.dts b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
> index dedcb0c165c5..ae5c750dc515 100644
> --- a/arch/arm/boot/dts/tegra124-jetson-tk1.dts
> +++ b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
> @@ -1426,6 +1426,155 @@
>                                         bias-high-impedance;
>                                 };
>                         };
> +
> +                       regulators {
> +                               vsup-sd2-supply = <&vdd_5v0_sys>;
> +                               vsup-sd3-supply = <&vdd_5v0_sys>;
> +                               vsup-sd4-supply = <&vdd_5v0_sys>;
> +                               vsup-sd5-supply = <&vdd_5v0_sys>;
> +                               vin-ldo0-supply = <&vdd_1v35_lp0>;
> +                               vin-ldo1-6-supply = <&vdd_3v3_run>;
> +                               vin-ldo2-5-7-supply = <&vddio_1v8>;
> +                               vin-ldo3-4-supply = <&vdd_3v3_sys>;
> +                               vin-ldo9-10-supply = <&vdd_5v0_sys>;
> +                               vin-ldo11-supply = <&vdd_3v3_run>;
> +
> +                               sd0 {
> +                                       regulator-name = "+VDD_CPU_AP";
> +                                       regulator-min-microvolt = <700000>;
> +                                       regulator-max-microvolt = <1400000>;
> +                                       regulator-min-microamp = <3500000>;
> +                                       regulator-max-microamp = <3500000>;
> +                                       regulator-always-on;
> +                                       regulator-boot-on;
> +                                       ams,external-control = <2>;
> +                               };
> +
> +                               sd1 {
> +                                       regulator-name = "+VDD_CORE";
> +                                       regulator-min-microvolt = <700000>;
> +                                       regulator-max-microvolt = <1350000>;
> +                                       regulator-min-microamp = <2500000>;
> +                                       regulator-max-microamp = <2500000>;
> +                                       regulator-always-on;
> +                                       regulator-boot-on;
> +                                       ams,external-control = <1>;
> +                               };
> +
> +                               vdd_1v35_lp0: sd2 {
> +                                       regulator-name = "+1.35V_LP0(sd2)";
> +                                       regulator-min-microvolt = <1350000>;
> +                                       regulator-max-microvolt = <1350000>;
> +                                       regulator-always-on;
> +                                       regulator-boot-on;
> +                               };
> +
> +                               sd3 {
> +                                       regulator-name = "+1.35V_LP0(sd3)";
> +                                       regulator-min-microvolt = <1350000>;
> +                                       regulator-max-microvolt = <1350000>;
> +                                       regulator-always-on;
> +                                       regulator-boot-on;
> +                               };
> +
> +                               sd4 {
> +                                       regulator-name = "+1.05V_RUN";
> +                                       regulator-min-microvolt = <1050000>;
> +                                       regulator-max-microvolt = <1050000>;
> +                               };
> +
> +                               vddio_1v8: sd5 {
> +                                       regulator-name = "+1.8V_VDDIO";
> +                                       regulator-min-microvolt = <1800000>;
> +                                       regulator-max-microvolt = <1800000>;
> +                                       regulator-boot-on;
> +                                       regulator-always-on;
> +                               };
> +
> +                               sd6 {
> +                                       regulator-name = "+VDD_GPU_AP";
> +                                       regulator-min-microvolt = <650000>;
> +                                       regulator-max-microvolt = <1200000>;
> +                                       regulator-min-microamp = <3500000>;
> +                                       regulator-max-microamp = <3500000>;
> +                                       regulator-boot-on;
> +                                       regulator-always-on;
> +                               };
> +
> +                               ldo0 {
> +                                       regulator-name = "+1.05V_RUN_AVDD";
> +                                       regulator-min-microvolt = <1050000>;
> +                                       regulator-max-microvolt = <1050000>;
> +                                       regulator-boot-on;
> +                                       regulator-always-on;
> +                                       ams,external-control = <1>;
> +                               };
> +
> +                               ldo1 {
> +                                       regulator-name = "+1.8V_RUN_CAM";
> +                                       regulator-min-microvolt = <1800000>;
> +                                       regulator-max-microvolt = <1800000>;
> +                               };
> +
> +                               ldo2 {
> +                                       regulator-name = "+1.2V_GEN_AVDD";
> +                                       regulator-min-microvolt = <1200000>;
> +                                       regulator-max-microvolt = <1200000>;
> +                                       regulator-boot-on;
> +                                       regulator-always-on;
> +                               };
> +
> +                               ldo3 {
> +                                       regulator-name = "+1.05V_LP0_VDD_RTC";
> +                                       regulator-min-microvolt = <1000000>;
> +                                       regulator-max-microvolt = <1000000>;
> +                                       regulator-boot-on;
> +                                       regulator-always-on;
> +                                       ams,enable-tracking;
> +                               };
> +
> +                               ldo4 {
> +                                       regulator-name = "+2.8V_RUN_CAM";
> +                                       regulator-min-microvolt = <2800000>;
> +                                       regulator-max-microvolt = <2800000>;
> +                               };
> +
> +                               ldo5 {
> +                                       regulator-name = "+1.2V_RUN_CAM_FRONT";
> +                                       regulator-min-microvolt = <1200000>;
> +                                       regulator-max-microvolt = <1200000>;
> +                               };
> +
> +                               vddio_sdmmc3: ldo6 {
> +                                       regulator-name = "+VDDIO_SDMMC3";
> +                                       regulator-min-microvolt = <1800000>;
> +                                       regulator-max-microvolt = <3300000>;
> +                               };
> +
> +                               ldo7 {
> +                                       regulator-name = "+1.05V_RUN_CAM_REAR";
> +                                       regulator-min-microvolt = <1050000>;
> +                                       regulator-max-microvolt = <1050000>;
> +                               };
> +
> +                               ldo9 {
> +                                       regulator-name = "+3.3V_RUN_TOUCH";
> +                                       regulator-min-microvolt = <2800000>;
> +                                       regulator-max-microvolt = <2800000>;
> +                               };
> +
> +                               ldo10 {
> +                                       regulator-name = "+2.8V_RUN_CAM_AF";
> +                                       regulator-min-microvolt = <2800000>;
> +                                       regulator-max-microvolt = <2800000>;
> +                               };
> +
> +                               ldo11 {
> +                                       regulator-name = "+1.8V_RUN_VPP_FUSE";
> +                                       regulator-min-microvolt = <1800000>;
> +                                       regulator-max-microvolt = <1800000>;
> +                               };
> +                       };
>                 };
>         };
>
> @@ -1462,6 +1611,7 @@
>                 cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
>                 power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
>                 bus-width = <4>;
> +               vmmc-supply = <&vddio_sdmmc3>;

I don't have schematics for this board, but I suspect you mean
vqmmc-supply here, per the discussion in the Venice2 VQMMC thread.

>         };
>
>         /* eMMC */
> @@ -1525,6 +1675,72 @@
>                 #address-cells = <1>;
>                 #size-cells = <0>;
>
> +               vdd_mux: regulator at 0 {
> +                       compatible = "regulator-fixed";
> +                       reg = <0>;
> +                       regulator-name = "+VDD_MUX";
> +                       regulator-min-microvolt = <12000000>;
> +                       regulator-max-microvolt = <12000000>;
> +                       regulator-always-on;
> +                       regulator-boot-on;
> +               };
> +
> +               vdd_5v0_sys: regulator at 1 {
> +                       compatible = "regulator-fixed";
> +                       reg = <1>;
> +                       regulator-name = "+5V_SYS";
> +                       regulator-min-microvolt = <5000000>;
> +                       regulator-max-microvolt = <5000000>;
> +                       regulator-always-on;
> +                       regulator-boot-on;
> +                       vin-supply = <&vdd_mux>;
> +               };
> +
> +               vdd_3v3_sys: regulator at 2 {
> +                       compatible = "regulator-fixed";
> +                       reg = <2>;
> +                       regulator-name = "+3.3V_SYS";
> +                       regulator-min-microvolt = <3300000>;
> +                       regulator-max-microvolt = <3300000>;
> +                       regulator-always-on;
> +                       regulator-boot-on;
> +                       vin-supply = <&vdd_mux>;
> +               };
> +
> +               vdd_3v3_run: regulator at 3 {
> +                       compatible = "regulator-fixed";
> +                       reg = <3>;
> +                       regulator-name = "+3.3V_RUN";
> +                       regulator-min-microvolt = <3300000>;
> +                       regulator-max-microvolt = <3300000>;
> +                       regulator-always-on;
> +                       regulator-boot-on;
> +                       gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
> +                       enable-active-high;
> +                       vin-supply = <&vdd_3v3_sys>;
> +               };
> +
> +               vdd_3v3_hdmi: regulator at 4 {
> +                       compatible = "regulator-fixed";
> +                       reg = <4>;
> +                       regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
> +                       regulator-min-microvolt = <3300000>;
> +                       regulator-max-microvolt = <3300000>;
> +                       vin-supply = <&vdd_3v3_run>;
> +               };
> +
> +               vdd_usb1_vbus: regulator at 7 {
> +                       compatible = "regulator-fixed";
> +                       reg = <7>;
> +                       regulator-name = "+USB0_VBUS_SW";
> +                       regulator-min-microvolt = <5000000>;
> +                       regulator-max-microvolt = <5000000>;
> +                       gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
> +                       enable-active-high;
> +                       gpio-open-drain;
> +                       vin-supply = <&vdd_5v0_sys>;
> +               };
> +
>                 vdd_usb3_vbus: regulator at 8 {
>                         compatible = "regulator-fixed";
>                         reg = <8>;
> @@ -1534,6 +1750,20 @@
>                         gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
>                         enable-active-high;
>                         gpio-open-drain;
> +                       vin-supply = <&vdd_5v0_sys>;
> +               };
> +
> +               vdd_3v3_lp0: regulator at 10 {
> +                       compatible = "regulator-fixed";
> +                       reg = <10>;
> +                       regulator-name = "+3.3V_LP0";
> +                       regulator-min-microvolt = <3300000>;
> +                       regulator-max-microvolt = <3300000>;
> +                       regulator-always-on;
> +                       regulator-boot-on;
> +                       gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
> +                       enable-active-high;
> +                       vin-supply = <&vdd_3v3_sys>;
>                 };
>         };
>
> --
> 1.8.1.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH] ARM: tegra: define Jetson TK1 regulators
  2014-04-16  0:24     ` Andrew Bresticker
@ 2014-04-16  8:18         ` Peter De Schrijver
  -1 siblings, 0 replies; 10+ messages in thread
From: Peter De Schrijver @ 2014-04-16  8:18 UTC (permalink / raw)
  To: Andrew Bresticker
  Cc: Stephen Warren, Thierry Reding,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	Stephen Warren

On Wed, Apr 16, 2014 at 02:24:42AM +0200, Andrew Bresticker wrote:
> > +                               ldo11 {
> > +                                       regulator-name = "+1.8V_RUN_VPP_FUSE";
> > +                                       regulator-min-microvolt = <1800000>;
> > +                                       regulator-max-microvolt = <1800000>;
> > +                               };
> > +                       };
> >                 };
> >         };
> >
> > @@ -1462,6 +1611,7 @@
> >                 cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
> >                 power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
> >                 bus-width = <4>;
> > +               vmmc-supply = <&vddio_sdmmc3>;
> 
> I don't have schematics for this board, but I suspect you mean
> vqmmc-supply here, per the discussion in the Venice2 VQMMC thread.
> 

Schematics can be found at https://developer.nvidia.com/jetson-tk1-support

Cheers,

Peter.

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

* [PATCH] ARM: tegra: define Jetson TK1 regulators
@ 2014-04-16  8:18         ` Peter De Schrijver
  0 siblings, 0 replies; 10+ messages in thread
From: Peter De Schrijver @ 2014-04-16  8:18 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Apr 16, 2014 at 02:24:42AM +0200, Andrew Bresticker wrote:
> > +                               ldo11 {
> > +                                       regulator-name = "+1.8V_RUN_VPP_FUSE";
> > +                                       regulator-min-microvolt = <1800000>;
> > +                                       regulator-max-microvolt = <1800000>;
> > +                               };
> > +                       };
> >                 };
> >         };
> >
> > @@ -1462,6 +1611,7 @@
> >                 cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
> >                 power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
> >                 bus-width = <4>;
> > +               vmmc-supply = <&vddio_sdmmc3>;
> 
> I don't have schematics for this board, but I suspect you mean
> vqmmc-supply here, per the discussion in the Venice2 VQMMC thread.
> 

Schematics can be found at https://developer.nvidia.com/jetson-tk1-support

Cheers,

Peter.

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

* Re: [PATCH] ARM: tegra: define Jetson TK1 regulators
  2014-04-16  0:24     ` Andrew Bresticker
@ 2014-04-16 16:33         ` Stephen Warren
  -1 siblings, 0 replies; 10+ messages in thread
From: Stephen Warren @ 2014-04-16 16:33 UTC (permalink / raw)
  To: Andrew Bresticker
  Cc: Thierry Reding, linux-tegra-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	Stephen Warren

On 04/15/2014 06:24 PM, Andrew Bresticker wrote:
> On Mon, Apr 14, 2014 at 3:55 PM, Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org> wrote:
>> These are mostly identical to the Venice2 regulator definitions, since
>> the board designs are very similar. Differences are:
>>
>> - Jetson TK1 doesn't have a built-in LCD panel, so on-board regulators
>>   are not present for the backlight, touchscreen, or panel.
>> - +3.3V_RUN needs to be boot-on/always-on, since it's widely used. This
>>   change should likely be propagated to Venice2 for completeness,
>>   although it will have no practical effect there since various other
>>   regulators use +3.3V_RUN as their supply and are always-on.
>> - +3.3V_LP0 needs to be boot-on as well as always-on. One reason
>>   is because it's used to driver the UART level-shifter; without this, I
>>   see a brief period of UART corruption during cold boots.I suspect this
>>   change needs to be propagated to Venice2, and we simply haven't noticed
>>   the need since there's no UART level-shifter on Venice2.
>> - A few rails have different names in the schematics.

>> diff --git a/arch/arm/boot/dts/tegra124-jetson-tk1.dts b/arch/arm/boot/dts/tegra124-jetson-tk1.dts

>> @@ -1462,6 +1611,7 @@
>>                 cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
>>                 power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
>>                 bus-width = <4>;
>> +               vmmc-supply = <&vddio_sdmmc3>;
> 
> I don't have schematics for this board, but I suspect you mean
> vqmmc-supply here, per the discussion in the Venice2 VQMMC thread.

This portion of the schematics is essentially identical to Venice2, and
you're correct; this should be vqmmc not vmmc. I'll send a patch.

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

* [PATCH] ARM: tegra: define Jetson TK1 regulators
@ 2014-04-16 16:33         ` Stephen Warren
  0 siblings, 0 replies; 10+ messages in thread
From: Stephen Warren @ 2014-04-16 16:33 UTC (permalink / raw)
  To: linux-arm-kernel

On 04/15/2014 06:24 PM, Andrew Bresticker wrote:
> On Mon, Apr 14, 2014 at 3:55 PM, Stephen Warren <swarren@wwwdotorg.org> wrote:
>> These are mostly identical to the Venice2 regulator definitions, since
>> the board designs are very similar. Differences are:
>>
>> - Jetson TK1 doesn't have a built-in LCD panel, so on-board regulators
>>   are not present for the backlight, touchscreen, or panel.
>> - +3.3V_RUN needs to be boot-on/always-on, since it's widely used. This
>>   change should likely be propagated to Venice2 for completeness,
>>   although it will have no practical effect there since various other
>>   regulators use +3.3V_RUN as their supply and are always-on.
>> - +3.3V_LP0 needs to be boot-on as well as always-on. One reason
>>   is because it's used to driver the UART level-shifter; without this, I
>>   see a brief period of UART corruption during cold boots.I suspect this
>>   change needs to be propagated to Venice2, and we simply haven't noticed
>>   the need since there's no UART level-shifter on Venice2.
>> - A few rails have different names in the schematics.

>> diff --git a/arch/arm/boot/dts/tegra124-jetson-tk1.dts b/arch/arm/boot/dts/tegra124-jetson-tk1.dts

>> @@ -1462,6 +1611,7 @@
>>                 cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
>>                 power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
>>                 bus-width = <4>;
>> +               vmmc-supply = <&vddio_sdmmc3>;
> 
> I don't have schematics for this board, but I suspect you mean
> vqmmc-supply here, per the discussion in the Venice2 VQMMC thread.

This portion of the schematics is essentially identical to Venice2, and
you're correct; this should be vqmmc not vmmc. I'll send a patch.

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

end of thread, other threads:[~2014-04-16 16:33 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-14 22:55 [PATCH] ARM: tegra: define Jetson TK1 regulators Stephen Warren
2014-04-14 22:55 ` Stephen Warren
     [not found] ` <1397516120-18220-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-04-15 20:47   ` Stephen Warren
2014-04-15 20:47     ` Stephen Warren
2014-04-16  0:24   ` Andrew Bresticker
2014-04-16  0:24     ` Andrew Bresticker
     [not found]     ` <CAL1qeaF+Kha6bS27OLoWw-G2Tv6PzeB6=GcK6dM6s_hWidvLiA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-04-16  8:18       ` Peter De Schrijver
2014-04-16  8:18         ` Peter De Schrijver
2014-04-16 16:33       ` Stephen Warren
2014-04-16 16:33         ` Stephen Warren

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.