diff mbox

[3/4] ARM: dts: exynos5250-snow: add tps65090 power regulator

Message ID 1397481367-12652-3-git-send-email-sachin.kamat@linaro.org
State Accepted
Headers show

Commit Message

Sachin Kamat April 14, 2014, 1:16 p.m. UTC
From: Doug Anderson <dianders@chromium.org>

Added TPS65090 regulator related nodes to Snow board.

Signed-off-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
 arch/arm/boot/dts/exynos5250-snow.dts |   90 +++++++++++++++++++++++++++++++++
 1 file changed, 90 insertions(+)

Comments

Doug Anderson April 14, 2014, 10:43 p.m. UTC | #1
Sachin,

On Mon, Apr 14, 2014 at 6:16 AM, Sachin Kamat <sachin.kamat@linaro.org> wrote:
> From: Doug Anderson <dianders@chromium.org>
>
> Added TPS65090 regulator related nodes to Snow board.
>
> Signed-off-by: Doug Anderson <dianders@chromium.org>
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> ---
>  arch/arm/boot/dts/exynos5250-snow.dts |   90 +++++++++++++++++++++++++++++++++
>  1 file changed, 90 insertions(+)
>
> diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts
> index 469c85d..a38fd18 100644
> --- a/arch/arm/boot/dts/exynos5250-snow.dts
> +++ b/arch/arm/boot/dts/exynos5250-snow.dts
> @@ -44,6 +44,13 @@
>                 sd3_bus4: sd3-bus-width4 {
>                         samsung,pin-drv = <0>;
>                 };
> +
> +               tps65090_irq: tps65090-irq {
> +                       samsung,pins = "gpx2-6";
> +                       samsung,pin-function = <0>;
> +                       samsung,pin-pud = <0>;
> +                       samsung,pin-drv = <0>;
> +               };
>         };
>
>         pinctrl@13400000 {
> @@ -75,6 +82,12 @@
>                 };
>         };
>
> +       vbat: vbat-fixed-regulator {
> +               compatible = "regulator-fixed";
> +               regulator-name = "vbat-supply";
> +               regulator-boot-on;
> +       };
> +
>         i2c-arbitrator {
>                 compatible = "i2c-arb-gpio-challenge";
>                 #address-cells = <1>;
> @@ -201,6 +214,83 @@
>                                                         0x070c0069>;    /* LEFT */
>                                 };
>                         };
> +
> +                       power-regulator {
> +                               compatible = "ti,tps65090";
> +                               reg = <0x48>;
> +
> +                               /*
> +                                * Config irq to disable internal pulls
> +                                * even though we run in polling mode.

This comment refers to a feature that hasn't yet been sent upstream.
...but it's a good reminder and I can send it upstream now.  You can
see it at:

* https://chromium-review.googlesource.com/62630
* https://chromium-review.googlesource.com/175653

Since this is only a comment I guess it's OK to refer to a feature
that hasn't yet landed (?).


> +                                */
> +                               pinctrl-names = "default";
> +                               pinctrl-0 = <&tps65090_irq>;
> +
> +                               vsys1-supply = <&vbat>;
> +                               vsys2-supply = <&vbat>;
> +                               vsys3-supply = <&vbat>;
> +                               infet1-supply = <&vbat>;
> +                               infet2-supply = <&vbat>;
> +                               infet3-supply = <&vbat>;
> +                               infet4-supply = <&vbat>;
> +                               infet5-supply = <&vbat>;
> +                               infet6-supply = <&vbat>;
> +                               infet7-supply = <&vbat>;
> +                               vsys-l1-supply = <&vbat>;
> +                               vsys-l2-supply = <&vbat>;
> +
> +                               regulators {
> +                                       dcdc1 {
> +                                               ti,enable-ext-control;
> +                                       };
> +                                       dcdc2 {
> +                                               ti,enable-ext-control;
> +                                       };
> +                                       dcdc3 {
> +                                               ti,enable-ext-control;
> +                                       };
> +                                       fet1 {
> +                                               regulator-name = "vcd_led";
> +                                               ti,overcurrent-wait = <3>;

This is also referring to something that hasn't been sent upstream yet.  See:
* https://chromium-review.googlesource.com/184607

> +                                       };
> +                                       tps65090_fet2: fet2 {
> +                                               regulator-name = "video_mid";
> +                                               regulator-always-on;
> +                                               ti,overcurrent-wait = <3>;
> +                                       };
> +                                       fet3 {
> +                                               regulator-name = "wwan_r";
> +                                               regulator-always-on;
> +                                               ti,overcurrent-wait = <3>;
> +                                       };
> +                                       fet4 {
> +                                               regulator-name = "sdcard";
> +                                               ti,overcurrent-wait = <3>;
> +                                       };
> +                                       fet5 {
> +                                               regulator-name = "camout";
> +                                               regulator-always-on;
> +                                               ti,overcurrent-wait = <3>;
> +                                       };
> +                                       fet6 {
> +                                               regulator-name = "lcd_vdd";
> +                                               ti,overcurrent-wait = <3>;
> +                                       };
> +                                       tps65090_fet7: fet7 {
> +                                               regulator-name = "video_mid_1a";
> +                                               regulator-always-on;
> +                                               ti,overcurrent-wait = <3>;
> +                                       };
> +                                       ldo1 {
> +                                       };
> +                                       ldo2 {
> +                                       };
> +                               };
> +
> +                               charger {
> +                                       compatible = "ti,tps65090-charger";
> +                               };

I'm nearly certain that the charger will be pretty unhappy without the
polling mode change mentioned above.

> +                       };
>                 };
>         };
>

