diff mbox

ARM: dts: porter: Add missing PMIC nodes

Message ID 20180217020756.21474-1-marek.vasut+renesas@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Marek Vasut Feb. 17, 2018, 2:07 a.m. UTC
Add PMIC nodes to Porter and connect CPU DVFS supply. There is
one DA9063 and one DA9210 on Porter, the only difference from
the other boards is that DA9063 is at I2C address 0x5a rather
than 0x58 .

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: Simon Horman <horms+renesas@verge.net.au>
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
 arch/arm/boot/dts/r8a7791-porter.dts | 37 ++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

Comments

Geert Uytterhoeven Feb. 18, 2018, 3:07 p.m. UTC | #1
Hi Marek,

CC Steve Twiss

On Sat, Feb 17, 2018 at 3:07 AM, Marek Vasut <marek.vasut@gmail.com> wrote:
> Add PMIC nodes to Porter and connect CPU DVFS supply. There is
> one DA9063 and one DA9210 on Porter, the only difference from
> the other boards is that DA9063 is at I2C address 0x5a rather
> than 0x58 .
>
> Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>

Thanks for your patch!

> --- a/arch/arm/boot/dts/r8a7791-porter.dts
> +++ b/arch/arm/boot/dts/r8a7791-porter.dts
> @@ -354,10 +354,47 @@
>         clock-frequency = <400000>;
>  };
>
> +&i2c6 {
> +       status = "okay";
> +       clock-frequency = <100000>;
> +
> +       pmic@5a {
> +               compatible = "dlg,da9063";

Does it matter that this is a DA9063L ("Variant 6B")?
Do we need a new compatible value, or can this be detected at runtime?

> +               reg = <0x5a>;
> +               interrupt-parent = <&irqc0>;
> +               interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
> +               interrupt-controller;
> +
> +               rtc {
> +                       compatible = "dlg,da9063-rtc";
> +               };
> +
> +               wdt {
> +                       compatible = "dlg,da9063-watchdog";
> +               };
> +       };
> +
> +       vdd_dvfs: regulator@68 {
> +               compatible = "dlg,da9210";
> +               reg = <0x68>;
> +               interrupt-parent = <&irqc0>;
> +               interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
> +
> +               regulator-min-microvolt = <1000000>;
> +               regulator-max-microvolt = <1000000>;
> +               regulator-boot-on;
> +               regulator-always-on;
> +       };
> +};
> +
>  &sata0 {
>         status = "okay";
>  };
>
> +&cpu0 {
> +       cpu0-supply = <&vdd_dvfs>;
> +};
> +
>  /* composite video input */
>  &vin0 {
>         status = "okay";

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Simon Horman Feb. 23, 2018, 4:45 p.m. UTC | #2
On Sun, Feb 18, 2018 at 04:07:51PM +0100, Geert Uytterhoeven wrote:
> Hi Marek,
> 
> CC Steve Twiss
> 
> On Sat, Feb 17, 2018 at 3:07 AM, Marek Vasut <marek.vasut@gmail.com> wrote:
> > Add PMIC nodes to Porter and connect CPU DVFS supply. There is
> > one DA9063 and one DA9210 on Porter, the only difference from
> > the other boards is that DA9063 is at I2C address 0x5a rather
> > than 0x58 .
> >
> > Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
> 
> Thanks for your patch!
> 
> > --- a/arch/arm/boot/dts/r8a7791-porter.dts
> > +++ b/arch/arm/boot/dts/r8a7791-porter.dts
> > @@ -354,10 +354,47 @@
> >         clock-frequency = <400000>;
> >  };
> >
> > +&i2c6 {
> > +       status = "okay";
> > +       clock-frequency = <100000>;
> > +
> > +       pmic@5a {
> > +               compatible = "dlg,da9063";
> 
> Does it matter that this is a DA9063L ("Variant 6B")?
> Do we need a new compatible value, or can this be detected at runtime?

Hi Marek,

could you follow up on this?

> > +               reg = <0x5a>;
> > +               interrupt-parent = <&irqc0>;
> > +               interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
> > +               interrupt-controller;
> > +
> > +               rtc {
> > +                       compatible = "dlg,da9063-rtc";
> > +               };
> > +
> > +               wdt {
> > +                       compatible = "dlg,da9063-watchdog";
> > +               };
> > +       };
> > +
> > +       vdd_dvfs: regulator@68 {
> > +               compatible = "dlg,da9210";
> > +               reg = <0x68>;
> > +               interrupt-parent = <&irqc0>;
> > +               interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
> > +
> > +               regulator-min-microvolt = <1000000>;
> > +               regulator-max-microvolt = <1000000>;
> > +               regulator-boot-on;
> > +               regulator-always-on;
> > +       };
> > +};
> > +
> >  &sata0 {
> >         status = "okay";
> >  };
> >
> > +&cpu0 {
> > +       cpu0-supply = <&vdd_dvfs>;
> > +};
> > +
> >  /* composite video input */
> >  &vin0 {
> >         status = "okay";
> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds
>
Marek Vasut Feb. 24, 2018, 10:05 a.m. UTC | #3
On 02/23/2018 05:45 PM, Simon Horman wrote:
> On Sun, Feb 18, 2018 at 04:07:51PM +0100, Geert Uytterhoeven wrote:
>> Hi Marek,
>>
>> CC Steve Twiss
>>
>> On Sat, Feb 17, 2018 at 3:07 AM, Marek Vasut <marek.vasut@gmail.com> wrote:
>>> Add PMIC nodes to Porter and connect CPU DVFS supply. There is
>>> one DA9063 and one DA9210 on Porter, the only difference from
>>> the other boards is that DA9063 is at I2C address 0x5a rather
>>> than 0x58 .
>>>
>>> Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
>>
>> Thanks for your patch!
>>
>>> --- a/arch/arm/boot/dts/r8a7791-porter.dts
>>> +++ b/arch/arm/boot/dts/r8a7791-porter.dts
>>> @@ -354,10 +354,47 @@
>>>         clock-frequency = <400000>;
>>>  };
>>>
>>> +&i2c6 {
>>> +       status = "okay";
>>> +       clock-frequency = <100000>;
>>> +
>>> +       pmic@5a {
>>> +               compatible = "dlg,da9063";
>>
>> Does it matter that this is a DA9063L ("Variant 6B")?
>> Do we need a new compatible value, or can this be detected at runtime?
> 
> Hi Marek,
> 
> could you follow up on this?

Yes, ASAP, once I'm back in the office, currently I'm stuck at the airport.
Marek Vasut Feb. 24, 2018, 10:11 p.m. UTC | #4
On 02/18/2018 04:07 PM, Geert Uytterhoeven wrote:
> Hi Marek,

Hi,

> CC Steve Twiss
> 
> On Sat, Feb 17, 2018 at 3:07 AM, Marek Vasut <marek.vasut@gmail.com> wrote:
>> Add PMIC nodes to Porter and connect CPU DVFS supply. There is
>> one DA9063 and one DA9210 on Porter, the only difference from
>> the other boards is that DA9063 is at I2C address 0x5a rather
>> than 0x58 .
>>
>> Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
> 
> Thanks for your patch!
> 
>> --- a/arch/arm/boot/dts/r8a7791-porter.dts
>> +++ b/arch/arm/boot/dts/r8a7791-porter.dts
>> @@ -354,10 +354,47 @@
>>         clock-frequency = <400000>;
>>  };
>>
>> +&i2c6 {
>> +       status = "okay";
>> +       clock-frequency = <100000>;
>> +
>> +       pmic@5a {
>> +               compatible = "dlg,da9063";
> 
> Does it matter that this is a DA9063L ("Variant 6B")?
> Do we need a new compatible value, or can this be detected at runtime?

The driver detects it

da9063 6-005a: Device detected (chip-ID: 0x61, var-ID: 0x63)

Comparing the datasheets makes it obvious that 9063L is just a cut-down
version of 9063, with less LDOs and one less ADC. So I think we should
have extra compatible and have the driver restrict which LDOs can be
used with this smaller PMIC.
Simon Horman Feb. 26, 2018, 10:55 a.m. UTC | #5
On Sat, Feb 24, 2018 at 11:11:31PM +0100, Marek Vasut wrote:
> On 02/18/2018 04:07 PM, Geert Uytterhoeven wrote:
> > Hi Marek,
> 
> Hi,
> 
> > CC Steve Twiss
> > 
> > On Sat, Feb 17, 2018 at 3:07 AM, Marek Vasut <marek.vasut@gmail.com> wrote:
> >> Add PMIC nodes to Porter and connect CPU DVFS supply. There is
> >> one DA9063 and one DA9210 on Porter, the only difference from
> >> the other boards is that DA9063 is at I2C address 0x5a rather
> >> than 0x58 .
> >>
> >> Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
> > 
> > Thanks for your patch!
> > 
> >> --- a/arch/arm/boot/dts/r8a7791-porter.dts
> >> +++ b/arch/arm/boot/dts/r8a7791-porter.dts
> >> @@ -354,10 +354,47 @@
> >>         clock-frequency = <400000>;
> >>  };
> >>
> >> +&i2c6 {
> >> +       status = "okay";
> >> +       clock-frequency = <100000>;
> >> +
> >> +       pmic@5a {
> >> +               compatible = "dlg,da9063";
> > 
> > Does it matter that this is a DA9063L ("Variant 6B")?
> > Do we need a new compatible value, or can this be detected at runtime?
> 
> The driver detects it
> 
> da9063 6-005a: Device detected (chip-ID: 0x61, var-ID: 0x63)
> 
> Comparing the datasheets makes it obvious that 9063L is just a cut-down
> version of 9063, with less LDOs and one less ADC. So I think we should
> have extra compatible and have the driver restrict which LDOs can be
> used with this smaller PMIC.

Thanks, and sorry to ping yo about this while you were in transit.

It sounds like this patch should be updated.
Accordingly I'm marking it as "Changes Requested".
Marek Vasut Feb. 26, 2018, 11:15 a.m. UTC | #6
On 02/26/2018 11:55 AM, Simon Horman wrote:
> On Sat, Feb 24, 2018 at 11:11:31PM +0100, Marek Vasut wrote:
>> On 02/18/2018 04:07 PM, Geert Uytterhoeven wrote:
>>> Hi Marek,
>>
>> Hi,
>>
>>> CC Steve Twiss
>>>
>>> On Sat, Feb 17, 2018 at 3:07 AM, Marek Vasut <marek.vasut@gmail.com> wrote:
>>>> Add PMIC nodes to Porter and connect CPU DVFS supply. There is
>>>> one DA9063 and one DA9210 on Porter, the only difference from
>>>> the other boards is that DA9063 is at I2C address 0x5a rather
>>>> than 0x58 .
>>>>
>>>> Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
>>>
>>> Thanks for your patch!
>>>
>>>> --- a/arch/arm/boot/dts/r8a7791-porter.dts
>>>> +++ b/arch/arm/boot/dts/r8a7791-porter.dts
>>>> @@ -354,10 +354,47 @@
>>>>         clock-frequency = <400000>;
>>>>  };
>>>>
>>>> +&i2c6 {
>>>> +       status = "okay";
>>>> +       clock-frequency = <100000>;
>>>> +
>>>> +       pmic@5a {
>>>> +               compatible = "dlg,da9063";
>>>
>>> Does it matter that this is a DA9063L ("Variant 6B")?
>>> Do we need a new compatible value, or can this be detected at runtime?
>>
>> The driver detects it
>>
>> da9063 6-005a: Device detected (chip-ID: 0x61, var-ID: 0x63)
>>
>> Comparing the datasheets makes it obvious that 9063L is just a cut-down
>> version of 9063, with less LDOs and one less ADC. So I think we should
>> have extra compatible and have the driver restrict which LDOs can be
>> used with this smaller PMIC.
> 
> Thanks, and sorry to ping yo about this while you were in transit.
> 
> It sounds like this patch should be updated.
> Accordingly I'm marking it as "Changes Requested".

Correct
diff mbox

Patch

diff --git a/arch/arm/boot/dts/r8a7791-porter.dts b/arch/arm/boot/dts/r8a7791-porter.dts
index a098d66292fb..116f30f54e04 100644
--- a/arch/arm/boot/dts/r8a7791-porter.dts
+++ b/arch/arm/boot/dts/r8a7791-porter.dts
@@ -354,10 +354,47 @@ 
 	clock-frequency = <400000>;
 };
 
+&i2c6 {
+	status = "okay";
+	clock-frequency = <100000>;
+
+	pmic@5a {
+		compatible = "dlg,da9063";
+		reg = <0x5a>;
+		interrupt-parent = <&irqc0>;
+		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-controller;
+
+		rtc {
+			compatible = "dlg,da9063-rtc";
+		};
+
+		wdt {
+			compatible = "dlg,da9063-watchdog";
+		};
+	};
+
+	vdd_dvfs: regulator@68 {
+		compatible = "dlg,da9210";
+		reg = <0x68>;
+		interrupt-parent = <&irqc0>;
+		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
+
+		regulator-min-microvolt = <1000000>;
+		regulator-max-microvolt = <1000000>;
+		regulator-boot-on;
+		regulator-always-on;
+	};
+};
+
 &sata0 {
 	status = "okay";
 };
 
+&cpu0 {
+	cpu0-supply = <&vdd_dvfs>;
+};
+
 /* composite video input */
 &vin0 {
 	status = "okay";