All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chen-Yu Tsai <wens@csie.org>
To: Icenowy Zheng <icenowy@aosc.io>
Cc: Chen-Yu Tsai <wens@csie.org>,
	devicetree <devicetree@vger.kernel.org>,
	linux-sunxi <linux-sunxi@googlegroups.com>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Maxime Ripard <maxime.ripard@free-electrons.com>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>
Subject: Re: [linux-sunxi] [PATCH 2/3] arm64: allwinner: a64: enable AXP803 for Banana Pi M64
Date: Sun, 23 Jul 2017 23:15:04 +0800	[thread overview]
Message-ID: <CAGb2v67OjvoSxxGnGbD4mkVaE8sy0cWK-2y7_t-=UoPgOox8bg@mail.gmail.com> (raw)
In-Reply-To: <a64c561e8b4acef7e7fb07561b3b8e78@aosc.io>

On Fri, Jul 21, 2017 at 7:38 PM,  <icenowy@aosc.io> wrote:
> 在 2017-07-21 15:49,Chen-Yu Tsai 写道:
>>
>> On Fri, Jul 21, 2017 at 3:44 PM, Icenowy Zheng <icenowy@aosc.io> wrote:
>>>
>>>
>>>
>>> 于 2017年7月21日 GMT+08:00 下午3:42:07, Chen-Yu Tsai <wens@csie.org> 写到:
>>>>
>>>> On Fri, Jul 21, 2017 at 7:07 AM, Icenowy Zheng <icenowy@aosc.io> 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@aosc.io>
>>>>> ---
>>>>>  .../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 = <&reg_dc1sw>;
>>>>>         status = "okay";
>>>>>  };
>>>>>
>>>>> @@ -99,7 +93,7 @@
>>>>>  &mmc0 {
>>>>>         pinctrl-names = "default";
>>>>>         pinctrl-0 = <&mmc0_pins>;
>>>>> -       vmmc-supply = <&reg_vcc3v3>;
>>>>> +       vmmc-supply = <&reg_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 = <&reg_vcc3v3>;
>>>>> +       vmmc-supply = <&reg_dldo2>;
>>>>> +       vqmmc-supply = <&reg_dldo4>;
>>>>>         bus-width = <4>;
>>>>>         non-removable;
>>>>>         status = "okay";
>>>>> @@ -119,7 +114,7 @@
>>>>>  &mmc2 {
>>>>>         pinctrl-names = "default";
>>>>>         pinctrl-0 = <&mmc2_pins>;
>>>>> -       vmmc-supply = <&reg_vcc3v3>;
>>>>> +       vmmc-supply = <&reg_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"
>>>>> +
>>>>> +&reg_aldo2 {
>>>>> +       regulator-always-on;
>>>>> +       regulator-min-microvolt = <1800000>;
>>>>> +       regulator-max-microvolt = <3300000>;
>>>>> +       regulator-name = "vcc-pl";
>>>>> +};
>>>>> +
>>>>> +&reg_aldo3 {
>>>>> +       regulator-always-on;
>>>>> +       regulator-min-microvolt = <3000000>;
>>>>> +       regulator-max-microvolt = <3000000>;
>>>>> +       regulator-name = "vcc-pll-avcc";
>>>>> +};
>>>>> +
>>>>> +&reg_dc1sw {
>>>>> +       regulator-name = "vcc-phy";
>>>>> +};
>>>>> +
>>>>> +&reg_dcdc1 {
>>>>> +       regulator-always-on;
>>>>> +       regulator-min-microvolt = <3300000>;
>>>>> +       regulator-max-microvolt = <3300000>;
>>>>> +       regulator-name = "vcc-3v3";
>>>>> +};
>>>>> +
>>>>> +&reg_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 */
>>>>> +
>>>>> +&reg_dcdc5 {
>>>>> +       regulator-always-on;
>>>>> +       regulator-min-microvolt = <1500000>;
>>>>> +       regulator-max-microvolt = <1500000>;
>>>>> +       regulator-name = "vcc-dram";
>>>>> +};
>>>>> +
>>>>> +&reg_dcdc6 {
>>>>> +       regulator-always-on;
>>>>> +       regulator-min-microvolt = <1100000>;
>>>>> +       regulator-max-microvolt = <1100000>;
>>>>> +       regulator-name = "vdd-sys";
>>>>> +};
>>>>> +
>>>>> +&reg_dldo1 {
>>>>> +       regulator-min-microvolt = <3300000>;
>>>>> +       regulator-max-microvolt = <3300000>;
>>>>> +       regulator-name = "vcc-hdmi-dsi";
>>>>> +};
>>>>> +
>>>>> +&reg_dldo2 {
>>>>> +       regulator-min-microvolt = <3300000>;
>>>>> +       regulator-max-microvolt = <3300000>;
>>>>> +       regulator-name = "vcc-wifi";
>>>>> +};
>>>>> +
>>>>> +&reg_dldo4 {
>>>>> +       regulator-min-microvolt = <1800000>;
>>>>> +       regulator-max-microvolt = <3300000>;
>>>>> +       regulator-name = "vcc-wifi-io";
>>>>> +};
>>>>> +
>>>>> +&reg_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.
>>>>> + */
>>>>> +&reg_fldo2 {
>>>>> +       regulator-always-on;
>>>>> +       regulator-min-microvolt = <1100000>;
>>>>> +       regulator-max-microvolt = <1100000>;
>>>>> +       regulator-name = "vdd-cpus";
>>>>> +};
>>>>> +
>>>>> +&reg_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.

WARNING: multiple messages have this Message-ID (diff)
From: Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>
To: Icenowy Zheng <icenowy-h8G6r0blFSE@public.gmane.org>
Cc: Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>,
	devicetree <devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	linux-sunxi <linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>,
	linux-kernel
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Maxime Ripard
	<maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	linux-arm-kernel
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>
Subject: Re: [PATCH 2/3] arm64: allwinner: a64: enable AXP803 for Banana Pi M64
Date: Sun, 23 Jul 2017 23:15:04 +0800	[thread overview]
Message-ID: <CAGb2v67OjvoSxxGnGbD4mkVaE8sy0cWK-2y7_t-=UoPgOox8bg@mail.gmail.com> (raw)
In-Reply-To: <a64c561e8b4acef7e7fb07561b3b8e78-h8G6r0blFSE@public.gmane.org>

On Fri, Jul 21, 2017 at 7:38 PM,  <icenowy-h8G6r0blFSE@public.gmane.org> wrote:
> 在 2017-07-21 15:49,Chen-Yu Tsai 写道:
>>
>> On Fri, Jul 21, 2017 at 3:44 PM, Icenowy Zheng <icenowy-h8G6r0blFSE@public.gmane.org> wrote:
>>>
>>>
>>>
>>> 于 2017年7月21日 GMT+08:00 下午3:42:07, Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org> 写到:
>>>>
>>>> On Fri, Jul 21, 2017 at 7:07 AM, Icenowy Zheng <icenowy-h8G6r0blFSE@public.gmane.org> 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-h8G6r0blFSE@public.gmane.org>
>>>>> ---
>>>>>  .../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 = <&reg_dc1sw>;
>>>>>         status = "okay";
>>>>>  };
>>>>>
>>>>> @@ -99,7 +93,7 @@
>>>>>  &mmc0 {
>>>>>         pinctrl-names = "default";
>>>>>         pinctrl-0 = <&mmc0_pins>;
>>>>> -       vmmc-supply = <&reg_vcc3v3>;
>>>>> +       vmmc-supply = <&reg_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 = <&reg_vcc3v3>;
>>>>> +       vmmc-supply = <&reg_dldo2>;
>>>>> +       vqmmc-supply = <&reg_dldo4>;
>>>>>         bus-width = <4>;
>>>>>         non-removable;
>>>>>         status = "okay";
>>>>> @@ -119,7 +114,7 @@
>>>>>  &mmc2 {
>>>>>         pinctrl-names = "default";
>>>>>         pinctrl-0 = <&mmc2_pins>;
>>>>> -       vmmc-supply = <&reg_vcc3v3>;
>>>>> +       vmmc-supply = <&reg_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"
>>>>> +
>>>>> +&reg_aldo2 {
>>>>> +       regulator-always-on;
>>>>> +       regulator-min-microvolt = <1800000>;
>>>>> +       regulator-max-microvolt = <3300000>;
>>>>> +       regulator-name = "vcc-pl";
>>>>> +};
>>>>> +
>>>>> +&reg_aldo3 {
>>>>> +       regulator-always-on;
>>>>> +       regulator-min-microvolt = <3000000>;
>>>>> +       regulator-max-microvolt = <3000000>;
>>>>> +       regulator-name = "vcc-pll-avcc";
>>>>> +};
>>>>> +
>>>>> +&reg_dc1sw {
>>>>> +       regulator-name = "vcc-phy";
>>>>> +};
>>>>> +
>>>>> +&reg_dcdc1 {
>>>>> +       regulator-always-on;
>>>>> +       regulator-min-microvolt = <3300000>;
>>>>> +       regulator-max-microvolt = <3300000>;
>>>>> +       regulator-name = "vcc-3v3";
>>>>> +};
>>>>> +
>>>>> +&reg_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 */
>>>>> +
>>>>> +&reg_dcdc5 {
>>>>> +       regulator-always-on;
>>>>> +       regulator-min-microvolt = <1500000>;
>>>>> +       regulator-max-microvolt = <1500000>;
>>>>> +       regulator-name = "vcc-dram";
>>>>> +};
>>>>> +
>>>>> +&reg_dcdc6 {
>>>>> +       regulator-always-on;
>>>>> +       regulator-min-microvolt = <1100000>;
>>>>> +       regulator-max-microvolt = <1100000>;
>>>>> +       regulator-name = "vdd-sys";
>>>>> +};
>>>>> +
>>>>> +&reg_dldo1 {
>>>>> +       regulator-min-microvolt = <3300000>;
>>>>> +       regulator-max-microvolt = <3300000>;
>>>>> +       regulator-name = "vcc-hdmi-dsi";
>>>>> +};
>>>>> +
>>>>> +&reg_dldo2 {
>>>>> +       regulator-min-microvolt = <3300000>;
>>>>> +       regulator-max-microvolt = <3300000>;
>>>>> +       regulator-name = "vcc-wifi";
>>>>> +};
>>>>> +
>>>>> +&reg_dldo4 {
>>>>> +       regulator-min-microvolt = <1800000>;
>>>>> +       regulator-max-microvolt = <3300000>;
>>>>> +       regulator-name = "vcc-wifi-io";
>>>>> +};
>>>>> +
>>>>> +&reg_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.
>>>>> + */
>>>>> +&reg_fldo2 {
>>>>> +       regulator-always-on;
>>>>> +       regulator-min-microvolt = <1100000>;
>>>>> +       regulator-max-microvolt = <1100000>;
>>>>> +       regulator-name = "vdd-cpus";
>>>>> +};
>>>>> +
>>>>> +&reg_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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
>>>>>
>>>>> 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
>>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
> 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit https://groups.google.com/d/optout.

WARNING: multiple messages have this Message-ID (diff)
From: wens@csie.org (Chen-Yu Tsai)
To: linux-arm-kernel@lists.infradead.org
Subject: [linux-sunxi] [PATCH 2/3] arm64: allwinner: a64: enable AXP803 for Banana Pi M64
Date: Sun, 23 Jul 2017 23:15:04 +0800	[thread overview]
Message-ID: <CAGb2v67OjvoSxxGnGbD4mkVaE8sy0cWK-2y7_t-=UoPgOox8bg@mail.gmail.com> (raw)
In-Reply-To: <a64c561e8b4acef7e7fb07561b3b8e78@aosc.io>

On Fri, Jul 21, 2017 at 7:38 PM,  <icenowy@aosc.io> wrote:
> ? 2017-07-21 15:49?Chen-Yu Tsai ???
>>
>> On Fri, Jul 21, 2017 at 3:44 PM, Icenowy Zheng <icenowy@aosc.io> wrote:
>>>
>>>
>>>
>>> ? 2017?7?21? GMT+08:00 ??3:42:07, Chen-Yu Tsai <wens@csie.org> ??:
>>>>
>>>> On Fri, Jul 21, 2017 at 7:07 AM, Icenowy Zheng <icenowy@aosc.io> 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@aosc.io>
>>>>> ---
>>>>>  .../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 = <&reg_dc1sw>;
>>>>>         status = "okay";
>>>>>  };
>>>>>
>>>>> @@ -99,7 +93,7 @@
>>>>>  &mmc0 {
>>>>>         pinctrl-names = "default";
>>>>>         pinctrl-0 = <&mmc0_pins>;
>>>>> -       vmmc-supply = <&reg_vcc3v3>;
>>>>> +       vmmc-supply = <&reg_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 = <&reg_vcc3v3>;
>>>>> +       vmmc-supply = <&reg_dldo2>;
>>>>> +       vqmmc-supply = <&reg_dldo4>;
>>>>>         bus-width = <4>;
>>>>>         non-removable;
>>>>>         status = "okay";
>>>>> @@ -119,7 +114,7 @@
>>>>>  &mmc2 {
>>>>>         pinctrl-names = "default";
>>>>>         pinctrl-0 = <&mmc2_pins>;
>>>>> -       vmmc-supply = <&reg_vcc3v3>;
>>>>> +       vmmc-supply = <&reg_dcdc1>;
>>>>>         bus-width = <8>;
>>>>>         non-removable;
>>>>>         cap-mmc-hw-reset;
>>>>> @@ -130,6 +125,107 @@
>>>>>         status = "okay";
>>>>>  };
>>>>>
>>>>> +&r_rsb {
>>>>> +       status = "okay";
>>>>> +
>>>>> +       axp803: pmic at 3a3 {
>>>>> +               compatible = "x-powers,axp803";
>>>>> +               reg = <0x3a3>;
>>>>> +               interrupt-parent = <&r_intc>;
>>>>> +               interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
>>>>> +       };
>>>>> +};
>>>>> +
>>>>> +#include "axp803.dtsi"
>>>>> +
>>>>> +&reg_aldo2 {
>>>>> +       regulator-always-on;
>>>>> +       regulator-min-microvolt = <1800000>;
>>>>> +       regulator-max-microvolt = <3300000>;
>>>>> +       regulator-name = "vcc-pl";
>>>>> +};
>>>>> +
>>>>> +&reg_aldo3 {
>>>>> +       regulator-always-on;
>>>>> +       regulator-min-microvolt = <3000000>;
>>>>> +       regulator-max-microvolt = <3000000>;
>>>>> +       regulator-name = "vcc-pll-avcc";
>>>>> +};
>>>>> +
>>>>> +&reg_dc1sw {
>>>>> +       regulator-name = "vcc-phy";
>>>>> +};
>>>>> +
>>>>> +&reg_dcdc1 {
>>>>> +       regulator-always-on;
>>>>> +       regulator-min-microvolt = <3300000>;
>>>>> +       regulator-max-microvolt = <3300000>;
>>>>> +       regulator-name = "vcc-3v3";
>>>>> +};
>>>>> +
>>>>> +&reg_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 */
>>>>> +
>>>>> +&reg_dcdc5 {
>>>>> +       regulator-always-on;
>>>>> +       regulator-min-microvolt = <1500000>;
>>>>> +       regulator-max-microvolt = <1500000>;
>>>>> +       regulator-name = "vcc-dram";
>>>>> +};
>>>>> +
>>>>> +&reg_dcdc6 {
>>>>> +       regulator-always-on;
>>>>> +       regulator-min-microvolt = <1100000>;
>>>>> +       regulator-max-microvolt = <1100000>;
>>>>> +       regulator-name = "vdd-sys";
>>>>> +};
>>>>> +
>>>>> +&reg_dldo1 {
>>>>> +       regulator-min-microvolt = <3300000>;
>>>>> +       regulator-max-microvolt = <3300000>;
>>>>> +       regulator-name = "vcc-hdmi-dsi";
>>>>> +};
>>>>> +
>>>>> +&reg_dldo2 {
>>>>> +       regulator-min-microvolt = <3300000>;
>>>>> +       regulator-max-microvolt = <3300000>;
>>>>> +       regulator-name = "vcc-wifi";
>>>>> +};
>>>>> +
>>>>> +&reg_dldo4 {
>>>>> +       regulator-min-microvolt = <1800000>;
>>>>> +       regulator-max-microvolt = <3300000>;
>>>>> +       regulator-name = "vcc-wifi-io";
>>>>> +};
>>>>> +
>>>>> +&reg_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.
>>>>> + */
>>>>> +&reg_fldo2 {
>>>>> +       regulator-always-on;
>>>>> +       regulator-min-microvolt = <1100000>;
>>>>> +       regulator-max-microvolt = <1100000>;
>>>>> +       regulator-name = "vdd-cpus";
>>>>> +};
>>>>> +
>>>>> +&reg_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 at 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 at googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel at 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 at googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

  reply	other threads:[~2017-07-23 15:15 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-20 23:07 [PATCH 1/3] arm64: allwinner: a64: enable USB host controller for BPi M64 Icenowy Zheng
2017-07-20 23:07 ` Icenowy Zheng
2017-07-20 23:07 ` Icenowy Zheng
2017-07-20 23:07 ` [PATCH 2/3] arm64: allwinner: a64: enable AXP803 for Banana Pi M64 Icenowy Zheng
2017-07-20 23:07   ` Icenowy Zheng
2017-07-20 23:07   ` Icenowy Zheng
2017-07-21  7:42   ` [linux-sunxi] " Chen-Yu Tsai
2017-07-21  7:42     ` Chen-Yu Tsai
2017-07-21  7:42     ` Chen-Yu Tsai
2017-07-21  7:44     ` Icenowy Zheng
2017-07-21  7:44       ` Icenowy Zheng
2017-07-21  7:44       ` Icenowy Zheng
2017-07-21  7:49       ` [linux-sunxi] " Chen-Yu Tsai
2017-07-21  7:49         ` Chen-Yu Tsai
2017-07-21  7:49         ` Chen-Yu Tsai
2017-07-21 11:38         ` [linux-sunxi] " icenowy
2017-07-21 11:38           ` icenowy at aosc.io
2017-07-23 15:15           ` Chen-Yu Tsai [this message]
2017-07-23 15:15             ` Chen-Yu Tsai
2017-07-23 15:15             ` Chen-Yu Tsai
2017-07-23 15:39             ` [linux-sunxi] " Icenowy Zheng
2017-07-23 15:39               ` Icenowy Zheng
2017-07-23 15:39               ` Icenowy Zheng
2017-07-20 23:07 ` [PATCH 3/3] arm64: allwinner: a64: add proper support for the Wi-Fi on BPi M64 Icenowy Zheng
2017-07-20 23:07   ` Icenowy Zheng
2017-07-20 23:07   ` Icenowy Zheng
2017-07-21  7:34 ` [linux-sunxi] [PATCH 1/3] arm64: allwinner: a64: enable USB host controller for " Chen-Yu Tsai
2017-07-21  7:34   ` Chen-Yu Tsai
2017-07-21  7:34   ` Chen-Yu Tsai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAGb2v67OjvoSxxGnGbD4mkVaE8sy0cWK-2y7_t-=UoPgOox8bg@mail.gmail.com' \
    --to=wens@csie.org \
    --cc=devicetree@vger.kernel.org \
    --cc=icenowy@aosc.io \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@googlegroups.com \
    --cc=maxime.ripard@free-electrons.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.