On Mon, Aug 31, 2026 at 12:43:37AM +0200, Linus Walleij wrote: > The buck converters were not initially added to the device tree or > drivers as they are mostly always-on, but their outputs supply devices > which need to reference the correct regulator. > > Describe the six AB8500 buck converters when the regulator node uses > "stericsson,ab8500-regulator". Describe the AB8505 converters under > their native VSMPSA, VSMPSB, VSAFE, VARM, VSMPSC and VSMPSM names when > the node uses "stericsson,ab8505-regulator". > > Keeping the two namespaces conditional on the regulator compatible > avoids representing the distinct AB8505 VSAFE and VSMPSC rails with the > AB8500 SMPS3 and VAPE node names. > > Assisted-by: LLM > Signed-off-by: Linus Walleij > --- > .../devicetree/bindings/mfd/stericsson,ab8500.yaml | 102 ++++++++++++++++++++- > 1 file changed, 101 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/mfd/stericsson,ab8500.yaml b/Documentation/devicetree/bindings/mfd/stericsson,ab8500.yaml > index 0fdfbfdfe88a..d44652aede0c 100644 > --- a/Documentation/devicetree/bindings/mfd/stericsson,ab8500.yaml > +++ b/Documentation/devicetree/bindings/mfd/stericsson,ab8500.yaml > @@ -439,10 +439,110 @@ properties: > $ref: /schemas/regulator/regulator.yaml# > unevaluatedProperties: false > > + allOf: > + - if: > + properties: > + compatible: > + const: stericsson,ab8500-regulator > + then: > + properties: > + ab8500_buck_smps1: > + description: Analog buck converter for the VSMPS1 1.2V I/O > + and memory supply. > + type: object > + $ref: /schemas/regulator/regulator.yaml# > + unevaluatedProperties: false > + > + ab8500_buck_smps2: > + description: Analog buck converter for the VSMPS2 1.8V I/O > + and memory supply. > + type: object > + $ref: /schemas/regulator/regulator.yaml# > + unevaluatedProperties: false > + > + ab8500_buck_smps3: > + description: Analog buck converter for VSMPS3, which supplies > + the VSAFE power domain. > + type: object > + $ref: /schemas/regulator/regulator.yaml# > + unevaluatedProperties: false How do these differ from regulator-external: description: Node describing the AB8500 external regulators. This concerns the autonomous regulators VSMPS1, VSMPS2 and VSMPS3 that are normally controlled by external electronics but also sometimes need to be explicitly controlled by software. type: object properties: compatible: const: stericsson,ab8500-ext-regulator ab8500_ext1: description: The voltage for the VSMPS1 external regulator type: object $ref: /schemas/regulator/regulator.yaml# unevaluatedProperties: false ab8500_ext2: description: The voltage for the VSMPS2 external regulator type: object $ref: /schemas/regulator/regulator.yaml# unevaluatedProperties: false ab8500_ext3: description: The voltage for the VSMPS3 external regulator type: object $ref: /schemas/regulator/regulator.yaml# unevaluatedProperties: false > + > + ab8500_buck_arm: realistically, all of these should have -s instead of _s. Cheers, Conor. > + description: Analog buck converter for the VARM processor > + supply. > + type: object > + $ref: /schemas/regulator/regulator.yaml# > + unevaluatedProperties: false > + > + ab8500_buck_ape: > + description: Analog buck converter for the VAPE application > + processor supply. > + type: object > + $ref: /schemas/regulator/regulator.yaml# > + unevaluatedProperties: false > + > + ab8500_buck_mod: > + description: Analog buck converter for the VMOD modem supply. > + type: object > + $ref: /schemas/regulator/regulator.yaml# > + unevaluatedProperties: false > + > + - if: > + properties: > + compatible: > + const: stericsson,ab8505-regulator > + then: > + properties: > + ab8505_buck_smpsa: > + description: Analog buck converter for the VSMPSA 1.2V I/O > + and memory supply. The selector range depends on OTP > + configuration. > + type: object > + $ref: /schemas/regulator/regulator.yaml# > + unevaluatedProperties: false > + > + ab8505_buck_smpsb: > + description: Analog buck converter for the VSMPSB 1.8V I/O > + and memory supply. The selector range depends on OTP > + configuration. > + type: object > + $ref: /schemas/regulator/regulator.yaml# > + unevaluatedProperties: false > + > + ab8505_buck_safe: > + description: Analog buck converter for the VSAFE permanent > + logic and DDR supply. The selector range depends on OTP > + configuration. > + type: object > + $ref: /schemas/regulator/regulator.yaml# > + unevaluatedProperties: false > + > + ab8505_buck_arm: > + description: Analog buck converter for the VARM processor > + supply, with a 0.6V to 1.39375V selector range. > + type: object > + $ref: /schemas/regulator/regulator.yaml# > + unevaluatedProperties: false > + > + ab8505_buck_smpsc: > + description: Analog buck converter for the VSMPSC multimedia > + and graphics supply. The selector range depends on OTP > + configuration. > + type: object > + $ref: /schemas/regulator/regulator.yaml# > + unevaluatedProperties: false > + > + ab8505_buck_smpsm: > + description: Analog buck converter for the VSMPSM modem > + supply. The selector range depends on OTP configuration. > + type: object > + $ref: /schemas/regulator/regulator.yaml# > + unevaluatedProperties: false > + > required: > - compatible > > - additionalProperties: false > + unevaluatedProperties: false > > regulator-external: > description: Node describing the AB8500 external regulators. This > > -- > 2.55.0 >