Skip to content

Commit 35e5668

Browse files
hoshinolinamarcan
authored andcommitted
arm64: dts: apple: Add T602x GPU node
Signed-off-by: Asahi Lina <lina@asahilina.net>
1 parent 4693663 commit 35e5668

4 files changed

Lines changed: 139 additions & 1 deletion

File tree

arch/arm64/boot/dts/apple/t6020.dtsi

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,11 @@
2121

2222
&gpu {
2323
compatible = "apple,agx-t6020", "apple,agx-g14x";
24+
25+
apple,avg-power-filter-tc-ms = <302>;
26+
apple,avg-power-ki-only = <2.6375>;
27+
apple,avg-power-kp = <0.18>;
28+
apple,fast-die0-integral-gain = <1350.0>;
29+
apple,ppm-filter-time-constant-ms = <32>;
30+
apple,ppm-ki = <28.0>;
2431
};

arch/arm64/boot/dts/apple/t6021.dtsi

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
#ifndef GPU_REPEAT
2020
# define GPU_REPEAT(x) <x x x x>
2121
#endif
22+
#ifndef GPU_DIE_REPEAT
23+
# define GPU_DIE_REPEAT(x) <x>
24+
#endif
2225

2326
#include "t602x-common.dtsi"
2427

@@ -90,4 +93,11 @@
9093

9194
&gpu {
9295
compatible = "apple,agx-t6021", "apple,agx-g14x";
96+
97+
apple,avg-power-filter-tc-ms = <300>;
98+
apple,avg-power-ki-only = <1.5125>;
99+
apple,avg-power-kp = <0.38>;
100+
apple,fast-die0-integral-gain = <700.0>;
101+
apple,ppm-filter-time-constant-ms = <34>;
102+
apple,ppm-ki = <18.0>;
93103
};

arch/arm64/boot/dts/apple/t602x-common.dtsi

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
#address-cells = <2>;
1010
#size-cells = <2>;
1111

12+
aliases {
13+
gpu = &gpu;
14+
};
15+
1216
cpus {
1317
#address-cells = <2>;
1418
#size-cells = <0>;
@@ -434,6 +438,80 @@
434438
};
435439
};
436440

