diff mbox series

[U-Boot,v2,08/11] sandbox: Enable support for MC34708 PMIC in DTS

Message ID 20180506202608.5899-9-lukma@denx.de
State Superseded
Delegated to: Lukasz Majewski
Headers show
Series pmic: sandbox: Add support for MC34709 PMIC | expand

Commit Message

Lukasz Majewski May 6, 2018, 8:26 p.m. UTC
This commit also provides the default values of the emulated MC34708 PMIC
internal registers content.

Signed-off-by: Lukasz Majewski <lukma@denx.de>

---

Changes in v2:
- New patch

 arch/sandbox/dts/sandbox.dts       |  4 ++++
 arch/sandbox/dts/sandbox64.dts     |  4 ++++
 arch/sandbox/dts/sandbox_pmic.dtsi | 33 +++++++++++++++++++++++++++++++++
 arch/sandbox/dts/test.dts          |  4 ++++
 4 files changed, 45 insertions(+)

Comments

Fabio Estevam May 6, 2018, 8:35 p.m. UTC | #1
Hi Lukasz,

On Sun, May 6, 2018 at 5:26 PM, Lukasz Majewski <lukma@denx.de> wrote:

> diff --git a/arch/sandbox/dts/sandbox.dts b/arch/sandbox/dts/sandbox.dts
> index 1fb8225fbb..b187b6fac1 100644
> --- a/arch/sandbox/dts/sandbox.dts
> +++ b/arch/sandbox/dts/sandbox.dts
> @@ -115,6 +115,10 @@
>                 sandbox_pmic: sandbox_pmic {
>                         reg = <0x40>;
>                 };
> +
> +               mc34708_pmic: mc34708_pmic {
> +                       reg = <0x41>;
> +               };

I know you are following the current style of this file, but this
looks incorrect.

According to Devicetree Specification v0.2 document:

"The name of a node should be somewhat generic, reflecting the function
of the device and not its precise programming model."

Also, the reg property needs to have a corresponding unit address.

It would better to rewrite this as:

mc34708: pmic@41 {
     reg = <0x41>
};
Lukasz Majewski May 7, 2018, 2:12 p.m. UTC | #2
Hi Fabio,

> Hi Lukasz,
> 
> On Sun, May 6, 2018 at 5:26 PM, Lukasz Majewski <lukma@denx.de> wrote:
> 
> > diff --git a/arch/sandbox/dts/sandbox.dts
> > b/arch/sandbox/dts/sandbox.dts index 1fb8225fbb..b187b6fac1 100644
> > --- a/arch/sandbox/dts/sandbox.dts
> > +++ b/arch/sandbox/dts/sandbox.dts
> > @@ -115,6 +115,10 @@
> >                 sandbox_pmic: sandbox_pmic {
> >                         reg = <0x40>;
> >                 };
> > +
> > +               mc34708_pmic: mc34708_pmic {
> > +                       reg = <0x41>;
> > +               };  
> 
> I know you are following the current style of this file, but this
> looks incorrect.
> 
> According to Devicetree Specification v0.2 document:
> 
> "The name of a node should be somewhat generic, reflecting the
> function of the device and not its precise programming model."
> 
> Also, the reg property needs to have a corresponding unit address.
> 
> It would better to rewrite this as:
> 
> mc34708: pmic@41 {
>      reg = <0x41>
> };

Yes, you are right. I've blindly followed the current (wrong) code.

I'm now waiting for comments from Simon and will fix this in v3.

Thanks for review.


Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
Simon Glass May 13, 2018, 10:02 p.m. UTC | #3
On 7 May 2018 at 06:26, Lukasz Majewski <lukma@denx.de> wrote:
> This commit also provides the default values of the emulated MC34708 PMIC
> internal registers content.
>
> Signed-off-by: Lukasz Majewski <lukma@denx.de>
>
> ---
>
> Changes in v2:
> - New patch
>
>  arch/sandbox/dts/sandbox.dts       |  4 ++++
>  arch/sandbox/dts/sandbox64.dts     |  4 ++++
>  arch/sandbox/dts/sandbox_pmic.dtsi | 33 +++++++++++++++++++++++++++++++++
>  arch/sandbox/dts/test.dts          |  4 ++++
>  4 files changed, 45 insertions(+)

