From 5b1e003b6cf3535567ebc9ae97d067b4ad7d4e26 Mon Sep 17 00:00:00 2001 From: Jernej Skrabec Date: Sat, 4 Apr 2020 20:15:59 +0200 Subject: [PATCH] Allwinner: Increase mali frequency --- .../05-a64-increase-mali-frequency.patch | 27 ++++ .../linux/18-h3-increase-mali-frequency.patch | 26 ++++ .../17-Add-GPU-operating-points-for-H6.patch | 125 ++++++++++++++++++ 3 files changed, 178 insertions(+) create mode 100644 projects/Allwinner/devices/A64/patches/linux/05-a64-increase-mali-frequency.patch create mode 100644 projects/Allwinner/devices/H3/patches/linux/18-h3-increase-mali-frequency.patch create mode 100644 projects/Allwinner/devices/H6/patches/linux/17-Add-GPU-operating-points-for-H6.patch diff --git a/projects/Allwinner/devices/A64/patches/linux/05-a64-increase-mali-frequency.patch b/projects/Allwinner/devices/A64/patches/linux/05-a64-increase-mali-frequency.patch new file mode 100644 index 0000000000..289074d582 --- /dev/null +++ b/projects/Allwinner/devices/A64/patches/linux/05-a64-increase-mali-frequency.patch @@ -0,0 +1,27 @@ +From 6c2c1ff1f601956df8afe70b6ad2a936f5a581de Mon Sep 17 00:00:00 2001 +From: Jernej Skrabec +Date: Sat, 4 Apr 2020 11:30:02 +0200 +Subject: [PATCH 1/3] arm64: dts: allwinner: a64: increase mali frequency + +Signed-off-by: Jernej Skrabec +--- + arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +index 31143fe64d91..1f22b0f6a4e0 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +@@ -1055,6 +1055,9 @@ mali: gpu@1c40000 { + clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>; + clock-names = "bus", "core"; + resets = <&ccu RST_BUS_GPU>; ++ ++ assigned-clocks = <&ccu CLK_GPU>; ++ assigned-clock-rates = <576000000>; + }; + + gic: interrupt-controller@1c81000 { +-- +2.26.0 + diff --git a/projects/Allwinner/devices/H3/patches/linux/18-h3-increase-mali-frequency.patch b/projects/Allwinner/devices/H3/patches/linux/18-h3-increase-mali-frequency.patch new file mode 100644 index 0000000000..a15ea04d88 --- /dev/null +++ b/projects/Allwinner/devices/H3/patches/linux/18-h3-increase-mali-frequency.patch @@ -0,0 +1,26 @@ +From 553421da73a5762107818f6e91771b54d80ff88e Mon Sep 17 00:00:00 2001 +From: Jernej Skrabec +Date: Sat, 4 Apr 2020 11:31:29 +0200 +Subject: [PATCH 3/3] ARM: dts: sun8i-h3: increase mali frequency + +Signed-off-by: Jernej Skrabec +--- + arch/arm/boot/dts/sun8i-h3.dtsi | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi +index e83aa6866e7e..808769cb6665 100644 +--- a/arch/arm/boot/dts/sun8i-h3.dtsi ++++ b/arch/arm/boot/dts/sun8i-h3.dtsi +@@ -207,7 +207,7 @@ mali: gpu@1c40000 { + resets = <&ccu RST_BUS_GPU>; + + assigned-clocks = <&ccu CLK_GPU>; +- assigned-clock-rates = <384000000>; ++ assigned-clock-rates = <576000000>; + }; + + ths: thermal-sensor@1c25000 { +-- +2.26.0 + diff --git a/projects/Allwinner/devices/H6/patches/linux/17-Add-GPU-operating-points-for-H6.patch b/projects/Allwinner/devices/H6/patches/linux/17-Add-GPU-operating-points-for-H6.patch new file mode 100644 index 0000000000..5dbe3bf060 --- /dev/null +++ b/projects/Allwinner/devices/H6/patches/linux/17-Add-GPU-operating-points-for-H6.patch @@ -0,0 +1,125 @@ +From patchwork Wed May 29 15:32:55 2019 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 8bit +Subject: arm64: dts: allwinner: Add GPU operating points for H6 +X-Patchwork-Submitter: Tomeu Vizoso +X-Patchwork-Id: 165375 +Message-Id: <20190529153255.40038-1-tomeu.vizoso@collabora.com> +To: linux-kernel@vger.kernel.org +Cc: Tomeu Vizoso , =?utf-8?b?Q2zDqW1lbnQgUMOp?= + =?utf-8?q?ron?= , + Maxime Ripard , Chen-Yu Tsai , + Rob Herring , Mark Rutland , + linux-arm-kernel@lists.infradead.org (moderated list:ARM/Allwinner + sunXi SoC support), devicetree@vger.kernel.org (open list:OPEN + FIRMWARE AND FLATTENED DEVICE TREE BINDINGS) +Date: Wed, 29 May 2019 17:32:55 +0200 +From: Tomeu Vizoso +List-Id: + +The GPU driver needs them to change the clock frequency and regulator +voltage depending on the load. + +Signed-off-by: Tomeu Vizoso +Cc: Clément Péron + +--- + +Feel free to pick up this patch if you are going to keep pushing this +series forward. + +Thanks, + +Tomeu +--- + arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 66 ++++++++++++++++++++ + 1 file changed, 66 insertions(+) + +-- +2.20.1 + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi +index 6aad06095c40..decf7b56e2df 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi +@@ -157,6 +157,71 @@ + allwinner,sram = <&ve_sram 1>; + }; + ++ gpu_opp_table: opp-table2 { ++ compatible = "operating-points-v2"; ++ ++ opp00 { ++ opp-hz = /bits/ 64 <756000000>; ++ opp-microvolt = <1040000>; ++ }; ++ opp01 { ++ opp-hz = /bits/ 64 <624000000>; ++ opp-microvolt = <950000>; ++ }; ++ opp02 { ++ opp-hz = /bits/ 64 <576000000>; ++ opp-microvolt = <930000>; ++ }; ++ opp03 { ++ opp-hz = /bits/ 64 <540000000>; ++ opp-microvolt = <910000>; ++ }; ++ opp04 { ++ opp-hz = /bits/ 64 <504000000>; ++ opp-microvolt = <890000>; ++ }; ++ opp05 { ++ opp-hz = /bits/ 64 <456000000>; ++ opp-microvolt = <870000>; ++ }; ++ opp06 { ++ opp-hz = /bits/ 64 <432000000>; ++ opp-microvolt = <860000>; ++ }; ++ opp07 { ++ opp-hz = /bits/ 64 <420000000>; ++ opp-microvolt = <850000>; ++ }; ++ opp08 { ++ opp-hz = /bits/ 64 <408000000>; ++ opp-microvolt = <840000>; ++ }; ++ opp09 { ++ opp-hz = /bits/ 64 <384000000>; ++ opp-microvolt = <830000>; ++ }; ++ opp10 { ++ opp-hz = /bits/ 64 <360000000>; ++ opp-microvolt = <820000>; ++ }; ++ opp11 { ++ opp-hz = /bits/ 64 <336000000>; ++ opp-microvolt = <810000>; ++ }; ++ opp12 { ++ opp-hz = /bits/ 64 <312000000>; ++ opp-microvolt = <810000>; ++ }; ++ opp13 { ++ opp-hz = /bits/ 64 <264000000>; ++ opp-microvolt = <810000>; ++ }; ++ opp14 { ++ opp-hz = /bits/ 64 <216000000>; ++ opp-microvolt = <810000>; ++ }; ++ }; ++ + gpu: gpu@1800000 { + compatible = "allwinner,sun50i-h6-mali", + "arm,mali-t720"; +@@ -168,6 +233,7 @@ + clocks = <&ccu CLK_GPU>, <&ccu CLK_BUS_GPU>; + clock-names = "core", "bus"; + resets = <&ccu RST_BUS_GPU>; ++ operating-points-v2 = <&gpu_opp_table>; + status = "disabled"; + }; +