-Doug
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sachin Kamat April 15, 2014, 9:55 a.m. UTC | #2
Hi Doug,

On 15 April 2014 04:13, Doug Anderson <dianders@chromium.org> wrote:
> Sachin,
>
> On Mon, Apr 14, 2014 at 6:16 AM, Sachin Kamat <sachin.kamat@linaro.org> wrote:
>> From: Doug Anderson <dianders@chromium.org>
>>
>> Added TPS65090 regulator related nodes to Snow board.
>>
>> Signed-off-by: Doug Anderson <dianders@chromium.org>
>> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
>> ---
>>  arch/arm/boot/dts/exynos5250-snow.dts |   90 +++++++++++++++++++++++++++++++++
>>  1 file changed, 90 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts
>> index 469c85d..a38fd18 100644
>> --- a/arch/arm/boot/dts/exynos5250-snow.dts
>> +++ b/arch/arm/boot/dts/exynos5250-snow.dts
>> @@ -44,6 +44,13 @@
>>                 sd3_bus4: sd3-bus-width4 {
>>                         samsung,pin-drv = <0>;
>>                 };
>> +
>> +               tps65090_irq: tps65090-irq {
>> +                       samsung,pins = "gpx2-6";
>> +                       samsung,pin-function = <0>;
>> +                       samsung,pin-pud = <0>;
>> +                       samsung,pin-drv = <0>;
>> +               };
>>         };
>>
>>         pinctrl@13400000 {
>> @@ -75,6 +82,12 @@
>>                 };
>>         };
>>
>> +       vbat: vbat-fixed-regulator {
>> +               compatible = "regulator-fixed";
>> +               regulator-name = "vbat-supply";
>> +               regulator-boot-on;
>> +       };
>> +
>>         i2c-arbitrator {
>>                 compatible = "i2c-arb-gpio-challenge";
>>                 #address-cells = <1>;
>> @@ -201,6 +214,83 @@
>>                                                         0x070c0069>;    /* LEFT */
>>                                 };
>>                         };
>> +
>> +                       power-regulator {
>> +                               compatible = "ti,tps65090";
>> +                               reg = <0x48>;
>> +
>> +                               /*
>> +                                * Config irq to disable internal pulls
>> +                                * even though we run in polling mode.
>
> This comment refers to a feature that hasn't yet been sent upstream.
> ...but it's a good reminder and I can send it upstream now.  You can
> see it at:
>
> * https://chromium-review.googlesource.com/62630
> * https://chromium-review.googlesource.com/175653
>
> Since this is only a comment I guess it's OK to refer to a feature
> that hasn't yet landed (?).
>
>
>> +                                */
>> +                               pinctrl-names = "default";
>> +                               pinctrl-0 = <&tps65090_irq>;
>> +
>> +                               vsys1-supply = <&vbat>;
>> +                               vsys2-supply = <&vbat>;
>> +                               vsys3-supply = <&vbat>;
>> +                               infet1-supply = <&vbat>;
>> +                               infet2-supply = <&vbat>;
>> +                               infet3-supply = <&vbat>;
>> +                               infet4-supply = <&vbat>;
>> +                               infet5-supply = <&vbat>;
>> +                               infet6-supply = <&vbat>;
>> +                               infet7-supply = <&vbat>;
>> +                               vsys-l1-supply = <&vbat>;
>> +                               vsys-l2-supply = <&vbat>;
>> +
>> +                               regulators {
>> +                                       dcdc1 {
>> +                                               ti,enable-ext-control;
>> +                                       };
>> +                                       dcdc2 {
>> +                                               ti,enable-ext-control;
>> +                                       };
>> +                                       dcdc3 {
>> +                                               ti,enable-ext-control;
>> +                                       };
>> +                                       fet1 {
>> +                                               regulator-name = "vcd_led";
>> +                                               ti,overcurrent-wait = <3>;
>
> This is also referring to something that hasn't been sent upstream yet.  See:
> * https://chromium-review.googlesource.com/184607
>
>> +                                       };
>> +                                       tps65090_fet2: fet2 {
>> +                                               regulator-name = "video_mid";
>> +                                               regulator-always-on;
>> +                                               ti,overcurrent-wait = <3>;
>> +                                       };
>> +                                       fet3 {
>> +                                               regulator-name = "wwan_r";
>> +                                               regulator-always-on;
>> +                                               ti,overcurrent-wait = <3>;
>> +                                       };
>> +                                       fet4 {
>> +                                               regulator-name = "sdcard";
>> +                                               ti,overcurrent-wait = <3>;
>> +                                       };
>> +                                       fet5 {
>> +                                               regulator-name = "camout";
>> +                                               regulator-always-on;
>> +                                               ti,overcurrent-wait = <3>;
>> +                                       };
>> +                                       fet6 {
>> +                                               regulator-name = "lcd_vdd";
>> +                                               ti,overcurrent-wait = <3>;
>> +                                       };
>> +                                       tps65090_fet7: fet7 {
>> +                                               regulator-name = "video_mid_1a";
>> +                                               regulator-always-on;
>> +                                               ti,overcurrent-wait = <3>;
>> +                                       };
>> +                                       ldo1 {
>> +                                       };
>> +                                       ldo2 {
>> +                                       };
>> +                               };
>> +
>> +                               charger {
>> +                                       compatible = "ti,tps65090-charger";
>> +                               };
>
> I'm nearly certain that the charger will be pretty unhappy without the
> polling mode change mentioned above.

Since the patches that you pointed out were in the internal tree, did
not realise they
had not yet hit mainline. This patch should certainly come after that.
Doug Anderson April 15, 2014, 8:21 p.m. UTC | #3
Sachin,

On Mon, Apr 14, 2014 at 6:16 AM, Sachin Kamat <sachin.kamat@linaro.org> wrote:
> From: Doug Anderson <dianders@chromium.org>
>
> Added TPS65090 regulator related nodes to Snow board.
>
> Signed-off-by: Doug Anderson <dianders@chromium.org>
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> ---
>  arch/arm/boot/dts/exynos5250-snow.dts |   90 +++++++++++++++++++++++++++++++++
>  1 file changed, 90 insertions(+)

I've now sent up the relevant patches:
* https://patchwork.kernel.org/patch/3995361/
* https://patchwork.kernel.org/patch/3995401/
* https://patchwork.kernel.org/patch/3995411/

So assuming those land then I think we're all good with this one.
I've also done basic testing with it.

Reviewed-by: Doug Anderson <dianders@chromium.org>
Tested-by: Doug Anderson <dianders@chromium.org>
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts
index 469c85d..a38fd18 100644
--- a/arch/arm/boot/dts/exynos5250-snow.dts
+++ b/arch/arm/boot/dts/exynos5250-snow.dts
@@ -44,6 +44,13 @@ 
 		sd3_bus4: sd3-bus-width4 {
 			samsung,pin-drv = <0>;
 		};
+
+		tps65090_irq: tps65090-irq {
+			samsung,pins = "gpx2-6";
+			samsung,pin-function = <0>;
+			samsung,pin-pud = <0>;
+			samsung,pin-drv = <0>;
+		};
 	};
 
 	pinctrl@13400000 {
@@ -75,6 +82,12 @@ 
 		};
 	};
 
