2020-01-16 23:24:06

by Emmanuel Vadot

[permalink] [raw]
Subject: [PATCH] arm64: dts: allwinner: a64: Add gpio bank supply for A64-Olinuxino

Add the regulators for each bank on this boards.

Signed-off-by: Emmanuel Vadot <[email protected]>
---
.../boot/dts/allwinner/sun50i-a64-olinuxino.dts | 15 +++++++++++++++
1 file changed, 15 insertions(+)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
index 01a9a52edae4..1a25abf6065c 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
@@ -163,6 +163,17 @@ &ohci1 {
status = "okay";
};

+&pio {
+ vcc-pa-supply = <&reg_dcdc1>;
+ vcc-pb-supply = <&reg_dcdc1>;
+ vcc-pc-supply = <&reg_dcdc1>;
+ vcc-pd-supply = <&reg_dcdc1>;
+ vcc-pe-supply = <&reg_aldo1>;
+ vcc-pf-supply = <&reg_dcdc1>;
+ vcc-pg-supply = <&reg_dldo4>;
+ vcc-ph-supply = <&reg_dcdc1>;
+};
+
&r_rsb {
status = "okay";

@@ -175,6 +186,10 @@ axp803: pmic@3a3 {
};
};

+&r_pio {
+ vcc-pl-supply = <&reg_aldo2>;
+};
+
#include "axp803.dtsi"

&ac_power_supply {
--
2.24.1


2020-01-17 04:04:26

by Chen-Yu Tsai

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: allwinner: a64: Add gpio bank supply for A64-Olinuxino

On Fri, Jan 17, 2020 at 3:47 AM Emmanuel Vadot <[email protected]> wrote:
>
> Add the regulators for each bank on this boards.
>
> Signed-off-by: Emmanuel Vadot <[email protected]>
> ---
> .../boot/dts/allwinner/sun50i-a64-olinuxino.dts | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
> index 01a9a52edae4..1a25abf6065c 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
> @@ -163,6 +163,17 @@ &ohci1 {
> status = "okay";
> };
>
> +&pio {
> + vcc-pa-supply = <&reg_dcdc1>;
> + vcc-pb-supply = <&reg_dcdc1>;
> + vcc-pc-supply = <&reg_dcdc1>;
> + vcc-pd-supply = <&reg_dcdc1>;
> + vcc-pe-supply = <&reg_aldo1>;
> + vcc-pf-supply = <&reg_dcdc1>;
> + vcc-pg-supply = <&reg_dldo4>;
> + vcc-ph-supply = <&reg_dcdc1>;
> +};
> +
> &r_rsb {
> status = "okay";
>
> @@ -175,6 +186,10 @@ axp803: pmic@3a3 {
> };
> };
>
> +&r_pio {
> + vcc-pl-supply = <&reg_aldo2>;

This is likely going to cause a circular dependency, because the RSB
interface that is used to talk to the PMIC is also on the PL pins.

(How does FreeBSD deal with this?)

Instead, just add a comment describing what is really used, and set
the regulator to always-on, which should already be the case.

ChenYu

> +};
> +
> #include "axp803.dtsi"
>
> &ac_power_supply {
> --
> 2.24.1
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

2020-01-18 14:35:27

by Emmanuel Vadot

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: allwinner: a64: Add gpio bank supply for A64-Olinuxino

On Fri, 17 Jan 2020 11:20:21 +0800
Chen-Yu Tsai <[email protected]> wrote:

> On Fri, Jan 17, 2020 at 3:47 AM Emmanuel Vadot <[email protected]> wrote:
> >
> > Add the regulators for each bank on this boards.
> >
> > Signed-off-by: Emmanuel Vadot <[email protected]>
> > ---
> > .../boot/dts/allwinner/sun50i-a64-olinuxino.dts | 15 +++++++++++++++
> > 1 file changed, 15 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
> > index 01a9a52edae4..1a25abf6065c 100644
> > --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
> > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
> > @@ -163,6 +163,17 @@ &ohci1 {
> > status = "okay";
> > };
> >
> > +&pio {
> > + vcc-pa-supply = <&reg_dcdc1>;
> > + vcc-pb-supply = <&reg_dcdc1>;
> > + vcc-pc-supply = <&reg_dcdc1>;
> > + vcc-pd-supply = <&reg_dcdc1>;
> > + vcc-pe-supply = <&reg_aldo1>;
> > + vcc-pf-supply = <&reg_dcdc1>;
> > + vcc-pg-supply = <&reg_dldo4>;
> > + vcc-ph-supply = <&reg_dcdc1>;
> > +};
> > +
> > &r_rsb {
> > status = "okay";
> >
> > @@ -175,6 +186,10 @@ axp803: pmic@3a3 {
> > };
> > };
> >
> > +&r_pio {
> > + vcc-pl-supply = <&reg_aldo2>;
>
> This is likely going to cause a circular dependency, because the RSB
> interface that is used to talk to the PMIC is also on the PL pins.

Indeed that cause a Linux kernel to not boot at all.

> (How does FreeBSD deal with this?)

We don't deal with vcc-X-supply until later in the boot, this is not
ideal but better than not dealing with them.

> Instead, just add a comment describing what is really used, and set
> the regulator to always-on, which should already be the case.

Ok will do,

Thanks.

> ChenYu
>
> > +};
> > +
> > #include "axp803.dtsi"
> >
> > &ac_power_supply {
> > --
> > 2.24.1
> >
> >
> > _______________________________________________
> > linux-arm-kernel mailing list
> > [email protected]
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
> _______________________________________________
> linux-arm-kernel mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel


--
Emmanuel Vadot <[email protected]> <[email protected]>