2020-06-20 16:17:43

by Martin Blumenstingl

[permalink] [raw]
Subject: [PATCH] arm64: dts: meson-gx: Switch to the meson-ee-pwrc bindings

The "amlogic,meson-gx-pwrc-vpu" binding only supports the VPU power
domain, while actually there are more power domains behind that set of
registers. Switch to the new bindings so we can add more power domains
as needed.

Signed-off-by: Martin Blumenstingl <[email protected]>
---
arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 18 ++++++++++--------
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 7 +++++--
arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 7 +++++--
3 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
index ba63c36b22e0..0edd137151f8 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
@@ -12,6 +12,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/power/meson-gxbb-power.h>
#include <dt-bindings/thermal/thermal.h>

/ {
@@ -60,7 +61,7 @@ simplefb_cvbs: framebuffer-cvbs {
compatible = "amlogic,simple-framebuffer",
"simple-framebuffer";
amlogic,pipeline = "vpu-cvbs";
- power-domains = <&pwrc_vpu>;
+ power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
status = "disabled";
};

@@ -68,7 +69,7 @@ simplefb_hdmi: framebuffer-hdmi {
compatible = "amlogic,simple-framebuffer",
"simple-framebuffer";
amlogic,pipeline = "vpu-hdmi";
- power-domains = <&pwrc_vpu>;
+ power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
status = "disabled";
};
};
@@ -438,12 +439,6 @@ sysctrl_AO: sys-ctrl@0 {
compatible = "amlogic,meson-gx-ao-sysctrl", "simple-mfd", "syscon";
reg = <0x0 0x0 0x0 0x100>;

- pwrc_vpu: power-controller-vpu {
- compatible = "amlogic,meson-gx-pwrc-vpu";
- #power-domain-cells = <0>;
- amlogic,hhi-sysctrl = <&sysctrl>;
- };
-
clkc_AO: clock-controller {
compatible = "amlogic,meson-gx-aoclkc";
#clock-cells = <1>;
@@ -552,6 +547,12 @@ hiubus: bus@c883c000 {
sysctrl: system-controller@0 {
compatible = "amlogic,meson-gx-hhi-sysctrl", "simple-mfd", "syscon";
reg = <0 0 0 0x400>;
+
+ pwrc: power-controller {
+ compatible = "amlogic,meson-gxbb-pwrc";
+ #power-domain-cells = <1>;
+ amlogic,ao-sysctrl = <&sysctrl_AO>;
+ };
};

mailbox: mailbox@404 {
@@ -574,6 +575,7 @@ ethmac: ethernet@c9410000 {
interrupt-names = "macirq";
rx-fifo-depth = <4096>;
tx-fifo-depth = <2048>;
+ power-domains = <&pwrc PWRC_GXBB_ETHERNET_MEM_ID>;
status = "disabled";
};

diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
index 03c25b9facff..ea50dd434887 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
@@ -748,7 +748,7 @@ mux {
};
};

-&pwrc_vpu {
+&pwrc {
resets = <&reset RESET_VIU>,
<&reset RESET_VENC>,
<&reset RESET_VCBUS>,
@@ -761,6 +761,9 @@ &pwrc_vpu {
<&reset RESET_VDI6>,
<&reset RESET_VENCL>,
<&reset RESET_VID_LOCK>;
+ reset-names = "viu", "venc", "vcbus", "bt656",
+ "dvin", "rdma", "venci", "vencp",
+ "vdac", "vdi6", "vencl", "vid_lock";
clocks = <&clkc CLKID_VPU>,
<&clkc CLKID_VAPB>;
clock-names = "vpu", "vapb";
@@ -867,7 +870,7 @@ &uart_C {

&vpu {
compatible = "amlogic,meson-gxbb-vpu", "amlogic,meson-gx-vpu";
- power-domains = <&pwrc_vpu>;
+ power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
};

&vdec {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
index 60484bbc7272..beb5fc79d186 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
@@ -783,7 +783,7 @@ external_mdio: mdio@2009087f {
};
};

-&pwrc_vpu {
+&pwrc {
resets = <&reset RESET_VIU>,
<&reset RESET_VENC>,
<&reset RESET_VCBUS>,
@@ -796,6 +796,9 @@ &pwrc_vpu {
<&reset RESET_VDI6>,
<&reset RESET_VENCL>,
<&reset RESET_VID_LOCK>;
+ reset-names = "viu", "venc", "vcbus", "bt656",
+ "dvin", "rdma", "venci", "vencp",
+ "vdac", "vdi6", "vencl", "vid_lock";
clocks = <&clkc CLKID_VPU>,
<&clkc CLKID_VAPB>;
clock-names = "vpu", "vapb";
@@ -902,7 +905,7 @@ &uart_C {

&vpu {
compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu";
- power-domains = <&pwrc_vpu>;
+ power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
};

&vdec {
--
2.27.0


2020-06-22 08:00:19

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: meson-gx: Switch to the meson-ee-pwrc bindings

On 20/06/2020 18:12, Martin Blumenstingl wrote:
> The "amlogic,meson-gx-pwrc-vpu" binding only supports the VPU power
> domain, while actually there are more power domains behind that set of
> registers. Switch to the new bindings so we can add more power domains
> as needed.
>
> Signed-off-by: Martin Blumenstingl <[email protected]>
> ---
> arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 18 ++++++++++--------
> arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 7 +++++--
> arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 7 +++++--
> 3 files changed, 20 insertions(+), 12 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
> index ba63c36b22e0..0edd137151f8 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
> @@ -12,6 +12,7 @@
> #include <dt-bindings/gpio/gpio.h>
> #include <dt-bindings/interrupt-controller/irq.h>
> #include <dt-bindings/interrupt-controller/arm-gic.h>
> +#include <dt-bindings/power/meson-gxbb-power.h>
> #include <dt-bindings/thermal/thermal.h>
>
> / {
> @@ -60,7 +61,7 @@ simplefb_cvbs: framebuffer-cvbs {
> compatible = "amlogic,simple-framebuffer",
> "simple-framebuffer";
> amlogic,pipeline = "vpu-cvbs";
> - power-domains = <&pwrc_vpu>;
> + power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
> status = "disabled";
> };
>
> @@ -68,7 +69,7 @@ simplefb_hdmi: framebuffer-hdmi {
> compatible = "amlogic,simple-framebuffer",
> "simple-framebuffer";
> amlogic,pipeline = "vpu-hdmi";
> - power-domains = <&pwrc_vpu>;
> + power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
> status = "disabled";
> };
> };
> @@ -438,12 +439,6 @@ sysctrl_AO: sys-ctrl@0 {
> compatible = "amlogic,meson-gx-ao-sysctrl", "simple-mfd", "syscon";
> reg = <0x0 0x0 0x0 0x100>;
>
> - pwrc_vpu: power-controller-vpu {
> - compatible = "amlogic,meson-gx-pwrc-vpu";
> - #power-domain-cells = <0>;
> - amlogic,hhi-sysctrl = <&sysctrl>;
> - };
> -
> clkc_AO: clock-controller {
> compatible = "amlogic,meson-gx-aoclkc";
> #clock-cells = <1>;
> @@ -552,6 +547,12 @@ hiubus: bus@c883c000 {
> sysctrl: system-controller@0 {
> compatible = "amlogic,meson-gx-hhi-sysctrl", "simple-mfd", "syscon";
> reg = <0 0 0 0x400>;
> +
> + pwrc: power-controller {
> + compatible = "amlogic,meson-gxbb-pwrc";
> + #power-domain-cells = <1>;
> + amlogic,ao-sysctrl = <&sysctrl_AO>;
> + };
> };
>
> mailbox: mailbox@404 {
> @@ -574,6 +575,7 @@ ethmac: ethernet@c9410000 {
> interrupt-names = "macirq";
> rx-fifo-depth = <4096>;
> tx-fifo-depth = <2048>;
> + power-domains = <&pwrc PWRC_GXBB_ETHERNET_MEM_ID>;
> status = "disabled";
> };
>
> diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
> index 03c25b9facff..ea50dd434887 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
> @@ -748,7 +748,7 @@ mux {
> };
> };
>
> -&pwrc_vpu {
> +&pwrc {
> resets = <&reset RESET_VIU>,
> <&reset RESET_VENC>,
> <&reset RESET_VCBUS>,
> @@ -761,6 +761,9 @@ &pwrc_vpu {
> <&reset RESET_VDI6>,
> <&reset RESET_VENCL>,
> <&reset RESET_VID_LOCK>;
> + reset-names = "viu", "venc", "vcbus", "bt656",
> + "dvin", "rdma", "venci", "vencp",
> + "vdac", "vdi6", "vencl", "vid_lock";
> clocks = <&clkc CLKID_VPU>,
> <&clkc CLKID_VAPB>;
> clock-names = "vpu", "vapb";
> @@ -867,7 +870,7 @@ &uart_C {
>
> &vpu {
> compatible = "amlogic,meson-gxbb-vpu", "amlogic,meson-gx-vpu";
> - power-domains = <&pwrc_vpu>;
> + power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
> };
>
> &vdec {
> diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
> index 60484bbc7272..beb5fc79d186 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
> @@ -783,7 +783,7 @@ external_mdio: mdio@2009087f {
> };
> };
>
> -&pwrc_vpu {
> +&pwrc {
> resets = <&reset RESET_VIU>,
> <&reset RESET_VENC>,
> <&reset RESET_VCBUS>,
> @@ -796,6 +796,9 @@ &pwrc_vpu {
> <&reset RESET_VDI6>,
> <&reset RESET_VENCL>,
> <&reset RESET_VID_LOCK>;
> + reset-names = "viu", "venc", "vcbus", "bt656",
> + "dvin", "rdma", "venci", "vencp",
> + "vdac", "vdi6", "vencl", "vid_lock";
> clocks = <&clkc CLKID_VPU>,
> <&clkc CLKID_VAPB>;
> clock-names = "vpu", "vapb";
> @@ -902,7 +905,7 @@ &uart_C {
>
> &vpu {
> compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu";
> - power-domains = <&pwrc_vpu>;
> + power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
> };
>
> &vdec {
>

Reviewed-by: Neil Armstrong <[email protected]>

2020-07-13 19:04:46

by Kevin Hilman

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: meson-gx: Switch to the meson-ee-pwrc bindings

On Sat, 20 Jun 2020 18:12:11 +0200, Martin Blumenstingl wrote:
> The "amlogic,meson-gx-pwrc-vpu" binding only supports the VPU power
> domain, while actually there are more power domains behind that set of
> registers. Switch to the new bindings so we can add more power domains
> as needed.

Applied, thanks!

[1/1] arm64: dts: meson-gx: Switch to the meson-ee-pwrc bindings
(no commit info)

Best regards,
--
Kevin Hilman <[email protected]>