Message ID | 20170720230717.58255-2-icenowy@aosc.io (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Jul 21, 2017 at 7:07 AM, Icenowy Zheng <icenowy@aosc.io> wrote: > Banana Pi M64 board uses an AXP803 PMIC. > > Enable the PMIC and its regulators. > > As we have now proper regulators support, missing or dummy regulators > are changed to the correct ones. > > Signed-off-by: Icenowy Zheng <icenowy@aosc.io> > --- > .../boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 116 +++++++++++++++++++-- > 1 file changed, 106 insertions(+), 10 deletions(-) > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts > index 829922d077fb..51d67c0a0edf 100644 > --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts > @@ -58,13 +58,6 @@ > chosen { > stdout-path = "serial0:115200n8"; > }; > - > - reg_vcc3v3: vcc3v3 { > - compatible = "regulator-fixed"; > - regulator-name = "vcc3v3"; > - regulator-min-microvolt = <3300000>; > - regulator-max-microvolt = <3300000>; > - }; > }; > > &ehci1 { > @@ -76,6 +69,7 @@ > pinctrl-0 = <&rgmii_pins>; > phy-mode = "rgmii"; > phy-handle = <&ext_rgmii_phy>; > + phy-supply = <®_dc1sw>; > status = "okay"; > }; > > @@ -99,7 +93,7 @@ > &mmc0 { > pinctrl-names = "default"; > pinctrl-0 = <&mmc0_pins>; > - vmmc-supply = <®_vcc3v3>; > + vmmc-supply = <®_dcdc1>; > cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; > cd-inverted; > disable-wp; > @@ -110,7 +104,8 @@ > &mmc1 { > pinctrl-names = "default"; > pinctrl-0 = <&mmc1_pins>; > - vmmc-supply = <®_vcc3v3>; > + vmmc-supply = <®_dldo2>; > + vqmmc-supply = <®_dldo4>; > bus-width = <4>; > non-removable; > status = "okay"; > @@ -119,7 +114,7 @@ > &mmc2 { > pinctrl-names = "default"; > pinctrl-0 = <&mmc2_pins>; > - vmmc-supply = <®_vcc3v3>; > + vmmc-supply = <®_dcdc1>; > bus-width = <8>; > non-removable; > cap-mmc-hw-reset; > @@ -130,6 +125,107 @@ > status = "okay"; > }; > > +&r_rsb { > + status = "okay"; > + > + axp803: pmic@3a3 { > + compatible = "x-powers,axp803"; > + reg = <0x3a3>; > + interrupt-parent = <&r_intc>; > + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; > + }; > +}; > + > +#include "axp803.dtsi" > + > +®_aldo2 { > + regulator-always-on; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <3300000>; > + regulator-name = "vcc-pl"; > +}; > + > +®_aldo3 { > + regulator-always-on; > + regulator-min-microvolt = <3000000>; > + regulator-max-microvolt = <3000000>; > + regulator-name = "vcc-pll-avcc"; > +}; > + > +®_dc1sw { > + regulator-name = "vcc-phy"; > +}; > + > +®_dcdc1 { > + regulator-always-on; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-name = "vcc-3v3"; > +}; > + > +®_dcdc2 { > + regulator-always-on; > + regulator-min-microvolt = <1000000>; The datasheet says the minimum voltage is 1.04V. > + regulator-max-microvolt = <1300000>; > + regulator-name = "vdd-cpux"; > +}; > + > +/* DCDC3 is polyphased with DCDC2 */ > + > +®_dcdc5 { > + regulator-always-on; > + regulator-min-microvolt = <1500000>; > + regulator-max-microvolt = <1500000>; > + regulator-name = "vcc-dram"; > +}; > + > +®_dcdc6 { > + regulator-always-on; > + regulator-min-microvolt = <1100000>; > + regulator-max-microvolt = <1100000>; > + regulator-name = "vdd-sys"; > +}; > + > +®_dldo1 { > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-name = "vcc-hdmi-dsi"; > +}; > + > +®_dldo2 { > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-name = "vcc-wifi"; > +}; > + > +®_dldo4 { > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <3300000>; > + regulator-name = "vcc-wifi-io"; > +}; > + > +®_eldo1 { > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-name = "cpvdd"; > +}; > + It looks like you are missing a few regulators? I assume you would add them once the peripherals that use them are added? Otherwise this patch looks good. ChenYu > +/* > + * The A64 chip cannot work without this regulator off, although > + * it seems to be only driving the AR100 core. > + * Maybe we don't still know well about CPUs domain. > + */ > +®_fldo2 { > + regulator-always-on; > + regulator-min-microvolt = <1100000>; > + regulator-max-microvolt = <1100000>; > + regulator-name = "vdd-cpus"; > +}; > + > +®_rtc_ldo { > + regulator-name = "vcc-rtc"; > +}; > + > &uart0 { > pinctrl-names = "default"; > pinctrl-0 = <&uart0_pins_a>; > -- > 2.13.0 > > -- > You received this message because you are subscribed to the Google Groups "linux-sunxi" group. > To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe@googlegroups.com. > For more options, visit https://groups.google.com/d/optout.
于 2017年7月21日 GMT+08:00 下午3:42:07, Chen-Yu Tsai <wens@csie.org> 写到: >On Fri, Jul 21, 2017 at 7:07 AM, Icenowy Zheng <icenowy@aosc.io> wrote: >> Banana Pi M64 board uses an AXP803 PMIC. >> >> Enable the PMIC and its regulators. >> >> As we have now proper regulators support, missing or dummy regulators >> are changed to the correct ones. >> >> Signed-off-by: Icenowy Zheng <icenowy@aosc.io> >> --- >> .../boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 116 >+++++++++++++++++++-- >> 1 file changed, 106 insertions(+), 10 deletions(-) >> >> diff --git >a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts >b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts >> index 829922d077fb..51d67c0a0edf 100644 >> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts >> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts >> @@ -58,13 +58,6 @@ >> chosen { >> stdout-path = "serial0:115200n8"; >> }; >> - >> - reg_vcc3v3: vcc3v3 { >> - compatible = "regulator-fixed"; >> - regulator-name = "vcc3v3"; >> - regulator-min-microvolt = <3300000>; >> - regulator-max-microvolt = <3300000>; >> - }; >> }; >> >> &ehci1 { >> @@ -76,6 +69,7 @@ >> pinctrl-0 = <&rgmii_pins>; >> phy-mode = "rgmii"; >> phy-handle = <&ext_rgmii_phy>; >> + phy-supply = <®_dc1sw>; >> status = "okay"; >> }; >> >> @@ -99,7 +93,7 @@ >> &mmc0 { >> pinctrl-names = "default"; >> pinctrl-0 = <&mmc0_pins>; >> - vmmc-supply = <®_vcc3v3>; >> + vmmc-supply = <®_dcdc1>; >> cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; >> cd-inverted; >> disable-wp; >> @@ -110,7 +104,8 @@ >> &mmc1 { >> pinctrl-names = "default"; >> pinctrl-0 = <&mmc1_pins>; >> - vmmc-supply = <®_vcc3v3>; >> + vmmc-supply = <®_dldo2>; >> + vqmmc-supply = <®_dldo4>; >> bus-width = <4>; >> non-removable; >> status = "okay"; >> @@ -119,7 +114,7 @@ >> &mmc2 { >> pinctrl-names = "default"; >> pinctrl-0 = <&mmc2_pins>; >> - vmmc-supply = <®_vcc3v3>; >> + vmmc-supply = <®_dcdc1>; >> bus-width = <8>; >> non-removable; >> cap-mmc-hw-reset; >> @@ -130,6 +125,107 @@ >> status = "okay"; >> }; >> >> +&r_rsb { >> + status = "okay"; >> + >> + axp803: pmic@3a3 { >> + compatible = "x-powers,axp803"; >> + reg = <0x3a3>; >> + interrupt-parent = <&r_intc>; >> + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; >> + }; >> +}; >> + >> +#include "axp803.dtsi" >> + >> +®_aldo2 { >> + regulator-always-on; >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <3300000>; >> + regulator-name = "vcc-pl"; >> +}; >> + >> +®_aldo3 { >> + regulator-always-on; >> + regulator-min-microvolt = <3000000>; >> + regulator-max-microvolt = <3000000>; >> + regulator-name = "vcc-pll-avcc"; >> +}; >> + >> +®_dc1sw { >> + regulator-name = "vcc-phy"; >> +}; >> + >> +®_dcdc1 { >> + regulator-always-on; >> + regulator-min-microvolt = <3300000>; >> + regulator-max-microvolt = <3300000>; >> + regulator-name = "vcc-3v3"; >> +}; >> + >> +®_dcdc2 { >> + regulator-always-on; >> + regulator-min-microvolt = <1000000>; > >The datasheet says the minimum voltage is 1.04V. A64 datasheet? Maybe I need to fix all A64 AXP patches. > >> + regulator-max-microvolt = <1300000>; >> + regulator-name = "vdd-cpux"; >> +}; >> + >> +/* DCDC3 is polyphased with DCDC2 */ >> + >> +®_dcdc5 { >> + regulator-always-on; >> + regulator-min-microvolt = <1500000>; >> + regulator-max-microvolt = <1500000>; >> + regulator-name = "vcc-dram"; >> +}; >> + >> +®_dcdc6 { >> + regulator-always-on; >> + regulator-min-microvolt = <1100000>; >> + regulator-max-microvolt = <1100000>; >> + regulator-name = "vdd-sys"; >> +}; >> + >> +®_dldo1 { >> + regulator-min-microvolt = <3300000>; >> + regulator-max-microvolt = <3300000>; >> + regulator-name = "vcc-hdmi-dsi"; >> +}; >> + >> +®_dldo2 { >> + regulator-min-microvolt = <3300000>; >> + regulator-max-microvolt = <3300000>; >> + regulator-name = "vcc-wifi"; >> +}; >> + >> +®_dldo4 { >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <3300000>; >> + regulator-name = "vcc-wifi-io"; >> +}; >> + >> +®_eldo1 { >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <1800000>; >> + regulator-name = "cpvdd"; >> +}; >> + > >It looks like you are missing a few regulators? I assume you >would add them once the peripherals that use them are added? Yes. I mainly dropped CSI part, as it seems so complicate. > >Otherwise this patch looks good. > >ChenYu > >> +/* >> + * The A64 chip cannot work without this regulator off, although >> + * it seems to be only driving the AR100 core. >> + * Maybe we don't still know well about CPUs domain. >> + */ >> +®_fldo2 { >> + regulator-always-on; >> + regulator-min-microvolt = <1100000>; >> + regulator-max-microvolt = <1100000>; >> + regulator-name = "vdd-cpus"; >> +}; >> + >> +®_rtc_ldo { >> + regulator-name = "vcc-rtc"; >> +}; >> + >> &uart0 { >> pinctrl-names = "default"; >> pinctrl-0 = <&uart0_pins_a>; >> -- >> 2.13.0 >> >> -- >> You received this message because you are subscribed to the Google >Groups "linux-sunxi" group. >> To unsubscribe from this group and stop receiving emails from it, >send an email to linux-sunxi+unsubscribe@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout.
On Fri, Jul 21, 2017 at 3:44 PM, Icenowy Zheng <icenowy@aosc.io> wrote: > > > 于 2017年7月21日 GMT+08:00 下午3:42:07, Chen-Yu Tsai <wens@csie.org> 写到: >>On Fri, Jul 21, 2017 at 7:07 AM, Icenowy Zheng <icenowy@aosc.io> wrote: >>> Banana Pi M64 board uses an AXP803 PMIC. >>> >>> Enable the PMIC and its regulators. >>> >>> As we have now proper regulators support, missing or dummy regulators >>> are changed to the correct ones. >>> >>> Signed-off-by: Icenowy Zheng <icenowy@aosc.io> >>> --- >>> .../boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 116 >>+++++++++++++++++++-- >>> 1 file changed, 106 insertions(+), 10 deletions(-) >>> >>> diff --git >>a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts >>b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts >>> index 829922d077fb..51d67c0a0edf 100644 >>> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts >>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts >>> @@ -58,13 +58,6 @@ >>> chosen { >>> stdout-path = "serial0:115200n8"; >>> }; >>> - >>> - reg_vcc3v3: vcc3v3 { >>> - compatible = "regulator-fixed"; >>> - regulator-name = "vcc3v3"; >>> - regulator-min-microvolt = <3300000>; >>> - regulator-max-microvolt = <3300000>; >>> - }; >>> }; >>> >>> &ehci1 { >>> @@ -76,6 +69,7 @@ >>> pinctrl-0 = <&rgmii_pins>; >>> phy-mode = "rgmii"; >>> phy-handle = <&ext_rgmii_phy>; >>> + phy-supply = <®_dc1sw>; >>> status = "okay"; >>> }; >>> >>> @@ -99,7 +93,7 @@ >>> &mmc0 { >>> pinctrl-names = "default"; >>> pinctrl-0 = <&mmc0_pins>; >>> - vmmc-supply = <®_vcc3v3>; >>> + vmmc-supply = <®_dcdc1>; >>> cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; >>> cd-inverted; >>> disable-wp; >>> @@ -110,7 +104,8 @@ >>> &mmc1 { >>> pinctrl-names = "default"; >>> pinctrl-0 = <&mmc1_pins>; >>> - vmmc-supply = <®_vcc3v3>; >>> + vmmc-supply = <®_dldo2>; >>> + vqmmc-supply = <®_dldo4>; >>> bus-width = <4>; >>> non-removable; >>> status = "okay"; >>> @@ -119,7 +114,7 @@ >>> &mmc2 { >>> pinctrl-names = "default"; >>> pinctrl-0 = <&mmc2_pins>; >>> - vmmc-supply = <®_vcc3v3>; >>> + vmmc-supply = <®_dcdc1>; >>> bus-width = <8>; >>> non-removable; >>> cap-mmc-hw-reset; >>> @@ -130,6 +125,107 @@ >>> status = "okay"; >>> }; >>> >>> +&r_rsb { >>> + status = "okay"; >>> + >>> + axp803: pmic@3a3 { >>> + compatible = "x-powers,axp803"; >>> + reg = <0x3a3>; >>> + interrupt-parent = <&r_intc>; >>> + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; >>> + }; >>> +}; >>> + >>> +#include "axp803.dtsi" >>> + >>> +®_aldo2 { >>> + regulator-always-on; >>> + regulator-min-microvolt = <1800000>; >>> + regulator-max-microvolt = <3300000>; >>> + regulator-name = "vcc-pl"; >>> +}; >>> + >>> +®_aldo3 { >>> + regulator-always-on; >>> + regulator-min-microvolt = <3000000>; >>> + regulator-max-microvolt = <3000000>; >>> + regulator-name = "vcc-pll-avcc"; >>> +}; >>> + >>> +®_dc1sw { >>> + regulator-name = "vcc-phy"; >>> +}; >>> + >>> +®_dcdc1 { >>> + regulator-always-on; >>> + regulator-min-microvolt = <3300000>; >>> + regulator-max-microvolt = <3300000>; >>> + regulator-name = "vcc-3v3"; >>> +}; >>> + >>> +®_dcdc2 { >>> + regulator-always-on; >>> + regulator-min-microvolt = <1000000>; >> >>The datasheet says the minimum voltage is 1.04V. > > A64 datasheet? Yes. V1.1. > > Maybe I need to fix all A64 AXP patches. > >> >>> + regulator-max-microvolt = <1300000>; >>> + regulator-name = "vdd-cpux"; >>> +}; >>> + >>> +/* DCDC3 is polyphased with DCDC2 */ >>> + >>> +®_dcdc5 { >>> + regulator-always-on; >>> + regulator-min-microvolt = <1500000>; >>> + regulator-max-microvolt = <1500000>; >>> + regulator-name = "vcc-dram"; >>> +}; >>> + >>> +®_dcdc6 { >>> + regulator-always-on; >>> + regulator-min-microvolt = <1100000>; >>> + regulator-max-microvolt = <1100000>; >>> + regulator-name = "vdd-sys"; >>> +}; >>> + >>> +®_dldo1 { >>> + regulator-min-microvolt = <3300000>; >>> + regulator-max-microvolt = <3300000>; >>> + regulator-name = "vcc-hdmi-dsi"; >>> +}; >>> + >>> +®_dldo2 { >>> + regulator-min-microvolt = <3300000>; >>> + regulator-max-microvolt = <3300000>; >>> + regulator-name = "vcc-wifi"; >>> +}; >>> + >>> +®_dldo4 { >>> + regulator-min-microvolt = <1800000>; >>> + regulator-max-microvolt = <3300000>; >>> + regulator-name = "vcc-wifi-io"; >>> +}; >>> + >>> +®_eldo1 { >>> + regulator-min-microvolt = <1800000>; >>> + regulator-max-microvolt = <1800000>; >>> + regulator-name = "cpvdd"; >>> +}; >>> + >> >>It looks like you are missing a few regulators? I assume you >>would add them once the peripherals that use them are added? > > Yes. > > I mainly dropped CSI part, as it seems so complicate. HSIC is also missing. I know the board doesn't use the feature, but the regulator is hooked up. It would be better to set the name and constraints. ChenYu > >> >>Otherwise this patch looks good. >> >>ChenYu >> >>> +/* >>> + * The A64 chip cannot work without this regulator off, although >>> + * it seems to be only driving the AR100 core. >>> + * Maybe we don't still know well about CPUs domain. >>> + */ >>> +®_fldo2 { >>> + regulator-always-on; >>> + regulator-min-microvolt = <1100000>; >>> + regulator-max-microvolt = <1100000>; >>> + regulator-name = "vdd-cpus"; >>> +}; >>> + >>> +®_rtc_ldo { >>> + regulator-name = "vcc-rtc"; >>> +}; >>> + >>> &uart0 { >>> pinctrl-names = "default"; >>> pinctrl-0 = <&uart0_pins_a>; >>> -- >>> 2.13.0 >>> >>> -- >>> You received this message because you are subscribed to the Google >>Groups "linux-sunxi" group. >>> To unsubscribe from this group and stop receiving emails from it, >>send an email to linux-sunxi+unsubscribe@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. > > -- > You received this message because you are subscribed to the Google Groups "linux-sunxi" group. > To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe@googlegroups.com. > For more options, visit https://groups.google.com/d/optout.
在 2017-07-21 15:49,Chen-Yu Tsai 写道: > On Fri, Jul 21, 2017 at 3:44 PM, Icenowy Zheng <icenowy@aosc.io> wrote: >> >> >> 于 2017年7月21日 GMT+08:00 下午3:42:07, Chen-Yu Tsai <wens@csie.org> 写到: >>> On Fri, Jul 21, 2017 at 7:07 AM, Icenowy Zheng <icenowy@aosc.io> >>> wrote: >>>> Banana Pi M64 board uses an AXP803 PMIC. >>>> >>>> Enable the PMIC and its regulators. >>>> >>>> As we have now proper regulators support, missing or dummy >>>> regulators >>>> are changed to the correct ones. >>>> >>>> Signed-off-by: Icenowy Zheng <icenowy@aosc.io> >>>> --- >>>> .../boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 116 >>> +++++++++++++++++++-- >>>> 1 file changed, 106 insertions(+), 10 deletions(-) >>>> >>>> diff --git >>> a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts >>> b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts >>>> index 829922d077fb..51d67c0a0edf 100644 >>>> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts >>>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts >>>> @@ -58,13 +58,6 @@ >>>> chosen { >>>> stdout-path = "serial0:115200n8"; >>>> }; >>>> - >>>> - reg_vcc3v3: vcc3v3 { >>>> - compatible = "regulator-fixed"; >>>> - regulator-name = "vcc3v3"; >>>> - regulator-min-microvolt = <3300000>; >>>> - regulator-max-microvolt = <3300000>; >>>> - }; >>>> }; >>>> >>>> &ehci1 { >>>> @@ -76,6 +69,7 @@ >>>> pinctrl-0 = <&rgmii_pins>; >>>> phy-mode = "rgmii"; >>>> phy-handle = <&ext_rgmii_phy>; >>>> + phy-supply = <®_dc1sw>; >>>> status = "okay"; >>>> }; >>>> >>>> @@ -99,7 +93,7 @@ >>>> &mmc0 { >>>> pinctrl-names = "default"; >>>> pinctrl-0 = <&mmc0_pins>; >>>> - vmmc-supply = <®_vcc3v3>; >>>> + vmmc-supply = <®_dcdc1>; >>>> cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; >>>> cd-inverted; >>>> disable-wp; >>>> @@ -110,7 +104,8 @@ >>>> &mmc1 { >>>> pinctrl-names = "default"; >>>> pinctrl-0 = <&mmc1_pins>; >>>> - vmmc-supply = <®_vcc3v3>; >>>> + vmmc-supply = <®_dldo2>; >>>> + vqmmc-supply = <®_dldo4>; >>>> bus-width = <4>; >>>> non-removable; >>>> status = "okay"; >>>> @@ -119,7 +114,7 @@ >>>> &mmc2 { >>>> pinctrl-names = "default"; >>>> pinctrl-0 = <&mmc2_pins>; >>>> - vmmc-supply = <®_vcc3v3>; >>>> + vmmc-supply = <®_dcdc1>; >>>> bus-width = <8>; >>>> non-removable; >>>> cap-mmc-hw-reset; >>>> @@ -130,6 +125,107 @@ >>>> status = "okay"; >>>> }; >>>> >>>> +&r_rsb { >>>> + status = "okay"; >>>> + >>>> + axp803: pmic@3a3 { >>>> + compatible = "x-powers,axp803"; >>>> + reg = <0x3a3>; >>>> + interrupt-parent = <&r_intc>; >>>> + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; >>>> + }; >>>> +}; >>>> + >>>> +#include "axp803.dtsi" >>>> + >>>> +®_aldo2 { >>>> + regulator-always-on; >>>> + regulator-min-microvolt = <1800000>; >>>> + regulator-max-microvolt = <3300000>; >>>> + regulator-name = "vcc-pl"; >>>> +}; >>>> + >>>> +®_aldo3 { >>>> + regulator-always-on; >>>> + regulator-min-microvolt = <3000000>; >>>> + regulator-max-microvolt = <3000000>; >>>> + regulator-name = "vcc-pll-avcc"; >>>> +}; >>>> + >>>> +®_dc1sw { >>>> + regulator-name = "vcc-phy"; >>>> +}; >>>> + >>>> +®_dcdc1 { >>>> + regulator-always-on; >>>> + regulator-min-microvolt = <3300000>; >>>> + regulator-max-microvolt = <3300000>; >>>> + regulator-name = "vcc-3v3"; >>>> +}; >>>> + >>>> +®_dcdc2 { >>>> + regulator-always-on; >>>> + regulator-min-microvolt = <1000000>; >>> >>> The datasheet says the minimum voltage is 1.04V. >> >> A64 datasheet? > > Yes. V1.1. > >> >> Maybe I need to fix all A64 AXP patches. >> >>> >>>> + regulator-max-microvolt = <1300000>; >>>> + regulator-name = "vdd-cpux"; >>>> +}; >>>> + >>>> +/* DCDC3 is polyphased with DCDC2 */ >>>> + >>>> +®_dcdc5 { >>>> + regulator-always-on; >>>> + regulator-min-microvolt = <1500000>; >>>> + regulator-max-microvolt = <1500000>; >>>> + regulator-name = "vcc-dram"; >>>> +}; >>>> + >>>> +®_dcdc6 { >>>> + regulator-always-on; >>>> + regulator-min-microvolt = <1100000>; >>>> + regulator-max-microvolt = <1100000>; >>>> + regulator-name = "vdd-sys"; >>>> +}; >>>> + >>>> +®_dldo1 { >>>> + regulator-min-microvolt = <3300000>; >>>> + regulator-max-microvolt = <3300000>; >>>> + regulator-name = "vcc-hdmi-dsi"; >>>> +}; >>>> + >>>> +®_dldo2 { >>>> + regulator-min-microvolt = <3300000>; >>>> + regulator-max-microvolt = <3300000>; >>>> + regulator-name = "vcc-wifi"; >>>> +}; >>>> + >>>> +®_dldo4 { >>>> + regulator-min-microvolt = <1800000>; >>>> + regulator-max-microvolt = <3300000>; >>>> + regulator-name = "vcc-wifi-io"; >>>> +}; >>>> + >>>> +®_eldo1 { >>>> + regulator-min-microvolt = <1800000>; >>>> + regulator-max-microvolt = <1800000>; >>>> + regulator-name = "cpvdd"; >>>> +}; >>>> + >>> >>> It looks like you are missing a few regulators? I assume you >>> would add them once the peripherals that use them are added? >> >> Yes. >> >> I mainly dropped CSI part, as it seems so complicate. > > HSIC is also missing. I know the board doesn't use the feature, > but the regulator is hooked up. It would be better to set the > name and constraints. OK. I think maybe Pine64 and SoPine w/ baseborad also need the HSIC regulator set up, right? (They're also not used but hooked) > > ChenYu > >> >>> >>> Otherwise this patch looks good. >>> >>> ChenYu >>> >>>> +/* >>>> + * The A64 chip cannot work without this regulator off, although >>>> + * it seems to be only driving the AR100 core. >>>> + * Maybe we don't still know well about CPUs domain. >>>> + */ >>>> +®_fldo2 { >>>> + regulator-always-on; >>>> + regulator-min-microvolt = <1100000>; >>>> + regulator-max-microvolt = <1100000>; >>>> + regulator-name = "vdd-cpus"; >>>> +}; >>>> + >>>> +®_rtc_ldo { >>>> + regulator-name = "vcc-rtc"; >>>> +}; >>>> + >>>> &uart0 { >>>> pinctrl-names = "default"; >>>> pinctrl-0 = <&uart0_pins_a>; >>>> -- >>>> 2.13.0 >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>> Groups "linux-sunxi" group. >>>> To unsubscribe from this group and stop receiving emails from it, >>> send an email to linux-sunxi+unsubscribe@googlegroups.com. >>>> For more options, visit https://groups.google.com/d/optout. >> >> -- >> You received this message because you are subscribed to the Google >> Groups "linux-sunxi" group. >> To unsubscribe from this group and stop receiving emails from it, send >> an email to linux-sunxi+unsubscribe@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
On Fri, Jul 21, 2017 at 7:38 PM, <icenowy@aosc.io> wrote: > 在 2017-07-21 15:49,Chen-Yu Tsai 写道: >> >> On Fri, Jul 21, 2017 at 3:44 PM, Icenowy Zheng <icenowy@aosc.io> wrote: >>> >>> >>> >>> 于 2017年7月21日 GMT+08:00 下午3:42:07, Chen-Yu Tsai <wens@csie.org> 写到: >>>> >>>> On Fri, Jul 21, 2017 at 7:07 AM, Icenowy Zheng <icenowy@aosc.io> wrote: >>>>> >>>>> Banana Pi M64 board uses an AXP803 PMIC. >>>>> >>>>> Enable the PMIC and its regulators. >>>>> >>>>> As we have now proper regulators support, missing or dummy regulators >>>>> are changed to the correct ones. >>>>> >>>>> Signed-off-by: Icenowy Zheng <icenowy@aosc.io> >>>>> --- >>>>> .../boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 116 >>>> >>>> +++++++++++++++++++-- >>>>> >>>>> 1 file changed, 106 insertions(+), 10 deletions(-) >>>>> >>>>> diff --git >>>> >>>> a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts >>>> b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts >>>>> >>>>> index 829922d077fb..51d67c0a0edf 100644 >>>>> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts >>>>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts >>>>> @@ -58,13 +58,6 @@ >>>>> chosen { >>>>> stdout-path = "serial0:115200n8"; >>>>> }; >>>>> - >>>>> - reg_vcc3v3: vcc3v3 { >>>>> - compatible = "regulator-fixed"; >>>>> - regulator-name = "vcc3v3"; >>>>> - regulator-min-microvolt = <3300000>; >>>>> - regulator-max-microvolt = <3300000>; >>>>> - }; >>>>> }; >>>>> >>>>> &ehci1 { >>>>> @@ -76,6 +69,7 @@ >>>>> pinctrl-0 = <&rgmii_pins>; >>>>> phy-mode = "rgmii"; >>>>> phy-handle = <&ext_rgmii_phy>; >>>>> + phy-supply = <®_dc1sw>; >>>>> status = "okay"; >>>>> }; >>>>> >>>>> @@ -99,7 +93,7 @@ >>>>> &mmc0 { >>>>> pinctrl-names = "default"; >>>>> pinctrl-0 = <&mmc0_pins>; >>>>> - vmmc-supply = <®_vcc3v3>; >>>>> + vmmc-supply = <®_dcdc1>; >>>>> cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; >>>>> cd-inverted; >>>>> disable-wp; >>>>> @@ -110,7 +104,8 @@ >>>>> &mmc1 { >>>>> pinctrl-names = "default"; >>>>> pinctrl-0 = <&mmc1_pins>; >>>>> - vmmc-supply = <®_vcc3v3>; >>>>> + vmmc-supply = <®_dldo2>; >>>>> + vqmmc-supply = <®_dldo4>; >>>>> bus-width = <4>; >>>>> non-removable; >>>>> status = "okay"; >>>>> @@ -119,7 +114,7 @@ >>>>> &mmc2 { >>>>> pinctrl-names = "default"; >>>>> pinctrl-0 = <&mmc2_pins>; >>>>> - vmmc-supply = <®_vcc3v3>; >>>>> + vmmc-supply = <®_dcdc1>; >>>>> bus-width = <8>; >>>>> non-removable; >>>>> cap-mmc-hw-reset; >>>>> @@ -130,6 +125,107 @@ >>>>> status = "okay"; >>>>> }; >>>>> >>>>> +&r_rsb { >>>>> + status = "okay"; >>>>> + >>>>> + axp803: pmic@3a3 { >>>>> + compatible = "x-powers,axp803"; >>>>> + reg = <0x3a3>; >>>>> + interrupt-parent = <&r_intc>; >>>>> + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; >>>>> + }; >>>>> +}; >>>>> + >>>>> +#include "axp803.dtsi" >>>>> + >>>>> +®_aldo2 { >>>>> + regulator-always-on; >>>>> + regulator-min-microvolt = <1800000>; >>>>> + regulator-max-microvolt = <3300000>; >>>>> + regulator-name = "vcc-pl"; >>>>> +}; >>>>> + >>>>> +®_aldo3 { >>>>> + regulator-always-on; >>>>> + regulator-min-microvolt = <3000000>; >>>>> + regulator-max-microvolt = <3000000>; >>>>> + regulator-name = "vcc-pll-avcc"; >>>>> +}; >>>>> + >>>>> +®_dc1sw { >>>>> + regulator-name = "vcc-phy"; >>>>> +}; >>>>> + >>>>> +®_dcdc1 { >>>>> + regulator-always-on; >>>>> + regulator-min-microvolt = <3300000>; >>>>> + regulator-max-microvolt = <3300000>; >>>>> + regulator-name = "vcc-3v3"; >>>>> +}; >>>>> + >>>>> +®_dcdc2 { >>>>> + regulator-always-on; >>>>> + regulator-min-microvolt = <1000000>; >>>> >>>> >>>> The datasheet says the minimum voltage is 1.04V. >>> >>> >>> A64 datasheet? >> >> >> Yes. V1.1. >> >>> >>> Maybe I need to fix all A64 AXP patches. >>> >>>> >>>>> + regulator-max-microvolt = <1300000>; >>>>> + regulator-name = "vdd-cpux"; >>>>> +}; >>>>> + >>>>> +/* DCDC3 is polyphased with DCDC2 */ >>>>> + >>>>> +®_dcdc5 { >>>>> + regulator-always-on; >>>>> + regulator-min-microvolt = <1500000>; >>>>> + regulator-max-microvolt = <1500000>; >>>>> + regulator-name = "vcc-dram"; >>>>> +}; >>>>> + >>>>> +®_dcdc6 { >>>>> + regulator-always-on; >>>>> + regulator-min-microvolt = <1100000>; >>>>> + regulator-max-microvolt = <1100000>; >>>>> + regulator-name = "vdd-sys"; >>>>> +}; >>>>> + >>>>> +®_dldo1 { >>>>> + regulator-min-microvolt = <3300000>; >>>>> + regulator-max-microvolt = <3300000>; >>>>> + regulator-name = "vcc-hdmi-dsi"; >>>>> +}; >>>>> + >>>>> +®_dldo2 { >>>>> + regulator-min-microvolt = <3300000>; >>>>> + regulator-max-microvolt = <3300000>; >>>>> + regulator-name = "vcc-wifi"; >>>>> +}; >>>>> + >>>>> +®_dldo4 { >>>>> + regulator-min-microvolt = <1800000>; >>>>> + regulator-max-microvolt = <3300000>; >>>>> + regulator-name = "vcc-wifi-io"; >>>>> +}; >>>>> + >>>>> +®_eldo1 { >>>>> + regulator-min-microvolt = <1800000>; >>>>> + regulator-max-microvolt = <1800000>; >>>>> + regulator-name = "cpvdd"; >>>>> +}; >>>>> + >>>> >>>> >>>> It looks like you are missing a few regulators? I assume you >>>> would add them once the peripherals that use them are added? >>> >>> >>> Yes. >>> >>> I mainly dropped CSI part, as it seems so complicate. >> >> >> HSIC is also missing. I know the board doesn't use the feature, >> but the regulator is hooked up. It would be better to set the >> name and constraints. > > > OK. > > I think maybe Pine64 and SoPine w/ baseborad also need the HSIC > regulator set up, right? (They're also not used but hooked) > Correct. If they are wired up, then they have constraints that need to be adhered to. ChenYu >> >> ChenYu >> >>> >>>> >>>> Otherwise this patch looks good. >>>> >>>> ChenYu >>>> >>>>> +/* >>>>> + * The A64 chip cannot work without this regulator off, although >>>>> + * it seems to be only driving the AR100 core. >>>>> + * Maybe we don't still know well about CPUs domain. >>>>> + */ >>>>> +®_fldo2 { >>>>> + regulator-always-on; >>>>> + regulator-min-microvolt = <1100000>; >>>>> + regulator-max-microvolt = <1100000>; >>>>> + regulator-name = "vdd-cpus"; >>>>> +}; >>>>> + >>>>> +®_rtc_ldo { >>>>> + regulator-name = "vcc-rtc"; >>>>> +}; >>>>> + >>>>> &uart0 { >>>>> pinctrl-names = "default"; >>>>> pinctrl-0 = <&uart0_pins_a>; >>>>> -- >>>>> 2.13.0 >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>> >>>> Groups "linux-sunxi" group. >>>>> >>>>> To unsubscribe from this group and stop receiving emails from it, >>>> >>>> send an email to linux-sunxi+unsubscribe@googlegroups.com. >>>>> >>>>> For more options, visit https://groups.google.com/d/optout. >>> >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "linux-sunxi" group. >>> To unsubscribe from this group and stop receiving emails from it, send an >>> email to linux-sunxi+unsubscribe@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >> >> >> _______________________________________________ >> linux-arm-kernel mailing list >> linux-arm-kernel@lists.infradead.org >> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > > > -- > You received this message because you are subscribed to the Google Groups > "linux-sunxi" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to linux-sunxi+unsubscribe@googlegroups.com. > For more options, visit https://groups.google.com/d/optout.
于 2017年7月23日 GMT+08:00 下午11:15:04, Chen-Yu Tsai <wens@csie.org> 写到: >On Fri, Jul 21, 2017 at 7:38 PM, <icenowy@aosc.io> wrote: >> 在 2017-07-21 15:49,Chen-Yu Tsai 写道: >>> >>> On Fri, Jul 21, 2017 at 3:44 PM, Icenowy Zheng <icenowy@aosc.io> >wrote: >>>> >>>> >>>> >>>> 于 2017年7月21日 GMT+08:00 下午3:42:07, Chen-Yu Tsai <wens@csie.org> 写到: >>>>> >>>>> On Fri, Jul 21, 2017 at 7:07 AM, Icenowy Zheng <icenowy@aosc.io> >wrote: >>>>>> >>>>>> Banana Pi M64 board uses an AXP803 PMIC. >>>>>> >>>>>> Enable the PMIC and its regulators. >>>>>> >>>>>> As we have now proper regulators support, missing or dummy >regulators >>>>>> are changed to the correct ones. >>>>>> >>>>>> Signed-off-by: Icenowy Zheng <icenowy@aosc.io> >>>>>> --- >>>>>> .../boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 116 >>>>> >>>>> +++++++++++++++++++-- >>>>>> >>>>>> 1 file changed, 106 insertions(+), 10 deletions(-) >>>>>> >>>>>> diff --git >>>>> >>>>> a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts >>>>> b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts >>>>>> >>>>>> index 829922d077fb..51d67c0a0edf 100644 >>>>>> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts >>>>>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts >>>>>> @@ -58,13 +58,6 @@ >>>>>> chosen { >>>>>> stdout-path = "serial0:115200n8"; >>>>>> }; >>>>>> - >>>>>> - reg_vcc3v3: vcc3v3 { >>>>>> - compatible = "regulator-fixed"; >>>>>> - regulator-name = "vcc3v3"; >>>>>> - regulator-min-microvolt = <3300000>; >>>>>> - regulator-max-microvolt = <3300000>; >>>>>> - }; >>>>>> }; >>>>>> >>>>>> &ehci1 { >>>>>> @@ -76,6 +69,7 @@ >>>>>> pinctrl-0 = <&rgmii_pins>; >>>>>> phy-mode = "rgmii"; >>>>>> phy-handle = <&ext_rgmii_phy>; >>>>>> + phy-supply = <®_dc1sw>; >>>>>> status = "okay"; >>>>>> }; >>>>>> >>>>>> @@ -99,7 +93,7 @@ >>>>>> &mmc0 { >>>>>> pinctrl-names = "default"; >>>>>> pinctrl-0 = <&mmc0_pins>; >>>>>> - vmmc-supply = <®_vcc3v3>; >>>>>> + vmmc-supply = <®_dcdc1>; >>>>>> cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; >>>>>> cd-inverted; >>>>>> disable-wp; >>>>>> @@ -110,7 +104,8 @@ >>>>>> &mmc1 { >>>>>> pinctrl-names = "default"; >>>>>> pinctrl-0 = <&mmc1_pins>; >>>>>> - vmmc-supply = <®_vcc3v3>; >>>>>> + vmmc-supply = <®_dldo2>; >>>>>> + vqmmc-supply = <®_dldo4>; >>>>>> bus-width = <4>; >>>>>> non-removable; >>>>>> status = "okay"; >>>>>> @@ -119,7 +114,7 @@ >>>>>> &mmc2 { >>>>>> pinctrl-names = "default"; >>>>>> pinctrl-0 = <&mmc2_pins>; >>>>>> - vmmc-supply = <®_vcc3v3>; >>>>>> + vmmc-supply = <®_dcdc1>; >>>>>> bus-width = <8>; >>>>>> non-removable; >>>>>> cap-mmc-hw-reset; >>>>>> @@ -130,6 +125,107 @@ >>>>>> status = "okay"; >>>>>> }; >>>>>> >>>>>> +&r_rsb { >>>>>> + status = "okay"; >>>>>> + >>>>>> + axp803: pmic@3a3 { >>>>>> + compatible = "x-powers,axp803"; >>>>>> + reg = <0x3a3>; >>>>>> + interrupt-parent = <&r_intc>; >>>>>> + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; >>>>>> + }; >>>>>> +}; >>>>>> + >>>>>> +#include "axp803.dtsi" >>>>>> + >>>>>> +®_aldo2 { >>>>>> + regulator-always-on; >>>>>> + regulator-min-microvolt = <1800000>; >>>>>> + regulator-max-microvolt = <3300000>; >>>>>> + regulator-name = "vcc-pl"; >>>>>> +}; >>>>>> + >>>>>> +®_aldo3 { >>>>>> + regulator-always-on; >>>>>> + regulator-min-microvolt = <3000000>; >>>>>> + regulator-max-microvolt = <3000000>; >>>>>> + regulator-name = "vcc-pll-avcc"; >>>>>> +}; >>>>>> + >>>>>> +®_dc1sw { >>>>>> + regulator-name = "vcc-phy"; >>>>>> +}; >>>>>> + >>>>>> +®_dcdc1 { >>>>>> + regulator-always-on; >>>>>> + regulator-min-microvolt = <3300000>; >>>>>> + regulator-max-microvolt = <3300000>; >>>>>> + regulator-name = "vcc-3v3"; >>>>>> +}; >>>>>> + >>>>>> +®_dcdc2 { >>>>>> + regulator-always-on; >>>>>> + regulator-min-microvolt = <1000000>; >>>>> >>>>> >>>>> The datasheet says the minimum voltage is 1.04V. >>>> >>>> >>>> A64 datasheet? >>> >>> >>> Yes. V1.1. >>> >>>> >>>> Maybe I need to fix all A64 AXP patches. >>>> >>>>> >>>>>> + regulator-max-microvolt = <1300000>; >>>>>> + regulator-name = "vdd-cpux"; >>>>>> +}; >>>>>> + >>>>>> +/* DCDC3 is polyphased with DCDC2 */ >>>>>> + >>>>>> +®_dcdc5 { >>>>>> + regulator-always-on; >>>>>> + regulator-min-microvolt = <1500000>; >>>>>> + regulator-max-microvolt = <1500000>; >>>>>> + regulator-name = "vcc-dram"; >>>>>> +}; >>>>>> + >>>>>> +®_dcdc6 { >>>>>> + regulator-always-on; >>>>>> + regulator-min-microvolt = <1100000>; >>>>>> + regulator-max-microvolt = <1100000>; >>>>>> + regulator-name = "vdd-sys"; >>>>>> +}; >>>>>> + >>>>>> +®_dldo1 { >>>>>> + regulator-min-microvolt = <3300000>; >>>>>> + regulator-max-microvolt = <3300000>; >>>>>> + regulator-name = "vcc-hdmi-dsi"; >>>>>> +}; >>>>>> + >>>>>> +®_dldo2 { >>>>>> + regulator-min-microvolt = <3300000>; >>>>>> + regulator-max-microvolt = <3300000>; >>>>>> + regulator-name = "vcc-wifi"; >>>>>> +}; >>>>>> + >>>>>> +®_dldo4 { >>>>>> + regulator-min-microvolt = <1800000>; >>>>>> + regulator-max-microvolt = <3300000>; >>>>>> + regulator-name = "vcc-wifi-io"; >>>>>> +}; >>>>>> + >>>>>> +®_eldo1 { >>>>>> + regulator-min-microvolt = <1800000>; >>>>>> + regulator-max-microvolt = <1800000>; >>>>>> + regulator-name = "cpvdd"; >>>>>> +}; >>>>>> + >>>>> >>>>> >>>>> It looks like you are missing a few regulators? I assume you >>>>> would add them once the peripherals that use them are added? >>>> >>>> >>>> Yes. >>>> >>>> I mainly dropped CSI part, as it seems so complicate. >>> >>> >>> HSIC is also missing. I know the board doesn't use the feature, >>> but the regulator is hooked up. It would be better to set the >>> name and constraints. >> >> >> OK. >> >> I think maybe Pine64 and SoPine w/ baseborad also need the HSIC >> regulator set up, right? (They're also not used but hooked) >> > >Correct. If they are wired up, then they have constraints that >need to be adhered to. Already fixed up in Pine64/SoPine patchset v2. > >ChenYu > >>> >>> ChenYu >>> >>>> >>>>> >>>>> Otherwise this patch looks good. >>>>> >>>>> ChenYu >>>>> >>>>>> +/* >>>>>> + * The A64 chip cannot work without this regulator off, although >>>>>> + * it seems to be only driving the AR100 core. >>>>>> + * Maybe we don't still know well about CPUs domain. >>>>>> + */ >>>>>> +®_fldo2 { >>>>>> + regulator-always-on; >>>>>> + regulator-min-microvolt = <1100000>; >>>>>> + regulator-max-microvolt = <1100000>; >>>>>> + regulator-name = "vdd-cpus"; >>>>>> +}; >>>>>> + >>>>>> +®_rtc_ldo { >>>>>> + regulator-name = "vcc-rtc"; >>>>>> +}; >>>>>> + >>>>>> &uart0 { >>>>>> pinctrl-names = "default"; >>>>>> pinctrl-0 = <&uart0_pins_a>; >>>>>> -- >>>>>> 2.13.0 >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the >Google >>>>> >>>>> Groups "linux-sunxi" group. >>>>>> >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>> >>>>> send an email to linux-sunxi+unsubscribe@googlegroups.com. >>>>>> >>>>>> For more options, visit https://groups.google.com/d/optout. >>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >Groups >>>> "linux-sunxi" group. >>>> To unsubscribe from this group and stop receiving emails from it, >send an >>>> email to linux-sunxi+unsubscribe@googlegroups.com. >>>> For more options, visit https://groups.google.com/d/optout. >>> >>> >>> _______________________________________________ >>> linux-arm-kernel mailing list >>> linux-arm-kernel@lists.infradead.org >>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel >> >> >> -- >> You received this message because you are subscribed to the Google >Groups >> "linux-sunxi" group. >> To unsubscribe from this group and stop receiving emails from it, >send an >> email to linux-sunxi+unsubscribe@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. > >_______________________________________________ >linux-arm-kernel mailing list >linux-arm-kernel@lists.infradead.org >http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts index 829922d077fb..51d67c0a0edf 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts @@ -58,13 +58,6 @@ chosen { stdout-path = "serial0:115200n8"; }; - - reg_vcc3v3: vcc3v3 { - compatible = "regulator-fixed"; - regulator-name = "vcc3v3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - }; }; &ehci1 { @@ -76,6 +69,7 @@ pinctrl-0 = <&rgmii_pins>; phy-mode = "rgmii"; phy-handle = <&ext_rgmii_phy>; + phy-supply = <®_dc1sw>; status = "okay"; }; @@ -99,7 +93,7 @@ &mmc0 { pinctrl-names = "default"; pinctrl-0 = <&mmc0_pins>; - vmmc-supply = <®_vcc3v3>; + vmmc-supply = <®_dcdc1>; cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; cd-inverted; disable-wp; @@ -110,7 +104,8 @@ &mmc1 { pinctrl-names = "default"; pinctrl-0 = <&mmc1_pins>; - vmmc-supply = <®_vcc3v3>; + vmmc-supply = <®_dldo2>; + vqmmc-supply = <®_dldo4>; bus-width = <4>; non-removable; status = "okay"; @@ -119,7 +114,7 @@ &mmc2 { pinctrl-names = "default"; pinctrl-0 = <&mmc2_pins>; - vmmc-supply = <®_vcc3v3>; + vmmc-supply = <®_dcdc1>; bus-width = <8>; non-removable; cap-mmc-hw-reset; @@ -130,6 +125,107 @@ status = "okay"; }; +&r_rsb { + status = "okay"; + + axp803: pmic@3a3 { + compatible = "x-powers,axp803"; + reg = <0x3a3>; + interrupt-parent = <&r_intc>; + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; + }; +}; + +#include "axp803.dtsi" + +®_aldo2 { + regulator-always-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc-pl"; +}; + +®_aldo3 { + regulator-always-on; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + regulator-name = "vcc-pll-avcc"; +}; + +®_dc1sw { + regulator-name = "vcc-phy"; +}; + +®_dcdc1 { + regulator-always-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc-3v3"; +}; + +®_dcdc2 { + regulator-always-on; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1300000>; + regulator-name = "vdd-cpux"; +}; + +/* DCDC3 is polyphased with DCDC2 */ + +®_dcdc5 { + regulator-always-on; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <1500000>; + regulator-name = "vcc-dram"; +}; + +®_dcdc6 { + regulator-always-on; + regulator-min-microvolt = <1100000>; + regulator-max-microvolt = <1100000>; + regulator-name = "vdd-sys"; +}; + +®_dldo1 { + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc-hdmi-dsi"; +}; + +®_dldo2 { + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc-wifi"; +}; + +®_dldo4 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc-wifi-io"; +}; + +®_eldo1 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-name = "cpvdd"; +}; + +/* + * The A64 chip cannot work without this regulator off, although + * it seems to be only driving the AR100 core. + * Maybe we don't still know well about CPUs domain. + */ +®_fldo2 { + regulator-always-on; + regulator-min-microvolt = <1100000>; + regulator-max-microvolt = <1100000>; + regulator-name = "vdd-cpus"; +}; + +®_rtc_ldo { + regulator-name = "vcc-rtc"; +}; + &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_pins_a>;
Banana Pi M64 board uses an AXP803 PMIC. Enable the PMIC and its regulators. As we have now proper regulators support, missing or dummy regulators are changed to the correct ones. Signed-off-by: Icenowy Zheng <icenowy@aosc.io> --- .../boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 116 +++++++++++++++++++-- 1 file changed, 106 insertions(+), 10 deletions(-)