From e61a0fb28b6e74dc570f5be9b0413c3143c77554 Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Wed, 1 May 2024 18:28:46 +0800 Subject: [PATCH] sunxi: unlock all cpu opps for h616 Signed-off-by: Tianling Shen --- package/emortal/cpufreq/files/cpufreq.uci | 4 +- ...-h616-add-more-cpu-operating-points-.patch | 104 ++++++++++++++++++ ...-h616-add-more-cpu-operating-points-.patch | 104 ++++++++++++++++++ 3 files changed, 210 insertions(+), 2 deletions(-) create mode 100644 target/linux/sunxi/patches-6.1/911-arm64-dts-allwinner-h616-add-more-cpu-operating-points-.patch create mode 100644 target/linux/sunxi/patches-6.6/911-arm64-dts-allwinner-h616-add-more-cpu-operating-points-.patch diff --git a/package/emortal/cpufreq/files/cpufreq.uci b/package/emortal/cpufreq/files/cpufreq.uci index 9b8b0548d3..4ee49c9314 100644 --- a/package/emortal/cpufreq/files/cpufreq.uci +++ b/package/emortal/cpufreq/files/cpufreq.uci @@ -59,9 +59,9 @@ case "$DISTRIB_TARGET" in if echo "$CPU_FREQS" | grep -q "1800000"; then # H6 uci_write_config 0 schedutil "888000" "$CPU_MAX_FREQ" - elif echo "$CPU_FREQS" | grep -q "1416000"; then + elif echo "$CPU_FREQS" | grep -q "1512000"; then # H616/8 - uci_write_config 0 schedutil "936000" "$CPU_MAX_FREQ" + uci_write_config 0 schedutil "936000" "1512000" elif echo "$CPU_FREQS" | grep -q "1296000"; then # H5 uci_write_config 0 ondemand "$CPU_MIN_FREQ" "1296000" 10 50 diff --git a/target/linux/sunxi/patches-6.1/911-arm64-dts-allwinner-h616-add-more-cpu-operating-points-.patch b/target/linux/sunxi/patches-6.1/911-arm64-dts-allwinner-h616-add-more-cpu-operating-points-.patch new file mode 100644 index 0000000000..9305d1b0d6 --- /dev/null +++ b/target/linux/sunxi/patches-6.1/911-arm64-dts-allwinner-h616-add-more-cpu-operating-points-.patch @@ -0,0 +1,104 @@ +--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi +@@ -11,21 +11,21 @@ + opp-hz = /bits/ 64 <480000000>; + opp-microvolt = <900000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x1f>; ++ // opp-supported-hw = <0x1f>; + }; + + opp-600000000 { + opp-hz = /bits/ 64 <600000000>; + opp-microvolt = <900000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x12>; ++ // opp-supported-hw = <0x12>; + }; + + opp-720000000 { + opp-hz = /bits/ 64 <720000000>; + opp-microvolt = <900000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x0d>; ++ // opp-supported-hw = <0x0d>; + }; + + opp-792000000 { +@@ -33,14 +33,14 @@ + opp-microvolt-speed1 = <900000>; + opp-microvolt-speed4 = <940000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x12>; ++ // opp-supported-hw = <0x12>; + }; + + opp-936000000 { + opp-hz = /bits/ 64 <936000000>; + opp-microvolt = <900000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x0d>; ++ // opp-supported-hw = <0x0d>; + }; + + opp-1008000000 { +@@ -51,7 +51,7 @@ + opp-microvolt-speed3 = <950000>; + opp-microvolt-speed4 = <1020000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x1f>; ++ // opp-supported-hw = <0x1f>; + }; + + opp-1104000000 { +@@ -60,7 +60,7 @@ + opp-microvolt-speed2 = <1000000>; + opp-microvolt-speed3 = <1000000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x0d>; ++ // opp-supported-hw = <0x0d>; + }; + + opp-1200000000 { +@@ -71,21 +71,21 @@ + opp-microvolt-speed3 = <1050000>; + opp-microvolt-speed4 = <1100000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x1f>; ++ // opp-supported-hw = <0x1f>; + }; + + opp-1320000000 { + opp-hz = /bits/ 64 <1320000000>; + opp-microvolt = <1100000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x1d>; ++ // opp-supported-hw = <0x1d>; + }; + + opp-1416000000 { + opp-hz = /bits/ 64 <1416000000>; + opp-microvolt = <1100000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x0d>; ++ // opp-supported-hw = <0x0d>; + }; + + opp-1512000000 { +@@ -93,7 +93,15 @@ + opp-microvolt-speed1 = <1100000>; + opp-microvolt-speed3 = <1100000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x0a>; ++ // opp-supported-hw = <0x0a>; ++ }; ++ ++ opp-1608000000 { ++ opp-hz = /bits/ 64 <1608000000>; ++ opp-microvolt-speed1 = <1100000>; ++ opp-microvolt-speed4 = <1120000>; ++ clock-latency-ns = <244144>; /* 8 32k periods */ ++ // opp-supported-hw = <0x0a>; + }; + }; + }; diff --git a/target/linux/sunxi/patches-6.6/911-arm64-dts-allwinner-h616-add-more-cpu-operating-points-.patch b/target/linux/sunxi/patches-6.6/911-arm64-dts-allwinner-h616-add-more-cpu-operating-points-.patch new file mode 100644 index 0000000000..9305d1b0d6 --- /dev/null +++ b/target/linux/sunxi/patches-6.6/911-arm64-dts-allwinner-h616-add-more-cpu-operating-points-.patch @@ -0,0 +1,104 @@ +--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi +@@ -11,21 +11,21 @@ + opp-hz = /bits/ 64 <480000000>; + opp-microvolt = <900000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x1f>; ++ // opp-supported-hw = <0x1f>; + }; + + opp-600000000 { + opp-hz = /bits/ 64 <600000000>; + opp-microvolt = <900000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x12>; ++ // opp-supported-hw = <0x12>; + }; + + opp-720000000 { + opp-hz = /bits/ 64 <720000000>; + opp-microvolt = <900000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x0d>; ++ // opp-supported-hw = <0x0d>; + }; + + opp-792000000 { +@@ -33,14 +33,14 @@ + opp-microvolt-speed1 = <900000>; + opp-microvolt-speed4 = <940000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x12>; ++ // opp-supported-hw = <0x12>; + }; + + opp-936000000 { + opp-hz = /bits/ 64 <936000000>; + opp-microvolt = <900000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x0d>; ++ // opp-supported-hw = <0x0d>; + }; + + opp-1008000000 { +@@ -51,7 +51,7 @@ + opp-microvolt-speed3 = <950000>; + opp-microvolt-speed4 = <1020000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x1f>; ++ // opp-supported-hw = <0x1f>; + }; + + opp-1104000000 { +@@ -60,7 +60,7 @@ + opp-microvolt-speed2 = <1000000>; + opp-microvolt-speed3 = <1000000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x0d>; ++ // opp-supported-hw = <0x0d>; + }; + + opp-1200000000 { +@@ -71,21 +71,21 @@ + opp-microvolt-speed3 = <1050000>; + opp-microvolt-speed4 = <1100000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x1f>; ++ // opp-supported-hw = <0x1f>; + }; + + opp-1320000000 { + opp-hz = /bits/ 64 <1320000000>; + opp-microvolt = <1100000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x1d>; ++ // opp-supported-hw = <0x1d>; + }; + + opp-1416000000 { + opp-hz = /bits/ 64 <1416000000>; + opp-microvolt = <1100000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x0d>; ++ // opp-supported-hw = <0x0d>; + }; + + opp-1512000000 { +@@ -93,7 +93,15 @@ + opp-microvolt-speed1 = <1100000>; + opp-microvolt-speed3 = <1100000>; + clock-latency-ns = <244144>; /* 8 32k periods */ +- opp-supported-hw = <0x0a>; ++ // opp-supported-hw = <0x0a>; ++ }; ++ ++ opp-1608000000 { ++ opp-hz = /bits/ 64 <1608000000>; ++ opp-microvolt-speed1 = <1100000>; ++ opp-microvolt-speed4 = <1120000>; ++ clock-latency-ns = <244144>; /* 8 32k periods */ ++ // opp-supported-hw = <0x0a>; + }; + }; + };