On Fri, Jul 21, 2017 at 7:38 PM, <icenowy@xxxxxxx> wrote: > 在 2017-07-21 15:49,Chen-Yu Tsai 写道: >> >> 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. > > > 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@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. >> >> >> _______________________________________________ >> linux-arm-kernel mailing list >> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx >> 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@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