From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754056AbdGULis (ORCPT ); Fri, 21 Jul 2017 07:38:48 -0400 Received: from hermes.aosc.io ([199.195.250.187]:51117 "EHLO hermes.aosc.io" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750818AbdGULip (ORCPT ); Fri, 21 Jul 2017 07:38:45 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Date: Fri, 21 Jul 2017 19:38:42 +0800 From: icenowy@aosc.io To: Chen-Yu Tsai Cc: devicetree , linux-sunxi , linux-kernel , Maxime Ripard , linux-arm-kernel Subject: Re: [linux-sunxi] [PATCH 2/3] arm64: allwinner: a64: enable AXP803 for Banana Pi M64 In-Reply-To: References: <20170720230717.58255-1-icenowy@aosc.io> <20170720230717.58255-2-icenowy@aosc.io> Message-ID: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 在 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) > > 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