Hi Rob, > On Mon, Aug 23, 2021 at 7:59 AM embedded (VIVAVIS AG) > <embedded@xxxxxxxxxxx> 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