devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] arm64: dts: allwinner: a64: olinuxino: Fix eMMC supply regulator
       [not found] <20191129091336.13104-1-stefan@olimex.com>
@ 2019-11-29  9:13 ` Stefan Mavrodiev
  2019-11-29  9:26   ` [linux-sunxi] " Chen-Yu Tsai
  2019-11-29  9:13 ` [PATCH 2/3] arm64: dts: allwinner: a64: olinuxino: Add bank supply regulators Stefan Mavrodiev
  2019-11-29  9:13 ` [PATCH 3/3] arm64: dts: allwinner: a64: olinuxino: Fix SDIO supply regulator Stefan Mavrodiev
  2 siblings, 1 reply; 5+ messages in thread
From: Stefan Mavrodiev @ 2019-11-29  9:13 UTC (permalink / raw)
  To: Maxime Ripard, Chen-Yu Tsai, Rob Herring, Mark Rutland,
	moderated list:ARM/Allwinner sunXi SoC support,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list
  Cc: linux-sunxi, Stefan Mavrodiev

A64-OLinuXino-eMMC uses 1.8V for eMMC supply. This is done via a triple
jumper, which sets VCC-PL to either 1.8V or 3.3V. This setting is different
for boards with and without eMMC.

This is not a big issue for DDR52 mode, however the eMMC will not work in
HS200/HS400, since these modes explicitly requires 1.8V.

Signed-off-by: Stefan Mavrodiev <stefan@olimex.com>
---
 arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts
index 96ab0227e82d..7d135decbd53 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts
@@ -14,8 +14,8 @@
 &mmc2 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc2_pins>;
-	vmmc-supply = <&reg_dcdc1>;
-	vqmmc-supply = <&reg_dcdc1>;
+	vmmc-supply = <&reg_eldo1>;
+	vqmmc-supply = <&reg_eldo1>;
 	bus-width = <8>;
 	non-removable;
 	cap-mmc-hw-reset;
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/3] arm64: dts: allwinner: a64: olinuxino: Add bank supply regulators
       [not found] <20191129091336.13104-1-stefan@olimex.com>
  2019-11-29  9:13 ` [PATCH 1/3] arm64: dts: allwinner: a64: olinuxino: Fix eMMC supply regulator Stefan Mavrodiev
@ 2019-11-29  9:13 ` Stefan Mavrodiev
  2019-11-29  9:13 ` [PATCH 3/3] arm64: dts: allwinner: a64: olinuxino: Fix SDIO supply regulator Stefan Mavrodiev
  2 siblings, 0 replies; 5+ messages in thread
From: Stefan Mavrodiev @ 2019-11-29  9:13 UTC (permalink / raw)
  To: Maxime Ripard, Chen-Yu Tsai, Rob Herring, Mark Rutland,
	moderated list:ARM/Allwinner sunXi SoC support,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list
  Cc: linux-sunxi, Stefan Mavrodiev

Allwinner A64 SoC has separate supplies for PC, PD, PE, PG and PL. This
patch adds regulators for them to the pinctrl node.

Exception is PL which is used by the RSB bus. To avoid circular
dependencies, VCC-PL is omitted.

On boards with eMMC, VCC-PC is supplied by ELDO1, instead of DCDC1.

Signed-off-by: Stefan Mavrodiev <stefan@olimex.com>
---
 .../dts/allwinner/sun50i-a64-olinuxino-emmc.dts  |  4 ++++
 .../boot/dts/allwinner/sun50i-a64-olinuxino.dts  | 16 ++++++++++++++++
 2 files changed, 20 insertions(+)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts
index 7d135decbd53..75f101d9cd3e 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts
@@ -21,3 +21,7 @@
 	cap-mmc-hw-reset;
 	status = "okay";
 };
+
+&pio {
+	vcc-pc-supply = <&reg_eldo1>;
+};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
index 01a9a52edae4..ad3559c576dd 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
@@ -163,6 +163,22 @@
 	status = "okay";
 };
 
+&pio {
+	vcc-pc-supply = <&reg_dcdc1>;
+	vcc-pd-supply = <&reg_dcdc1>;
+	vcc-pe-supply = <&reg_aldo1>;
+	vcc-pg-supply = <&reg_dldo4>;
+};
+
+&r_pio {
+	/**
+	 * Do not add vcc-pl-supply, since PL0 and PL1 are used
+	 * by the RSB bus.
+	 *
+	 * vcc-pl-supply = <&reg_aldo2>;
+	 */
+};
+
 &r_rsb {
 	status = "okay";
 
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3/3] arm64: dts: allwinner: a64: olinuxino: Fix SDIO supply regulator
       [not found] <20191129091336.13104-1-stefan@olimex.com>
  2019-11-29  9:13 ` [PATCH 1/3] arm64: dts: allwinner: a64: olinuxino: Fix eMMC supply regulator Stefan Mavrodiev
  2019-11-29  9:13 ` [PATCH 2/3] arm64: dts: allwinner: a64: olinuxino: Add bank supply regulators Stefan Mavrodiev
@ 2019-11-29  9:13 ` Stefan Mavrodiev
  2 siblings, 0 replies; 5+ messages in thread
From: Stefan Mavrodiev @ 2019-11-29  9:13 UTC (permalink / raw)
  To: Maxime Ripard, Chen-Yu Tsai, Rob Herring, Mark Rutland,
	moderated list:ARM/Allwinner sunXi SoC support,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list
  Cc: linux-sunxi, Stefan Mavrodiev

A64-OLinuXino uses DCDC1 (VCC-IO) for MMC1 supply. In the dts
ALDO2 is set, which is VCC-PL. Since DCDC1 is always present, the boards
are working without a problem.

