2019-02-13 22:46:25

by agajjar

[permalink] [raw]
Subject: [PATCH 0/4] arm64: dts: rockchip: rk3399-rockpro64 dts cleanup

this patchset adds below various changes
- rename regulators name according to rockpro64 schematic.
- remove unused pinmux and regulator node
- rename LED name and set heartbeat default-trigger.
- add usb regulator.

schematic is available here:
http://files.pine64.org/doc/rockpro64/rockpro64_v21-SCH.pdf

Akash Gajjar (4):
arm64: dts: rockchip: rockpro64 dts make regulator more readable
arm64: dts: rockchip: rockpro64 dts remove unused node
arm64: dts: rockchip: rockpro64 dts rename LED labels and default
trigger
arm64: dts: rockchip: rockpro64 dts add usb regulator

.../boot/dts/rockchip/rk3399-rockpro64.dts | 93 +++++++++----------
1 file changed, 43 insertions(+), 50 deletions(-)

--
2.17.1



2019-02-13 22:47:30

by agajjar

[permalink] [raw]
Subject: [PATCH 1/4] arm64: dts: rockchip: rockpro64 dts make regulator more readable

rename dc12, vcc_sys, vcc1v8_pmu regulators and make it more redable as per the
schematic of rk3399-rockpro64.

Signed-off-by: Akash Gajjar <[email protected]>
---
.../boot/dts/rockchip/rk3399-rockpro64.dts | 62 +++++++++----------
1 file changed, 31 insertions(+), 31 deletions(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
index be78172abc09..49e83ba64045 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
@@ -25,15 +25,6 @@
#clock-cells = <0>;
};

- dc_12v: dc-12v {
- compatible = "regulator-fixed";
- regulator-name = "dc_12v";
- regulator-always-on;
- regulator-boot-on;
- regulator-min-microvolt = <12000000>;
- regulator-max-microvolt = <12000000>;
- };
-
gpio-keys {
compatible = "gpio-keys";
autorepeat;
@@ -83,6 +74,15 @@
reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
};

+ vcc12v_dcin: vcc12v-dcin {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc12v_dcin";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <12000000>;
+ regulator-max-microvolt = <12000000>;
+ };
+
/* switched by pmic_sleep */
vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
compatible = "regulator-fixed";
@@ -103,7 +103,7 @@
regulator-name = "vcc3v3_pcie";
regulator-always-on;
regulator-boot-on;
- vin-supply = <&dc_12v>;
+ vin-supply = <&vcc12v_dcin>;
};

vcc3v3_sys: vcc3v3-sys {
@@ -113,7 +113,7 @@
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
- vin-supply = <&vcc_sys>;
+ vin-supply = <&vcc5v0_sys>;
};

/* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */
@@ -125,7 +125,7 @@
pinctrl-0 = <&vcc5v0_host_en>;
regulator-name = "vcc5v0_host";
regulator-always-on;
- vin-supply = <&vcc_sys>;
+ vin-supply = <&vcc5v0_sys>;
};

vcc5v0_typec: vcc5v0-typec-regulator {
@@ -136,17 +136,17 @@
pinctrl-0 = <&vcc5v0_typec_en>;
regulator-name = "vcc5v0_typec";
regulator-always-on;
- vin-supply = <&vcc_sys>;
+ vin-supply = <&vcc5v0_sys>;
};

- vcc_sys: vcc-sys {
+ vcc5v0_sys: vcc5v0-sys {
compatible = "regulator-fixed";
- regulator-name = "vcc_sys";
+ regulator-name = "vcc5v0_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
- vin-supply = <&dc_12v>;
+ vin-supply = <&vcc12v_dcin>;
};

vdd_log: vdd-log {
@@ -157,7 +157,7 @@
regulator-boot-on;
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1400000>;
- vin-supply = <&vcc_sys>;
+ vin-supply = <&vcc5v0_sys>;
};
};

@@ -230,18 +230,18 @@
rockchip,system-power-controller;
wakeup-source;

