linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] ARM: dts: meson8b: add VDDEE / mali-supply
@ 2019-05-25 19:02 Martin Blumenstingl
  2019-05-25 19:02 ` [PATCH 1/4] ARM: dts: meson8b: add the PWM_D output pin Martin Blumenstingl
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Martin Blumenstingl @ 2019-05-25 19:02 UTC (permalink / raw)
  To: linux-amlogic, khilman
  Cc: linux-arm-kernel, linux-kernel, Martin Blumenstingl

EC-100 and Odroid-C1 use a "copy" of the VCCK regulator as "VDDEE"
regulator. VDDEE supplies the Mali GPU and various other bits within
the SoC.

The VDDEE regulator is not exclusive to the Mali GPU so it must not
change it's voltage. The GPU OPP table has a fixed voltage for all
frequencies of 1.10V. This matches with what u-boot sets on my EC-100
and Odroid-C1.

Dependencies:
- compile time: patch #4 depends on my other patch "ARM: meson8b-mxq:
  better support for the TRONFY MXQ" from [0]
- runtime: we don't want the kernel to change the output of the VDDEE
  regulator to the maximum value. Thus the PWM driver has to be able
  to read the PWM period and duty cycle from u-boot. This is supported
  with my series called "pwm-meson: cleanups and improvements" from [1]


[0] https://patchwork.kernel.org/patch/10960283/
[1] https://patchwork.kernel.org/cover/10961073/


Martin Blumenstingl (4):
  ARM: dts: meson8b: add the PWM_D output pin
  ARM: dts: meson8b: ec100: add the VDDEE regulator
  ARM: dts: meson8b: odroidc1: add the VDDEE regulator
  ARM: dts: meson8b: mxq: add the VDDEE regulator

 arch/arm/boot/dts/meson8b-ec100.dts    | 31 +++++++++++++++++++++++---
 arch/arm/boot/dts/meson8b-mxq.dts      | 26 ++++++++++++++++++---
 arch/arm/boot/dts/meson8b-odroidc1.dts | 27 +++++++++++++++++++---
 arch/arm/boot/dts/meson8b.dtsi         |  8 +++++++
 4 files changed, 83 insertions(+), 9 deletions(-)

-- 
2.21.0


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

* [PATCH 1/4] ARM: dts: meson8b: add the PWM_D output pin
  2019-05-25 19:02 [PATCH 0/4] ARM: dts: meson8b: add VDDEE / mali-supply Martin Blumenstingl
@ 2019-05-25 19:02 ` Martin Blumenstingl
  2019-05-25 19:02 ` [PATCH 2/4] ARM: dts: meson8b: ec100: add the VDDEE regulator Martin Blumenstingl
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Martin Blumenstingl @ 2019-05-25 19:02 UTC (permalink / raw)
  To: linux-amlogic, khilman
  Cc: linux-arm-kernel, linux-kernel, Martin Blumenstingl

The PWM_D output is used for the VDDEE PWM regulator which supplies for
example the Mali GPU on the EC-100 and Odroid-C1 boards. Add the output
pin the VDDEE regulators can be added.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
 arch/arm/boot/dts/meson8b.dtsi | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm/boot/dts/meson8b.dtsi b/arch/arm/boot/dts/meson8b.dtsi
index e4134c63a48c..1b0106fbb0ac 100644
--- a/arch/arm/boot/dts/meson8b.dtsi
+++ b/arch/arm/boot/dts/meson8b.dtsi
@@ -401,6 +401,14 @@
 			};
 		};
 
+		pwm_d_pins: pwm-d {
+			mux {
+				groups = "pwm_d";
+				function = "pwm_d";
+				bias-disable;
+			};
+		};
+
 		uart_b0_pins: uart-b0 {
 			mux {
 				groups = "uart_tx_b0",
-- 
2.21.0


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

* [PATCH 2/4] ARM: dts: meson8b: ec100: add the VDDEE regulator
  2019-05-25 19:02 [PATCH 0/4] ARM: dts: meson8b: add VDDEE / mali-supply Martin Blumenstingl
  2019-05-25 19:02 ` [PATCH 1/4] ARM: dts: meson8b: add the PWM_D output pin Martin Blumenstingl
