From: Sven Peter <sven@kernel.org>
To: Mark Rutland <mark.rutland@arm.com>,
Lorenzo Pieralisi <lpieralisi@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Ard Biesheuvel <ardb@kernel.org>,
Ilias Apalodimas <ilias.apalodimas@linaro.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>,
Sudeep Holla <sudeep.holla@kernel.org>,
Janne Grunau <j@jannau.net>, Neal Gompa <neal@gompa.dev>
Cc: linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org,
asahi@lists.linux.dev, Sven Peter <sven@kernel.org>
Subject: [PATCH RFC 6/6] arm64: dts: apple: t8103: Add PSCI and CPU idle states
Date: Wed, 08 Jul 2026 09:15:42 +0200 [thread overview]
Message-ID: <20260708-efi-psci-v1-6-9efb3abf0e4c@kernel.org> (raw)
In-Reply-To: <20260708-efi-psci-v1-0-9efb3abf0e4c@kernel.org>
Switch the base M1 from spin-table to PSCI and also add two basic idle
states that we support for now.
Signed-off-by: Sven Peter <sven@kernel.org>
---
arch/arm64/boot/dts/apple/t8103.dtsi | 51 ++++++++++++++++++++++++++++++------
1 file changed, 43 insertions(+), 8 deletions(-)
diff --git a/arch/arm64/boot/dts/apple/t8103.dtsi b/arch/arm64/boot/dts/apple/t8103.dtsi
index da774096b667..3dbcaa698a90 100644
--- a/arch/arm64/boot/dts/apple/t8103.dtsi
+++ b/arch/arm64/boot/dts/apple/t8103.dtsi
@@ -24,6 +24,11 @@ aliases {
gpu = &gpu;
};
+ psci {
+ compatible = "arm,psci-1.0";
+ method = "efi";
+ };
+
cpus {
#address-cells = <2>;
#size-cells = <0>;
@@ -64,7 +69,8 @@ cpu_e0: cpu@0 {
compatible = "apple,icestorm";
device_type = "cpu";
reg = <0x0 0x0>;
- enable-method = "spin-table";
+ enable-method = "psci";
+ cpu-idle-states = <&cpu_retention_wfi &cpu_deep_wfi>;
cpu-release-addr = <0 0>; /* To be filled by loader */
operating-points-v2 = <&ecluster_opp>;
capacity-dmips-mhz = <714>;
@@ -78,7 +84,8 @@ cpu_e1: cpu@1 {
compatible = "apple,icestorm";
device_type = "cpu";
reg = <0x0 0x1>;
- enable-method = "spin-table";
+ enable-method = "psci";
+ cpu-idle-states = <&cpu_retention_wfi &cpu_deep_wfi>;
cpu-release-addr = <0 0>; /* To be filled by loader */
operating-points-v2 = <&ecluster_opp>;
capacity-dmips-mhz = <714>;
@@ -92,7 +99,8 @@ cpu_e2: cpu@2 {
compatible = "apple,icestorm";
device_type = "cpu";
reg = <0x0 0x2>;
- enable-method = "spin-table";
+ enable-method = "psci";
+ cpu-idle-states = <&cpu_retention_wfi &cpu_deep_wfi>;
cpu-release-addr = <0 0>; /* To be filled by loader */
operating-points-v2 = <&ecluster_opp>;
capacity-dmips-mhz = <714>;
@@ -106,7 +114,8 @@ cpu_e3: cpu@3 {
compatible = "apple,icestorm";
device_type = "cpu";
reg = <0x0 0x3>;
- enable-method = "spin-table";
+ enable-method = "psci";
+ cpu-idle-states = <&cpu_retention_wfi &cpu_deep_wfi>;
cpu-release-addr = <0 0>; /* To be filled by loader */
operating-points-v2 = <&ecluster_opp>;
capacity-dmips-mhz = <714>;
@@ -120,7 +129,8 @@ cpu_p0: cpu@10100 {
compatible = "apple,firestorm";
device_type = "cpu";
reg = <0x0 0x10100>;
- enable-method = "spin-table";
+ enable-method = "psci";
+ cpu-idle-states = <&cpu_retention_wfi &cpu_deep_wfi>;
cpu-release-addr = <0 0>; /* To be filled by loader */
operating-points-v2 = <&pcluster_opp>;
capacity-dmips-mhz = <1024>;
@@ -134,7 +144,8 @@ cpu_p1: cpu@10101 {
compatible = "apple,firestorm";
device_type = "cpu";
reg = <0x0 0x10101>;
- enable-method = "spin-table";
+ enable-method = "psci";
+ cpu-idle-states = <&cpu_retention_wfi &cpu_deep_wfi>;
cpu-release-addr = <0 0>; /* To be filled by loader */
operating-points-v2 = <&pcluster_opp>;
capacity-dmips-mhz = <1024>;
@@ -148,7 +159,8 @@ cpu_p2: cpu@10102 {
compatible = "apple,firestorm";
device_type = "cpu";
reg = <0x0 0x10102>;
- enable-method = "spin-table";
+ enable-method = "psci";
+ cpu-idle-states = <&cpu_retention_wfi &cpu_deep_wfi>;
cpu-release-addr = <0 0>; /* To be filled by loader */
operating-points-v2 = <&pcluster_opp>;
capacity-dmips-mhz = <1024>;
@@ -162,7 +174,8 @@ cpu_p3: cpu@10103 {
compatible = "apple,firestorm";
device_type = "cpu";
reg = <0x0 0x10103>;
- enable-method = "spin-table";
+ enable-method = "psci";
+ cpu-idle-states = <&cpu_retention_wfi &cpu_deep_wfi>;
cpu-release-addr = <0 0>; /* To be filled by loader */
operating-points-v2 = <&pcluster_opp>;
capacity-dmips-mhz = <1024>;
@@ -185,6 +198,28 @@ l2_cache_1: l2-cache-1 {
cache-unified;
cache-size = <0xc00000>;
};
+
+ idle-states {
+ entry-method = "psci";
+
+ cpu_retention_wfi: cpu-retention-wfi {
+ compatible = "arm,idle-state";
+ idle-state-name = "wfi";
+ arm,psci-suspend-param = <0x00000000>;
+ entry-latency-us = <1>;
+ exit-latency-us = <1>;
+ min-residency-us = <1>;
+ };
+
+ cpu_deep_wfi: cpu-deep-wfi {
+ compatible = "arm,idle-state";
+ idle-state-name = "deep-wfi";
+ arm,psci-suspend-param = <0x00000001>;
+ entry-latency-us = <5>;
+ exit-latency-us = <5>;
+ min-residency-us = <10000>;
+ };
+ };
};
ecluster_opp: opp-table-0 {
--
2.55.0
next prev parent reply other threads:[~2026-07-08 7:16 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-08 7:15 [PATCH RFC 0/6] PSCI-via-EFI to support firmware and kernel sharing EL2 for Apple Silicon Sven Peter
2026-07-08 7:15 ` [PATCH RFC 1/6] dt-bindings: arm: psci: Add EFI conduit Sven Peter
2026-07-08 7:15 ` [PATCH RFC 2/6] arm64/efi: Add and parse custom PSCI EFI configuration table Sven Peter
2026-07-08 7:39 ` sashiko-bot
2026-07-08 7:15 ` [PATCH RFC 3/6] efi: Add EFI_MEMORY_ISA_{MASK,VALID} Sven Peter
2026-07-08 7:25 ` sashiko-bot
2026-07-08 7:15 ` [PATCH RFC 4/6] arm64/efi: Honor EFI_MEMORY_ISA_MASK for Device-nGnRnE vs -nGnRE Sven Peter
2026-07-08 7:33 ` sashiko-bot
2026-07-08 7:15 ` [PATCH RFC 5/6] firmware/psci: Add EFI runtime conduit Sven Peter
2026-07-08 7:46 ` sashiko-bot
2026-07-08 7:15 ` Sven Peter [this message]
2026-07-08 7:48 ` [PATCH RFC 6/6] arm64: dts: apple: t8103: Add PSCI and CPU idle states sashiko-bot
2026-09-03 11:34 ` [PATCH RFC 0/6] PSCI-via-EFI to support firmware and kernel sharing EL2 for Apple Silicon Ard Biesheuvel
2026-09-03 11:42 ` Mark Rutland
2026-09-03 12:15 ` Will Deacon
2026-09-03 13:25 ` Ard Biesheuvel
2026-09-03 16:26 ` Sven Peter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260708-efi-psci-v1-6-9efb3abf0e4c@kernel.org \
--to=sven@kernel.org \
--cc=ardb@kernel.org \
--cc=asahi@lists.linux.dev \
--cc=catalin.marinas@arm.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=ilias.apalodimas@linaro.org \
--cc=j@jannau.net \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-efi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=mark.rutland@arm.com \
--cc=neal@gompa.dev \
--cc=robh@kernel.org \
--cc=sudeep.holla@kernel.org \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.