From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755404AbdGWPj7 convert rfc822-to-8bit (ORCPT ); Sun, 23 Jul 2017 11:39:59 -0400 Received: from hermes.aosc.io ([199.195.250.187]:38905 "EHLO hermes.aosc.io" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755365AbdGWPj6 (ORCPT ); Sun, 23 Jul 2017 11:39:58 -0400 Date: Sun, 23 Jul 2017 23:39:30 +0800 In-Reply-To: References: <20170720230717.58255-1-icenowy@aosc.io> <20170720230717.58255-2-icenowy@aosc.io> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT Subject: Re: [linux-sunxi] [PATCH 2/3] arm64: allwinner: a64: enable AXP803 for Banana Pi M64 To: linux-arm-kernel@lists.infradead.org, Chen-Yu Tsai CC: devicetree , linux-sunxi , linux-kernel , Maxime Ripard , linux-arm-kernel From: Icenowy Zheng Message-ID: <34EF10AB-D039-40F6-915D-3994A2BD53CB@aosc.io> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 于 2017年7月23日 GMT+08:00 下午11:15:04, Chen-Yu Tsai 写到: >On Fri, Jul 21, 2017 at 7:38 PM, wrote: >> 在 2017-07-21 15:49,Chen-Yu Tsai 写道: >>> >>> On Fri, Jul 21, 2017 at 3:44 PM, Icenowy Zheng >wrote: >>>> >>>> >>>> >>>> 于 2017年7月21日 GMT+08:00 下午3:42:07, Chen-Yu Tsai 写到: >>>>> >>>>> On Fri, Jul 21, 2017 at 7:07 AM, Icenowy Zheng >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 >>>>>> --- >>>>>> .../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