Message ID | 20230803074249.3065586-5-wenst@chromium.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | regulator: mt6366: Split out of MT6358 and cleanup | expand |
On 03/08/2023 09:42, Chen-Yu Tsai wrote: > From: Zhiyong Tao <zhiyong.tao@mediatek.com> > > The MediaTek MT6366 PMIC is similar to the MT6358 PMIC. It is designed > to be paired with the MediaTek MT8186 SoC. It has 9 buck regulators and > 29 LDO regulators, not counting ones that feed internally and basically > have no controls. The regulators are named after their intended usage > for the SoC and system design, thus not named generically as ldoX or > dcdcX, but as vcn33 or vgpu. > > Add a binding document describing all the regulators and their supplies. > > Signed-off-by: Zhiyong Tao <zhiyong.tao@mediatek.com> > [wens@chromium.org: major rework and added commit message] > Signed-off-by: Chen-Yu Tsai <wenst@chromium.org> > --- > Changes since Zhiyong's last version (v4) [1]: > - simplified regulator names > - added descriptions to regulators > - removed bogus regulators (*_sshub) > - merged vcn33-wifi and vcn33-bt as vcn33 > - added missing regulators (vm18, vmddr, vsram-core) > - cut down examples to a handful of cases and made them complete > - expanded commit message a lot > > [1] https://lore.kernel.org/linux-arm-kernel/20220823123745.14061-1-zhiyong.tao@mediatek.com/ > > .../regulator/mediatek,mt6366-regulator.yaml | 154 ++++++++++++++++++ > 1 file changed, 154 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..715c6ffcb3ab > --- /dev/null > +++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6366-regulator.yaml > @@ -0,0 +1,154 @@ > +# 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@mediatek.com> > + > +description: | > + Regulator part of the MT6366 PMIC. This node should be under the PMIC's > + device node. > + > +properties: > + compatible: > + const: mediatek,mt6366-regulator > + > + vsys_ldo1-supply: Don't use underscores in property names. Only hyphens, if needed. > + description: Supply for LDOs vfe28, vxo22, vcn28, vaux18, vaud28, vsim1, vusb, vbif28 > + vsys_ldo2-supply: Best regards, Krzysztof
On Mon, Aug 7, 2023 at 2:23 PM Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > On 03/08/2023 09:42, Chen-Yu Tsai wrote: > > From: Zhiyong Tao <zhiyong.tao@mediatek.com> > > > > The MediaTek MT6366 PMIC is similar to the MT6358 PMIC. It is designed > > to be paired with the MediaTek MT8186 SoC. It has 9 buck regulators and > > 29 LDO regulators, not counting ones that feed internally and basically > > have no controls. The regulators are named after their intended usage > > for the SoC and system design, thus not named generically as ldoX or > > dcdcX, but as vcn33 or vgpu. > > > > Add a binding document describing all the regulators and their supplies. > > > > Signed-off-by: Zhiyong Tao <zhiyong.tao@mediatek.com> > > [wens@chromium.org: major rework and added commit message] > > Signed-off-by: Chen-Yu Tsai <wenst@chromium.org> > > --- > > Changes since Zhiyong's last version (v4) [1]: > > - simplified regulator names > > - added descriptions to regulators > > - removed bogus regulators (*_sshub) > > - merged vcn33-wifi and vcn33-bt as vcn33 > > - added missing regulators (vm18, vmddr, vsram-core) > > - cut down examples to a handful of cases and made them complete > > - expanded commit message a lot > > > > [1] https://lore.kernel.org/linux-arm-kernel/20220823123745.14061-1-zhiyong.tao@mediatek.com/ > > > > .../regulator/mediatek,mt6366-regulator.yaml | 154 ++++++++++++++++++ > > 1 file changed, 154 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..715c6ffcb3ab > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6366-regulator.yaml > > @@ -0,0 +1,154 @@ > > +# 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@mediatek.com> > > + > > +description: | > > + Regulator part of the MT6366 PMIC. This node should be under the PMIC's > > + device node. > > + > > +properties: > > + compatible: > > + const: mediatek,mt6366-regulator > > + > > + vsys_ldo1-supply: > > Don't use underscores in property names. Only hyphens, if needed. I assume that applies even if the actual name in the datasheet has underscores? Will change, but will wait on discussion on patch 3 before sending a new revision. ChenYu > > + description: Supply for LDOs vfe28, vxo22, vcn28, vaux18, vaud28, vsim1, vusb, vbif28 > > + vsys_ldo2-supply: > > > > Best regards, > Krzysztof >
On 07/08/2023 08:30, Chen-Yu Tsai wrote: > On Mon, Aug 7, 2023 at 2:23 PM Krzysztof Kozlowski > <krzysztof.kozlowski@linaro.org> wrote: >> >> On 03/08/2023 09:42, Chen-Yu Tsai wrote: >>> From: Zhiyong Tao <zhiyong.tao@mediatek.com> >>> >>> The MediaTek MT6366 PMIC is similar to the MT6358 PMIC. It is designed >>> to be paired with the MediaTek MT8186 SoC. It has 9 buck regulators and >>> 29 LDO regulators, not counting ones that feed internally and basically >>> have no controls. The regulators are named after their intended usage >>> for the SoC and system design, thus not named generically as ldoX or >>> dcdcX, but as vcn33 or vgpu. >>> >>> Add a binding document describing all the regulators and their supplies. >>> >>> Signed-off-by: Zhiyong Tao <zhiyong.tao@mediatek.com> >>> [wens@chromium.org: major rework and added commit message] >>> Signed-off-by: Chen-Yu Tsai <wenst@chromium.org> >>> --- >>> Changes since Zhiyong's last version (v4) [1]: >>> - simplified regulator names >>> - added descriptions to regulators >>> - removed bogus regulators (*_sshub) >>> - merged vcn33-wifi and vcn33-bt as vcn33 >>> - added missing regulators (vm18, vmddr, vsram-core) >>> - cut down examples to a handful of cases and made them complete >>> - expanded commit message a lot >>> >>> [1] https://lore.kernel.org/linux-arm-kernel/20220823123745.14061-1-zhiyong.tao@mediatek.com/ >>> >>> .../regulator/mediatek,mt6366-regulator.yaml | 154 ++++++++++++++++++ >>> 1 file changed, 154 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..715c6ffcb3ab >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6366-regulator.yaml >>> @@ -0,0 +1,154 @@ >>> +# 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@mediatek.com> >>> + >>> +description: | >>> + Regulator part of the MT6366 PMIC. This node should be under the PMIC's >>> + device node. >>> + >>> +properties: >>> + compatible: >>> + const: mediatek,mt6366-regulator >>> + >>> + vsys_ldo1-supply: >> >> Don't use underscores in property names. Only hyphens, if needed. > > I assume that applies even if the actual name in the datasheet has > underscores? Yes. We follow this already in other bindings. Hardware people can use any names or characters in the datasheet, e.g. "*". Best regards, Krzysztof
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..715c6ffcb3ab --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6366-regulator.yaml @@ -0,0 +1,154 @@ +# 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@mediatek.com> + +description: | + Regulator part of the MT6366 PMIC. This node should be under the PMIC's + device node. + +properties: + compatible: + const: mediatek,mt6366-regulator + + vsys_ldo1-supply: + description: Supply for LDOs vfe28, vxo22, vcn28, vaux18, vaud28, vsim1, vusb, vbif28 + vsys_ldo2-supply: + description: Supply for LDOs vio28, vmc, vmch, vsim2 + vsys_ldo3-supply: + description: Supply for LDOs vcn33, vemc, vibr + vsys_vcore-supply: + description: Supply for buck regulator vcore + vsys_vdram1-supply: + description: Supply for buck regulator vdram1 + vsys_vgpu-supply: + description: Supply for buck regulator vgpu + vsys_vmodem-supply: + description: Supply for buck regulator vmodem + vsys_vpa-supply: + description: Supply for buck regulator vpa + vsys_vproc11-supply: + description: Supply for buck regulator vproc11 + vsys_vproc12-supply: + description: Supply for buck regulator vproc12 + vsys_vs1-supply: + description: Supply for buck regulator vs1 + vsys_vs2-supply: + description: Supply for buck regulator vs2 + vs1_ldo1-supply: + description: Supply for LDOs vrf18, vefuse, vcn18, vio18, vm18 + vs2_ldo1-supply: + description: Supply for LDOs vmddr, vdram2 + vs2_ldo2-supply: + description: Supply for LDOs vrf12, va12 + vs2_ldo3-supply: + description: Supply for LDOs vsram-core, vsram-gpu, vsram-others, vsram-proc11, vsram-proc12 + +patternProperties: + "^v(core|dram1|gpu|modem|pa|proc1[12]|s[12])$": + description: Buck regulators + type: object + $ref: regulator.yaml# + unevaluatedProperties: false + + "^v(a|rf)12": + description: LDOs with fixed 1.2V output and 0~100/10mV tuning + type: object + $ref: regulator.yaml# + unevaluatedProperties: false + + "^v(aux|io|rf)18": + description: LDOs with fixed 1.8V output and 0~100/10mV tuning + type: object + $ref: regulator.yaml# + unevaluatedProperties: false + + "^vxo22": + description: LDOs with fixed 2.2V output and 0~100/10mV tuning + type: object + $ref: regulator.yaml# + unevaluatedProperties: false + + "^v(aud|bif|cn|fe|io)28": + description: LDOs with fixed 2.8V output and 0~100/10mV tuning + type: object + $ref: regulator.yaml# + unevaluatedProperties: false + + "^vusb": + description: LDOs with fixed 3.0V output and 0~100/10mV tuning + type: object + $ref: regulator.yaml# + unevaluatedProperties: false + + "^vsram-(core|gpu|others|proc1[12])$": + description: LDOs with variable output + type: object + $ref: regulator.yaml# + unevaluatedProperties: false + + "^v(cn18|cn33|dram2|efuse|emc|ibr|m18|mc|mch|mddr|sim[12])$": + description: LDOs with variable output and 0~100/10mV tuning + type: object + $ref: regulator.yaml# + unevaluatedProperties: false + +required: + - compatible + +additionalProperties: false + +examples: + - | + #include <dt-bindings/regulator/mediatek,mt6397-regulator.h> + + regulator { + compatible = "mediatek,mt6366-regulator"; + + vdram1 { + regulator-name = "pp1125_emi_vdd2"; + regulator-min-microvolt = <1125000>; + regulator-max-microvolt = <1125000>; + regulator-ramp-delay = <12500>; + regulator-enable-ramp-delay = <0>; + regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO + MT6397_BUCK_MODE_FORCE_PWM>; + regulator-always-on; + }; + + vproc11 { + regulator-name = "ppvar_dvdd_proc_bc_mt6366"; + regulator-min-microvolt = <600000>; + regulator-max-microvolt = <1200000>; + regulator-ramp-delay = <6250>; + regulator-enable-ramp-delay = <200>; + regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO + MT6397_BUCK_MODE_FORCE_PWM>; + regulator-always-on; + }; + + vmddr { + regulator-name = "pm0750_emi_vmddr"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <750000>; + regulator-enable-ramp-delay = <325>; + regulator-always-on; + }; + + vsram-proc11 { + regulator-name = "pp0900_dvdd_sram_bc"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <1120000>; + regulator-ramp-delay = <6250>; + regulator-enable-ramp-delay = <240>; + regulator-always-on; + }; + }; + +...