mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 01:11:14 +00:00
be71e16630
Backport H616 DVFS support from linux-next. Tested on the Orange Pi Zero 3 (H618 SoC). Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> Link: https://github.com/openwrt/openwrt/pull/15600 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
87 lines
2.6 KiB
Diff
87 lines
2.6 KiB
Diff
From 09d0aaa0ae9c80ff9569393b206226c1008801b1 Mon Sep 17 00:00:00 2001
|
|
From: Andre Przywara <andre.przywara@arm.com>
|
|
Date: Thu, 18 Apr 2024 16:44:08 +0100
|
|
Subject: [PATCH] arm64: dts: allwinner: h616: enable DVFS for all boards
|
|
|
|
With the DT bindings now describing the format of the CPU OPP tables, we
|
|
can include the OPP table in each board's .dts file, and specify the CPU
|
|
power supply.
|
|
This allows to enable DVFS, and get up to 50% of performance benefit in
|
|
the highest OPP, or up to 60% power savings in the lowest OPP, compared
|
|
to the fixed 1GHz @ 1.0V OPP we are running in by default at the moment.
|
|
|
|
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
|
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
|
|
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
|
|
---
|
|
.../boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi | 5 +++++
|
|
arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts | 5 +++++
|
|
arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts | 5 +++++
|
|
.../boot/dts/allwinner/sun50i-h618-longan-module-3h.dtsi | 5 +++++
|
|
.../arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero2w.dts | 5 +++++
|
|
arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero3.dts | 5 +++++
|
|
.../boot/dts/allwinner/sun50i-h618-transpeed-8k618-t.dts | 5 +++++
|
|
7 files changed, 35 insertions(+)
|
|
|
|
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
|
|
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
|
|
@@ -6,12 +6,17 @@
|
|
/dts-v1/;
|
|
|
|
#include "sun50i-h616-orangepi-zero.dtsi"
|
|
+#include "sun50i-h616-cpu-opp.dtsi"
|
|
|
|
/ {
|
|
model = "OrangePi Zero2";
|
|
compatible = "xunlong,orangepi-zero2", "allwinner,sun50i-h616";
|
|
};
|
|
|
|
+&cpu0 {
|
|
+ cpu-supply = <®_dcdca>;
|
|
+};
|
|
+
|
|
&emac0 {
|
|
allwinner,rx-delay-ps = <3100>;
|
|
allwinner,tx-delay-ps = <700>;
|
|
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts
|
|
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts
|
|
@@ -6,6 +6,7 @@
|
|
/dts-v1/;
|
|
|
|
#include "sun50i-h616.dtsi"
|
|
+#include "sun50i-h616-cpu-opp.dtsi"
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
@@ -32,6 +33,10 @@
|
|
};
|
|
};
|
|
|
|
+&cpu0 {
|
|
+ cpu-supply = <®_dcdca>;
|
|
+};
|
|
+
|
|
&ehci0 {
|
|
status = "okay";
|
|
};
|
|
--- a/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero3.dts
|
|
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero3.dts
|
|
@@ -6,12 +6,17 @@
|
|
/dts-v1/;
|
|
|
|
#include "sun50i-h616-orangepi-zero.dtsi"
|
|
+#include "sun50i-h616-cpu-opp.dtsi"
|
|
|
|
/ {
|
|
model = "OrangePi Zero3";
|
|
compatible = "xunlong,orangepi-zero3", "allwinner,sun50i-h618";
|
|
};
|
|
|
|
+&cpu0 {
|
|
+ cpu-supply = <®_dcdc2>;
|
|
+};
|
|
+
|
|
&emac0 {
|
|
allwinner,tx-delay-ps = <700>;
|
|
phy-mode = "rgmii-rxid";
|