THis pacth sets the correct regulator.

Signed-off-by: Stefan Mavrodiev <stefan@olimex.com>
---
 arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
index ad3559c576dd..869bb146a9ff 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
@@ -140,7 +140,7 @@
 &mmc1 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc1_pins>;
-	vmmc-supply = <&reg_aldo2>;
+	vmmc-supply = <&reg_dcdc1>;
 	vqmmc-supply = <&reg_dldo4>;
 	mmc-pwrseq = <&wifi_pwrseq>;
 	bus-width = <4>;
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [linux-sunxi] [PATCH 1/3] arm64: dts: allwinner: a64: olinuxino: Fix eMMC supply regulator
  2019-11-29  9:13 ` [PATCH 1/3] arm64: dts: allwinner: a64: olinuxino: Fix eMMC supply regulator Stefan Mavrodiev
@ 2019-11-29  9:26   ` Chen-Yu Tsai
  2019-11-29  9:49     ` Stefan Mavrodiev
  0 siblings, 1 reply; 5+ messages in thread
From: Chen-Yu Tsai @ 2019-11-29  9:26 UTC (permalink / raw)
  To: Stefan Mavrodiev
  Cc: Maxime Ripard, Rob Herring, Mark Rutland,
	moderated list:ARM/Allwinner sunXi SoC support,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list, linux-sunxi

On Fri, Nov 29, 2019 at 5:14 PM Stefan Mavrodiev <stefan@olimex.com> wrote:
>
> A64-OLinuXino-eMMC uses 1.8V for eMMC supply. This is done via a triple
> jumper, which sets VCC-PL to either 1.8V or 3.3V. This setting is different
> for boards with and without eMMC.
>
> This is not a big issue for DDR52 mode, however the eMMC will not work in
> HS200/HS400, since these modes explicitly requires 1.8V.
>
> Signed-off-by: Stefan Mavrodiev <stefan@olimex.com>
> ---
>  arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts
> index 96ab0227e82d..7d135decbd53 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts
> @@ -14,8 +14,8 @@
>  &mmc2 {
>         pinctrl-names = "default";
>         pinctrl-0 = <&mmc2_pins>;
> -       vmmc-supply = <&reg_dcdc1>;
> -       vqmmc-supply = <&reg_dcdc1>;
> +       vmmc-supply = <&reg_eldo1>;

If I'm reading the schematics correctly, VCC on the eMMC is from 3.3V.
This corresponds to the vmmc-supply property. So you shouldn't change it.

> +       vqmmc-supply = <&reg_eldo1>;

vqmmc-supply is from the VCC-PC rail, which is the one you say is triple-
jumpered. So this change makes sense.

ChenYu

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [linux-sunxi] [PATCH 1/3] arm64: dts: allwinner: a64: olinuxino: Fix eMMC supply regulator
  2019-11-29  9:26   ` [linux-sunxi] " Chen-Yu Tsai
@ 2019-11-29  9:49     ` Stefan Mavrodiev
  0 siblings, 0 replies; 5+ messages in thread
From: Stefan Mavrodiev @ 2019-11-29  9:49 UTC (permalink / raw)
  To: wens, Stefan Mavrodiev
  Cc: Maxime Ripard, Rob Herring, Mark Rutland,
	moderated list:ARM/Allwinner sunXi SoC support,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list, linux-sunxi


On 11/29/19 11:26 AM, Chen-Yu Tsai wrote:
> On Fri, Nov 29, 2019 at 5:14 PM Stefan Mavrodiev <stefan@olimex.com> wrote:
>> A64-OLinuXino-eMMC uses 1.8V for eMMC supply. This is done via a triple
>> jumper, which sets VCC-PL to either 1.8V or 3.3V. This setting is different
>> for boards with and without eMMC.
>>
>> This is not a big issue for DDR52 mode, however the eMMC will not work in
>> HS200/HS400, since these modes explicitly requires 1.8V.
>>
>> Signed-off-by: Stefan Mavrodiev <stefan@olimex.com>
>> ---
>>   arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts
>> index 96ab0227e82d..7d135decbd53 100644
>> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts
>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts
>> @@ -14,8 +14,8 @@
>>   &mmc2 {
>>          pinctrl-names = "default";
>>          pinctrl-0 = <&mmc2_pins>;
>> -       vmmc-supply = <&reg_dcdc1>;
>> -       vqmmc-supply = <&reg_dcdc1>;
>> +       vmmc-supply = <&reg_eldo1>;
> If I'm reading the schematics correctly, VCC on the eMMC is from 3.3V.
> This corresponds to the vmmc-supply property. So you shouldn't change it.

My bad. Don't know how I've missed that.

Stefan

>
>> +       vqmmc-supply = <&reg_eldo1>;
> vqmmc-supply is from the VCC-PC rail, which is the one you say is triple-
> jumpered. So this change makes sense.
>
> ChenYu
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-11-29  9:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20191129091336.13104-1-stefan@olimex.com>
2019-11-29  9:13 ` [PATCH 1/3] arm64: dts: allwinner: a64: olinuxino: Fix eMMC supply regulator Stefan Mavrodiev
2019-11-29  9:26   ` [linux-sunxi] " Chen-Yu Tsai
2019-11-29  9:49     ` Stefan Mavrodiev
2019-11-29  9:13 ` [PATCH 2/3] arm64: dts: allwinner: a64: olinuxino: Add bank supply regulators Stefan Mavrodiev
2019-11-29  9:13 ` [PATCH 3/3] arm64: dts: allwinner: a64: olinuxino: Fix SDIO supply regulator Stefan Mavrodiev

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).