@ 2019-05-25 19:02 ` Martin Blumenstingl
  2019-05-25 19:02 ` [PATCH 3/4] ARM: dts: meson8b: odroidc1: " Martin Blumenstingl
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Martin Blumenstingl @ 2019-05-25 19:02 UTC (permalink / raw)
  To: linux-amlogic, khilman
  Cc: linux-arm-kernel, linux-kernel, Martin Blumenstingl

The VDDEE regulator is basically a copy of the VCCK regulator. VDDEE
supplies for example the Mali GPU and is controlled by PWM_D instead of
PWM_C.

Add the VDDEE PWM regulator and make it the supply of the Mali GPU.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
 arch/arm/boot/dts/meson8b-ec100.dts | 31 ++++++++++++++++++++++++++---
 1 file changed, 28 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/meson8b-ec100.dts b/arch/arm/boot/dts/meson8b-ec100.dts
index 9bf4249cb60d..61a1265064dc 100644
--- a/arch/arm/boot/dts/meson8b-ec100.dts
+++ b/arch/arm/boot/dts/meson8b-ec100.dts
@@ -219,6 +219,27 @@
 		 */
 		vin-supply = <&vcc_3v3>;
 	};
+
+	vddee: regulator-vddee {
+		/*
+		 * Silergy SY8089AAC-GP 2A continuous, 3A peak, 1MHz
+		 * Synchronous Step Down Regulator. Also called VDDAO
+		 * in a part of the schematics.
+		 */
+		compatible = "pwm-regulator";
+
+		regulator-name = "VDDEE";
+		regulator-min-microvolt = <860000>;
+		regulator-max-microvolt = <1140000>;
+
+		vin-supply = <&vcc_5v>;
+
+		pwms = <&pwm_cd 1 1148 0>;
+		pwm-dutycycle-range = <100 0>;
+
+		regulator-boot-on;
+		regulator-always-on;
+	};
 };
 
 &cpu0 {
@@ -268,6 +289,10 @@
 	};
 };
 
