[PATCH v4] regulator: dt-bindings: mediatek: add mt6366

Krzysztof Kozlowski krzysztof.kozlowski at linaro.org
Wed Aug 24 06:48:50 PDT 2022


On 23/08/2022 15:37, Zhiyong Tao wrote:
> Add mt6366 regulator document
> 
> Signed-off-by: Zhiyong Tao <zhiyong.tao at mediatek.com>

https://lore.kernel.org/all/3a26be5c-04c5-cd67-1154-dfd7d99fb5d0@linaro.org/

Where is the driver?

This ended up in spam folder, so you might need to fix up your setup
just like other folks in Mediatek did.

> ---
> Changes in patch v4:
> 1)Add unevaluatedProperties in all places
> 2)Fix check warning and errors
> 3)remove "compatible="regulator-fixed"" properties for some ldo
> 
> Changes in patch v3:
> 1)change patch title
> 2)change "regulator.yaml#" to regulator.yaml#
> 3)remove regulator-name
> 4)fix 4 space for DTS example
> 
> Changes in patch v2:
> 1)fix patch title description.
> 2)fix patch maintainer description.
> 3)won't cc to srv_heupstream at mediatek.com
> 4)fix patch commit message description.
> 5)add properties node and compatible
> 6)put "unevaluatedProperties: false" after $ref
> 7)remove underscores in node names.
> 8)change Filename to "mediatek,mt6366-regulator.yaml"
> [Zhiyong Tao <zhiyong.tao at mediatek.com>]
> ---
> ---
>  .../regulator/mediatek,mt6366-regulator.yaml  | 279 ++++++++++++++++++
>  1 file changed, 279 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/regulator/mediatek,mt6366-regulator.yaml
> 
> diff --git a/Documentation/devicetree/bindings/regulator/mediatek,mt6366-regulator.yaml b/Documentation/devicetree/bindings/regulator/mediatek,mt6366-regulator.yaml
> new file mode 100644
> index 000000000000..8945bf20b574
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6366-regulator.yaml
> @@ -0,0 +1,279 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/regulator/mediatek,mt6366-regulator.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MT6366 Regulator from MediaTek Integrated
> +
> +maintainers:
> +  - Zhiyong Tao <zhiyong.tao at mediatek.com>
> +
> +description: |
> +  List of regulators provided by this controller. It is named
> +  according to its regulator type, buck_<name> and ldo_<name>.
> +  MT6366 regulators node should be sub node of the MT6397 MFD node.
> +
> +properties:
> +  compatible:
> +    const: mediatek,mt6366-regulator

This looks incomplete. How does it bind? Further pieces also suggest you
send something incomplete.

> +
> +  regulators:
> +    type: object
> +    description: List of regulators and its properties
> +
> +    patternProperties:
> +      "^buck-v(dram1|core|coresshub|proc11|proc12|gpu|s2|modem|s1)$":
> +        type: object
> +        $ref: regulator.yaml#
> +        unevaluatedProperties: false
> +
> +      "^ldo-v(dram2|sim1|ibr|rf12|usb|camio|camd|cn18|fe28)$":
> +        type: object
> +        $ref: regulator.yaml#
> +        unevaluatedProperties: false
> +
> +      "^ldo-v(xo22|efuse|mch|vcama1|emc|a12|vcama2|mc)$":
> +        type: object
> +        $ref: regulator.yaml#
> +        unevaluatedProperties: false
> +
> +      "^buck-(vcore)-sshub$":
> +        type: object
> +        $ref: regulator.yaml#
> +        unevaluatedProperties: false
> +
> +      "^ldo-vcn(28|33)-bt$":
> +        type: object
> +        $ref: regulator.yaml#
> +        unevaluatedProperties: false
> +
> +      "^ldo-vcn(33)-wifi$":
> +        type: object
> +        $ref: regulator.yaml#
> +        unevaluatedProperties: false
> +
> +      "^ldo-vsram-(others)-sshub$":
> +        type: object
> +        $ref: regulator.yaml#
> +        unevaluatedProperties: false
> +
> +      "^ldo-vsram-(proc11|others|gpu|proc12)$":
> +        type: object
> +        $ref: regulator.yaml#
> +        unevaluatedProperties: false
> +
> +      "^ldo-v(aud|bif|io|ldo)28$":
> +        type: object
> +        $ref: regulator.yaml#
> +        unevaluatedProperties: false
> +
> +      "^ldo-v(io|aux|rf)18$":
> +        type: object
> +        $ref: regulator.yaml#
> +        unevaluatedProperties: false
> +
> +      "^ldo-vsim[2]$":