Reviewed-by: Simon Glass <sjg@chromium.org>
diff mbox series

Patch

diff --git a/arch/sandbox/dts/sandbox.dts b/arch/sandbox/dts/sandbox.dts
index 1fb8225fbb..b187b6fac1 100644
--- a/arch/sandbox/dts/sandbox.dts
+++ b/arch/sandbox/dts/sandbox.dts
@@ -115,6 +115,10 @@ 
 		sandbox_pmic: sandbox_pmic {
 			reg = <0x40>;
 		};
+
+		mc34708_pmic: mc34708_pmic {
+			reg = <0x41>;
+		};
 	};
 
 	lcd {
diff --git a/arch/sandbox/dts/sandbox64.dts b/arch/sandbox/dts/sandbox64.dts
index d6efc011de..a8f0efc57e 100644
--- a/arch/sandbox/dts/sandbox64.dts
+++ b/arch/sandbox/dts/sandbox64.dts
@@ -115,6 +115,10 @@ 
 		sandbox_pmic: sandbox_pmic {
 			reg = <0x40>;
 		};
+
+		mc34708_pmic: mc34708_pmic {
+			reg = <0x41>;
+		};
 	};
 
 	lcd {
diff --git a/arch/sandbox/dts/sandbox_pmic.dtsi b/arch/sandbox/dts/sandbox_pmic.dtsi
index acb4799396..37a171c65e 100644
--- a/arch/sandbox/dts/sandbox_pmic.dtsi
+++ b/arch/sandbox/dts/sandbox_pmic.dtsi
@@ -82,3 +82,36 @@ 
 		regulator-max-microvolt = <1500000>;
 	};
 };
+
+&mc34708_pmic {
+	compatible = "fsl,mc34708";
+
+	pmic_emul {
+		compatible = "sandbox,i2c-pmic";
+
+		reg-defaults = /bits/ 8 <
+			0x00 0x80 0x08 0xff 0xff 0xff 0x2e 0x01 0x08
+			0x40 0x80 0x81 0x5f 0xff 0xfb 0x1e 0x80 0x18
+			0x00 0x00 0x0e 0x00 0x00 0x14 0x00 0x00 0x00
+			0x00 0x00 0x20 0x00 0x01 0x3a 0x00 0x00 0x00
+			0x00 0x00 0x00 0x00 0x00 0x40 0x00 0x00 0x00
+			0x42 0x21 0x00 0x00 0x00 0x00 0x00 0x00 0x00
+			0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x30 0x5f
+			0x01 0xff 0xff 0x00 0x00 0x00 0x00 0x7f 0xff
+			0x92 0x49 0x24 0x59 0x6d 0x34 0x18 0xc1 0x8c
+			0x00 0x60 0x18 0x51 0x48 0x45 0x14 0x51 0x45
+			0x00 0x06 0x32 0x00 0x00 0x00 0x06 0x9c 0x99
+			0x00 0x38 0x0a 0x00 0x38 0x0a 0x00 0x38 0x0a
+			0x00 0x38 0x0a 0x84 0x00 0x00 0x00 0x00 0x00
+			0x80 0x90 0x8f 0xf8 0x00 0x04 0x00 0x00 0x00
+			0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
+			0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
+			0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
+			0x01 0x31 0x7e 0x2b 0x03 0xfd 0xc0 0x36 0x1b
+			0x60 0x06 0x00 0x00 0x00 0x00 0x00 0x00 0x00
+			0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
+			0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
+			0x00 0x00 0x00
+		>;
+	};
+};
diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts
index 06d0e8ce85..6e45ec8fb8 100644
--- a/arch/sandbox/dts/test.dts
+++ b/arch/sandbox/dts/test.dts
@@ -227,6 +227,10 @@ 
 		sandbox_pmic: sandbox_pmic {
 			reg = <0x40>;
 		};
+
+		mc34708_pmic: mc34708_pmic {
+			reg = <0x41>;
+		};
 	};
 
 	adc@0 {