linux-kernel.vger.kernel.org archive mirror
 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>,
	Maxime Ripard <maxime.ripard@free-electrons.com>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	devicetree <devicetree@vger.kernel.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	linux-sunxi <linux-sunxi@googlegroups.com>
Subject: Re: [linux-sunxi] [PATCH 2/3] arm64: allwinner: a64: enable AXP803 for Banana Pi M64
Date: Fri, 21 Jul 2017 15:49:55 +0800	[thread overview]
Message-ID: <CAGb2v67EGOacZRktqh6SrO1B5jCt8w41EU11U+PUG6sbXFoDww@mail.gmail.com> (raw)
In-Reply-To: <DA3547F4-D0C7-46A9-8C7F-3F1AD7CBCB11@aosc.io>

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.

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.

  reply	other threads:[~2017-07-21  7:50 UTC|newest]

Thread overview: 10+ 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 ` [PATCH 2/3] arm64: allwinner: a64: enable AXP803 for Banana Pi M64 Icenowy Zheng
2017-07-21  7:42   ` [linux-sunxi] " Chen-Yu Tsai
2017-07-21  7:44     ` Icenowy Zheng
2017-07-21  7:49       ` Chen-Yu Tsai [this message]
2017-07-21 11:38         ` icenowy
2017-07-23 15:15           ` Chen-Yu Tsai
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-21  7:34 ` [linux-sunxi] [PATCH 1/3] arm64: allwinner: a64: enable USB host controller for " 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=CAGb2v67EGOacZRktqh6SrO1B5jCt8w41EU11U+PUG6sbXFoDww@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).