[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGb2v67Ntz_Qr0ek5sb-RRPnb0W-vEjx4_XC+SzHJDcr7ZLrkg@mail.gmail.com>
Date: Fri, 21 Jul 2017 15:42:07 +0800
From: Chen-Yu Tsai <wens@...e.org>
To: Icenowy Zheng <icenowy@...c.io>
Cc: Maxime Ripard <maxime.ripard@...e-electrons.com>,
Chen-Yu Tsai <wens@...e.org>,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>,
devicetree <devicetree@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
linux-sunxi <linux-sunxi@...glegroups.com>
Subject: Re: [linux-sunxi] [PATCH 2/3] arm64: allwinner: a64: enable AXP803
for Banana Pi M64
On Fri, Jul 21, 2017 at 7:07 AM, Icenowy Zheng <icenowy@...c.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@...c.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 = <®_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.
> + 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?
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@...glegroups.com.
> For more options, visit https://groups.google.com/d/optout.
Powered by blists - more mailing lists