All of lore.kernel.org
 help / color / mirror / Atom feed
From: "embedded (VIVAVIS AG)" <embedded-dQ8pE230Wp9BDgjK7y7TUQ@public.gmane.org>
To: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: "devicetree-spec-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-spec-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: AW: Voltage and current regulator: usage of 'regulators' parent node in device tree
Date: Wed, 8 Sep 2021 08:38:17 +0000	[thread overview]
Message-ID: <824234b4ec764eb3a5daf70c0efd09ef@vivavis.com> (raw)
In-Reply-To: <CAL_JsqLBiq0+MnYQ0=vMEDe_n+gHAT8PP6VO=Quj-A4yOCu_6w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

Hi Rob,

> On Mon, Aug 23, 2021 at 7:59 AM embedded (VIVAVIS AG)
> <embedded@vivavis.com> wrote:
> >
> > Dear maintainer,
> >
> > I see a lot of Device trees wrapping the regulator nodes within a parent node
> > like this
> >
> > regulators {
> >     compatible = "simple-bus";
> >     #address-cells = <1>;
> >     #size-cells = <0>;
> >     reg_p3v3: regulator@0 {
> >         compatible = "regulator-fixed";
> >         [...]
> >         regulator-always-on;
> >     };
> >     [...]
> >
> > Contrary to that, patches exist removing the 'regulators' node, because the 'simple-bus'
> > doesn't really exist in hardware. Unfortunately, the documentation is unclear about
> > wrapping regulator nodes like shown above.
> >
> > Should I avoid the parent 'regulators' node and why?
>
> Yes and no. Yes, in the above case as there is no bus nor grouping of
> fixed regulators. For a MFD that includes regulators, then a child
> 'regulators' node is appropriate. To put it another way, if you have a
> schema defining a 'regulators' node, then it probably is appropriate.
>
> > Is the given naming schema in fixed-regulator.yaml best practice to follow?
> >
> >     reg_xyz: regulator-xyz {
> >       compatible = "regulator-fixed";
> >       regulator-name = "xyz";
>
> Yes, pretty much.
> 
> Rob

Think I understand.
MFD might be an integrated power management controller connected to an I2C bus or kind of GPIO.
In this case the regulators node is used as child node under the node describing the PMIC.
Found this binding example for MAX8997 /devicetree/bindings/regulator/max8997-regulator.txt.

max8997_pmic@66 {
    compatible = "maxim,max8997-pmic";
    <snip>
    regulators: {  // child node here
        regulators {
            ldo1_reg: LDO1 { 
            regulator-name = "VDD_ABB_3.3V";
            regulator-min-microvolt = <3300000>;
            regulator-max-microvolt = <3300000>;
        };
        ldo2_reg: LDO2 {
            regulator-name = "VDD_ALIVE_1.1V";
            regulator-min-microvolt = <1100000>;
            regulator-max-microvolt = <1100000>;
            regulator-always-on;
        };
        buck1_reg: BUCK1 {
            regulator-name = "VDD_ARM_1.2V";
            regulator-min-microvolt = <950000>;
            regulator-max-microvolt = <1350000>;
            regulator-always-on;
            regulator-boot-on;
        };
    };
};

To describe my simple 3.3V and 5.0V voltage regulators on the board (not integrated
in a PMIC nor connected to a bus), I should not use the regulators node and put their
descriptions to the root node.

reg_3v3: regulator-3v3 {
    compatible = "regulator-fixed";
    regulator-name = "3v3";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    regulator-always-on;
};
reg_5v0: regulator-5v0 {
    compatible = "regulator-fixed";
    regulator-name = "5v0";
    regulator-min-microvolt = <5000000>;
    regulator-max-microvolt = <5000000>;
    regulator-always-on;
};

Thank you very much.

Carsten

  parent reply	other threads:[~2021-09-08  8:38 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-23 12:53 Voltage and current regulator: usage of 'regulators' parent node in device tree embedded (VIVAVIS AG)
     [not found] ` <809518e1649a469cb4fc6fffd9bf427c-dQ8pE230Wp9BDgjK7y7TUQ@public.gmane.org>
2021-09-07 15:40   ` AW: " embedded (VIVAVIS AG)
2021-09-07 18:16   ` Rob Herring
     [not found]     ` <CAL_JsqLBiq0+MnYQ0=vMEDe_n+gHAT8PP6VO=Quj-A4yOCu_6w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2021-09-08  8:38       ` embedded (VIVAVIS AG) [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-07-08  8:20 embedded (VIVAVIS AG)
2021-07-14  9:15 ` AW: " embedded (VIVAVIS AG)
2021-07-07 13:09 embedded (VIVAVIS AG)
2021-07-07 15:29 ` Mark Brown
2021-07-07 16:08   ` AW: " embedded (VIVAVIS AG)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=824234b4ec764eb3a5daf70c0efd09ef@vivavis.com \
    --to=embedded-dq8pe230wp9bdgjk7y7tuq@public.gmane.org \
    --cc=devicetree-spec-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.