- vcc1-supply = <&vcc_sys>;
- vcc2-supply = <&vcc_sys>;
- vcc3-supply = <&vcc_sys>;
- vcc4-supply = <&vcc_sys>;
- vcc6-supply = <&vcc_sys>;
- vcc7-supply = <&vcc_sys>;
+ vcc1-supply = <&vcc5v0_sys>;
+ vcc2-supply = <&vcc5v0_sys>;
+ vcc3-supply = <&vcc5v0_sys>;
+ vcc4-supply = <&vcc5v0_sys>;
+ vcc6-supply = <&vcc5v0_sys>;
+ vcc7-supply = <&vcc5v0_sys>;
vcc8-supply = <&vcc3v3_sys>;
- vcc9-supply = <&vcc_sys>;
- vcc10-supply = <&vcc_sys>;
- vcc11-supply = <&vcc_sys>;
+ vcc9-supply = <&vcc5v0_sys>;
+ vcc10-supply = <&vcc5v0_sys>;
+ vcc11-supply = <&vcc5v0_sys>;
vcc12-supply = <&vcc3v3_sys>;
- vddio-supply = <&vcc1v8_pmu>;
+ vddio-supply = <&vcca_1v8>;

regulators {
vdd_center: DCDC_REG1 {
@@ -311,8 +311,8 @@
};
};