I have now doubts whether you define generic regulators or quite
specific regulators you have on your board... Are the names used in the
device datasheet in register API description?


> +        type: object
> +        $ref: regulator.yaml#
> +        unevaluatedProperties: false
> +
> +required:
> +  - compatible
> +  - regulators
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    pmic {
> +        compatible = "mediatek,mt6366-regulator";
> +
> +        regulators {
> +            mt6366_vdram1_reg: buck-vdram1 {

Drop the labels here and further. Why you do not have here any regular
constraints like min/max voltage?

> +                regulator-ramp-delay = <12500>;
> +                regulator-enable-ramp-delay = <0>;
> +                regulator-allowed-modes = <0 1>;

Where do you explain the meaning of modes?

> +            };
> +
> +            mt6366_vcore_reg: buck-vcore {
> +                regulator-ramp-delay = <6250>;
> +                regulator-enable-ramp-delay = <200>;
> +                regulator-allowed-modes = <0 1>;
> +            };
> +
> +           mt6366_vproc11_reg: buck-vproc11 {
> +                regulator-ramp-delay = <6250>;
> +                regulator-enable-ramp-delay = <200>;
> +                regulator-allowed-modes = <0 1>;
> +            };
> +
> +            mt6366_vproc12_reg: buck-vproc12 {
> +                regulator-ramp-delay = <6250>;
> +                regulator-enable-ramp-delay = <200>;
> +                regulator-allowed-modes = <0 1>;
> +            };
> +
> +            mt6366_vgpu_reg: buck-vgpu {
> +                regulator-ramp-delay = <6250>;
> +                regulator-enable-ramp-delay = <200>;
> +                regulator-allowed-modes = <0 1>;
> +            };
> +
> +            mt6366_vs2_reg: buck-vs2 {
> +                regulator-ramp-delay = <12500>;
> +                regulator-enable-ramp-delay = <0>;
> +            };
> +
> +           mt6366_vmodem_reg: buck-vmodem {
> +                regulator-ramp-delay = <6250>;
> +                regulator-enable-ramp-delay = <900>;
> +                regulator-allowed-modes = <0 1>;
> +            };
> +
> +            mt6366_vs1_reg: buck-vs1 {
> +                regulator-ramp-delay = <12500>;
> +                regulator-enable-ramp-delay = <0>;
> +            };
> +
> +            mt6366_vdram2_reg: ldo-vdram2 {
> +                regulator-enable-ramp-delay = <3300>;
> +            };
> +
> +            mt6366_vsim1_reg: ldo-vsim1 {
> +                regulator-enable-ramp-delay = <540>;
> +            };
> +
> +            mt6366_vibr_reg: ldo-vibr {
> +                regulator-enable-ramp-delay = <60>;
> +            };
> +
> +            mt6366_vrf12_reg: ldo-vrf12 {
> +                regulator-enable-ramp-delay = <120>;
> +            };
> +
> +            mt6366_vio18_reg: ldo-vio18 {
> +                regulator-enable-ramp-delay = <2700>;
> +            };
> +
> +            mt6366_vusb_reg: ldo-vusb {
> +                regulator-name = "vusb";
> +                regulator-enable-ramp-delay = <270>;
> +            };
> +
> +            mt6366_vcamio_reg: ldo-vcamio {
> +                regulator-enable-ramp-delay = <325>;
> +            };
> +
> +            mt6366_vcamd_reg: ldo-vcamd {
> +                regulator-enable-ramp-delay = <325>;
> +            };
> +
> +            mt6366_vcn18_reg: ldo-vcn18 {
> +                regulator-enable-ramp-delay = <270>;
> +            };
> +
> +            mt6366_vfe28_reg: ldo-vfe28 {
> +                regulator-enable-ramp-delay = <270>;
> +            };
> +
> +            mt6366_vsram_proc11_reg: ldo-vsram-proc11 {
> +                regulator-ramp-delay = <6250>;
> +                regulator-enable-ramp-delay = <240>;
> +            };
> +
> +            mt6366_vcn28_reg: ldo-vcn28 {
> +                regulator-enable-ramp-delay = <270>;
> +            };
> +
> +            mt6366_vsram_others_reg: ldo-vsram-others {
> +                regulator-ramp-delay = <6250>;
> +                regulator-enable-ramp-delay = <240>;
> +            };
> +
> +            mt6366_vsram_gpu_reg: ldo-vsram-gpu {
> +                regulator-ramp-delay = <6250>;
> +                regulator-enable-ramp-delay = <240>;
> +            };
> +
> +            mt6366_vxo22_reg: ldo-vxo22 {
> +                regulator-enable-ramp-delay = <120>;
> +            };
> +
> +            mt6366_vefuse_reg: ldo-vefuse {
> +                regulator-enable-ramp-delay = <270>;
> +            };
> +
> +            mt6366_vaux18_reg: ldo-vaux18 {
> +                regulator-enable-ramp-delay = <270>;
> +            };
> +
> +            mt6366_vmch_reg: ldo-vmch {
> +                regulator-enable-ramp-delay = <60>;
> +            };
> +
> +            mt6366_vbif28_reg: ldo-vbif28 {
> +                regulator-enable-ramp-delay = <270>;
> +            };
> +
> +            mt6366_vsram_proc12_reg: ldo-vsram-proc12 {
> +                regulator-ramp-delay = <6250>;
> +                regulator-enable-ramp-delay = <240>;
> +            };
> +
> +            mt6366_vcama1_reg: ldo-vcama1 {
> +                regulator-enable-ramp-delay = <325>;
> +            };
> +
> +            mt6366_vemc_reg: ldo-vemc {
> +                regulator-enable-ramp-delay = <60>;
> +            };
> +
> +            mt6366_vio28_reg: ldo-vio28 {
> +                regulator-enable-ramp-delay = <270>;
> +            };
> +
> +            mt6366_va12_reg: ldo-va12 {
> +                regulator-enable-ramp-delay = <270>;
> +            };
> +
> +            mt6366_vrf18_reg: ldo-vrf18 {
> +                regulator-enable-ramp-delay = <120>;
> +            };
> +
> +            mt6366_vcn33_bt_reg: ldo-vcn33-bt {
> +                regulator-enable-ramp-delay = <270>;
> +            };
> +
> +            mt6366_vcn33_wifi_reg: ldo-vcn33-wifi {
> +                regulator-enable-ramp-delay = <270>;
> +            };
> +
> +            mt6366_vcama2_reg: ldo-vcama2 {
> +                regulator-enable-ramp-delay = <325>;
> +            };
> +
> +            mt6366_vmc_reg: ldo-vmc {
> +                regulator-enable-ramp-delay = <60>;
> +            };
> +
> +            mt6366_vldo28_reg: ldo-vldo28 {
> +                regulator-enable-ramp-delay = <270>;
> +            };
> +
> +            mt6366_vaud28_reg: ldo-vaud28 {
> +                regulator-enable-ramp-delay = <270>;
> +            };
> +
> +            mt6366_vsim2_reg: ldo-vsim2 {
> +                regulator-enable-ramp-delay = <540>;
> +            };
> +
> +            mt6366_vcore_sshub_reg: buck-vcore-sshub {

Empty node? What does it do?



Best regards,
Krzysztof



More information about the Linux-mediatek mailing list