441+
gpu_cs_opp: opp-table-gpu-cs {
442+
compatible = "operating-points-v2";
443+
444+
/*
445+
* NOTE: The voltage and power values are device-specific and
446+
* must be filled in by the bootloader.
447+
*/
448+
opp00 {
449+
opp-hz = /bits/ 64 <24>;
450+
opp-microvolt = GPU_DIE_REPEAT(668000);
451+
};
452+
opp01 {
453+
opp-hz = /bits/ 64 <444000000>;
454+
opp-microvolt = GPU_DIE_REPEAT(668000);
455+
};
456+
opp02 {
457+
opp-hz = /bits/ 64 <612000000>;
458+
opp-microvolt = GPU_DIE_REPEAT(678000);
459+
};
460+
opp03 {
461+
opp-hz = /bits/ 64 <808000000>;
462+
opp-microvolt = GPU_DIE_REPEAT(737000);
463+
};
464+
opp04 {
465+
opp-hz = /bits/ 64 <1024000000>;
466+
opp-microvolt = GPU_DIE_REPEAT(815000);
467+
};
468+
opp05 {
469+
opp-hz = /bits/ 64 <1140000000>;
470+
opp-microvolt = GPU_DIE_REPEAT(862000);
471+
};
472+
opp06 {
473+
opp-hz = /bits/ 64 <1236000000>;
474+
opp-microvolt = GPU_DIE_REPEAT(893000);
475+
};
476+
};
477+
478+
gpu_afr_opp: opp-table-gpu-afr {
479+
compatible = "operating-points-v2";
480+
481+
/*
482+
* NOTE: The voltage and power values are device-specific and
483+
* must be filled in by the bootloader.
484+
*/
485+
opp00 {
486+
opp-hz = /bits/ 64 <24>;
487+
opp-microvolt = GPU_DIE_REPEAT(668000);
488+
};
489+
opp01 {
490+
opp-hz = /bits/ 64 <400000000>;
491+
opp-microvolt = GPU_DIE_REPEAT(668000);
492+
};
493+
opp02 {
494+
opp-hz = /bits/ 64 <552000000>;
495+
opp-microvolt = GPU_DIE_REPEAT(678000);
496+
};
497+
opp03 {
498+
opp-hz = /bits/ 64 <760000000>;
499+
opp-microvolt = GPU_DIE_REPEAT(737000);
500+
};
501+
opp04 {
502+
opp-hz = /bits/ 64 <980000000>;
503+
opp-microvolt = GPU_DIE_REPEAT(815000);
504+
};
505+
opp05 {
506+
opp-hz = /bits/ 64 <1098000000>;
507+
opp-microvolt = GPU_DIE_REPEAT(862000);
508+
};
509+
opp06 {
510+
opp-hz = /bits/ 64 <1200000000>;
511+
opp-microvolt = GPU_DIE_REPEAT(893000);
512+
};
513+
};
514+
437515
pmu-e {
438516
compatible = "apple,blizzard-pmu";
439517
interrupt-parent = <&aic>;

arch/arm64/boot/dts/apple/t602x-die0.dtsi

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -592,8 +592,51 @@
592592
apple,firmware-compat = <0 0 0>;
593593

594594
operating-points-v2 = <&gpu_opp>;
595-
/* TODO perf stuff */
595+
apple,cs-opp = <&gpu_cs_opp>;
596+
apple,afr-opp = <&gpu_afr_opp>;
597+
598+
apple,min-sram-microvolt = <790000>;
599+
apple,csafr-min-sram-microvolt = <812000>;
596600
apple,perf-base-pstate = <1>;
601+
602+
apple,avg-power-min-duty-cycle = <40>;
603+
apple,avg-power-target-filter-tc = <1>;
604+
apple,fast-die0-proportional-gain = <34.0>;
605+
apple,perf-boost-ce-step = <50>;
606+
apple,perf-boost-min-util = <90>;
607+
apple,perf-filter-drop-threshold = <0>;
608+
apple,perf-filter-time-constant = <5>;
609+
apple,perf-filter-time-constant2 = <200>;
610+
apple,perf-integral-gain = <1.62>;
611+
apple,perf-integral-gain2 = <1.62>;
612+
apple,perf-integral-min-clamp = <0>;
613+
apple,perf-proportional-gain2 = <5.4>;
614+
apple,perf-proportional-gain = <5.4>;
615+
apple,perf-tgt-utilization = <85>;
616+
apple,power-sample-period = <8>;
617+
apple,ppm-filter-time-constant-ms = <34>;
618+
apple,ppm-ki = <18.0>;
619+
apple,ppm-kp = <0.1>;
620+
apple,pwr-filter-time-constant = <313>;
621+
apple,pwr-integral-gain = <0.0202129>;
622+
apple,pwr-integral-min-clamp = <0>;
623+
apple,pwr-min-duty-cycle = <40>;
624+
apple,pwr-proportional-gain = <5.2831855>;
625+
apple,pwr-sample-period-aic-clks = <200000>;
626+
apple,se-engagement-criteria = <700>;
627+
apple,se-filter-time-constant = <9>;
628+
apple,se-filter-time-constant-1 = <3>;
629+
apple,se-inactive-threshold = <2500>;
630+
apple,se-ki = <-50.0>;
631+
apple,se-ki-1 = <-100.0>;
632+
apple,se-kp = <-5.0>;
633+
apple,se-kp-1 = <-10.0>;
634+
apple,se-reset-criteria = <50>;
635+
636+
apple,core-leak-coef = GPU_REPEAT(1200.0);
637+
apple,sram-leak-coef = GPU_REPEAT(20.0);
638+
apple,cs-leak-coef = GPU_DIE_REPEAT(400.0);
639+
apple,afr-leak-coef = GPU_DIE_REPEAT(200.0);
597640
};
598641

599642
agx_mbox: mbox@406408000 {

0 commit comments

Comments
 (0)