diff mbox

[V2,4/6] DT: add binding for mxs on-chip regulators

Message ID 1430346747-28728-5-git-send-email-stefan.wahren@i2se.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Stefan Wahren April 29, 2015, 10:32 p.m. UTC
This patch adds the device tree bindings for the Freescale MXS on-chip
regulators.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
---
 .../bindings/regulator/mxs-regulator.txt           |   65 ++++++++++++++++++++
 1 file changed, 65 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/regulator/mxs-regulator.txt

Comments

Juergen Borleis May 4, 2015, 1:51 p.m. UTC | #1
SGkgU3RlZmFuLAoKZm9yIHRoZSBpLk1YMjMgdGhlIHJlZ3VsYXRvciBkYWlzeSBjaGFpbiBsb29r
cyBhIGxpdHRsZSBiaXQgZGlmZmVyZW50OgoKKy0tLS0tLS0tLS0tLSsgoCCgIFZERDVWIKArLS0t
LS0tLS0tKyCgVkRESU8KfCBEQy1EQyCgIKAgoHwgoCArLS0tLS0tLS0+IExJTlJFRyCgKy0tLS0t
LS0tLT4rCnwgoCCgIKAgoCCgIKB8IKAgoCCgIKAgoCCgfCBWRERJTyCgIHwgoCCgIKAgoCCgfAp8
IKAgoCCgIKAgoCCgfCCgIKAgoCCgIKAgoCstLS0tLS0tLS0rIKAgoCCgIKAgoHwKfCBEQ0RDX1ZE
RElPICstPi0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCnwgoCCgIKAgoCCgIKB8IKAg
fAp8ICAgICAgICAgICAgfCAgIHwgVkRESU8gICstLS0tLS0tLS0rICBWRERNRU0KfCAgICAgICAg
ICAgIHwgICArLS0tLS0tLS0+IExJTlJFRyAgKy0tLS0tLS0tLT4KfCAgICAgICAgICAgIHwgICB8
ICAgICAgICB8IFZERE1FTSAgfAp8ICAgICAgICAgICAgfCAgIHwgICAgICAgICstLS0tLS0tLS0r
CnwgoCCgIKAgoCCgIKB8IKAgfCBWRERJTyCgKy0tLS0tLS0tLSsgoFZEREEKfCCgIKAgoCCgIKAg
oHwgoCArLS0tLS0tLS0+IExJTlJFRyCgKy0tLS0tLS0tLT4rCnwgoCCgIKAgoCCgIKB8IKAgICCg
IKAgoCCgfCBWRERBIKAgoHwgoCCgIKAgoCCgfAp8IKAgoCCgIKAgoCCgfCCgICAgoCCgIKAgoCst
LS0tLS0tLS0rIKAgoCCgIKAgoHwKfCBEQ0RDX1ZEREEgICstPi0rLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0rCnwgoCCgIKAgoCCgIKB8IKAgfCBWRERBIKAgKy0tLS0tLS0tLSsgoFZEREQK
fCCgIKAgoCCgIKAgoHwgoCArLS0tLS0tLS0+IExJTlJFRyCgKy0tLS0tLS0tLT4rCnwgoCCgIKAg
oCCgIKB8IKAgoCCgIKAgoCCgfCBWREREIKAgoHwgoCCgIKAgoCCgfAp8IKAgoCCgIKAgoCCgfCCg
IKAgoCCgIKAgoCstLS0tLS0tLS0rIKAgoCCgIKAgoHwKfCBEQ0RDX1ZEREQgoCstPi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCistLS0tLS0tLS0tLS0rIKAgoCCgIKAgoCCgIKAgoCCg
IKAgoCCgIKAgoCCgIKAgfAogoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCg
IKAgoCCgIHYKClJlZ2FyZHMsCkp1ZXJnZW4K
--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stefan Wahren May 4, 2015, 8:20 p.m. UTC | #2
Hello Juergen,

