[PATCH v6 4/8] dt-bindings: regulator: Add document for MT6359 regulator

Hsin-hsiung Wang hsin-hsiung.wang at mediatek.com
Wed Mar 17 06:01:05 GMT 2021


Hi, Rob
I am very grateful for the reviewing which addressed my yaml errors.
I will check my codebase first and fix the error in the next patch.

Thanks.

On Tue, 2021-03-16 at 15:28 -0600, Rob Herring wrote:
> On Tue, Mar 16, 2021 at 01:35:53AM +0800, Hsin-Hsiung Wang wrote:
> > add dt-binding document for MediaTek MT6359 PMIC
> > 
> > Signed-off-by: Hsin-Hsiung Wang <hsin-hsiung.wang at mediatek.com>
> > ---
> > changes since v5:
> > - no change.
> > ---
> >  .../bindings/regulator/mt6359-regulator.yaml  | 169 ++++++++++++++++++
> >  1 file changed, 169 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/regulator/mt6359-regulator.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/regulator/mt6359-regulator.yaml b/Documentation/devicetree/bindings/regulator/mt6359-regulator.yaml
> > new file mode 100644
> > index 000000000000..62ff93eefd39
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/regulator/mt6359-regulator.yaml
> > @@ -0,0 +1,169 @@
> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/regulator/mt6359-regulator.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: MT6359 Regulator from MediaTek Integrated
> > +
> > +maintainers:
> > +  - Hsin-Hsiung Wang <hsin-hsiung.wang at mediatek.com>
> > +
> > +description: |
> > +  List of regulators provided by this controller. It is named
> > +  according to its regulator type, buck_<name> and ldo_<name>.
> > +  MT6359 regulators node should be sub node of the MT6397 MFD node.
> > +
> > +properties:
> > +  $nodename:
> > +    pattern: "^pmic$"
> 
> The errors are because this schema will be applied to every 'pmic' node.
> 
> > +
> > +  mt6359regulator:
> 
> The node name here should be just 'regulators', but that should be in 
> the MFD schema and you should remove this level here. So the MFD would 
> have:
> 
> properties:
>   regulators:
>     type: object
>     $ref: schemas/regulator/mt6359-regulator.yaml#
> 
> > +    type: object
> > +    description:
> > +      list of regulators provided by this controller.
> > +
> > +    patternProperties:
> 
> And this should be at the top level of this doc.
> 
> > +      "^buck_v(s1|gpu11|modem|pu|core|s2|pa|proc2|proc1|core_sshub)$":
> > +        type: object
> > +        $ref: "regulator.yaml#"
> > +
> > +        properties:
> > +          regulator-name:
> > +            pattern: "^v(s1|gpu11|modem|pu|core|s2|pa|proc2|proc1|core_sshub)$"
> > +
> > +        unevaluatedProperties: false
> > +
> > +      "^ldo_v(ibr|rf12|usb|camio|efuse|xo22)$":
> > +        type: object
> > +        $ref: "regulator.yaml#"
> > +
> > +        properties:
> > +          regulator-name:
> > +            pattern: "^v(ibr|rf12|usb|camio|efuse|xo22)$"
> > +
> > +        unevaluatedProperties: false
> > +
> > +      "^ldo_v(rfck|emc|a12|a09|ufs|bbck)$":
> > +        type: object
> > +        $ref: "regulator.yaml#"
> > +
> > +        properties:
> > +          regulator-name:
> > +            pattern: "^v(rfck|emc|a12|a09|ufs|bbck)$"
> > +
> > +        unevaluatedProperties: false
> > +
> > +      "^ldo_vcn(18|13|33_1_bt|13_1_wifi|33_2_bt|33_2_wifi)$":
> > +        type: object
> > +        $ref: "regulator.yaml#"
> > +
> > +        properties:
> > +          regulator-name:
> > +            pattern: "^vcn(18|13|33_1_bt|13_1_wifi|33_2_bt|33_2_wifi)$"
> > +
> > +        unevaluatedProperties: false
> > +
> > +      "^ldo_vsram_(proc2|others|md|proc1|others_sshub)$":
> > +        type: object
> > +        $ref: "regulator.yaml#"
> > +
> > +        properties:
> > +          regulator-name:
> > +            pattern: "^vsram_(proc2|others|md|proc1|others_sshub)$"
> > +
> > +        unevaluatedProperties: false
> > +
> > +      "^ldo_v(fe|bif|io)28$":
> > +        type: object
> > +        $ref: "regulator.yaml#"
> > +
> > +        properties:
> > +          regulator-name:
> > +            pattern: "^v(fe|bif|io)28$"
> > +
> > +        unevaluatedProperties: false
> > +
> > +      "^ldo_v(aud|io|aux|rf|m)18$":
> > +        type: object
> > +        $ref: "regulator.yaml#"
> > +
> > +        properties:
> > +          regulator-name:
> > +            pattern: "^v(aud|io|aux|rf|m)18$"
> > +
> > +        unevaluatedProperties: false
> > +
> > +      "^ldo_vsim[12]$":
> > +        type: object
> > +        $ref: "regulator.yaml#"
> > +
> > +        properties:
> > +          regulator-name:
> > +            pattern: "^vsim[12]$"
> > +
> > +        required:
> > +          - regulator-name
> > +
> > +        unevaluatedProperties: false
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > +  - |
> > +    pmic {
> > +      mt6359regulator {
> 
> I prefer to see a single complete example in the MFD schema rather than 
> piecemeal schemas in each sub schema.
> 
> > +        mt6359_vgpu11_buck_reg: buck_vgpu11 {
> > +          regulator-name = "vgpu11";
> > +          regulator-min-microvolt = <400000>;
> > +          regulator-max-microvolt = <1193750>;
> > +          regulator-enable-ramp-delay = <200>;
> > +          regulator-always-on;
> > +          regulator-allowed-modes = <0 1 2>;
> > +        };
> > +
> > +        mt6359_vcamio_ldo_reg: ldo_vcamio {
> > +          regulator-name = "vcamio";
> > +          regulator-min-microvolt = <1700000>;
> > +          regulator-max-microvolt = <1900000>;
> > +        };
> > +
> > +        mt6359_vcn18_ldo_reg: ldo_vcn18 {
> > +          regulator-name = "vcn18";
> > +          regulator-min-microvolt = <1800000>;
> > +          regulator-max-microvolt = <1800000>;
> > +          regulator-enable-ramp-delay = <240>;
> > +        };
> > +
> > +        mt6359_vsram_proc2_ldo_reg: ldo_vsram_proc2 {
> > +          regulator-name = "vsram_proc2";
> > +          regulator-min-microvolt = <500000>;
> > +          regulator-max-microvolt = <1293750>;
> > +          regulator-ramp-delay = <7500>;
> > +          regulator-enable-ramp-delay = <240>;
> > +          regulator-always-on;
> > +        };
> > +
> > +        mt6359_vfe28_ldo_reg: ldo_vfe28 {
> > +          regulator-name = "vfe28";
> > +          regulator-min-microvolt = <2800000>;
> > +          regulator-max-microvolt = <2800000>;
> > +          regulator-enable-ramp-delay = <120>;
> > +        };
> > +
> > +        mt6359_vaud18_ldo_reg: ldo_vaud18 {
> > +          regulator-name = "vaud18";
> > +          regulator-min-microvolt = <1800000>;
> > +          regulator-max-microvolt = <1800000>;
> > +          regulator-enable-ramp-delay = <240>;
> > +        };
> > +
> > +        mt6359_vsim1_ldo_reg: ldo_vsim1 {
> > +          regulator-name = "vsim1";
> > +          regulator-min-microvolt = <1700000>;
> > +          regulator-max-microvolt = <3100000>;
> > +          regulator-enable-ramp-delay = <480>;
> > +        };
> > +      };
> > +    };
> > +...
> > -- 
> > 2.18.0
> > 



More information about the linux-arm-kernel mailing list