[PATCH v2 1/7] dt-bindings: regulator: Add bindings for MediaTek DVFSRC Regulators

Rob Herring robh at kernel.org
Wed Apr 17 12:12:47 PDT 2024


On Wed, Apr 17, 2024 at 05:39:12PM +0200, AngeloGioacchino Del Regno wrote:
> Il 17/04/24 16:52, Rob Herring ha scritto:
> > On Wed, Apr 17, 2024 at 11:14:36AM +0200, AngeloGioacchino Del Regno wrote:
> > > The Dynamic Voltage and Frequency Scaling Resource Collector Regulators
> > > are controlled with votes to the DVFSRC hardware.
> > > 
> > > This adds support for the regulators found in MT6873, MT8183, MT8192
> > > and MT8195 SoCs.
> > > 
> > > Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
> > > ---
> > >   .../mediatek,mt6873-dvfsrc-regulator.yaml     | 71 +++++++++++++++++++
> > >   1 file changed, 71 insertions(+)
> > >   create mode 100644 Documentation/devicetree/bindings/regulator/mediatek,mt6873-dvfsrc-regulator.yaml
> > > 
> > > diff --git a/Documentation/devicetree/bindings/regulator/mediatek,mt6873-dvfsrc-regulator.yaml b/Documentation/devicetree/bindings/regulator/mediatek,mt6873-dvfsrc-regulator.yaml
> > > new file mode 100644
> > > index 000000000000..446f1dab4d2e
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6873-dvfsrc-regulator.yaml
> > > @@ -0,0 +1,71 @@
> > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/regulator/mediatek,mt6873-dvfsrc-regulator.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: MediaTek DVFSRC-controlled Regulators
> > > +
> > > +description:
> > > +  The Dynamic Voltage and Frequency Scaling Resource Collector Regulators
> > > +  are controlled with votes to the DVFSRC hardware.
> > > +
> > > +maintainers:
> > > +  - AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
> > > +
> > > +properties:
> > > +  compatible:
> > > +    enum:
> > > +      - mediatek,mt6873-dvfsrc-regulator
> > > +      - mediatek,mt8183-dvfsrc-regulator
> > > +      - mediatek,mt8192-dvfsrc-regulator
> > > +      - mediatek,mt8195-dvfsrc-regulator
> > > +
> > > +  reg:
> > > +    maxItems: 1
> > > +
> > > +  dvfsrc-vcore:
> > > +    description: DVFSRC-controlled SoC Vcore regulator
> > > +    $ref: regulator.yaml#
> > 
> >         unevaluatedProperties: false
> > 
> 
> Will do!
> 
> > > +
> > > +  dvfsrc-vscp:
> > > +    description: DVFSRC-controlled System Control Processor regulator
> > > +    $ref: regulator.yaml#
> > 
> > ditto
> > 
> > > +
> > > +required:
> > > +  - compatible
> > 
> > 'reg' is never optional. And how is no regulators at all valid?
> > 
> 
> The two nodes that I'm adding with this series don't need reg, but others
> that are not present in this do... but anyway, let's postpone that problem
> for the future me, or the future-anyone-else implementing the rest, I will
> remove the 'reg' property as it is indeed not needed for this node.

That might have been fine, but now that I know you *will* need it, it 
isn't fine. You could wait 1 week to 6 months to repost and hope I 
forget...

The ideal for these cases is you put the actual sub-range of 
MMIO registers in the child nodes. But sometimes it is just bit soup in 
the register layout and that doesn't work.

> 
> And yeah it's invalid to add that node without any regulator. Will check the
> other regulator bindings on how they're doing it.

'required' or anyOf with a list of required entries.

Rob



More information about the linux-arm-kernel mailing list