diff --git a/target/linux/rockchip/patches-6.1/014-v6.11-arm64-dts-rockchip-Add-GPU-OPP-voltage-ranges.patch b/target/linux/rockchip/patches-6.1/014-v6.11-arm64-dts-rockchip-Add-GPU-OPP-voltage-ranges.patch new file mode 100644 index 000000000..0837c9ccb --- /dev/null +++ b/target/linux/rockchip/patches-6.1/014-v6.11-arm64-dts-rockchip-Add-GPU-OPP-voltage-ranges.patch @@ -0,0 +1,73 @@ +From 2e1fae80023a38ea03dfca3eab65b3b46617ef3b Mon Sep 17 00:00:00 2001 +From: Dragan Simic +Date: Sun, 30 Jun 2024 18:00:40 +0200 +Subject: [PATCH] arm64: dts: rockchip: Add GPU OPP voltage ranges to RK356x + SoC dtsi + +Add support for voltage ranges to the GPU OPPs defined in the SoC dtsi for +Rockchip RK356x. This is, for example, useful for RK356x-based boards that +are designed to use the same power supply for the GPU and NPU portions of +the SoC, which is described further in the following documents: + + - Rockchip RK3566 Hardware Design Guide, version 1.1.0, page 37 + - Rockchip RK3568 Hardware Design Guide, version 1.2, page 78 + +The values for the exact GPU OPP voltages and the lower limits for the GPU +OPP voltage ranges differ from the values found in the vendor kernel source +(cf. downstream commit f8b9431ee38e ("arm64: dts: rockchip: rk3568: support +adjust opp-table by otp")), [1][2] and present the exact GPU OPP voltage +values that have served us well so far. + +[1] https://github.com/rockchip-linux/kernel/commit/f8b9431ee38ed561650be7092ab93f564598daa9 +[2] https://raw.githubusercontent.com/rockchip-linux/kernel/f8b9431ee38ed561650be7092ab93f564598daa9/arch/arm64/boot/dts/rockchip/rk3568.dtsi + +Suggested-by: Diederik de Haas +Helped-by: Jonas Karlman +Signed-off-by: Dragan Simic +Link: https://lore.kernel.org/r/7e9ba70fd54a21d6f1f267df11e0acabff8d24e0.1719763100.git.dsimic@manjaro.org +Signed-off-by: Heiko Stuebner +--- + arch/arm64/boot/dts/rockchip/rk356x.dtsi | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi +@@ -154,32 +154,32 @@ + + opp-200000000 { + opp-hz = /bits/ 64 <200000000>; +- opp-microvolt = <825000>; ++ opp-microvolt = <825000 825000 1000000>; + }; + + opp-300000000 { + opp-hz = /bits/ 64 <300000000>; +- opp-microvolt = <825000>; ++ opp-microvolt = <825000 825000 1000000>; + }; + + opp-400000000 { + opp-hz = /bits/ 64 <400000000>; +- opp-microvolt = <825000>; ++ opp-microvolt = <825000 825000 1000000>; + }; + + opp-600000000 { + opp-hz = /bits/ 64 <600000000>; +- opp-microvolt = <825000>; ++ opp-microvolt = <825000 825000 1000000>; + }; + + opp-700000000 { + opp-hz = /bits/ 64 <700000000>; +- opp-microvolt = <900000>; ++ opp-microvolt = <900000 900000 1000000>; + }; + + opp-800000000 { + opp-hz = /bits/ 64 <800000000>; +- opp-microvolt = <1000000>; ++ opp-microvolt = <1000000 1000000 1000000>; + }; + }; + diff --git a/target/linux/rockchip/patches-6.1/015-v6.11-arm64-dts-rockchip-Update-GPU-OPP-voltages-in.patch b/target/linux/rockchip/patches-6.1/015-v6.11-arm64-dts-rockchip-Update-GPU-OPP-voltages-in.patch new file mode 100644 index 000000000..a16d22095 --- /dev/null +++ b/target/linux/rockchip/patches-6.1/015-v6.11-arm64-dts-rockchip-Update-GPU-OPP-voltages-in.patch @@ -0,0 +1,63 @@ +From eb665b1c06bcaf16df10018550d8f467ed4b2887 Mon Sep 17 00:00:00 2001 +From: Dragan Simic +Date: Sun, 30 Jun 2024 18:00:41 +0200 +Subject: [PATCH] arm64: dts: rockchip: Update GPU OPP voltages in RK356x SoC + dtsi + +Update the values for the exact Rockchip RK356x GPU OPP voltages and the +lower limits for the GPU OPP voltage ranges, using the most conservative +values (i.e. the highest per-OPP voltages) found in the vendor kernel source +(cf. downstream commit f8b9431ee38e ("arm64: dts: rockchip: rk3568: support +adjust opp-table by otp")). [1][2] + +Using the most conservative per-OPP voltages ensures reliable GPU operation +regardless of the actual GPU binning, with the downside of possibly using +a bit more power than absolutely needed. + +[1] https://github.com/rockchip-linux/kernel/commit/f8b9431ee38ed561650be7092ab93f564598daa9 +[2] https://raw.githubusercontent.com/rockchip-linux/kernel/f8b9431ee38ed561650be7092ab93f564598daa9/arch/arm64/boot/dts/rockchip/rk3568.dtsi + +Suggested-by: Diederik de Haas +Helped-by: Jonas Karlman +Signed-off-by: Dragan Simic +Link: https://lore.kernel.org/r/80301764e8983c8410c806ed2256403823709897.1719763100.git.dsimic@manjaro.org +Signed-off-by: Heiko Stuebner +--- + arch/arm64/boot/dts/rockchip/rk356x.dtsi | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi +@@ -154,27 +154,27 @@ + + opp-200000000 { + opp-hz = /bits/ 64 <200000000>; +- opp-microvolt = <825000 825000 1000000>; ++ opp-microvolt = <850000 850000 1000000>; + }; + + opp-300000000 { + opp-hz = /bits/ 64 <300000000>; +- opp-microvolt = <825000 825000 1000000>; ++ opp-microvolt = <850000 850000 1000000>; + }; + + opp-400000000 { + opp-hz = /bits/ 64 <400000000>; +- opp-microvolt = <825000 825000 1000000>; ++ opp-microvolt = <850000 850000 1000000>; + }; + + opp-600000000 { + opp-hz = /bits/ 64 <600000000>; +- opp-microvolt = <825000 825000 1000000>; ++ opp-microvolt = <900000 900000 1000000>; + }; + + opp-700000000 { + opp-hz = /bits/ 64 <700000000>; +- opp-microvolt = <900000 900000 1000000>; ++ opp-microvolt = <950000 950000 1000000>; + }; + + opp-800000000 { diff --git a/target/linux/rockchip/patches-6.6/011-v6.11-arm64-dts-rockchip-Add-GPU-OPP-voltage-ranges.patch b/target/linux/rockchip/patches-6.6/011-v6.11-arm64-dts-rockchip-Add-GPU-OPP-voltage-ranges.patch new file mode 100644 index 000000000..0837c9ccb --- /dev/null +++ b/target/linux/rockchip/patches-6.6/011-v6.11-arm64-dts-rockchip-Add-GPU-OPP-voltage-ranges.patch @@ -0,0 +1,73 @@ +From 2e1fae80023a38ea03dfca3eab65b3b46617ef3b Mon Sep 17 00:00:00 2001 +From: Dragan Simic +Date: Sun, 30 Jun 2024 18:00:40 +0200 +Subject: [PATCH] arm64: dts: rockchip: Add GPU OPP voltage ranges to RK356x + SoC dtsi + +Add support for voltage ranges to the GPU OPPs defined in the SoC dtsi for +Rockchip RK356x. This is, for example, useful for RK356x-based boards that +are designed to use the same power supply for the GPU and NPU portions of +the SoC, which is described further in the following documents: + + - Rockchip RK3566 Hardware Design Guide, version 1.1.0, page 37 + - Rockchip RK3568 Hardware Design Guide, version 1.2, page 78 + +The values for the exact GPU OPP voltages and the lower limits for the GPU +OPP voltage ranges differ from the values found in the vendor kernel source +(cf. downstream commit f8b9431ee38e ("arm64: dts: rockchip: rk3568: support +adjust opp-table by otp")), [1][2] and present the exact GPU OPP voltage +values that have served us well so far. + +[1] https://github.com/rockchip-linux/kernel/commit/f8b9431ee38ed561650be7092ab93f564598daa9 +[2] https://raw.githubusercontent.com/rockchip-linux/kernel/f8b9431ee38ed561650be7092ab93f564598daa9/arch/arm64/boot/dts/rockchip/rk3568.dtsi + +Suggested-by: Diederik de Haas +Helped-by: Jonas Karlman +Signed-off-by: Dragan Simic +Link: https://lore.kernel.org/r/7e9ba70fd54a21d6f1f267df11e0acabff8d24e0.1719763100.git.dsimic@manjaro.org +Signed-off-by: Heiko Stuebner +--- + arch/arm64/boot/dts/rockchip/rk356x.dtsi | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi +@@ -154,32 +154,32 @@ + + opp-200000000 { + opp-hz = /bits/ 64 <200000000>; +- opp-microvolt = <825000>; ++ opp-microvolt = <825000 825000 1000000>; + }; + + opp-300000000 { + opp-hz = /bits/ 64 <300000000>; +- opp-microvolt = <825000>; ++ opp-microvolt = <825000 825000 1000000>; + }; + + opp-400000000 { + opp-hz = /bits/ 64 <400000000>; +- opp-microvolt = <825000>; ++ opp-microvolt = <825000 825000 1000000>; + }; + + opp-600000000 { + opp-hz = /bits/ 64 <600000000>; +- opp-microvolt = <825000>; ++ opp-microvolt = <825000 825000 1000000>; + }; + + opp-700000000 { + opp-hz = /bits/ 64 <700000000>; +- opp-microvolt = <900000>; ++ opp-microvolt = <900000 900000 1000000>; + }; + + opp-800000000 { + opp-hz = /bits/ 64 <800000000>; +- opp-microvolt = <1000000>; ++ opp-microvolt = <1000000 1000000 1000000>; + }; + }; + diff --git a/target/linux/rockchip/patches-6.6/012-v6.11-arm64-dts-rockchip-Update-GPU-OPP-voltages-in.patch b/target/linux/rockchip/patches-6.6/012-v6.11-arm64-dts-rockchip-Update-GPU-OPP-voltages-in.patch new file mode 100644 index 000000000..a16d22095 --- /dev/null +++ b/target/linux/rockchip/patches-6.6/012-v6.11-arm64-dts-rockchip-Update-GPU-OPP-voltages-in.patch @@ -0,0 +1,63 @@ +From eb665b1c06bcaf16df10018550d8f467ed4b2887 Mon Sep 17 00:00:00 2001 +From: Dragan Simic +Date: Sun, 30 Jun 2024 18:00:41 +0200 +Subject: [PATCH] arm64: dts: rockchip: Update GPU OPP voltages in RK356x SoC + dtsi + +Update the values for the exact Rockchip RK356x GPU OPP voltages and the +lower limits for the GPU OPP voltage ranges, using the most conservative +values (i.e. the highest per-OPP voltages) found in the vendor kernel source +(cf. downstream commit f8b9431ee38e ("arm64: dts: rockchip: rk3568: support +adjust opp-table by otp")). [1][2] + +Using the most conservative per-OPP voltages ensures reliable GPU operation +regardless of the actual GPU binning, with the downside of possibly using +a bit more power than absolutely needed. + +[1] https://github.com/rockchip-linux/kernel/commit/f8b9431ee38ed561650be7092ab93f564598daa9 +[2] https://raw.githubusercontent.com/rockchip-linux/kernel/f8b9431ee38ed561650be7092ab93f564598daa9/arch/arm64/boot/dts/rockchip/rk3568.dtsi + +Suggested-by: Diederik de Haas +Helped-by: Jonas Karlman +Signed-off-by: Dragan Simic +Link: https://lore.kernel.org/r/80301764e8983c8410c806ed2256403823709897.1719763100.git.dsimic@manjaro.org +Signed-off-by: Heiko Stuebner +--- + arch/arm64/boot/dts/rockchip/rk356x.dtsi | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi +@@ -154,27 +154,27 @@ + + opp-200000000 { + opp-hz = /bits/ 64 <200000000>; +- opp-microvolt = <825000 825000 1000000>; ++ opp-microvolt = <850000 850000 1000000>; + }; + + opp-300000000 { + opp-hz = /bits/ 64 <300000000>; +- opp-microvolt = <825000 825000 1000000>; ++ opp-microvolt = <850000 850000 1000000>; + }; + + opp-400000000 { + opp-hz = /bits/ 64 <400000000>; +- opp-microvolt = <825000 825000 1000000>; ++ opp-microvolt = <850000 850000 1000000>; + }; + + opp-600000000 { + opp-hz = /bits/ 64 <600000000>; +- opp-microvolt = <825000 825000 1000000>; ++ opp-microvolt = <900000 900000 1000000>; + }; + + opp-700000000 { + opp-hz = /bits/ 64 <700000000>; +- opp-microvolt = <900000 900000 1000000>; ++ opp-microvolt = <950000 950000 1000000>; + }; + + opp-800000000 {