mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-21 14:37:57 +00:00
178 lines
4.8 KiB
Diff
178 lines
4.8 KiB
Diff
|
From a7b2070505a2a09ea65fa0c8c480c97f62d1978d Mon Sep 17 00:00:00 2001
|
||
|
From: Alexey Charkov <alchark@gmail.com>
|
||
|
Date: Mon, 17 Jun 2024 22:28:58 +0400
|
||
|
Subject: [PATCH] arm64: dts: rockchip: Split GPU OPPs of RK3588 and RK3588j
|
||
|
|
||
|
RK3588j uses a different set of OPPs for its GPU, both in terms of
|
||
|
allowed frequencies and in terms of voltages.
|
||
|
|
||
|
Move the GPU OPPs table into per-variant .dtsi files to accommodate
|
||
|
for this difference.
|
||
|
|
||
|
The table for RK3588j is adapted from Rockchip downstream sources [1],
|
||
|
while RK3588 one is moved verbatim into the per-variant .dtsi file.
|
||
|
The values provided for RK3588 in the downstream sources match those
|
||
|
in the original commit.
|
||
|
|
||
|
[1] https://github.com/rockchip-linux/kernel/blob/604cec4004abe5a96c734f2fab7b74809d2d742f/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
|
||
|
|
||
|
Fixes: 6fca4edb93d3 ("arm64: dts: rockchip: Add rk3588 GPU node")
|
||
|
Signed-off-by: Alexey Charkov <alchark@gmail.com>
|
||
|
Link: https://lore.kernel.org/r/20240617-rk-dts-additions-v5-8-c1f5f3267f1e@gmail.com
|
||
|
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||
|
---
|
||
|
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 38 -----------------
|
||
|
arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi | 41 +++++++++++++++++++
|
||
|
arch/arm64/boot/dts/rockchip/rk3588j.dtsi | 33 +++++++++++++++
|
||
|
3 files changed, 74 insertions(+), 38 deletions(-)
|
||
|
|
||
|
--- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
|
||
|
+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
|
||
|
@@ -451,46 +451,8 @@
|
||
|
<GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH 0>,
|
||
|
<GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH 0>;
|
||
|
interrupt-names = "job", "mmu", "gpu";
|
||
|
- operating-points-v2 = <&gpu_opp_table>;
|
||
|
power-domains = <&power RK3588_PD_GPU>;
|
||
|
status = "disabled";
|
||
|
-
|
||
|
- gpu_opp_table: opp-table {
|
||
|
- compatible = "operating-points-v2";
|
||
|
-
|
||
|
- opp-300000000 {
|
||
|
- opp-hz = /bits/ 64 <300000000>;
|
||
|
- opp-microvolt = <675000 675000 850000>;
|
||
|
- };
|
||
|
- opp-400000000 {
|
||
|
- opp-hz = /bits/ 64 <400000000>;
|
||
|
- opp-microvolt = <675000 675000 850000>;
|
||
|
- };
|
||
|
- opp-500000000 {
|
||
|
- opp-hz = /bits/ 64 <500000000>;
|
||
|
- opp-microvolt = <675000 675000 850000>;
|
||
|
- };
|
||
|
- opp-600000000 {
|
||
|
- opp-hz = /bits/ 64 <600000000>;
|
||
|
- opp-microvolt = <675000 675000 850000>;
|
||
|
- };
|
||
|
- opp-700000000 {
|
||
|
- opp-hz = /bits/ 64 <700000000>;
|
||
|
- opp-microvolt = <700000 700000 850000>;
|
||
|
- };
|
||
|
- opp-800000000 {
|
||
|
- opp-hz = /bits/ 64 <800000000>;
|
||
|
- opp-microvolt = <750000 750000 850000>;
|
||
|
- };
|
||
|
- opp-900000000 {
|
||
|
- opp-hz = /bits/ 64 <900000000>;
|
||
|
- opp-microvolt = <800000 800000 850000>;
|
||
|
- };
|
||
|
- opp-1000000000 {
|
||
|
- opp-hz = /bits/ 64 <1000000000>;
|
||
|
- opp-microvolt = <850000 850000 850000>;
|
||
|
- };
|
||
|
- };
|
||
|
};
|
||
|
|
||
|
usb_host0_xhci: usb@fc000000 {
|
||
|
--- a/arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi
|
||
|
+++ b/arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi
|
||
|
@@ -114,6 +114,43 @@
|
||
|
clock-latency-ns = <40000>;
|
||
|
};
|
||
|
};
|
||
|
+
|
||
|
+ gpu_opp_table: opp-table {
|
||
|
+ compatible = "operating-points-v2";
|
||
|
+
|
||
|
+ opp-300000000 {
|
||
|
+ opp-hz = /bits/ 64 <300000000>;
|
||
|
+ opp-microvolt = <675000 675000 850000>;
|
||
|
+ };
|
||
|
+ opp-400000000 {
|
||
|
+ opp-hz = /bits/ 64 <400000000>;
|
||
|
+ opp-microvolt = <675000 675000 850000>;
|
||
|
+ };
|
||
|
+ opp-500000000 {
|
||
|
+ opp-hz = /bits/ 64 <500000000>;
|
||
|
+ opp-microvolt = <675000 675000 850000>;
|
||
|
+ };
|
||
|
+ opp-600000000 {
|
||
|
+ opp-hz = /bits/ 64 <600000000>;
|
||
|
+ opp-microvolt = <675000 675000 850000>;
|
||
|
+ };
|
||
|
+ opp-700000000 {
|
||
|
+ opp-hz = /bits/ 64 <700000000>;
|
||
|
+ opp-microvolt = <700000 700000 850000>;
|
||
|
+ };
|
||
|
+ opp-800000000 {
|
||
|
+ opp-hz = /bits/ 64 <800000000>;
|
||
|
+ opp-microvolt = <750000 750000 850000>;
|
||
|
+ };
|
||
|
+ opp-900000000 {
|
||
|
+ opp-hz = /bits/ 64 <900000000>;
|
||
|
+ opp-microvolt = <800000 800000 850000>;
|
||
|
+ };
|
||
|
+ opp-1000000000 {
|
||
|
+ opp-hz = /bits/ 64 <1000000000>;
|
||
|
+ opp-microvolt = <850000 850000 850000>;
|
||
|
+ };
|
||
|
+ };
|
||
|
};
|
||
|
|
||
|
&cpu_b0 {
|
||
|
@@ -147,3 +184,7 @@
|
||
|
&cpu_l3 {
|
||
|
operating-points-v2 = <&cluster0_opp_table>;
|
||
|
};
|
||
|
+
|
||
|
+&gpu {
|
||
|
+ operating-points-v2 = <&gpu_opp_table>;
|
||
|
+};
|
||
|
--- a/arch/arm64/boot/dts/rockchip/rk3588j.dtsi
|
||
|
+++ b/arch/arm64/boot/dts/rockchip/rk3588j.dtsi
|
||
|
@@ -80,6 +80,35 @@
|
||
|
clock-latency-ns = <40000>;
|
||
|
};
|
||
|
};
|
||
|
+
|
||
|
+ gpu_opp_table: opp-table {
|
||
|
+ compatible = "operating-points-v2";
|
||
|
+
|
||
|
+ opp-300000000 {
|
||
|
+ opp-hz = /bits/ 64 <300000000>;
|
||
|
+ opp-microvolt = <750000 750000 850000>;
|
||
|
+ };
|
||
|
+ opp-400000000 {
|
||
|
+ opp-hz = /bits/ 64 <400000000>;
|
||
|
+ opp-microvolt = <750000 750000 850000>;
|
||
|
+ };
|
||
|
+ opp-500000000 {
|
||
|
+ opp-hz = /bits/ 64 <500000000>;
|
||
|
+ opp-microvolt = <750000 750000 850000>;
|
||
|
+ };
|
||
|
+ opp-600000000 {
|
||
|
+ opp-hz = /bits/ 64 <600000000>;
|
||
|
+ opp-microvolt = <750000 750000 850000>;
|
||
|
+ };
|
||
|
+ opp-700000000 {
|
||
|
+ opp-hz = /bits/ 64 <700000000>;
|
||
|
+ opp-microvolt = <750000 750000 850000>;
|
||
|
+ };
|
||
|
+ opp-850000000 {
|
||
|
+ opp-hz = /bits/ 64 <800000000>;
|
||
|
+ opp-microvolt = <787500 787500 850000>;
|
||
|
+ };
|
||
|
+ };
|
||
|
};
|
||
|
|
||
|
&cpu_b0 {
|
||
|
@@ -113,3 +142,7 @@
|
||
|
&cpu_l3 {
|
||
|
operating-points-v2 = <&cluster0_opp_table>;
|
||
|
};
|
||
|
+
|
||
|
+&gpu {
|
||
|
+ operating-points-v2 = <&gpu_opp_table>;
|
||
|
+};
|