diff options
| author | Mark Brown <broonie@kernel.org> | 2026-05-29 18:08:39 +0100 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-05-29 18:08:39 +0100 |
| commit | 60bc9798817d193e25563913623b3b083ac996c3 (patch) | |
| tree | f1a97f0dce5dc2268d4556a87481371aac092f46 /arch | |
| parent | a9159e17859c5317227e146c5ae9dd7500a1c02e (diff) | |
| parent | a0cffbd8878c55b12dc4555f883adf3372cecd91 (diff) | |
| download | linux-next-history-60bc9798817d193e25563913623b3b083ac996c3.tar.gz | |
Merge branch 'for-next' of https://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/cix.git
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/arm64/boot/dts/cix/sky1-power.h | 13 | ||||
| -rw-r--r-- | arch/arm64/boot/dts/cix/sky1.dtsi | 70 |
2 files changed, 83 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/cix/sky1-power.h b/arch/arm64/boot/dts/cix/sky1-power.h index 53f4a3af36b39..144567579b719 100644 --- a/arch/arm64/boot/dts/cix/sky1-power.h +++ b/arch/arm64/boot/dts/cix/sky1-power.h @@ -30,4 +30,17 @@ #define SKY1_PD_ISP0 20 #define SKY1_PD_GPU 21 +#define SKY1_PERF_GPU_CORE 0 +#define SKY1_PERF_GPU_TOP 1 +#define SKY1_PERF_CPU_L 2 +#define SKY1_PERF_CPU_B0 3 +#define SKY1_PERF_CPU_B1 4 +#define SKY1_PERF_CPU_M0 5 +#define SKY1_PERF_CPU_M1 6 +#define SKY1_PERF_DSU 7 +#define SKY1_PERF_NPU 8 +#define SKY1_PERF_VPU 9 +#define SKY1_PERF_CI700 10 +#define SKY1_PERF_NI700 11 + #endif diff --git a/arch/arm64/boot/dts/cix/sky1.dtsi b/arch/arm64/boot/dts/cix/sky1.dtsi index bb5cfb1f21133..a77c52296ebd3 100644 --- a/arch/arm64/boot/dts/cix/sky1.dtsi +++ b/arch/arm64/boot/dts/cix/sky1.dtsi @@ -22,7 +22,10 @@ enable-method = "psci"; reg = <0x0 0x0>; device_type = "cpu"; + power-domains = <&scmi_dvfs SKY1_PERF_CPU_L>; + power-domain-names = "perf"; capacity-dmips-mhz = <403>; + cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; }; cpu1: cpu@100 { @@ -30,7 +33,10 @@ enable-method = "psci"; reg = <0x0 0x100>; device_type = "cpu"; + power-domains = <&scmi_dvfs SKY1_PERF_CPU_L>; + power-domain-names = "perf"; capacity-dmips-mhz = <403>; + cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; }; cpu2: cpu@200 { @@ -38,7 +44,10 @@ enable-method = "psci"; reg = <0x0 0x200>; device_type = "cpu"; + power-domains = <&scmi_dvfs SKY1_PERF_CPU_L>; + power-domain-names = "perf"; capacity-dmips-mhz = <403>; + cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; }; cpu3: cpu@300 { @@ -46,7 +55,10 @@ enable-method = "psci"; reg = <0x0 0x300>; device_type = "cpu"; + power-domains = <&scmi_dvfs SKY1_PERF_CPU_L>; + power-domain-names = "perf"; capacity-dmips-mhz = <403>; + cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; }; cpu4: cpu@400 { @@ -54,7 +66,10 @@ enable-method = "psci"; reg = <0x0 0x400>; device_type = "cpu"; + power-domains = <&scmi_dvfs SKY1_PERF_CPU_M0>; + power-domain-names = "perf"; capacity-dmips-mhz = <1024>; + cpu-idle-states = <&CPU_SLEEP_1 &CLUSTER_SLEEP_0>; }; cpu5: cpu@500 { @@ -62,7 +77,10 @@ enable-method = "psci"; reg = <0x0 0x500>; device_type = "cpu"; + power-domains = <&scmi_dvfs SKY1_PERF_CPU_M0>; + power-domain-names = "perf"; capacity-dmips-mhz = <1024>; + cpu-idle-states = <&CPU_SLEEP_1 &CLUSTER_SLEEP_0>; }; cpu6: cpu@600 { @@ -70,7 +88,10 @@ enable-method = "psci"; reg = <0x0 0x600>; device_type = "cpu"; + power-domains = <&scmi_dvfs SKY1_PERF_CPU_M1>; + power-domain-names = "perf"; capacity-dmips-mhz = <1024>; + cpu-idle-states = <&CPU_SLEEP_1 &CLUSTER_SLEEP_0>; }; cpu7: cpu@700 { @@ -78,7 +99,10 @@ enable-method = "psci"; reg = <0x0 0x700>; device_type = "cpu"; + power-domains = <&scmi_dvfs SKY1_PERF_CPU_M1>; + power-domain-names = "perf"; capacity-dmips-mhz = <1024>; + cpu-idle-states = <&CPU_SLEEP_1 &CLUSTER_SLEEP_0>; }; cpu8: cpu@800 { @@ -86,7 +110,10 @@ enable-method = "psci"; reg = <0x0 0x800>; device_type = "cpu"; + power-domains = <&scmi_dvfs SKY1_PERF_CPU_B0>; + power-domain-names = "perf"; capacity-dmips-mhz = <1024>; + cpu-idle-states = <&CPU_SLEEP_1 &CLUSTER_SLEEP_0>; }; cpu9: cpu@900 { @@ -94,7 +121,10 @@ enable-method = "psci"; reg = <0x0 0x900>; device_type = "cpu"; + power-domains = <&scmi_dvfs SKY1_PERF_CPU_B0>; + power-domain-names = "perf"; capacity-dmips-mhz = <1024>; + cpu-idle-states = <&CPU_SLEEP_1 &CLUSTER_SLEEP_0>; }; cpu10: cpu@a00 { @@ -102,7 +132,10 @@ enable-method = "psci"; reg = <0x0 0xa00>; device_type = "cpu"; + power-domains = <&scmi_dvfs SKY1_PERF_CPU_B1>; + power-domain-names = "perf"; capacity-dmips-mhz = <1024>; + cpu-idle-states = <&CPU_SLEEP_1 &CLUSTER_SLEEP_0>; }; cpu11: cpu@b00 { @@ -110,7 +143,10 @@ enable-method = "psci"; reg = <0x0 0xb00>; device_type = "cpu"; + power-domains = <&scmi_dvfs SKY1_PERF_CPU_B1>; + power-domain-names = "perf"; capacity-dmips-mhz = <1024>; + cpu-idle-states = <&CPU_SLEEP_1 &CLUSTER_SLEEP_0>; }; cpu-map { @@ -153,6 +189,35 @@ }; }; }; + + idle-states { + CPU_SLEEP_0: cpu-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x0010000>; + local-timer-stop; + entry-latency-us = <34>; + exit-latency-us = <100>; + min-residency-us = <3000>; + }; + + CPU_SLEEP_1: cpu-sleep-1 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x0010000>; + local-timer-stop; + entry-latency-us = <31>; + exit-latency-us = <79>; + min-residency-us = <3000>; + }; + + CLUSTER_SLEEP_0: cluster-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x1010000>; + local-timer-stop; + entry-latency-us = <41>; + exit-latency-us = <104>; + min-residency-us = <4000>; + }; + }; }; firmware { @@ -164,6 +229,11 @@ #address-cells = <1>; #size-cells = <0>; + scmi_dvfs: protocol@13 { + reg = <0x13>; + #power-domain-cells = <1>; + }; + scmi_clk: protocol@14 { reg = <0x14>; #clock-cells = <1>; |
