Message ID | 1580958411-2478-2-git-send-email-Wen.Su@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add Support for MediaTek PMIC MT6359 Regulator | expand |
On Thu, Feb 06, 2020 at 11:06:48AM +0800, Wen Su wrote: > +Required properties: > +- compatible: "mediatek,mt6359-regulator" Why does this need a compatible string - it looks like it's just encoding the way Linux splits devices up into the DT, not providing some reusable IP block.
Hi, On Thu, 2020-02-06 at 11:49 +0000, Mark Brown wrote: > On Thu, Feb 06, 2020 at 11:06:48AM +0800, Wen Su wrote: > > > +Required properties: > > +- compatible: "mediatek,mt6359-regulator" > > Why does this need a compatible string - it looks like it's just > encoding the way Linux splits devices up into the DT, not > providing some reusable IP block. Thanks for your comments. I will remove it in the next patch. > _______________________________________________ > Linux-mediatek mailing list > Linux-mediatek@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-mediatek
On 10/02/2020 12:57, Wen Su wrote: > Hi, > > On Thu, 2020-02-06 at 11:49 +0000, Mark Brown wrote: >> On Thu, Feb 06, 2020 at 11:06:48AM +0800, Wen Su wrote: >> >>> +Required properties: >>> +- compatible: "mediatek,mt6359-regulator" >> >> Why does this need a compatible string - it looks like it's just >> encoding the way Linux splits devices up into the DT, not >> providing some reusable IP block. > > Thanks for your comments. > I will remove it in the next patch. > If this the way to go, then please fix all the other MediaTek binding description for regulators (+ the dts) as this is then wrong. Thanks! Matthias
Hi, On Tue, 2020-02-11 at 17:06 +0100, Matthias Brugger wrote: > > On 10/02/2020 12:57, Wen Su wrote: > > Hi, > > > > On Thu, 2020-02-06 at 11:49 +0000, Mark Brown wrote: > >> On Thu, Feb 06, 2020 at 11:06:48AM +0800, Wen Su wrote: > >> > >>> +Required properties: > >>> +- compatible: "mediatek,mt6359-regulator" > >> > >> Why does this need a compatible string - it looks like it's just > >> encoding the way Linux splits devices up into the DT, not > >> providing some reusable IP block. > > > > Thanks for your comments. > > I will remove it in the next patch. > > > > If this the way to go, then please fix all the other MediaTek binding > description for regulators (+ the dts) as this is then wrong. > Thanks! > Matthias The mt6359-regulator driver is still a reusable IP block.It could be adding more other MediaTek pmic mt6359 similar compatible device. But currently this patch only testing on pmic mt6359. Is it allowable to keep compatible string in binding description ? Thanks
diff --git a/Documentation/devicetree/bindings/regulator/mt6359-regulator.txt b/Documentation/devicetree/bindings/regulator/mt6359-regulator.txt new file mode 100644 index 0000000..c86aaa9 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/mt6359-regulator.txt @@ -0,0 +1,58 @@ +Mediatek MT6359 Regulator + +Required properties: +- compatible: "mediatek,mt6359-regulator" +- mt6359regulator: List of regulators provided by this controller. It is named + according to its regulator type, buck_<name> and ldo_<name>. + The definition for each of these nodes is defined using the standard binding + for regulators at Documentation/devicetree/bindings/regulator/regulator.txt. + +The valid names for regulators are: +BUCK: + buck_vs1, buck_vgpu11, buck_vmodem, buck_vpu, buck_vcore, buck_vs2, + buck_vpa, buck_vproc2, buck_vproc1, buck_vcore_sshub +LDO: + ldo_vaud18, ldo_vsim1, ldo_vibr, ldo_vrf12, ldo_vusb, ldo_vsram_proc2, + ldo_vio18, ldo_vcamio, ldo_vcn18, ldo_vfe28, ldo_vcn13, ldo_vcn33_1_bt, + ldo_vcn13_1_wifi, ldo_vaux18, ldo_vsram_others, ldo_vefuse, ldo_vxo22, + ldo_vrfck, ldo_vbif28, ldo_vio28, ldo_vemc, ldo_vcn33_2_bt, ldo_vcn33_2_wifi, + ldo_va12, ldo_va09, ldo_vrf18, ldo_vsram_md, ldo_vufs, ldo_vm18, ldo_vbbck, + ldo_vsram_proc1, ldo_vsim2, ldo_vsram_others_sshub + +Example: + pmic { + compatible = "mediatek,mt6359"; + + mt6359regulator: mt6359regulator { + compatible = "mediatek,mt6359-regulator"; + + mt6359_vs1_buck_reg: buck_vs1 { + regulator-name = "vs1"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <2200000>; + regulator-enable-ramp-delay = <0>; + regulator-always-on; + }; + 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_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>; + }; + }; + }; +