+	vbat: vbat-fixed-regulator {
+		compatible = "regulator-fixed";
+		regulator-name = "vbat-supply";
+		regulator-boot-on;
+	};
+
 	i2c-arbitrator {
 		compatible = "i2c-arb-gpio-challenge";
 		#address-cells = <1>;
@@ -201,6 +214,83 @@ 
 							0x070c0069>;	/* LEFT */
 				};
 			};
+
+			power-regulator {
+				compatible = "ti,tps65090";
+				reg = <0x48>;
+
+				/*
+				 * Config irq to disable internal pulls
+				 * even though we run in polling mode.
+				 */
+				pinctrl-names = "default";
+				pinctrl-0 = <&tps65090_irq>;
+
+				vsys1-supply = <&vbat>;
+				vsys2-supply = <&vbat>;
+				vsys3-supply = <&vbat>;
+				infet1-supply = <&vbat>;
+				infet2-supply = <&vbat>;
+				infet3-supply = <&vbat>;
+				infet4-supply = <&vbat>;
+				infet5-supply = <&vbat>;
+				infet6-supply = <&vbat>;
+				infet7-supply = <&vbat>;
+				vsys-l1-supply = <&vbat>;
+				vsys-l2-supply = <&vbat>;
+
+				regulators {
+					dcdc1 {
+						ti,enable-ext-control;
+					};
+					dcdc2 {
+						ti,enable-ext-control;
+					};
+					dcdc3 {
+						ti,enable-ext-control;
+					};
+					fet1 {
+						regulator-name = "vcd_led";
+						ti,overcurrent-wait = <3>;
+					};
+					tps65090_fet2: fet2 {
+						regulator-name = "video_mid";
+						regulator-always-on;
+						ti,overcurrent-wait = <3>;
+					};
+					fet3 {
+						regulator-name = "wwan_r";
+						regulator-always-on;
+						ti,overcurrent-wait = <3>;
+					};
+					fet4 {
+						regulator-name = "sdcard";
+						ti,overcurrent-wait = <3>;
+					};
+					fet5 {
+						regulator-name = "camout";
+						regulator-always-on;
+						ti,overcurrent-wait = <3>;
+					};
+					fet6 {
+						regulator-name = "lcd_vdd";
+						ti,overcurrent-wait = <3>;
+					};
+					tps65090_fet7: fet7 {
+						regulator-name = "video_mid_1a";
+						regulator-always-on;
+						ti,overcurrent-wait = <3>;
+					};
+					ldo1 {
+					};
+					ldo2 {
+					};
+				};
+
+				charger {
+					compatible = "ti,tps65090-charger";
+				};
+			};
 		};
 	};