[PATCH] ARM: tegra: define Jetson TK1 regulators

Andrew Bresticker abrestic at google.com
Tue Apr 15 17:24:42 PDT 2014


On Mon, Apr 14, 2014 at 3:55 PM, Stephen Warren <swarren at wwwdotorg.org> wrote:
> From: Stephen Warren <swarren at 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 at 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



More information about the linux-arm-kernel mailing list