+&mali {
+	mali-supply = <&vddee>;
+};
+
 &saradc {
 	status = "okay";
 	vref-supply = <&vcc_1v8>;
@@ -349,10 +374,10 @@
 
 &pwm_cd {
 	status = "okay";
-	pinctrl-0 = <&pwm_c1_pins>;
+	pinctrl-0 = <&pwm_c1_pins>, <&pwm_d_pins>;
 	pinctrl-names = "default";
-	clocks = <&clkc CLKID_XTAL>;
-	clock-names = "clkin0";
+	clocks = <&clkc CLKID_XTAL>, <&clkc CLKID_XTAL>;
+	clock-names = "clkin0", "clkin1";
 };
 
 &rtc {
-- 
2.21.0


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

* [PATCH 3/4] ARM: dts: meson8b: odroidc1: add the VDDEE regulator
  2019-05-25 19:02 [PATCH 0/4] ARM: dts: meson8b: add VDDEE / mali-supply Martin Blumenstingl
  2019-05-25 19:02 ` [PATCH 1/4] ARM: dts: meson8b: add the PWM_D output pin Martin Blumenstingl
  2019-05-25 19:02 ` [PATCH 2/4] ARM: dts: meson8b: ec100: add the VDDEE regulator Martin Blumenstingl
@ 2019-05-25 19:02 ` Martin Blumenstingl
  2019-05-25 19:02 ` [PATCH 4/4] ARM: dts: meson8b: mxq: " Martin Blumenstingl
  2019-06-11 23:32 ` [PATCH 0/4] ARM: dts: meson8b: add VDDEE / mali-supply Kevin Hilman
  4 siblings, 0 replies; 8+ messages in thread
From: Martin Blumenstingl @ 2019-05-25 19:02 UTC (permalink / raw)
  To: linux-amlogic, khilman
  Cc: linux-arm-kernel, linux-kernel, Martin Blumenstingl

The VDDEE regulator is basically a copy of the VCCK regulator. VDDEE
supplies for example the Mali GPU and is controlled by PWM_D instead of
PWM_C.

Add the VDDEE PWM regulator and make it the supply of the Mali GPU.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
 arch/arm/boot/dts/meson8b-odroidc1.dts | 27 +++++++++++++++++++++++---
 1 file changed, 24 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/meson8b-odroidc1.dts b/arch/arm/boot/dts/meson8b-odroidc1.dts
index f3ad9397f670..893a3aa5ec36 100644
--- a/arch/arm/boot/dts/meson8b-odroidc1.dts
+++ b/arch/arm/boot/dts/meson8b-odroidc1.dts
@@ -194,6 +194,23 @@
 		vin-supply = <&p5v0>;
 	};
 
+	vddee: regulator-vcck {
+		/* Monolithic Power Systems MP2161 */
+		compatible = "pwm-regulator";
+
+		regulator-name = "VDDEE";
+		regulator-min-microvolt = <860000>;
+		regulator-max-microvolt = <1140000>;
+
+		vin-supply = <&p5v0>;
+
+		pwms = <&pwm_cd 1 12218 0>;
+		pwm-dutycycle-range = <91 0>;
+
+		regulator-boot-on;
+		regulator-always-on;
+	};
+
 	vdd_rtc: regulator-vdd-rtc {
 		/*
 		 * Torex Semiconductor XC6215 configured for a fixed output of
@@ -315,6 +332,10 @@
 	pinctrl-names = "default";
 };
 
+&mali {
+	mali-supply = <&vddee>;
+};
+
 &saradc {
 	status = "okay";
 	vref-supply = <&vcc_1v8>;
@@ -347,10 +368,10 @@
 
 &pwm_cd {
 	status = "okay";
-	pinctrl-0 = <&pwm_c1_pins>;
+	pinctrl-0 = <&pwm_c1_pins>, <&pwm_d_pins>;
 	pinctrl-names = "default";
-	clocks = <&clkc CLKID_XTAL>;
-	clock-names = "clkin0";
+	clocks = <&clkc CLKID_XTAL>, <&clkc CLKID_XTAL>;
+	clock-names = "clkin0", "clkin1";
 };
 
 &rtc {
-- 
2.21.0


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

* [PATCH 4/4] ARM: dts: meson8b: mxq: add the VDDEE regulator
  2019-05-25 19:02 [PATCH 0/4] ARM: dts: meson8b: add VDDEE / mali-supply Martin Blumenstingl
                   ` (2 preceding siblings ...)
  2019-05-25 19:02 ` [PATCH 3/4] ARM: dts: meson8b: odroidc1: " Martin Blumenstingl
@ 2019-05-25 19:02 ` Martin Blumenstingl
  2019-06-11 23:32 ` [PATCH 0/4] ARM: dts: meson8b: add VDDEE / mali-supply Kevin Hilman
  4 siblings, 0 replies; 8+ messages in thread
From: Martin Blumenstingl @ 2019-05-25 19:02 UTC (permalink / raw)
  To: linux-amlogic, khilman
  Cc: linux-arm-kernel, linux-kernel, Martin Blumenstingl

The VDDEE regulator is basically a copy of the VCCK regulator. VDDEE
supplies for example the Mali GPU and is controlled by PWM_D instead of
PWM_C.

Add the VDDEE PWM regulator and make it the supply of the Mali GPU.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
 arch/arm/boot/dts/meson8b-mxq.dts | 26 +++++++++++++++++++++++---
 1 file changed, 23 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/meson8b-mxq.dts b/arch/arm/boot/dts/meson8b-mxq.dts
index 07f1cc513f8a..8f7a02c1e27b 100644
--- a/arch/arm/boot/dts/meson8b-mxq.dts
+++ b/arch/arm/boot/dts/meson8b-mxq.dts
@@ -116,6 +116,22 @@
 		regulator-boot-on;
 		regulator-always-on;
 	};
+
+	vddee: regulator-vddee {
+		compatible = "pwm-regulator";
+
+		regulator-name = "VDDEE";
+		regulator-min-microvolt = <860000>;
+		regulator-max-microvolt = <1140000>;
+
+		vin-supply = <&vcc_5v>;
+
+		pwms = <&pwm_cd 1 1148 0>;
+		pwm-dutycycle-range = <100 0>;
+
+		regulator-boot-on;
+		regulator-always-on;
+	};
 };
 
 &cpu0 {
@@ -151,6 +167,10 @@
 	};
 };
 
+&mali {
+	mali-supply = <&vddee>;
+};
+
 &saradc {
 	status = "okay";
 	vref-supply = <&vcc_1v8>;
@@ -182,10 +202,10 @@
 
 &pwm_cd {
 	status = "okay";
-	pinctrl-0 = <&pwm_c1_pins>;
+	pinctrl-0 = <&pwm_c1_pins>, <&pwm_d_pins>;
 	pinctrl-names = "default";
-	clocks = <&clkc CLKID_XTAL>;
-	clock-names = "clkin0";
+	clocks = <&clkc CLKID_XTAL>, <&clkc CLKID_XTAL>;
+	clock-names = "clkin0", "clkin1";
 };
 
 &uart_AO {
-- 
2.21.0


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

* Re: [PATCH 0/4] ARM: dts: meson8b: add VDDEE / mali-supply
  2019-05-25 19:02 [PATCH 0/4] ARM: dts: meson8b: add VDDEE / mali-supply Martin Blumenstingl
                   ` (3 preceding siblings ...)
  2019-05-25 19:02 ` [PATCH 4/4] ARM: dts: meson8b: mxq: " Martin Blumenstingl
@ 2019-06-11 23:32 ` Kevin Hilman
  2019-06-12 19:09   ` Martin Blumenstingl
  4 siblings, 1 reply; 8+ messages in thread
From: Kevin Hilman @ 2019-06-11 23:32 UTC (permalink / raw)
  To: Martin Blumenstingl, linux-amlogic
  Cc: linux-arm-kernel, linux-kernel, Martin Blumenstingl

Martin Blumenstingl <martin.blumenstingl@googlemail.com> writes:

> EC-100 and Odroid-C1 use a "copy" of the VCCK regulator as "VDDEE"
> regulator. VDDEE supplies the Mali GPU and various other bits within
> the SoC.
>
> The VDDEE regulator is not exclusive to the Mali GPU so it must not
> change it's voltage. The GPU OPP table has a fixed voltage for all
> frequencies of 1.10V. This matches with what u-boot sets on my EC-100
> and Odroid-C1.
>
> Dependencies:
> - compile time: patch #4 depends on my other patch "ARM: meson8b-mxq:
>   better support for the TRONFY MXQ" from [0]
> - runtime: we don't want the kernel to change the output of the VDDEE
>   regulator to the maximum value. Thus the PWM driver has to be able
>   to read the PWM period and duty cycle from u-boot. This is supported
>   with my series called "pwm-meson: cleanups and improvements" from [1]

Just FYI... unless I hear otherwise, I'll wait for the PWM cleanups to
land before queuing this series.

Kevin

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

* Re: [PATCH 0/4] ARM: dts: meson8b: add VDDEE / mali-supply
  2019-06-11 23:32 ` [PATCH 0/4] ARM: dts: meson8b: add VDDEE / mali-supply Kevin Hilman
@ 2019-06-12 19:09   ` Martin Blumenstingl
  2019-06-13 19:43     ` Kevin Hilman
  0 siblings, 1 reply; 8+ messages in thread
From: Martin Blumenstingl @ 2019-06-12 19:09 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: linux-amlogic, linux-arm-kernel, linux-kernel

On Wed, Jun 12, 2019 at 1:32 AM Kevin Hilman <khilman@baylibre.com> wrote:
>
> Martin Blumenstingl <martin.blumenstingl@googlemail.com> writes:
>
> > EC-100 and Odroid-C1 use a "copy" of the VCCK regulator as "VDDEE"
> > regulator. VDDEE supplies the Mali GPU and various other bits within
> > the SoC.
> >
> > The VDDEE regulator is not exclusive to the Mali GPU so it must not
> > change it's voltage. The GPU OPP table has a fixed voltage for all
> > frequencies of 1.10V. This matches with what u-boot sets on my EC-100
> > and Odroid-C1.
> >
> > Dependencies:
> > - compile time: patch #4 depends on my other patch "ARM: meson8b-mxq:
> >   better support for the TRONFY MXQ" from [0]
> > - runtime: we don't want the kernel to change the output of the VDDEE
> >   regulator to the maximum value. Thus the PWM driver has to be able
> >   to read the PWM period and duty cycle from u-boot. This is supported
> >   with my series called "pwm-meson: cleanups and improvements" from [1]
>
> Just FYI... unless I hear otherwise, I'll wait for the PWM cleanups to
> land before queuing this series.
I'm happy with that because I'm not sure what will happen *without*
the PWM improvements


Martin

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

* Re: [PATCH 0/4] ARM: dts: meson8b: add VDDEE / mali-supply
  2019-06-12 19:09   ` Martin Blumenstingl
@ 2019-06-13 19:43     ` Kevin Hilman
  0 siblings, 0 replies; 8+ messages in thread
From: Kevin Hilman @ 2019-06-13 19:43 UTC (permalink / raw)
  To: Martin Blumenstingl; +Cc: linux-amlogic, linux-arm-kernel, linux-kernel

Martin Blumenstingl <martin.blumenstingl@googlemail.com> writes:

> On Wed, Jun 12, 2019 at 1:32 AM Kevin Hilman <khilman@baylibre.com> wrote:
>>
>> Martin Blumenstingl <martin.blumenstingl@googlemail.com> writes:
>>
>> > EC-100 and Odroid-C1 use a "copy" of the VCCK regulator as "VDDEE"
>> > regulator. VDDEE supplies the Mali GPU and various other bits within
>> > the SoC.
>> >
>> > The VDDEE regulator is not exclusive to the Mali GPU so it must not
>> > change it's voltage. The GPU OPP table has a fixed voltage for all
>> > frequencies of 1.10V. This matches with what u-boot sets on my EC-100
>> > and Odroid-C1.
>> >
>> > Dependencies:
>> > - compile time: patch #4 depends on my other patch "ARM: meson8b-mxq:
>> >   better support for the TRONFY MXQ" from [0]
>> > - runtime: we don't want the kernel to change the output of the VDDEE
>> >   regulator to the maximum value. Thus the PWM driver has to be able
>> >   to read the PWM period and duty cycle from u-boot. This is supported
>> >   with my series called "pwm-meson: cleanups and improvements" from [1]
>>
>> Just FYI... unless I hear otherwise, I'll wait for the PWM cleanups to
>> land before queuing this series.
>
> I'm happy with that because I'm not sure what will happen *without*
> the PWM improvements

OK, then I'll rely on you to ping (or resend) on this series to remind
me when the PWM stuff has landed.

Thanks,

Kevin


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

end of thread, other threads:[~2019-06-13 19:43 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-25 19:02 [PATCH 0/4] ARM: dts: meson8b: add VDDEE / mali-supply Martin Blumenstingl
2019-05-25 19:02 ` [PATCH 1/4] ARM: dts: meson8b: add the PWM_D output pin Martin Blumenstingl
2019-05-25 19:02 ` [PATCH 2/4] ARM: dts: meson8b: ec100: add the VDDEE regulator Martin Blumenstingl
2019-05-25 19:02 ` [PATCH 3/4] ARM: dts: meson8b: odroidc1: " Martin Blumenstingl
2019-05-25 19:02 ` [PATCH 4/4] ARM: dts: meson8b: mxq: " Martin Blumenstingl
2019-06-11 23:32 ` [PATCH 0/4] ARM: dts: meson8b: add VDDEE / mali-supply Kevin Hilman
2019-06-12 19:09   ` Martin Blumenstingl
2019-06-13 19:43     ` Kevin Hilman

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