* [PATCH 1/4] ARM: tegra: enable Tegra114 based platform PMICs
2013-03-20 13:44 [PATCH 0/4] ARM: tegra: dalmore: add regulators Laxman Dewangan
@ 2013-03-20 13:44 ` Laxman Dewangan
2013-03-20 20:50 ` Stephen Warren
2013-03-20 13:44 ` [PATCH 2/4] ARM: tegra: dalmore: add cpu regulator's node Laxman Dewangan
` (2 subsequent siblings)
3 siblings, 1 reply; 9+ messages in thread
From: Laxman Dewangan @ 2013-03-20 13:44 UTC (permalink / raw)
To: linux-arm-kernel
NVIDIA's Tegra114 have two reference platform, Dalmore and Pluto.
Dalmore uses the following PMICs:
- TPS65913 as primary PMIC.
- TPS65090 as secondary PMIC used for switch regulators and battery charging.
- TPS51632 for cpu regulator.
Pluto uses the TPS65913 as the PMIC.
Enable config variable of these PMICs for Dalomore and Pluto.
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
arch/arm/configs/tegra_defconfig | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/arch/arm/configs/tegra_defconfig b/arch/arm/configs/tegra_defconfig
index aba4881..34b9342 100644
--- a/arch/arm/configs/tegra_defconfig
+++ b/arch/arm/configs/tegra_defconfig
@@ -126,6 +126,7 @@ CONFIG_SPI=y
CONFIG_SPI_TEGRA20_SFLASH=y
CONFIG_SPI_TEGRA20_SLINK=y
CONFIG_GPIO_PCA953X_IRQ=y
+CONFIG_GPIO_PALMAS=y
CONFIG_GPIO_TPS6586X=y
CONFIG_GPIO_TPS65910=y
CONFIG_POWER_SUPPLY=y
@@ -136,12 +137,17 @@ CONFIG_SENSORS_LM90=y
CONFIG_MFD_TPS6586X=y
CONFIG_MFD_TPS65910=y
CONFIG_MFD_MAX8907=y
+CONFIG_MFD_TPS65090=y
+CONFIG_MFD_PALMAS=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_VIRTUAL_CONSUMER=y
CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_MAX8907=y
+CONFIG_REGULATOR_PALMAS=y
+CONFIG_REGULATOR_TPS51632=y
CONFIG_REGULATOR_TPS62360=y
+CONFIG_REGULATOR_TPS65090=y
CONFIG_REGULATOR_TPS6586X=y
CONFIG_REGULATOR_TPS65910=y
CONFIG_MEDIA_SUPPORT=y
@@ -191,6 +197,7 @@ CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
CONFIG_RTC_DRV_MAX8907=y
+CONFIG_RTC_DRV_PALMAS=y
CONFIG_RTC_DRV_TPS6586X=y
CONFIG_RTC_DRV_TPS65910=y
CONFIG_RTC_DRV_EM3027=y
--
1.7.1.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 1/4] ARM: tegra: enable Tegra114 based platform PMICs
2013-03-20 13:44 ` [PATCH 1/4] ARM: tegra: enable Tegra114 based platform PMICs Laxman Dewangan
@ 2013-03-20 20:50 ` Stephen Warren
0 siblings, 0 replies; 9+ messages in thread
From: Stephen Warren @ 2013-03-20 20:50 UTC (permalink / raw)
To: linux-arm-kernel
On 03/20/2013 07:44 AM, Laxman Dewangan wrote:
> NVIDIA's Tegra114 have two reference platform, Dalmore and Pluto.
> Dalmore uses the following PMICs:
> - TPS65913 as primary PMIC.
> - TPS65090 as secondary PMIC used for switch regulators and battery charging.
> - TPS51632 for cpu regulator.
>
> Pluto uses the TPS65913 as the PMIC.
>
> Enable config variable of these PMICs for Dalomore and Pluto.
Just FYI, I would apply the DT changes to Tegra's for-3.10/dt branch,
and the defconfig change to Tegra's for-3.10/defconfig branch. The /dt
branch will get merged first, and the /defconfig after it. Hence, you
would typically want to send patches in that order. It doesn't really
make any practical difference in this case though.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 2/4] ARM: tegra: dalmore: add cpu regulator's node
2013-03-20 13:44 [PATCH 0/4] ARM: tegra: dalmore: add regulators Laxman Dewangan
2013-03-20 13:44 ` [PATCH 1/4] ARM: tegra: enable Tegra114 based platform PMICs Laxman Dewangan
@ 2013-03-20 13:44 ` Laxman Dewangan
2013-03-20 13:44 ` [PATCH 3/4] ARM: tegra: dalmore: add dt node for TPS65090's regulators Laxman Dewangan
2013-03-20 13:44 ` [PATCH 4/4] ARM: tegra: dalmore: add fixed regulator's node Laxman Dewangan
3 siblings, 0 replies; 9+ messages in thread
From: Laxman Dewangan @ 2013-03-20 13:44 UTC (permalink / raw)
To: linux-arm-kernel
Dalmore uses the TPS51632 as cpu regulator. This device
is connected on I2C5.
Add dt node for this device.
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
arch/arm/boot/dts/tegra114-dalmore.dts | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boot/dts/tegra114-dalmore.dts b/arch/arm/boot/dts/tegra114-dalmore.dts
index a61974e..6be9434 100644
--- a/arch/arm/boot/dts/tegra114-dalmore.dts
+++ b/arch/arm/boot/dts/tegra114-dalmore.dts
@@ -718,6 +718,21 @@
clock-frequency = <408000000>;
};
+ i2c at 7000d000 {
+ status = "okay";
+ clock-frequency = <400000>;
+
+ tps51632 {
+ compatible = "ti,tps51632";
+ reg = <0x43>;
+ regulator-name = "vdd-cpu";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1520000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+ };
+
pmc {
nvidia,invert-interrupt;
};
--
1.7.1.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 3/4] ARM: tegra: dalmore: add dt node for TPS65090's regulators
2013-03-20 13:44 [PATCH 0/4] ARM: tegra: dalmore: add regulators Laxman Dewangan
2013-03-20 13:44 ` [PATCH 1/4] ARM: tegra: enable Tegra114 based platform PMICs Laxman Dewangan
2013-03-20 13:44 ` [PATCH 2/4] ARM: tegra: dalmore: add cpu regulator's node Laxman Dewangan
@ 2013-03-20 13:44 ` Laxman Dewangan
2013-03-20 16:57 ` Rhyland Klein
2013-03-20 20:48 ` Stephen Warren
2013-03-20 13:44 ` [PATCH 4/4] ARM: tegra: dalmore: add fixed regulator's node Laxman Dewangan
3 siblings, 2 replies; 9+ messages in thread
From: Laxman Dewangan @ 2013-03-20 13:44 UTC (permalink / raw)
To: linux-arm-kernel
NVIDIA's Tegra114 platform, Dalmore, uses the TPS65090 as
secondary PMICs which mainly act as voltage switch controlled
by I2C communication.
Add regulator node for this device.
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
.../devicetree/bindings/regulator/tps65090.txt | 4 +-
arch/arm/boot/dts/tegra114-dalmore.dts | 90 ++++++++++++++++++++
2 files changed, 92 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/regulator/tps65090.txt b/Documentation/devicetree/bindings/regulator/tps65090.txt
index 313a60b..8926e2d 100644
--- a/Documentation/devicetree/bindings/regulator/tps65090.txt
+++ b/Documentation/devicetree/bindings/regulator/tps65090.txt
@@ -41,8 +41,8 @@ Example:
infet5-supply = <&some_reg>;
infet6-supply = <&some_reg>;
infet7-supply = <&some_reg>;
- vsys_l1-supply = <&some_reg>;
- vsys_l2-supply = <&some_reg>;
+ vsys-l1-supply = <&some_reg>;
+ vsys-l2-supply = <&some_reg>;
regulators {
dcdc1 {
diff --git a/arch/arm/boot/dts/tegra114-dalmore.dts b/arch/arm/boot/dts/tegra114-dalmore.dts
index 6be9434..a47c3d2 100644
--- a/arch/arm/boot/dts/tegra114-dalmore.dts
+++ b/arch/arm/boot/dts/tegra114-dalmore.dts
@@ -731,6 +731,82 @@
regulator-boot-on;
regulator-always-on;
};
+
+ tps65090 at 48 {
+ compatible = "ti,tps65090";
+ reg = <0x48>;
+ interrupt-parent = <&gpio>;
+ interrupts = <72 0x04>; /* gpio PJ0 */
+
+ vsys1-supply = <&vdd_ac_bat_reg>;
+ vsys2-supply = <&vdd_ac_bat_reg>;
+ vsys3-supply = <&vdd_ac_bat_reg>;
+ infet1-supply = <&vdd_ac_bat_reg>;
+ infet2-supply = <&vdd_ac_bat_reg>;
+ infet3-supply = <&tps65090_dcdc2_reg>;
+ infet4-supply = <&tps65090_dcdc2_reg>;
+ infet5-supply = <&tps65090_dcdc2_reg>;
+ infet6-supply = <&tps65090_dcdc2_reg>;
+ infet7-supply = <&tps65090_dcdc2_reg>;
+ vsys-l1-supply = <&vdd_ac_bat_reg>;
+ vsys-l2-supply = <&vdd_ac_bat_reg>;
+
+ regulators {
+ dcdc1 {
+ regulator-name = "vdd-sys-5v0";
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ tps65090_dcdc2_reg: dcdc2 {
+ regulator-name = "vdd-sys-3v3";
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ dcdc3 {
+ regulator-name = "vdd-ao";
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ fet1 {
+ regulator-name = "vdd-lcd-bl";
+ };
+
+ fet3 {
+ regulator-name = "vdd-modem-3v3";
+ };
+
+ fet4 {
+ regulator-name = "avdd-lcd";
+ };
+
+ fet5 {
+ regulator-name = "vdd-lvds";
+ };
+
+ fet6 {
+ regulator-name = "vdd-sd-slot";
+ };
+
+ fet7 {
+ regulator-name = "vdd-com-3v3";
+ };
+
+ ldo1 {
+ regulator-name = "vdd-sby-5v0";
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ ldo2 {
+ regulator-name = "vdd-sby-3v3";
+ regulator-always-on;
+ regulator-boot-on;
+ };
+ };
+ };
};
pmc {
@@ -747,4 +823,18 @@
bus-width = <8>;
status = "okay";
};
+ regulators {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ vdd_ac_bat_reg: regulator at 0 {
+ compatible = "regulator-fixed";
+ reg = <0>;
+ regulator-name = "vdd_ac_bat";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-always-on;
+ };
+ };
};
--
1.7.1.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 3/4] ARM: tegra: dalmore: add dt node for TPS65090's regulators
2013-03-20 13:44 ` [PATCH 3/4] ARM: tegra: dalmore: add dt node for TPS65090's regulators Laxman Dewangan
@ 2013-03-20 16:57 ` Rhyland Klein
2013-03-20 18:06 ` Laxman Dewangan
2013-03-20 20:48 ` Stephen Warren
1 sibling, 1 reply; 9+ messages in thread
From: Rhyland Klein @ 2013-03-20 16:57 UTC (permalink / raw)
To: linux-arm-kernel
On 3/20/2013 9:44 AM, Laxman Dewangan wrote:
> NVIDIA's Tegra114 platform, Dalmore, uses the TPS65090 as
> secondary PMICs which mainly act as voltage switch controlled
> by I2C communication.
>
> Add regulator node for this device.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> ---
> .../devicetree/bindings/regulator/tps65090.txt | 4 +-
> arch/arm/boot/dts/tegra114-dalmore.dts | 90 ++++++++++++++++++++
> 2 files changed, 92 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/regulator/tps65090.txt b/Documentation/devicetree/bindings/regulator/tps65090.txt
> index 313a60b..8926e2d 100644
> --- a/Documentation/devicetree/bindings/regulator/tps65090.txt
> +++ b/Documentation/devicetree/bindings/regulator/tps65090.txt
> @@ -41,8 +41,8 @@ Example:
> infet5-supply = <&some_reg>;
> infet6-supply = <&some_reg>;
> infet7-supply = <&some_reg>;
> - vsys_l1-supply = <&some_reg>;
> - vsys_l2-supply = <&some_reg>;
> + vsys-l1-supply = <&some_reg>;
> + vsys-l2-supply = <&some_reg>;
>
> regulators {
> dcdc1 {
> diff --git a/arch/arm/boot/dts/tegra114-dalmore.dts b/arch/arm/boot/dts/tegra114-dalmore.dts
> index 6be9434..a47c3d2 100644
> --- a/arch/arm/boot/dts/tegra114-dalmore.dts
> +++ b/arch/arm/boot/dts/tegra114-dalmore.dts
> @@ -731,6 +731,82 @@
> regulator-boot-on;
> regulator-always-on;
> };
> +
> + tps65090 at 48 {
> + compatible = "ti,tps65090";
> + reg = <0x48>;
> + interrupt-parent = <&gpio>;
> + interrupts = <72 0x04>; /* gpio PJ0 */
> +
> + vsys1-supply = <&vdd_ac_bat_reg>;
> + vsys2-supply = <&vdd_ac_bat_reg>;
> + vsys3-supply = <&vdd_ac_bat_reg>;
> + infet1-supply = <&vdd_ac_bat_reg>;
> + infet2-supply = <&vdd_ac_bat_reg>;
> + infet3-supply = <&tps65090_dcdc2_reg>;
> + infet4-supply = <&tps65090_dcdc2_reg>;
> + infet5-supply = <&tps65090_dcdc2_reg>;
> + infet6-supply = <&tps65090_dcdc2_reg>;
> + infet7-supply = <&tps65090_dcdc2_reg>;
> + vsys-l1-supply = <&vdd_ac_bat_reg>;
> + vsys-l2-supply = <&vdd_ac_bat_reg>;
> +
> + regulators {
> + dcdc1 {
> + regulator-name = "vdd-sys-5v0";
> + regulator-always-on;
> + regulator-boot-on;
> + };
You should also add the tps65090_dcdc1_reg label to dcdc1. I believe you
make use of it in patch 4 and this currently causes build breaks.
> +
> + tps65090_dcdc2_reg: dcdc2 {
> + regulator-name = "vdd-sys-3v3";
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
>
-rhyland
--
nvpublic
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 3/4] ARM: tegra: dalmore: add dt node for TPS65090's regulators
2013-03-20 16:57 ` Rhyland Klein
@ 2013-03-20 18:06 ` Laxman Dewangan
0 siblings, 0 replies; 9+ messages in thread
From: Laxman Dewangan @ 2013-03-20 18:06 UTC (permalink / raw)
To: linux-arm-kernel
On Wednesday 20 March 2013 10:27 PM, Rhyland Klein wrote:
> On 3/20/2013 9:44 AM, Laxman Dewangan wrote:
> + regulators {
> + dcdc1 {
> + regulator-name = "vdd-sys-5v0";
> + regulator-always-on;
> + regulator-boot-on;
> + };
> You should also add the tps65090_dcdc1_reg label to dcdc1. I believe you
> make use of it in patch 4 and this currently causes build breaks.
>
Actually patch 4 uses this label and I should add on patch 4, not on
patch 3.
I removed from patch3 and when cherrypick the patch 4 from different
branch to make the patches, I missed the change and hence patch 4 is not
getting compiled.
I will fix the issue on next revision.
Sorry for messing up and thins for pointing this.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 3/4] ARM: tegra: dalmore: add dt node for TPS65090's regulators
2013-03-20 13:44 ` [PATCH 3/4] ARM: tegra: dalmore: add dt node for TPS65090's regulators Laxman Dewangan
2013-03-20 16:57 ` Rhyland Klein
@ 2013-03-20 20:48 ` Stephen Warren
1 sibling, 0 replies; 9+ messages in thread
From: Stephen Warren @ 2013-03-20 20:48 UTC (permalink / raw)
To: linux-arm-kernel
On 03/20/2013 07:44 AM, Laxman Dewangan wrote:
> NVIDIA's Tegra114 platform, Dalmore, uses the TPS65090 as
> secondary PMICs which mainly act as voltage switch controlled
> by I2C communication.
> diff --git a/arch/arm/boot/dts/tegra114-dalmore.dts b/arch/arm/boot/dts/tegra114-dalmore.dts
> @@ -747,4 +823,18 @@
> bus-width = <8>;
> status = "okay";
> };
> + regulators {
> + compatible = "simple-bus";
> + #address-cells = <1>;
You need a blank line between the nodes there.
There a a number of typos and capitalization issues in the various
commit descriptions.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 4/4] ARM: tegra: dalmore: add fixed regulator's node
2013-03-20 13:44 [PATCH 0/4] ARM: tegra: dalmore: add regulators Laxman Dewangan
` (2 preceding siblings ...)
2013-03-20 13:44 ` [PATCH 3/4] ARM: tegra: dalmore: add dt node for TPS65090's regulators Laxman Dewangan
@ 2013-03-20 13:44 ` Laxman Dewangan
3 siblings, 0 replies; 9+ messages in thread
From: Laxman Dewangan @ 2013-03-20 13:44 UTC (permalink / raw)
To: linux-arm-kernel
NVIDIA's Tegra114 platform Dalmore has some voltage switches
which are controlled by the Tegra GPIOs.
Add dt node for such fixed regulators.
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
arch/arm/boot/dts/tegra114-dalmore.dts | 55 ++++++++++++++++++++++++++++++++
1 files changed, 55 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boot/dts/tegra114-dalmore.dts b/arch/arm/boot/dts/tegra114-dalmore.dts
index a47c3d2..86116f1 100644
--- a/arch/arm/boot/dts/tegra114-dalmore.dts
+++ b/arch/arm/boot/dts/tegra114-dalmore.dts
@@ -836,5 +836,60 @@
regulator-max-microvolt = <5000000>;
regulator-always-on;
};
+
+ dvdd_ts_reg: regulator at 1 {
+ compatible = "regulator-fixed";
+ reg = <1>;
+ regulator-name = "dvdd_ts";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ enable-active-high;
+ gpio = <&gpio 61 0>; /* GPIO PH5 */
+ };
+
+ lcd_bl_en_reg: regulator at 2 {
+ compatible = "regulator-fixed";
+ reg = <2>;
+ regulator-name = "lcd_bl_en";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ enable-active-high;
+ gpio = <&gpio 58 0>; /* GPIO PH2 */
+ };
+
+ usb1_vbus_reg: regulator at 3 {
+ compatible = "regulator-fixed";
+ reg = <3>;
+ regulator-name = "usb1_vbus";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ enable-active-high;
+ gpio = <&gpio 108 0>; /* GPIO PN4 */
+ gpio-open-drain;
+ vin-supply = <&tps65090_dcdc1_reg>;
+ };
+
+ usb3_vbus_reg: regulator at 4 {
+ compatible = "regulator-fixed";
+ reg = <4>;
+ regulator-name = "usb2_vbus";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ enable-active-high;
+ gpio = <&gpio 86 0>; /* GPIO PK6 */
+ gpio-open-drain;
+ vin-supply = <&tps65090_dcdc1_reg>;
+ };
+
+ vdd_hdmi_reg: regulator at 5 {
+ compatible = "regulator-fixed";
+ reg = <5>;
+ regulator-name = "vdd_hdmi_5v0";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ enable-active-high;
+ gpio = <&gpio 81 0>; /* GPIO PK1 */
+ vin-supply = <&tps65090_dcdc1_reg>;
+ };
};
};
--
1.7.1.1
^ permalink raw reply related [flat|nested] 9+ messages in thread