The Meson8 SoCs have a power domain controller which can turn on/off
various register areas (such as: Ethernet, VPU, etc.).
Add the main "pwrc" controller and configure the Ethernet power domain.

Signed-off-by: Martin Blumenstingl <[email protected]>
---
 arch/arm/boot/dts/meson8.dtsi | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/arch/arm/boot/dts/meson8.dtsi b/arch/arm/boot/dts/meson8.dtsi
index a4ab8b96d0eb..3d0ab2ac5332 100644
--- a/arch/arm/boot/dts/meson8.dtsi
+++ b/arch/arm/boot/dts/meson8.dtsi
@@ -6,6 +6,7 @@
 #include <dt-bindings/clock/meson8-ddr-clkc.h>
 #include <dt-bindings/clock/meson8b-clkc.h>
 #include <dt-bindings/gpio/meson8-gpio.h>
+#include <dt-bindings/power/meson8-power.h>
 #include <dt-bindings/reset/amlogic,meson8b-clkc-reset.h>
 #include <dt-bindings/reset/amlogic,meson8b-reset.h>
 #include "meson.dtsi"
@@ -452,6 +453,8 @@ temperature_calib: calib@1f4 {
 &ethmac {
        clocks = <&clkc CLKID_ETH>;
        clock-names = "stmmaceth";
+
+       power-domains = <&pwrc PWRC_MESON8_ETHERNET_MEM_ID>;
 };
 
 &gpio_intc {
@@ -467,6 +470,16 @@ clkc: clock-controller {
                #clock-cells = <1>;
                #reset-cells = <1>;
        };
+
+       pwrc: power-controller {
+               compatible = "amlogic,meson8-pwrc";
+               #power-domain-cells = <1>;
+               amlogic,ao-sysctrl = <&pmu>;
+               clocks = <&clkc CLKID_VPU>;
+               clock-names = "vpu";
+               assigned-clocks = <&clkc CLKID_VPU>;
+               assigned-clock-rates = <364285714>;
+       };
 };
 
 &hwrng {
-- 
2.27.0

Reply via email to