> Jürgen Borleis <jbe@pengutronix.de> hat am 4. Mai 2015 um 15:51 geschrieben:
>
>
> Hi Stefan,
>
> for the i.MX23 the regulator daisy chain looks a little bit different:
>
> +------------+     VDD5V  +---------+  VDDIO
> | DC-DC      |   +--------> LINREG  +--------->+
> |            |            | VDDIO   |          |
> |            |            +---------+          |
> | DCDC_VDDIO +->-+-----------------------------+
> |            |   |
> |            |   | VDDIO  +---------+ VDDMEM
> |            |   +--------> LINREG  +--------->
> |            |   |        | VDDMEM  |
> |            |   |        +---------+
> |            |   | VDDIO  +---------+  VDDA
> |            |   +--------> LINREG  +--------->+
> |            |            | VDDA    |          |
> |            |            +---------+          |
> | DCDC_VDDA  +->-+-----------------------------+
> |            |   | VDDA   +---------+  VDDD
> |            |   +--------> LINREG  +--------->+
> |            |            | VDDD    |          |
> |            |            +---------+          |
> | DCDC_VDDD  +->-------------------------------+
> +------------+                                 |
>                                                v

damn! I didn't noticed that VDDMEM is powered by VDDIO and VDD1P5 is powered by
VDDA. Thank you very much.

From my understanding VDDMEM and VDD1P5 describe the same regulator function
(provides power to external memory such as SDRAM and mDDR which doesn't fit to
VDDD, VDDIO or VDDA). But the usage of
the name is not consistent across the documentation:
                   
                  | i.MX23 | i.MX28 
------------------------------------
Application note  | VDDMEM | VDD1P5
Reference manual  | VDDMEM | VDDMEM
Data sheet        | -      | VDD1P5

I would suggest to use VDDMEM, because the registers are always called HW_VDDMEM
(for both SoCs).

I think we have 3 options here:

a) add the regulator daisy chain for the i.MX23 too
b) remove VDD1P5 from the i.MX28 diagram so it would fit for both again
c) remove the diagram complete

I would prefer option b. What's your opinion?

>
> Regards,
> Juergen

Best regards
Stefan
--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Juergen Borleis May 5, 2015, 8:21 a.m. UTC | #3
Hi Stefan,

On Monday 04 May 2015 22:20:50 Stefan Wahren wrote:
> [...]
> >
> > +------------+     VDD5V  +---------+  VDDIO
> > | DC-DC      |   +--------> LINREG  +--------->+
> > |            |            | VDDIO   |          |
> > |            |            +---------+          |
> > |            |                                 |
> > | DCDC_VDDIO +->-+-----------------------------+
> > |            |   |
> > |            |   | VDDIO  +---------+ VDDMEM
> > |            |   +--------> LINREG  +--------->
> > |            |   |        | VDDMEM  |
> > |            |   |        +---------+
> > |            |   | VDDIO  +---------+  VDDA
> > |            |   +--------> LINREG  +--------->+
> > |            |            | VDDA    |          |
> > |            |            +---------+          |
> > | DCDC_VDDA  +->-+-----------------------------+
> > |            |   |
> > |            |   | VDDA   +---------+  VDDD
> > |            |   +--------> LINREG  +--------->+
> > |            |            | VDDD    |          |
> > |            |            +---------+          |
> > | DCDC_VDDD  +->-------------------------------+
> > +------------+                                 |
> >                                                v
>
> damn! I didn't noticed that VDDMEM is powered by VDDIO and VDD1P5 is
> powered by VDDA. Thank you very much.
>
> From my understanding VDDMEM and VDD1P5 describe the same regulator
> function (provides power to external memory such as SDRAM and mDDR which
> doesn't fit to VDDD, VDDIO or VDDA). But the usage of
> the name is not consistent across the documentation:
>                   | i.MX23 | i.MX28
> ------------------------------------
> Application note  | VDDMEM | VDD1P5
> Reference manual  | VDDMEM | VDDMEM
> Data sheet        | -      | VDD1P5
>
> I would suggest to use VDDMEM, because the registers are always called
> HW_VDDMEM (for both SoCs).

Ack.

> I think we have 3 options here:
>
> a) add the regulator daisy chain for the i.MX23 too
> b) remove VDD1P5 from the i.MX28 diagram so it would fit for both again
> c) remove the diagram complete
>
> I would prefer option b. What's your opinion?

