mirror of
https://github.com/LibreELEC/LibreELEC.tv
synced 2025-09-24 19:46:01 +07:00
89 lines
2.5 KiB
Diff
89 lines
2.5 KiB
Diff
From 7c979b574c428a062ddaec3a916104ce65043c87 Mon Sep 17 00:00:00 2001
|
|
From: Alex Bee <knaerzche@gmail.com>
|
|
Date: Wed, 2 Sep 2020 19:52:02 +0200
|
|
Subject: [PATCH 027/110] FROMGIT(6.18): arm64: dts: rockchip: add GPU
|
|
powerdomain, opps, and cooling to rk3328
|
|
|
|
Add GPU powerdomain, opp-table, and cooling map nodes for the Mali
|
|
GPU on the RK3328 SoC. Opp-table frequencies are sourced from the
|
|
Rockchip Linux v4.4 vendor kernel while voltages have been derived
|
|
from practical use and support work: keeping voltage above 1075mV
|
|
and disabling the 500MHz opp-point avoids instability and crashes.
|
|
|
|
Signed-off-by: Alex Bee <knaerzche@gmail.com>
|
|
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
|
---
|
|
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 39 +++++++++++++++++++++++-
|
|
1 file changed, 38 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
|
index 6438c969f9d7..cc93136422c1 100644
|
|
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
|
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
|
@@ -331,6 +331,11 @@ power: power-controller {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
+ power-domain@RK3328_PD_GPU {
|
|
+ reg = <RK3328_PD_GPU>;
|
|
+ clocks = <&cru ACLK_GPU>;
|
|
+ #power-domain-cells = <0>;
|
|
+ };
|
|
power-domain@RK3328_PD_HEVC {
|
|
reg = <RK3328_PD_HEVC>;
|
|
clocks = <&cru SCLK_VENC_CORE>;
|
|
@@ -570,9 +575,13 @@ map0 {
|
|
<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
|
contribution = <4096>;
|
|
};
|
|
+ map1 {
|
|
+ trip = <&target>;
|
|
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
|
+ contribution = <4096>;
|
|
+ };
|
|
};
|
|
};
|
|
-
|
|
};
|
|
|
|
tsadc: tsadc@ff250000 {
|
|
@@ -651,7 +660,35 @@ gpu: gpu@ff300000 {
|
|
"ppmmu1";
|
|
clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>;
|
|
clock-names = "bus", "core";
|
|
+ operating-points-v2 = <&gpu_opp_table>;
|
|
+ power-domains = <&power RK3328_PD_GPU>;
|
|
resets = <&cru SRST_GPU_A>;
|
|
+ #cooling-cells = <2>;
|
|
+ };
|
|
+
|
|
+ gpu_opp_table: gpu-opp-table {
|
|
+ compatible = "operating-points-v2";
|
|
+ opp-200000000 {
|
|
+ opp-hz = /bits/ 64 <200000000>;
|
|
+ opp-microvolt = <1075000>;
|
|
+ };
|
|
+
|
|
+ opp-300000000 {
|
|
+ opp-hz = /bits/ 64 <300000000>;
|
|
+ opp-microvolt = <1075000>;
|
|
+ };
|
|
+
|
|
+ opp-400000000 {
|
|
+ opp-hz = /bits/ 64 <400000000>;
|
|
+ opp-microvolt = <1075000>;
|
|
+ };
|
|
+
|
|
+ opp-500000000 {
|
|
+ /* causes stability issues */
|
|
+ opp-hz = /bits/ 64 <500000000>;
|
|
+ opp-microvolt = <1150000>;
|
|
+ status = "disabled";
|
|
+ };
|
|
};
|
|
|
|
h265e_mmu: iommu@ff330200 {
|
|
--
|
|
2.34.1
|
|
|