222 lines
6.5 KiB
Diff
222 lines
6.5 KiB
Diff
From c91ea6f3b75412e9ce10b6cb275aa01fc808f2af Mon Sep 17 00:00:00 2001
|
|
From: The-going <48602507+The-going@users.noreply.github.com>
|
|
Date: Wed, 2 Feb 2022 21:01:10 +0300
|
|
Subject: [PATCH 29/50] arm64:dts:overlay sun50i-h5 add gpio regulator
|
|
overclock
|
|
|
|
---
|
|
.../arm64/boot/dts/allwinner/overlay/Makefile | 4 ++
|
|
.../sun50i-h5-cpu-clock-1.0GHz-1.1v.dts | 31 ++++++++++
|
|
.../sun50i-h5-cpu-clock-1.2GHz-1.3v.dts | 31 ++++++++++
|
|
.../sun50i-h5-cpu-clock-1.3GHz-1.3v.dts | 61 +++++++++++++++++++
|
|
.../overlay/sun50i-h5-gpio-regulator-1.3v.dts | 38 ++++++++++++
|
|
5 files changed, 165 insertions(+)
|
|
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.0GHz-1.1v.dts
|
|
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.2GHz-1.3v.dts
|
|
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.3GHz-1.3v.dts
|
|
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-gpio-regulator-1.3v.dts
|
|
|
|
diff --git a/arch/arm64/boot/dts/allwinner/overlay/Makefile b/arch/arm64/boot/dts/allwinner/overlay/Makefile
|
|
index 591eef672..87f5addec 100644
|
|
--- a/arch/arm64/boot/dts/allwinner/overlay/Makefile
|
|
+++ b/arch/arm64/boot/dts/allwinner/overlay/Makefile
|
|
@@ -14,6 +14,10 @@ dtbo-$(CONFIG_ARCH_SUNXI) += \
|
|
sun50i-a64-w1-gpio.dtbo \
|
|
sun50i-h5-analog-codec.dtbo \
|
|
sun50i-h5-cir.dtbo \
|
|
+ sun50i-h5-cpu-clock-1.0GHz-1.1v.dtbo \
|
|
+ sun50i-h5-cpu-clock-1.2GHz-1.3v.dtbo \
|
|
+ sun50i-h5-cpu-clock-1.3GHz-1.3v.dtbo \
|
|
+ sun50i-h5-gpio-regulator-1.3v.dtbo \
|
|
sun50i-h5-i2c0.dtbo \
|
|
sun50i-h5-i2c1.dtbo \
|
|
sun50i-h5-i2c2.dtbo \
|
|
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.0GHz-1.1v.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.0GHz-1.1v.dts
|
|
new file mode 100644
|
|
index 000000000..674ec1dcb
|
|
--- /dev/null
|
|
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.0GHz-1.1v.dts
|
|
@@ -0,0 +1,31 @@
|
|
+// DT overlay for CPU frequency operating points to up to 1.0GHz at a maximum CPU voltage of 1.1v
|
|
+
|
|
+/dts-v1/;
|
|
+/plugin/;
|
|
+
|
|
+/ {
|
|
+ fragment@0 {
|
|
+ target = <&cpu_opp_table>;
|
|
+
|
|
+ __overlay__ {
|
|
+ compatible = "operating-points-v2";
|
|
+ opp-shared;
|
|
+
|
|
+ // in order to match the H5 DT cooling-maps, update the existing OP table in-place
|
|
+ // with the new voltages
|
|
+
|
|
+ opp-960000000 {
|
|
+ opp-hz = /bits/ 64 <960000000>;
|
|
+ opp-microvolt = <1100000 1100000 1300000>;
|
|
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
|
+ };
|
|
+
|
|
+ opp-1008000000 {
|
|
+ opp-hz = /bits/ 64 <1008000000>;
|
|
+ opp-microvolt = <1100000 1100000 1300000>;
|
|
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.2GHz-1.3v.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.2GHz-1.3v.dts
|
|
new file mode 100644
|
|
index 000000000..4fb5c81d3
|
|
--- /dev/null
|
|
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.2GHz-1.3v.dts
|
|
@@ -0,0 +1,31 @@
|
|
+// DT overlay for CPU frequency operating points to up to 1.2GHz at a maximum CPU voltage of 1.3v
|
|
+
|
|
+/dts-v1/;
|
|
+/plugin/;
|
|
+
|
|
+/ {
|
|
+ fragment@0 {
|
|
+ target = <&cpu_opp_table>;
|
|
+
|
|
+ __overlay__ {
|
|
+ compatible = "operating-points-v2";
|
|
+ opp-shared;
|
|
+
|
|
+ // in order to match the H5 DT cooling-maps, update the existing OP table in-place
|
|
+ // with the new voltages
|
|
+
|
|
+ opp-1104000000 {
|
|
+ opp-hz = /bits/ 64 <1104000000>;
|
|
+ opp-microvolt = <1300000 1300000 1300000>;
|
|
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
|
+ };
|
|
+
|
|
+ opp-1200000000 {
|
|
+ opp-hz = /bits/ 64 <1200000000>;
|
|
+ opp-microvolt = <1300000 1300000 1300000>;
|
|
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.3GHz-1.3v.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.3GHz-1.3v.dts
|
|
new file mode 100644
|
|
index 000000000..9c633973d
|
|
--- /dev/null
|
|
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.3GHz-1.3v.dts
|
|
@@ -0,0 +1,61 @@
|
|
+// DT overlay for CPU frequency operating points to 1.3GHz at a maximum CPU voltage of 1.3v
|
|
+
|
|
+/dts-v1/;
|
|
+/plugin/;
|
|
+
|
|
+/ {
|
|
+ fragment@0 {
|
|
+ target = <&cpu_opp_table>;
|
|
+
|
|
+ __overlay__ {
|
|
+ compatible = "operating-points-v2";
|
|
+ opp-shared;
|
|
+
|
|
+ // in order to match the H5 DT cooling-maps, update the existing OP table in-place
|
|
+ // with the new voltages
|
|
+
|
|
+ opp-1056000000 {
|
|
+ opp-hz = /bits/ 64 <1056000000>;
|
|
+ opp-microvolt = <1300000 1300000 1300000>;
|
|
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
|
+ };
|
|
+
|
|
+ opp-1104000000 {
|
|
+ opp-hz = /bits/ 64 <1104000000>;
|
|
+ opp-microvolt = <1300000 1300000 1300000>;
|
|
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
|
+ };
|
|
+
|
|
+ opp-1152000000 {
|
|
+ opp-hz = /bits/ 64 <1152000000>;
|
|
+ opp-microvolt = <1300000 1300000 1300000>;
|
|
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
|
+ };
|
|
+
|
|
+ opp-1200000000 {
|
|
+ opp-hz = /bits/ 64 <1200000000>;
|
|
+ opp-microvolt = <1300000 1300000 1300000>;
|
|
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
|
+ };
|
|
+
|
|
+ opp-1224000000 {
|
|
+ opp-hz = /bits/ 64 <1224000000>;
|
|
+ opp-microvolt = <1300000 1300000 1300000>;
|
|
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
|
+ };
|
|
+
|
|
+ opp-1248000000 {
|
|
+ opp-hz = /bits/ 64 <1248000000>;
|
|
+ opp-microvolt = <1300000 1300000 1300000>;
|
|
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
|
+ };
|
|
+
|
|
+ opp-1296000000 {
|
|
+ opp-hz = /bits/ 64 <1296000000>;
|
|
+ opp-microvolt = <1300000 1300000 1300000>;
|
|
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-gpio-regulator-1.3v.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-gpio-regulator-1.3v.dts
|
|
new file mode 100644
|
|
index 000000000..8d2755c3d
|
|
--- /dev/null
|
|
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-gpio-regulator-1.3v.dts
|
|
@@ -0,0 +1,38 @@
|
|
+/dts-v1/;
|
|
+/plugin/;
|
|
+
|
|
+/ {
|
|
+ compatible = "allwinner,sun50i-h5";
|
|
+
|
|
+ fragment@0 {
|
|
+ target-path = "/";
|
|
+
|
|
+ __overlay__ {
|
|
+ reg_vdd_cpux: gpio-regulator {
|
|
+ compatible = "regulator-gpio";
|
|
+ regulator-name = "vdd-cpux";
|
|
+ regulator-type = "voltage";
|
|
+ regulator-boot-on;
|
|
+ regulator-always-on;
|
|
+ regulator-min-microvolt = <1100000>;
|
|
+ regulator-max-microvolt = <1300000>;
|
|
+ regulator-ramp-delay = <50>; /* 4ms */
|
|
+
|
|
+ gpios = <&r_pio 0 6 0>; /* PL6 */
|
|
+ enable-active-high;
|
|
+ gpios-states = <0x1>;
|
|
+ states = <1100000 0x0
|
|
+ 1300000 0x1>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@1 {
|
|
+ target = <&cpu0>;
|
|
+
|
|
+ __overlay__ {
|
|
+ cpu-supply = <®_vdd_cpux>;
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
--
|
|
2.34.1
|
|
|