On Fri, Jul 21, 2017 at 3:44 PM, Icenowy Zheng <icenowy@xxxxxxx> wrote: > > > 于 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? 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@xxxxxxxxxxxxxxxx. >>> 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@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