- vcc1v8_pmu: LDO_REG3 {
- regulator-name = "vcc1v8_pmu";
+ vcca_1v8: LDO_REG3 {
+ regulator-name = "vcca_1v8";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
@@ -413,7 +413,7 @@
regulator-ramp-delay = <1000>;
regulator-always-on;
regulator-boot-on;
- vin-supply = <&vcc_sys>;
+ vin-supply = <&vcc5v0_sys>;

regulator-state-mem {
regulator-off-in-suspend;
@@ -432,7 +432,7 @@
regulator-ramp-delay = <1000>;
regulator-always-on;
regulator-boot-on;
- vin-supply = <&vcc_sys>;
+ vin-supply = <&vcc5v0_sys>;

regulator-state-mem {
regulator-off-in-suspend;
--
2.17.1


2019-02-13 22:47:42

by agajjar

[permalink] [raw]
Subject: [PATCH 2/4] arm64: dts: rockchip: rockpro64 dts remove unused node

lcd panel pinmux and vcc1v8_s3 regulator is redundant and has a no impact, so
removing it.

Signed-off-by: Akash Gajjar <[email protected]>
---
.../boot/dts/rockchip/rk3399-rockpro64.dts | 19 +------------------
1 file changed, 1 insertion(+), 18 deletions(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
index 49e83ba64045..c9a2b26d7cad 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
@@ -83,17 +83,6 @@
regulator-max-microvolt = <12000000>;
};

- /* switched by pmic_sleep */
- vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
- compatible = "regulator-fixed";
- regulator-name = "vcc1v8_s3";
- regulator-always-on;
- regulator-boot-on;
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- vin-supply = <&vcc_1v8>;
- };
-
vcc3v3_pcie: vcc3v3-pcie-regulator {
compatible = "regulator-fixed";
enable-active-high;
@@ -522,12 +511,6 @@
};
};

- lcd-panel {
- lcd_panel_reset: lcd-panel-reset {
- rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>;
- };
- };
-
pcie {
pcie_pwr_en: pcie-pwr-en {
rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
@@ -576,7 +559,7 @@
};

&saradc {
- vref-supply = <&vcca1v8_s3>;
+ vref-supply = <&vcca_1v8>;
status = "okay";
};

--
2.17.1


2019-02-13 22:48:33

by agajjar

[permalink] [raw]
Subject: [PATCH 3/4] arm64: dts: rockchip: rockpro64 dts rename LED labels and default trigger

rename white and red LEDs with status and heartbeat respectively.
replace red LED default state off with default-trigger heartbeat.

Signed-off-by: Akash Gajjar <[email protected]>
---
.../arm64/boot/dts/rockchip/rk3399-rockpro64.dts | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
index c9a2b26d7cad..dab53d2eb676 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
@@ -43,17 +43,17 @@
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
- pinctrl-0 = <&work_led_gpio>, <&diy_led_gpio>;
+ pinctrl-0 = <&status_led_gpio>, <&heartbeat_led_gpio>;

- work-led {
- label = "work";
+ status-led {
+ label = "rockpro64:white:status";
default-state = "on";
gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
};

- diy-led {
- label = "diy";
- default-state = "off";
+ heartbeat-led {
+ label = "rockpor64:red:heartbeat";
+ linux,default-trigger = "heartbeat";
gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
};
};
@@ -502,11 +502,11 @@
};

leds {
- work_led_gpio: work_led-gpio {
+ status_led_gpio: status-led-gpio {
rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
};

- diy_led_gpio: diy_led-gpio {
+ heartbeat_led_gpio: heartbeat-led-gpio {
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
--
2.17.1


2019-02-13 22:49:22

by agajjar

[permalink] [raw]
Subject: [PATCH 4/4] arm64: dts: rockchip: rockpro64 dts add usb regulator

vcc5v0_host and vcc5v0_typec is supplied by vcc5v0_usb and not vcc5v0_sys.
add node for vcc5v0_usb fixed regulator.

Signed-off-by: Akash Gajjar <[email protected]>
---
arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
index dab53d2eb676..745aad8ba2d2 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
@@ -114,7 +114,7 @@
pinctrl-0 = <&vcc5v0_host_en>;
regulator-name = "vcc5v0_host";
regulator-always-on;
- vin-supply = <&vcc5v0_sys>;
+ vin-supply = <&vcc5v0_usb>;
};

vcc5v0_typec: vcc5v0-typec-regulator {
@@ -125,7 +125,7 @@
pinctrl-0 = <&vcc5v0_typec_en>;
regulator-name = "vcc5v0_typec";
regulator-always-on;
- vin-supply = <&vcc5v0_sys>;
+ vin-supply = <&vcc5v0_usb>;
};

vcc5v0_sys: vcc5v0-sys {
@@ -138,6 +138,16 @@
vin-supply = <&vcc12v_dcin>;
};

+ vcc5v0_usb: vcc5v0-usb {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc5v0_usb";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ vin-supply = <&vcc12v_dcin>;
+ };
+
vdd_log: vdd-log {
compatible = "pwm-regulator";
pwms = <&pwm2 0 25000 1>;
--
2.17.1


2019-02-15 15:41:23

by Heiko Stuebner

[permalink] [raw]
Subject: Re: [PATCH 2/4] arm64: dts: rockchip: rockpro64 dts remove unused node

Am Mittwoch, 13. Februar 2019, 18:06:38 CET schrieb Akash Gajjar:
> lcd panel pinmux and vcc1v8_s3 regulator is redundant and has a no impact,
> so removing it.
>
> Signed-off-by: Akash Gajjar <[email protected]>

vcc1v8_s3 is actually also a emmc supply, so I'd like to keep it around
for completenes sake.

I've now dropped the regulator portions so that only the lcd-pinmux
gets removed and reworded the commit message accordingly
and applied the result for 5.1

Thanks
Heiko




2019-02-15 15:41:58

by Heiko Stuebner

[permalink] [raw]
Subject: Re: [PATCH 1/4] arm64: dts: rockchip: rockpro64 dts make regulator more readable

Am Mittwoch, 13. Februar 2019, 18:06:37 CET schrieb Akash Gajjar:
> rename dc12, vcc_sys, vcc1v8_pmu regulators and make it more redable as per
> the schematic of rk3399-rockpro64.
>
> Signed-off-by: Akash Gajjar <[email protected]>

applied for (hopefully) 5.1

Thanks
Heiko



2019-02-15 15:42:53

by Heiko Stuebner

[permalink] [raw]
Subject: Re: [PATCH 3/4] arm64: dts: rockchip: rockpro64 dts rename LED labels and default trigger

Am Mittwoch, 13. Februar 2019, 18:06:39 CET schrieb Akash Gajjar:
> rename white and red LEDs with status and heartbeat respectively.
> replace red LED default state off with default-trigger heartbeat.
>
> Signed-off-by: Akash Gajjar <[email protected]>

Hmm, in the schematics the leds are named work + diy as in the current
devicetree, so I'd like to keep node names + pinctrl matching schematics
please.

And changing the functionality of the LEDs would require a bit more
rationale in the commit message on why that is something we want.


Heiko

> ---
> .../arm64/boot/dts/rockchip/rk3399-rockpro64.dts | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
> b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts index
> c9a2b26d7cad..dab53d2eb676 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
> @@ -43,17 +43,17 @@
> leds {
> compatible = "gpio-leds";
> pinctrl-names = "default";
> - pinctrl-0 = <&work_led_gpio>, <&diy_led_gpio>;
> + pinctrl-0 = <&status_led_gpio>, <&heartbeat_led_gpio>;
>
> - work-led {
> - label = "work";
> + status-led {
> + label = "rockpro64:white:status";
> default-state = "on";
> gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
> };
>
> - diy-led {
> - label = "diy";
> - default-state = "off";
> + heartbeat-led {
> + label = "rockpor64:red:heartbeat";
> + linux,default-trigger = "heartbeat";
> gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
> };
> };
> @@ -502,11 +502,11 @@
> };
>
> leds {
> - work_led_gpio: work_led-gpio {
> + status_led_gpio: status-led-gpio {
> rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
> };
>
> - diy_led_gpio: diy_led-gpio {
> + heartbeat_led_gpio: heartbeat-led-gpio {
> rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
> };
> };





2019-02-15 15:44:17

by Heiko Stuebner

[permalink] [raw]
Subject: Re: [PATCH 4/4] arm64: dts: rockchip: rockpro64 dts add usb regulator

Am Mittwoch, 13. Februar 2019, 18:06:40 CET schrieb Akash Gajjar:
> vcc5v0_host and vcc5v0_typec is supplied by vcc5v0_usb and not vcc5v0_sys.
> add node for vcc5v0_usb fixed regulator.
>
> Signed-off-by: Akash Gajjar <[email protected]>

applied for (hopefully) 5.1

Thanks
Heiko



2019-02-15 16:14:56

by agajjar

[permalink] [raw]
Subject: Re: [PATCH 2/4] arm64: dts: rockchip: rockpro64 dts remove unused node


On 2/15/2019 2:48 PM, Heiko Stübner wrote:
> Am Mittwoch, 13. Februar 2019, 18:06:38 CET schrieb Akash Gajjar:
>> lcd panel pinmux and vcc1v8_s3 regulator is redundant and has a no impact,
>> so removing it.
>>
>> Signed-off-by: Akash Gajjar <[email protected]>
Hi Heiko,
> vcc1v8_s3 is actually also a emmc supply, so I'd like to keep it around
> for completenes sake.

Emmc module is supplied by PMIC vcc3v3_s3 (SWITCH_REG1) and vcc_1v8
(DCD_REG4).

So I believe removing vcc1v8_s3 has no impact on emmc supply line.


Thanks,
Akash

>
> I've now dropped the regulator portions so that only the lcd-pinmux
> gets removed and reworded the commit message accordingly
> and applied the result for 5.1
>
> Thanks
> Heiko
>
>
>

2019-02-16 07:26:31

by Heiko Stuebner

[permalink] [raw]
Subject: Re: [PATCH 2/4] arm64: dts: rockchip: rockpro64 dts remove unused node

Am Freitag, 15. Februar 2019, 13:08:16 CET schrieb agajjar:
> On 2/15/2019 2:48 PM, Heiko St?bner wrote:
> > Am Mittwoch, 13. Februar 2019, 18:06:38 CET schrieb Akash Gajjar:
> >> lcd panel pinmux and vcc1v8_s3 regulator is redundant and has a no
> >> impact,
> >> so removing it.
> >>
> >> Signed-off-by: Akash Gajjar <[email protected]>
>
> Hi Heiko,
>
> > vcc1v8_s3 is actually also a emmc supply, so I'd like to keep it around
> > for completenes sake.
>
> Emmc module is supplied by PMIC vcc3v3_s3 (SWITCH_REG1) and vcc_1v8
> (DCD_REG4).
>
> So I believe removing vcc1v8_s3 has no impact on emmc supply line.

looking at the rockpro64 schematics page 10, I see vcca1v8_s3 linked
to the emmc_vdd_1v8 input and obviously also as reference for the saradc.

So I think we really could keep it around, so that the power-tree resembles
the schematics more.



2019-02-17 05:38:24

by agajjar

[permalink] [raw]
Subject: Re: [PATCH 2/4] arm64: dts: rockchip: rockpro64 dts remove unused node

On 2/16/2019 2:16 AM, Heiko Stübner wrote:
> Am Freitag, 15. Februar 2019, 13:08:16 CET schrieb agajjar:
>> On 2/15/2019 2:48 PM, Heiko Stübner wrote:
>>> Am Mittwoch, 13. Februar 2019, 18:06:38 CET schrieb Akash Gajjar:
>>>> lcd panel pinmux and vcc1v8_s3 regulator is redundant and has a no
>>>> impact,
>>>> so removing it.
>>>>
>>>> Signed-off-by: Akash Gajjar <[email protected]>
>> Hi Heiko,
>>
>>> vcc1v8_s3 is actually also a emmc supply, so I'd like to keep it around
>>> for completenes sake.
>> Emmc module is supplied by PMIC vcc3v3_s3 (SWITCH_REG1) and vcc_1v8
>> (DCD_REG4).
>>
>> So I believe removing vcc1v8_s3 has no impact on emmc supply line.
> looking at the rockpro64 schematics page 10, I see vcca1v8_s3 linked
> to the emmc_vdd_1v8 input and obviously also as reference for the saradc.

You are referring Pilot production release (rockpro64_v20-SCH.pdf),
please refer Second batch production release (rockpro64_v21-SCH.pdf).

both the schematic release is available at
http://wiki.pine64.org/index.php/ROCKPro64_Main_Page

>
> So I think we really could keep it around, so that the power-tree resembles
> the schematics more.

Thanks,

Akash