于 2017年7月21日 GMT+08:00 下午3:42:07, Chen-Yu Tsai <wens@xxxxxxxx> 写到: >On Fri, Jul 21, 2017 at 7:07 AM, Icenowy Zheng <icenowy@xxxxxxx> 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@xxxxxxx> >> --- >> .../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@xxxxxxxxxxxxxxxx. >> For more options, visit https://groups.google.com/d/optout. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html