I prefer a) because once the details are known, we should keep them.

Regards,
Juergen
--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stefan Wahren May 5, 2015, 5:12 p.m. UTC | #4
Hi Juergen,

> Jürgen Borleis <jbe@pengutronix.de> hat am 5. Mai 2015 um 10:21 geschrieben:
>
>
> Hi Stefan,
>
> On Monday 04 May 2015 22:20:50 Stefan Wahren wrote:
> > [...]
> > 
> > I think we have 3 options here:
> >
> > a) add the regulator daisy chain for the i.MX23 too
> > b) remove VDD1P5 from the i.MX28 diagram so it would fit for both again
> > c) remove the diagram complete
> >
> > I would prefer option b. What's your opinion?
>
> I prefer a) because once the details are known, we should keep them.

beside the point this could be to much diagrams for a binding documentation, i
don't have any objections about option a).

>
> Regards,
> Juergen

Regards
Stefan
--
To unsubscribe from this list: send the line "unsubscribe linux-pm" 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/Documentation/devicetree/bindings/regulator/mxs-regulator.txt b/Documentation/devicetree/bindings/regulator/mxs-regulator.txt
new file mode 100644
index 0000000..e7092fc
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/mxs-regulator.txt
@@ -0,0 +1,65 @@ 
+Regulators on Freescale i.MX23/i.MX28
+
+On-chip linear regulator daisy chain:
+
++------------+     VDD5V  +---------+  VDDIO
+| DC-DC      |   +--------> LINREG  +--------->+
+|            |            | VDDIO   |          |
+|            |            +---------+          |
+| DCDC_VDDIO +->-+-----------------------------+
+|            |   |
+|            |   | VDDIO  +---------+  VDDA
+|            |   +--------> LINREG  +--------->+
+|            |            | VDDA    |          |
+|            |            +---------+          |
+| DCDC_VDDA  +->-+-----------------------------+
+|            |   |
+|            |   | VDDA   +---------+  VDD1P5
+|            |   +--------> LINREG  +--------->
+|            |   |        | VDD1P5  |
+|            |   |        +---------+
+|            |   | VDDA   +---------+  VDDD
+|            |   +--------> LINREG  +--------->+
+|            |            | VDDD    |          |
+|            |            +---------+          |
+| DCDC_VDDD  +->-------------------------------+
++------------+                                 |
+                                               v
+
+Required properties:
+- compatible (imx23 and imx28 supported):
+  - "fsl,<soc>-dcdc" for DC-DC converter
+  - "fsl,<soc>-vddd" for VDDD linear regulator
+  - "fsl,<soc>-vdda" for VDDA linear regulator
+  - "fsl,<soc>-vddio" for VDDIO linear regulator
+
+Optional properties:
+- switching-frequency: switching frequency for the DC-DC converter in Hz.
+  Possible values are <1200000>, <1250000> or <1500000> (default).
+
+Any regulator property defined as part of the core regulator
+binding, defined in regulator.txt, can also be used.
+
+Example for i.MX28:
+
+	power: power@80044000 {
+		compatible = "fsl,imx28-power", "syscon";
+		reg = <0x80044000 0x2000>;
+		interrupts = <6>;
+
+		dcdc: regulator@1 {
+			compatible = "fsl,imx28-dcdc";
+			regulator-name = "dcdc";
+			regulator-boot-on;
+			regulator-always-on;
+			switching-frequency = <1250000>;
+		};
+
+		reg_vddd: regulator@2 {
+			compatible = "fsl,imx28-vddd";
+			regulator-name = "vddd";
+			regulator-min-microvolt = <1350000>;
+			regulator-max-microvolt = <1550000>;
+		};
+	};
+