* [PATCH 00/22] Initial device trees for A7-A11 based Apple devices
@ 2024-09-11 8:40 Nick Chan
2024-09-11 8:40 ` [PATCH 01/22] dt-bindings: arm: cpus: Add Apple A7-A11 CPU cores Nick Chan
` (24 more replies)
0 siblings, 25 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:40 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
Hi,
This series adds device trees for all A7-A11 SoC based iPhones, iPads,
iPod touches and Apple TVs.
The following devices has been excluded from this series:
- All T2 devices (A10-based): bootloader does not work (yet)
- HomePod: Not tested, and it's also a different form factor
This series supports the following on all devices:
- SMP (spin-table)
- UART
- simple-framebuffer
- watchdog
- timer
- pinctrl
- AIC interrupts
The following is supported on A7-A10:
- gpio-keys
The buttons on A11 based devices like the iPhone X is a SMC subdevice,
and cannot be supported in this way.
The following is supported on A10:
- cpufreq
A10(X) has performance and efficiency core pairs that act as single logical
cores, and only one type of core can be active at a given time. This results
in a core that suddenly have its capacity lowered in low p-states,
so the frequencies of the low p-states must be adjusted.
Patch dependencies:
- The required AIC patches[1] has been sitting in linux-next since
next-20240906, through the tip tree.
- The important serial fixes[2] will go through the samsung tree and should
be in good shape though those have not been merged.
- The optional patch to disable 32-bit EL0 on A10(X)[3] has not received
any comments (v1 or v2).
Authorship information:
- The commits to actually add the dts files are mostly made by Konard,
and Konard's sign-off is added by me with permission. I also updated the
Konrad's email in the actual dts files. Konrad can confirm this.
- Everything else is entirely made by me, including the cpufreq additions
into the dts file for A10.
[1]: https://lore.kernel.org/asahi/20240901034143.12731-1-towinchenmi@gmail.com
[2]: https://lore.kernel.org/asahi/20240911050741.14477-1-towinchenmi@gmail.com
[3]: https://lore.kernel.org/asahi/20240909091425.16258-1-towinchenmi@gmail.com
Nick Chan
---
Konrad Dybcio (8):
arm64: dts: apple: Add A7 devices
arm64: dts: apple: Add A8 devices
arm64: dts: apple: Add A8X devices
arm64: dts: apple: Add A9 devices
arm64: dts: apple: Add A9X devices
arm64: dts: apple: Add A10 devices
arm64: dts: apple: Add A10X devices
arm64: dts: apple: Add A11 devices
Nick Chan (14):
dt-bindings: arm: cpus: Add Apple A7-A11 CPU cores
dt-bindings: watchdog: apple,wdt: Add A7-A11 compatibles
dt-bindings: cpufreq: apple,cluster-cpufreq: Add A10 compatible
dt-bindings: pinctrl: apple,pinctrl: Add A7-A11 compatibles
dt-bindings: arm: apple: Add A7 devices
dt-bindings: arm: apple: Add A8 devices
dt-bindings: arm: apple: Add A8X devices
dt-bindings: arm: apple: Add A9 devices
dt-bindings: arm: apple: Add A9X devices
dt-bindings: arm: apple: Add A10 devices
dt-bindings: arm: apple: Add A10X devices
dt-bindings: arm: apple: Add A11 devices
arm64: dts: apple: t8010: Add cpufreq nodes
arm64: Kconfig: Update help text for CONFIG_ARCH_APPLE
.../devicetree/bindings/arm/apple.yaml | 160 ++++++++++-
.../devicetree/bindings/arm/cpus.yaml | 6 +
.../cpufreq/apple,cluster-cpufreq.yaml | 4 +-
.../bindings/pinctrl/apple,pinctrl.yaml | 5 +
.../bindings/watchdog/apple,wdt.yaml | 5 +
arch/arm64/Kconfig.platforms | 4 +-
arch/arm64/boot/dts/apple/Makefile | 52 ++++
arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi | 52 ++++
arch/arm64/boot/dts/apple/s5l8960x-air1.dtsi | 52 ++++
arch/arm64/boot/dts/apple/s5l8960x-j71.dts | 14 +
arch/arm64/boot/dts/apple/s5l8960x-j72.dts | 14 +
arch/arm64/boot/dts/apple/s5l8960x-j73.dts | 14 +
arch/arm64/boot/dts/apple/s5l8960x-j85.dts | 14 +
arch/arm64/boot/dts/apple/s5l8960x-j85m.dts | 14 +
arch/arm64/boot/dts/apple/s5l8960x-j86.dts | 14 +
arch/arm64/boot/dts/apple/s5l8960x-j86m.dts | 14 +
arch/arm64/boot/dts/apple/s5l8960x-j87.dts | 14 +
arch/arm64/boot/dts/apple/s5l8960x-j87m.dts | 14 +
arch/arm64/boot/dts/apple/s5l8960x-mini2.dtsi | 52 ++++
arch/arm64/boot/dts/apple/s5l8960x-mini3.dtsi | 13 +
arch/arm64/boot/dts/apple/s5l8960x-n51.dts | 14 +
arch/arm64/boot/dts/apple/s5l8960x-n53.dts | 14 +
arch/arm64/boot/dts/apple/s5l8960x.dtsi | 147 ++++++++++
arch/arm64/boot/dts/apple/s8000-j71s.dts | 15 +
arch/arm64/boot/dts/apple/s8000-j72s.dts | 15 +
arch/arm64/boot/dts/apple/s8000-n66.dts | 15 +
arch/arm64/boot/dts/apple/s8000-n69u.dts | 15 +
arch/arm64/boot/dts/apple/s8000-n71.dts | 15 +
arch/arm64/boot/dts/apple/s8000.dtsi | 179 ++++++++++++
arch/arm64/boot/dts/apple/s8001-j127.dts | 14 +
arch/arm64/boot/dts/apple/s8001-j128.dts | 14 +
arch/arm64/boot/dts/apple/s8001-j98a.dts | 14 +
arch/arm64/boot/dts/apple/s8001-j99a.dts | 14 +
arch/arm64/boot/dts/apple/s8001-pro.dtsi | 45 +++
arch/arm64/boot/dts/apple/s8001.dtsi | 167 +++++++++++
arch/arm64/boot/dts/apple/s8003-j71t.dts | 15 +
arch/arm64/boot/dts/apple/s8003-j72t.dts | 15 +
arch/arm64/boot/dts/apple/s8003-n66m.dts | 15 +
arch/arm64/boot/dts/apple/s8003-n69.dts | 15 +
arch/arm64/boot/dts/apple/s8003-n71m.dts | 15 +
arch/arm64/boot/dts/apple/s8003.dtsi | 19 ++
arch/arm64/boot/dts/apple/s800x-6s.dtsi | 50 ++++
arch/arm64/boot/dts/apple/s800x-ipad5.dtsi | 44 +++
arch/arm64/boot/dts/apple/s800x-se.dtsi | 50 ++++
arch/arm64/boot/dts/apple/t7000-6.dtsi | 50 ++++
arch/arm64/boot/dts/apple/t7000-j42d.dts | 18 ++
arch/arm64/boot/dts/apple/t7000-j96.dts | 14 +
arch/arm64/boot/dts/apple/t7000-j97.dts | 14 +
arch/arm64/boot/dts/apple/t7000-mini4.dtsi | 51 ++++
arch/arm64/boot/dts/apple/t7000-n102.dts | 49 ++++
arch/arm64/boot/dts/apple/t7000-n56.dts | 14 +
arch/arm64/boot/dts/apple/t7000-n61.dts | 14 +
arch/arm64/boot/dts/apple/t7000.dtsi | 147 ++++++++++
arch/arm64/boot/dts/apple/t7001-air2.dtsi | 44 +++
arch/arm64/boot/dts/apple/t7001-j81.dts | 14 +
arch/arm64/boot/dts/apple/t7001-j82.dts | 14 +
arch/arm64/boot/dts/apple/t7001.dtsi | 154 ++++++++++
arch/arm64/boot/dts/apple/t8010-7.dtsi | 45 +++
arch/arm64/boot/dts/apple/t8010-d10.dts | 14 +
arch/arm64/boot/dts/apple/t8010-d101.dts | 14 +
arch/arm64/boot/dts/apple/t8010-d11.dts | 14 +
arch/arm64/boot/dts/apple/t8010-d111.dts | 14 +
arch/arm64/boot/dts/apple/t8010-fast.dtsi | 27 ++
arch/arm64/boot/dts/apple/t8010-ipad6.dtsi | 45 +++
arch/arm64/boot/dts/apple/t8010-ipad7.dtsi | 15 +
arch/arm64/boot/dts/apple/t8010-j171.dts | 14 +
arch/arm64/boot/dts/apple/t8010-j172.dts | 14 +
arch/arm64/boot/dts/apple/t8010-j71b.dts | 14 +
arch/arm64/boot/dts/apple/t8010-j72b.dts | 14 +
arch/arm64/boot/dts/apple/t8010-n112.dts | 48 ++++
arch/arm64/boot/dts/apple/t8010.dtsi | 227 +++++++++++++++
arch/arm64/boot/dts/apple/t8011-j105a.dts | 14 +
arch/arm64/boot/dts/apple/t8011-j120.dts | 14 +
arch/arm64/boot/dts/apple/t8011-j121.dts | 14 +
arch/arm64/boot/dts/apple/t8011-j207.dts | 14 +
arch/arm64/boot/dts/apple/t8011-j208.dts | 14 +
arch/arm64/boot/dts/apple/t8011-pro2.dtsi | 45 +++
arch/arm64/boot/dts/apple/t8011.dtsi | 175 ++++++++++++
arch/arm64/boot/dts/apple/t8015-8.dtsi | 12 +
arch/arm64/boot/dts/apple/t8015-8plus.dtsi | 9 +
arch/arm64/boot/dts/apple/t8015-d20.dts | 14 +
arch/arm64/boot/dts/apple/t8015-d201.dts | 14 +
arch/arm64/boot/dts/apple/t8015-d21.dts | 14 +
arch/arm64/boot/dts/apple/t8015-d211.dts | 14 +
arch/arm64/boot/dts/apple/t8015-d22.dts | 14 +
arch/arm64/boot/dts/apple/t8015-d221.dts | 14 +
arch/arm64/boot/dts/apple/t8015-x.dtsi | 15 +
arch/arm64/boot/dts/apple/t8015.dtsi | 269 ++++++++++++++++++
88 files changed, 3257 insertions(+), 4 deletions(-)
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-air1.dtsi
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j71.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j72.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j73.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j85.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j85m.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j86.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j86m.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j87.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j87m.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-mini2.dtsi
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-mini3.dtsi
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-n51.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-n53.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x.dtsi
create mode 100644 arch/arm64/boot/dts/apple/s8000-j71s.dts
create mode 100644 arch/arm64/boot/dts/apple/s8000-j72s.dts
create mode 100644 arch/arm64/boot/dts/apple/s8000-n66.dts
create mode 100644 arch/arm64/boot/dts/apple/s8000-n69u.dts
create mode 100644 arch/arm64/boot/dts/apple/s8000-n71.dts
create mode 100644 arch/arm64/boot/dts/apple/s8000.dtsi
create mode 100644 arch/arm64/boot/dts/apple/s8001-j127.dts
create mode 100644 arch/arm64/boot/dts/apple/s8001-j128.dts
create mode 100644 arch/arm64/boot/dts/apple/s8001-j98a.dts
create mode 100644 arch/arm64/boot/dts/apple/s8001-j99a.dts
create mode 100644 arch/arm64/boot/dts/apple/s8001-pro.dtsi
create mode 100644 arch/arm64/boot/dts/apple/s8001.dtsi
create mode 100644 arch/arm64/boot/dts/apple/s8003-j71t.dts
create mode 100644 arch/arm64/boot/dts/apple/s8003-j72t.dts
create mode 100644 arch/arm64/boot/dts/apple/s8003-n66m.dts
create mode 100644 arch/arm64/boot/dts/apple/s8003-n69.dts
create mode 100644 arch/arm64/boot/dts/apple/s8003-n71m.dts
create mode 100644 arch/arm64/boot/dts/apple/s8003.dtsi
create mode 100644 arch/arm64/boot/dts/apple/s800x-6s.dtsi
create mode 100644 arch/arm64/boot/dts/apple/s800x-ipad5.dtsi
create mode 100644 arch/arm64/boot/dts/apple/s800x-se.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t7000-6.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t7000-j42d.dts
create mode 100644 arch/arm64/boot/dts/apple/t7000-j96.dts
create mode 100644 arch/arm64/boot/dts/apple/t7000-j97.dts
create mode 100644 arch/arm64/boot/dts/apple/t7000-mini4.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t7000-n102.dts
create mode 100644 arch/arm64/boot/dts/apple/t7000-n56.dts
create mode 100644 arch/arm64/boot/dts/apple/t7000-n61.dts
create mode 100644 arch/arm64/boot/dts/apple/t7000.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t7001-air2.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t7001-j81.dts
create mode 100644 arch/arm64/boot/dts/apple/t7001-j82.dts
create mode 100644 arch/arm64/boot/dts/apple/t7001.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t8010-7.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t8010-d10.dts
create mode 100644 arch/arm64/boot/dts/apple/t8010-d101.dts
create mode 100644 arch/arm64/boot/dts/apple/t8010-d11.dts
create mode 100644 arch/arm64/boot/dts/apple/t8010-d111.dts
create mode 100644 arch/arm64/boot/dts/apple/t8010-fast.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t8010-ipad6.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t8010-ipad7.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t8010-j171.dts
create mode 100644 arch/arm64/boot/dts/apple/t8010-j172.dts
create mode 100644 arch/arm64/boot/dts/apple/t8010-j71b.dts
create mode 100644 arch/arm64/boot/dts/apple/t8010-j72b.dts
create mode 100644 arch/arm64/boot/dts/apple/t8010-n112.dts
create mode 100644 arch/arm64/boot/dts/apple/t8010.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t8011-j105a.dts
create mode 100644 arch/arm64/boot/dts/apple/t8011-j120.dts
create mode 100644 arch/arm64/boot/dts/apple/t8011-j121.dts
create mode 100644 arch/arm64/boot/dts/apple/t8011-j207.dts
create mode 100644 arch/arm64/boot/dts/apple/t8011-j208.dts
create mode 100644 arch/arm64/boot/dts/apple/t8011-pro2.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t8011.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t8015-8.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t8015-8plus.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t8015-d20.dts
create mode 100644 arch/arm64/boot/dts/apple/t8015-d201.dts
create mode 100644 arch/arm64/boot/dts/apple/t8015-d21.dts
create mode 100644 arch/arm64/boot/dts/apple/t8015-d211.dts
create mode 100644 arch/arm64/boot/dts/apple/t8015-d22.dts
create mode 100644 arch/arm64/boot/dts/apple/t8015-d221.dts
create mode 100644 arch/arm64/boot/dts/apple/t8015-x.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t8015.dtsi
base-commit: 6708132e80a2ced620bde9b9c36e426183544a23
--
2.46.0
^ permalink raw reply [flat|nested] 37+ messages in thread
* [PATCH 01/22] dt-bindings: arm: cpus: Add Apple A7-A11 CPU cores
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
@ 2024-09-11 8:40 ` Nick Chan
2024-09-11 18:16 ` Conor Dooley
2024-09-11 8:40 ` [PATCH 02/22] dt-bindings: watchdog: apple,wdt: Add A7-A11 compatibles Nick Chan
` (23 subsequent siblings)
24 siblings, 1 reply; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:40 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
Add the following CPU cores:
- apple,cyclone: A7 cores
- apple,typhoon: A8 cores
- apple,twister: A9 cores
- apple,hurricane-zephyr: A10 logical cores
- apple,monsoon: A11 performance cores
- apple,mistral: A11 efficiency cores
In the Apple A10, there are physical performance-efficiency cores that
forms logical cores to software depending on the current p-state, and
only one type of core may be active at one time.
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
Documentation/devicetree/bindings/arm/cpus.yaml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml b/Documentation/devicetree/bindings/arm/cpus.yaml
index f308ff6c3532..3959e022079f 100644
--- a/Documentation/devicetree/bindings/arm/cpus.yaml
+++ b/Documentation/devicetree/bindings/arm/cpus.yaml
@@ -89,6 +89,12 @@ properties:
- apple,blizzard
- apple,icestorm
- apple,firestorm
+ - apple,mistral
+ - apple,monsoon
+ - apple,hurricane-zephyr
+ - apple,twister
+ - apple,typhoon
+ - apple,cyclone
- arm,arm710t
- arm,arm720t
- arm,arm740t
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 02/22] dt-bindings: watchdog: apple,wdt: Add A7-A11 compatibles
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
2024-09-11 8:40 ` [PATCH 01/22] dt-bindings: arm: cpus: Add Apple A7-A11 CPU cores Nick Chan
@ 2024-09-11 8:40 ` Nick Chan
2024-09-11 17:52 ` Conor Dooley
2024-09-11 8:40 ` [PATCH 03/22] dt-bindings: cpufreq: apple,cluster-cpufreq: Add A10 compatible Nick Chan
` (22 subsequent siblings)
24 siblings, 1 reply; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:40 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
The blocks on A7-A11 SoCs are compatible with the existing driver so
add their per-SoC compatibles.
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
Documentation/devicetree/bindings/watchdog/apple,wdt.yaml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/watchdog/apple,wdt.yaml b/Documentation/devicetree/bindings/watchdog/apple,wdt.yaml
index 21872e15916c..310832fa8c28 100644
--- a/Documentation/devicetree/bindings/watchdog/apple,wdt.yaml
+++ b/Documentation/devicetree/bindings/watchdog/apple,wdt.yaml
@@ -16,6 +16,11 @@ properties:
compatible:
items:
- enum:
+ - apple,s5l8960x-wdt
+ - apple,t7000-wdt
+ - apple,s8000-wdt
+ - apple,t8010-wdt
+ - apple,t8015-wdt
- apple,t8103-wdt
- apple,t8112-wdt
- apple,t6000-wdt
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 03/22] dt-bindings: cpufreq: apple,cluster-cpufreq: Add A10 compatible
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
2024-09-11 8:40 ` [PATCH 01/22] dt-bindings: arm: cpus: Add Apple A7-A11 CPU cores Nick Chan
2024-09-11 8:40 ` [PATCH 02/22] dt-bindings: watchdog: apple,wdt: Add A7-A11 compatibles Nick Chan
@ 2024-09-11 8:40 ` Nick Chan
2024-09-11 18:10 ` Conor Dooley
2024-09-11 8:40 ` [PATCH 04/22] dt-bindings: pinctrl: apple,pinctrl: Add A7-A11 compatibles Nick Chan
` (21 subsequent siblings)
24 siblings, 1 reply; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:40 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
The block found on the Apple A10 SoC is compatible with the
existing driver so just add its per-SoC compatible.
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
.../devicetree/bindings/cpufreq/apple,cluster-cpufreq.yaml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/cpufreq/apple,cluster-cpufreq.yaml b/Documentation/devicetree/bindings/cpufreq/apple,cluster-cpufreq.yaml
index 76cb9726660e..e0d1a9813696 100644
--- a/Documentation/devicetree/bindings/cpufreq/apple,cluster-cpufreq.yaml
+++ b/Documentation/devicetree/bindings/cpufreq/apple,cluster-cpufreq.yaml
@@ -24,7 +24,9 @@ properties:
- apple,t8112-cluster-cpufreq
- const: apple,cluster-cpufreq
- items:
- - const: apple,t6000-cluster-cpufreq
+ - enum:
+ - apple,t8010-cluster-cpufreq
+ - apple,t6000-cluster-cpufreq
- const: apple,t8103-cluster-cpufreq
- const: apple,cluster-cpufreq
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 04/22] dt-bindings: pinctrl: apple,pinctrl: Add A7-A11 compatibles
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (2 preceding siblings ...)
2024-09-11 8:40 ` [PATCH 03/22] dt-bindings: cpufreq: apple,cluster-cpufreq: Add A10 compatible Nick Chan
@ 2024-09-11 8:40 ` Nick Chan
2024-09-11 18:10 ` Conor Dooley
2024-09-11 8:40 ` [PATCH 05/22] dt-bindings: arm: apple: Add A7 devices Nick Chan
` (20 subsequent siblings)
24 siblings, 1 reply; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:40 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
The block found on Apple's A7-A11 SoCs are compatible with the
existing driver so add their per-SoC compatibles.
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
index 9c07935919ea..63737d858944 100644
--- a/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
+++ b/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
@@ -18,6 +18,11 @@ properties:
compatible:
items:
- enum:
+ - apple,s5l8960x-pinctrl
+ - apple,t7000-pinctrl
+ - apple,s8000-pinctrl
+ - apple,t8010-pinctrl
+ - apple,t8015-pinctrl
- apple,t8103-pinctrl
- apple,t8112-pinctrl
- apple,t6000-pinctrl
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 05/22] dt-bindings: arm: apple: Add A7 devices
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (3 preceding siblings ...)
2024-09-11 8:40 ` [PATCH 04/22] dt-bindings: pinctrl: apple,pinctrl: Add A7-A11 compatibles Nick Chan
@ 2024-09-11 8:40 ` Nick Chan
2024-09-11 18:13 ` Conor Dooley
2024-09-11 8:40 ` [PATCH 06/22] dt-bindings: arm: apple: Add A8 devices Nick Chan
` (19 subsequent siblings)
24 siblings, 1 reply; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:40 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
This adds the following apple,s5l8960x platforms:
- iPhone 5s
- iPad Air (1)
- iPad Mini 2
- iPad Mini 3
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
.../devicetree/bindings/arm/apple.yaml | 26 ++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml
index 883fd67e3752..3c81008f0e96 100644
--- a/Documentation/devicetree/bindings/arm/apple.yaml
+++ b/Documentation/devicetree/bindings/arm/apple.yaml
@@ -12,7 +12,14 @@ maintainers:
description: |
ARM platforms using SoCs designed by Apple Inc., branded "Apple Silicon".
- This currently includes devices based on the "M1" SoC:
+ This currently includes devices based on the "A7" SoC:
+
+ - iPhone 5s
+ - iPad Air (1)
+ - iPad Mini 2
+ - iPad Mini 3
+
+ Devices based on the "M1" SoC:
- Mac mini (M1, 2020)
- MacBook Pro (13-inch, M1, 2020)
@@ -65,6 +72,23 @@ properties:
const: "/"
compatible:
oneOf:
+ - description: Apple A7 SoC based platforms
+ items:
+ - enum:
+ - apple,j71 # iPad Air (Wi-Fi)
+ - apple,j72 # iPad Air (Cellular)
+ - apple,j73 # iPad Air (Cellular, China)
+ - apple,j85 # iPad mini 2 (Wi-Fi)
+ - apple,j85m # iPad mini 3 (Wi-Fi)
+ - apple,j86 # iPad mini 2 (Cellular)
+ - apple,j86m # iPad mini 3 (Cellular)
+ - apple,j87 # Apple iPad Mini 2 (Cellular, China)
+ - apple,j87m # Apple iPad Mini 3 (Cellular, China)
+ - apple,n51 # iPhone 5s (GSM)
+ - apple,n53 # iPhone 5s (LTE)
+ - const: apple,s5l8960x
+ - const: apple,arm-platform
+
- description: Apple M1 SoC based platforms
items:
- enum:
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 06/22] dt-bindings: arm: apple: Add A8 devices
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (4 preceding siblings ...)
2024-09-11 8:40 ` [PATCH 05/22] dt-bindings: arm: apple: Add A7 devices Nick Chan
@ 2024-09-11 8:40 ` Nick Chan
2024-09-11 8:40 ` [PATCH 07/22] dt-bindings: arm: apple: Add A8X devices Nick Chan
` (18 subsequent siblings)
24 siblings, 0 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:40 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
This adds the following apple,t7000 based platforms:
- iPhone 6
- iPhone 6 Plus
- iPad Mini 4
- iPod Touch 6
- Apple TV HD
The remaining HomePod is not supported as part of this patch.
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
.../devicetree/bindings/arm/apple.yaml | 20 +++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml
index 3c81008f0e96..cf4f5d6db1d3 100644
--- a/Documentation/devicetree/bindings/arm/apple.yaml
+++ b/Documentation/devicetree/bindings/arm/apple.yaml
@@ -19,6 +19,14 @@ description: |
- iPad Mini 2
- iPad Mini 3
+ Devices based on the "A8" SoC:
+
+ - iPhone 6
+ - iPhone 6 Plus
+ - iPad Mini 4
+ - iPod Touch 6
+ - Apple TV HD
+
Devices based on the "M1" SoC:
- Mac mini (M1, 2020)
@@ -89,6 +97,18 @@ properties:
- const: apple,s5l8960x
- const: apple,arm-platform
+ - description: Apple A8 SoC based platforms
+ items:
+ - enum:
+ - apple,j42d # Apple TV HD
+ - apple,j96 # iPad mini 4 (Wi-Fi)
+ - apple,j97 # iPad mini 4 (Cellular)
+ - apple,n56 # iPhone 6 Plus
+ - apple,n61 # iPhone 6
+ - apple,n102 # iPod Touch 6
+ - const: apple,t7000
+ - const: apple,arm-platform
+
- description: Apple M1 SoC based platforms
items:
- enum:
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 07/22] dt-bindings: arm: apple: Add A8X devices
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (5 preceding siblings ...)
2024-09-11 8:40 ` [PATCH 06/22] dt-bindings: arm: apple: Add A8 devices Nick Chan
@ 2024-09-11 8:40 ` Nick Chan
2024-09-11 8:40 ` [PATCH 08/22] dt-bindings: arm: apple: Add A9 devices Nick Chan
` (17 subsequent siblings)
24 siblings, 0 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:40 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
Add the only platform based on apple,t7001, the iPad Air 2.
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
Documentation/devicetree/bindings/arm/apple.yaml | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml
index cf4f5d6db1d3..dd5f0f6eb52b 100644
--- a/Documentation/devicetree/bindings/arm/apple.yaml
+++ b/Documentation/devicetree/bindings/arm/apple.yaml
@@ -27,6 +27,10 @@ description: |
- iPod Touch 6
- Apple TV HD
+ Device based on the "A8X" SoC:
+
+ - iPad Air 2
+
Devices based on the "M1" SoC:
- Mac mini (M1, 2020)
@@ -109,6 +113,14 @@ properties:
- const: apple,t7000
- const: apple,arm-platform
+ - description: Apple A8X SoC based platforms
+ items:
+ - enum:
+ - apple,j81 # iPad Air 2 (Wi-Fi)
+ - apple,j82 # iPad Air 2 (Cellular)
+ - const: apple,t7001
+ - const: apple,arm-platform
+
- description: Apple M1 SoC based platforms
items:
- enum:
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 08/22] dt-bindings: arm: apple: Add A9 devices
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (6 preceding siblings ...)
2024-09-11 8:40 ` [PATCH 07/22] dt-bindings: arm: apple: Add A8X devices Nick Chan
@ 2024-09-11 8:40 ` Nick Chan
2024-09-11 8:40 ` [PATCH 09/22] dt-bindings: arm: apple: Add A9X devices Nick Chan
` (16 subsequent siblings)
24 siblings, 0 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:40 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
Adds the following apple,s8000 and apple,s8003 based platforms:
- iPhone 6S
- iPhone 6S Plus
- iPhone SE (2016)
- iPad 5
apple,s8000 is the Samsung A9, while apple,s8003 is the TSMC A9.
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
.../devicetree/bindings/arm/apple.yaml | 29 +++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml
index dd5f0f6eb52b..f3f100ce8072 100644
--- a/Documentation/devicetree/bindings/arm/apple.yaml
+++ b/Documentation/devicetree/bindings/arm/apple.yaml
@@ -31,6 +31,13 @@ description: |
- iPad Air 2
+ Devices based on the "A9" SoC:
+
+ - iPhone 6s
+ - iPhone 6s Plus
+ - iPhone SE (2016)
+ - iPad 5
+
Devices based on the "M1" SoC:
- Mac mini (M1, 2020)
@@ -121,6 +128,28 @@ properties:
- const: apple,t7001
- const: apple,arm-platform
+ - description: Apple Samsung A9 SoC based platforms
+ items:
+ - enum:
+ - apple,j71s # iPad 5 (Wi-Fi) (S8000)
+ - apple,j72s # iPad 5 (Cellular) (S8000)
+ - apple,n66 # iPhone 6s Plus (S8000)
+ - apple,n69u # iPhone SE (S8000)
+ - apple,n71 # iPhone 6S (S8000)
+ - const: apple,s8000
+ - const: apple,arm-platform
+
+ - description: Apple TSMC A9 SoC based platforms
+ items:
+ - enum:
+ - apple,j71t # iPad 5 (Wi-Fi) (S8003)
+ - apple,j72t # iPad 5 (Cellular) (S8003)
+ - apple,n66m # iPhone 6s Plus (S8003)
+ - apple,n69 # iPhone SE (S8003)
+ - apple,n71m # iPhone 6S (S8003)
+ - const: apple,s8003
+ - const: apple,arm-platform
+
- description: Apple M1 SoC based platforms
items:
- enum:
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 09/22] dt-bindings: arm: apple: Add A9X devices
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (7 preceding siblings ...)
2024-09-11 8:40 ` [PATCH 08/22] dt-bindings: arm: apple: Add A9 devices Nick Chan
@ 2024-09-11 8:40 ` Nick Chan
2024-09-11 8:41 ` [PATCH 10/22] dt-bindings: arm: apple: Add A10 devices Nick Chan
` (15 subsequent siblings)
24 siblings, 0 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:40 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
Adds the following apple,s8001 based platforms:
- iPad Pro (9.7 Inch)
- iPad Pro (12.9 Inch) (1st generation)
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
Documentation/devicetree/bindings/arm/apple.yaml | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml
index f3f100ce8072..27311c75faad 100644
--- a/Documentation/devicetree/bindings/arm/apple.yaml
+++ b/Documentation/devicetree/bindings/arm/apple.yaml
@@ -38,6 +38,11 @@ description: |
- iPhone SE (2016)
- iPad 5
+ Devices based on the "A9X" SoC:
+
+ - iPad Pro (9.7-inch)
+ - iPad Pro (12.9-inch)
+
Devices based on the "M1" SoC:
- Mac mini (M1, 2020)
@@ -150,6 +155,16 @@ properties:
- const: apple,s8003
- const: apple,arm-platform
+ - description: Apple A9X SoC based platforms
+ items:
+ - enum:
+ - apple,j127 # iPad Pro (9.7-inch) (Wi-Fi)
+ - apple,j128 # iPad Pro (9.7-inch) (Cellular)
+ - apple,j98a # iPad Pro (12.9-inch) (Wi-Fi)
+ - apple,j99a # iPad Pro (12.9-inch) (Cellular)
+ - const: apple,s8001
+ - const: apple,arm-platform
+
- description: Apple M1 SoC based platforms
items:
- enum:
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 10/22] dt-bindings: arm: apple: Add A10 devices
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (8 preceding siblings ...)
2024-09-11 8:40 ` [PATCH 09/22] dt-bindings: arm: apple: Add A9X devices Nick Chan
@ 2024-09-11 8:41 ` Nick Chan
2024-09-11 8:41 ` [PATCH 11/22] dt-bindings: arm: apple: Add A10X devices Nick Chan
` (14 subsequent siblings)
24 siblings, 0 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:41 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
Adds the following apple,t8010 based platforms:
- iPhone 7
- iPhone 7 Plus
- iPod Touch 7
- iPad 6
- iPad 7
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
.../devicetree/bindings/arm/apple.yaml | 23 +++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml
index 27311c75faad..873b62035bc4 100644
--- a/Documentation/devicetree/bindings/arm/apple.yaml
+++ b/Documentation/devicetree/bindings/arm/apple.yaml
@@ -43,6 +43,14 @@ description: |
- iPad Pro (9.7-inch)
- iPad Pro (12.9-inch)
+ Devices based on the "A10" SoC:
+
+ - iPhone 7
+ - iPhone 7 Plus
+ - iPod Touch 7
+ - iPad 6
+ - iPad 7
+
Devices based on the "M1" SoC:
- Mac mini (M1, 2020)
@@ -165,6 +173,21 @@ properties:
- const: apple,s8001
- const: apple,arm-platform
+ - description: Apple A10 SoC based platforms
+ items:
+ - enum:
+ - apple,d10 # iPhone 7 (Qualcomm)
+ - apple,d11 # iPhone 7 (Intel)
+ - apple,d101 # iPhone 7 Plus (Qualcomm)
+ - apple,d111 # iPhone 7 Plus (Intel)
+ - apple,j71b # iPad 6 (Wi-Fi)
+ - apple,j72b # iPad 6 (Cellular)
+ - apple,j171 # iPad 7 (Wi-Fi)
+ - apple,j172 # iPad 7 (Cellular)
+ - apple,n112 # iPod Touch 7
+ - const: apple,t8010
+ - const: apple,arm-platform
+
- description: Apple M1 SoC based platforms
items:
- enum:
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 11/22] dt-bindings: arm: apple: Add A10X devices
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (9 preceding siblings ...)
2024-09-11 8:41 ` [PATCH 10/22] dt-bindings: arm: apple: Add A10 devices Nick Chan
@ 2024-09-11 8:41 ` Nick Chan
2024-09-11 8:41 ` [PATCH 12/22] dt-bindings: arm: apple: Add A11 devices Nick Chan
` (13 subsequent siblings)
24 siblings, 0 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:41 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
Add the following apple,t8011 based platforms:
- Apple TV 4K
- iPad Pro (2nd Generation) (10.5 Inch)
- iPad Pro (2nd Generation) (12.9 Inch)
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
.../devicetree/bindings/arm/apple.yaml | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml
index 873b62035bc4..2831a662f5d5 100644
--- a/Documentation/devicetree/bindings/arm/apple.yaml
+++ b/Documentation/devicetree/bindings/arm/apple.yaml
@@ -51,6 +51,12 @@ description: |
- iPad 6
- iPad 7
+ Devices based on the "A10X" SoC:
+
+ - Apple TV 4K (1st generation)
+ - iPad Pro (2nd Generation) (10.5 Inch)
+ - iPad Pro (2nd Generation) (12.9 Inch)
+
Devices based on the "M1" SoC:
- Mac mini (M1, 2020)
@@ -188,6 +194,17 @@ properties:
- const: apple,t8010
- const: apple,arm-platform
+ - description: Apple A10X SoC based platforms
+ items:
+ - enum:
+ - apple,j105a # Apple TV 4K (1st Generation)
+ - apple,j120 # Apple iPad Pro 2 (12.9-inch) (Wi-Fi)
+ - apple,j121 # Apple iPad Pro 2 (12.9-inch) (Cellular)
+ - apple,j207 # Apple iPad Pro 2 (10.5-inch) (Wi-Fi)
+ - apple,j208 # Apple iPad Pro 2 (10.5-inch) (Cellular)
+ - const: apple,t8011
+ - const: apple,arm-platform
+
- description: Apple M1 SoC based platforms
items:
- enum:
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 12/22] dt-bindings: arm: apple: Add A11 devices
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (10 preceding siblings ...)
2024-09-11 8:41 ` [PATCH 11/22] dt-bindings: arm: apple: Add A10X devices Nick Chan
@ 2024-09-11 8:41 ` Nick Chan
2024-09-11 8:41 ` [PATCH 13/22] arm64: dts: apple: Add A7 devices Nick Chan
` (12 subsequent siblings)
24 siblings, 0 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:41 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
Add the follow apple,t8015 based platforms:
- iPhone 8
- iPhone 8 Plus
- iPhone X
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
.../devicetree/bindings/arm/apple.yaml | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml
index 2831a662f5d5..15e46f13fd2e 100644
--- a/Documentation/devicetree/bindings/arm/apple.yaml
+++ b/Documentation/devicetree/bindings/arm/apple.yaml
@@ -57,6 +57,12 @@ description: |
- iPad Pro (2nd Generation) (10.5 Inch)
- iPad Pro (2nd Generation) (12.9 Inch)
+ Devices based on the "A11" SoC:
+
+ - iPhone 8
+ - iPhone 8 Plus
+ - iPhone X
+
Devices based on the "M1" SoC:
- Mac mini (M1, 2020)
@@ -205,6 +211,18 @@ properties:
- const: apple,t8011
- const: apple,arm-platform
+ - description: Apple A11 SoC based platforms
+ items:
+ - enum:
+ - apple,d20 # iPhone 8 (Global)
+ - apple,d21 # iPhone 8 Plus (Global)
+ - apple,d22 # iPhone X (Global)
+ - apple,d201 # iPhone 8 (GSM)
+ - apple,d211 # iPhone 8 Plus (GSM)
+ - apple,d221 # iPhone X (GSM)
+ - const: apple,t8015
+ - const: apple,arm-platform
+
- description: Apple M1 SoC based platforms
items:
- enum:
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 13/22] arm64: dts: apple: Add A7 devices
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (11 preceding siblings ...)
2024-09-11 8:41 ` [PATCH 12/22] dt-bindings: arm: apple: Add A11 devices Nick Chan
@ 2024-09-11 8:41 ` Nick Chan
2024-09-11 8:41 ` [PATCH 14/22] arm64: dts: apple: Add A8 devices Nick Chan
` (11 subsequent siblings)
24 siblings, 0 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:41 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
From: Konrad Dybcio <konradybcio@kernel.org>
Add DTS files for the A7 SoC and the following devices based on it:
- iPhone 5S
- iPad Air (1)
- iPad Mini 2
- iPad Mini 3
Signed-off-by: Konrad Dybcio <konradybcio@kernel.org>
[Nick: SMP and m1n1 support, gpio-keys additions]
Co-developed-by: Nick Chan <towinchenmi@gmail.com>
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
arch/arm64/boot/dts/apple/Makefile | 11 ++
arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi | 52 +++++++
arch/arm64/boot/dts/apple/s5l8960x-air1.dtsi | 52 +++++++
arch/arm64/boot/dts/apple/s5l8960x-j71.dts | 14 ++
arch/arm64/boot/dts/apple/s5l8960x-j72.dts | 14 ++
arch/arm64/boot/dts/apple/s5l8960x-j73.dts | 14 ++
arch/arm64/boot/dts/apple/s5l8960x-j85.dts | 14 ++
arch/arm64/boot/dts/apple/s5l8960x-j85m.dts | 14 ++
arch/arm64/boot/dts/apple/s5l8960x-j86.dts | 14 ++
arch/arm64/boot/dts/apple/s5l8960x-j86m.dts | 14 ++
arch/arm64/boot/dts/apple/s5l8960x-j87.dts | 14 ++
arch/arm64/boot/dts/apple/s5l8960x-j87m.dts | 14 ++
arch/arm64/boot/dts/apple/s5l8960x-mini2.dtsi | 52 +++++++
arch/arm64/boot/dts/apple/s5l8960x-mini3.dtsi | 13 ++
arch/arm64/boot/dts/apple/s5l8960x-n51.dts | 14 ++
arch/arm64/boot/dts/apple/s5l8960x-n53.dts | 14 ++
arch/arm64/boot/dts/apple/s5l8960x.dtsi | 147 ++++++++++++++++++
17 files changed, 481 insertions(+)
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-air1.dtsi
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j71.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j72.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j73.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j85.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j85m.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j86.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j86m.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j87.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j87m.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-mini2.dtsi
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-mini3.dtsi
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-n51.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-n53.dts
create mode 100644 arch/arm64/boot/dts/apple/s5l8960x.dtsi
diff --git a/arch/arm64/boot/dts/apple/Makefile b/arch/arm64/boot/dts/apple/Makefile
index aec5e29cdfb7..e1ee803f72a7 100644
--- a/arch/arm64/boot/dts/apple/Makefile
+++ b/arch/arm64/boot/dts/apple/Makefile
@@ -1,4 +1,15 @@
# SPDX-License-Identifier: GPL-2.0
+dtb-$(CONFIG_ARCH_APPLE) += s5l8960x-j71.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s5l8960x-j73.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s5l8960x-j85m.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s5l8960x-j86m.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s5l8960x-j87m.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s5l8960x-n53.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s5l8960x-j72.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s5l8960x-j85.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s5l8960x-j86.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s5l8960x-j87.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s5l8960x-n51.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j274.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j293.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j313.dtb
diff --git a/arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi b/arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi
new file mode 100644
index 000000000000..1a8d92a8f00c
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi
@@ -0,0 +1,52 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 5S common device tree
+ * Based on A7 (APL0698), up to 1.3GHz
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+#include "s5l8960x.dtsi"
+#include <dt-bindings/input/input.h>
+
+/ {
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ button-home {
+ label = "Home Button";
+ gpios = <&pinctrl 2 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_LEFTMETA>;
+ wakeup-source;
+ };
+
+ button-power {
+ label = "Power Button";
+ gpios = <&pinctrl 3 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
+ wakeup-source;
+ };
+
+ button-voldown {
+ label = "Volume Down";
+ gpios = <&pinctrl 5 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEDOWN>;
+ };
+
+ button-volup {
+ label = "Volume Up";
+ gpios = <&pinctrl 4 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEUP>;
+ };
+
+ switch-mute {
+ label = "Mute Switch";
+ gpios = <&pinctrl 16 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_MUTE>;
+ };
+ };
+};
+
+&serial0 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/apple/s5l8960x-air1.dtsi b/arch/arm64/boot/dts/apple/s5l8960x-air1.dtsi
new file mode 100644
index 000000000000..ecddbb33bcc2
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s5l8960x-air1.dtsi
@@ -0,0 +1,52 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Air common device tree
+ * Based on A7 (APL5698), up to 1.4GHz
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+#include "s5l8960x.dtsi"
+#include <dt-bindings/input/input.h>
+
+/ {
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ button-home {
+ label = "Home Button";
+ gpios = <&pinctrl 2 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_LEFTMETA>;
+ wakeup-source;
+ };
+
+ button-power {
+ label = "Power Button";
+ gpios = <&pinctrl 3 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
+ wakeup-source;
+ };
+
+ button-voldown {
+ label = "Volume Down";
+ gpios = <&pinctrl 4 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEDOWN>;
+ };
+
+ button-volup {
+ label = "Volume Up";
+ gpios = <&pinctrl 5 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEUP>;
+ };
+
+ switch-mute {
+ label = "Mute Switch";
+ gpios = <&pinctrl 110 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_MUTE>;
+ };
+ };
+};
+
+&serial0 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/apple/s5l8960x-j71.dts b/arch/arm64/boot/dts/apple/s5l8960x-j71.dts
new file mode 100644
index 000000000000..e13036dacb45
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s5l8960x-j71.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Air (Wi-Fi), J71, iPad4,1 (A1474)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s5l8960x-air1.dtsi"
+
+/ {
+ compatible = "apple,j71", "apple,s5l8960x", "apple,arm-platform";
+ model = "Apple iPad Air (Wi-Fi)";
+};
diff --git a/arch/arm64/boot/dts/apple/s5l8960x-j72.dts b/arch/arm64/boot/dts/apple/s5l8960x-j72.dts
new file mode 100644
index 000000000000..afb71b8885c6
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s5l8960x-j72.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Air (Cellular), J72, iPad4,2 (A1475)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s5l8960x-air1.dtsi"
+
+/ {
+ compatible = "apple,j72", "apple,s5l8960x", "apple,arm-platform";
+ model = "Apple iPad Air (Cellular)";
+};
diff --git a/arch/arm64/boot/dts/apple/s5l8960x-j73.dts b/arch/arm64/boot/dts/apple/s5l8960x-j73.dts
new file mode 100644
index 000000000000..c871962df529
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s5l8960x-j73.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Air (Cellular, China), J73, iPad4,2 (A1476)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s5l8960x-air1.dtsi"
+
+/ {
+ compatible = "apple,j73", "apple,s5l8960x", "apple,arm-platform";
+ model = "Apple iPad Air (Cellular, China)";
+};
diff --git a/arch/arm64/boot/dts/apple/s5l8960x-j85.dts b/arch/arm64/boot/dts/apple/s5l8960x-j85.dts
new file mode 100644
index 000000000000..208415db4d1d
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s5l8960x-j85.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Mini 2 (Wi-Fi), J85, iPad4,4 (A1489)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s5l8960x-mini2.dtsi"
+
+/ {
+ compatible = "apple,j85", "apple,s5l8960x", "apple,arm-platform";
+ model = "Apple iPad Mini 2 (Wi-Fi)";
+};
diff --git a/arch/arm64/boot/dts/apple/s5l8960x-j85m.dts b/arch/arm64/boot/dts/apple/s5l8960x-j85m.dts
new file mode 100644
index 000000000000..b3d84a46cb64
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s5l8960x-j85m.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Mini 3 (Wi-Fi), J85m, iPad4,7 (A1599)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s5l8960x-mini3.dtsi"
+
+/ {
+ compatible = "apple,j85m", "apple,s5l8960x", "apple,arm-platform";
+ model = "Apple iPad Mini 3 (Wi-Fi)";
+};
diff --git a/arch/arm64/boot/dts/apple/s5l8960x-j86.dts b/arch/arm64/boot/dts/apple/s5l8960x-j86.dts
new file mode 100644
index 000000000000..22de63976649
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s5l8960x-j86.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Mini 2 (Cellular), J86, iPad4,5 (A1490)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s5l8960x-mini2.dtsi"
+
+/ {
+ compatible = "apple,j86", "apple,s5l8960x", "apple,arm-platform";
+ model = "Apple iPad Mini 2 (Cellular)";
+};
diff --git a/arch/arm64/boot/dts/apple/s5l8960x-j86m.dts b/arch/arm64/boot/dts/apple/s5l8960x-j86m.dts
new file mode 100644
index 000000000000..11acb24ab41c
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s5l8960x-j86m.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Mini 3 (Cellular), J86m, iPad4,8 (A1600)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s5l8960x-mini3.dtsi"
+
+/ {
+ compatible = "apple,j86m", "apple,s5l8960x", "apple,arm-platform";
+ model = "Apple iPad Mini 3 (Cellular)";
+};
diff --git a/arch/arm64/boot/dts/apple/s5l8960x-j87.dts b/arch/arm64/boot/dts/apple/s5l8960x-j87.dts
new file mode 100644
index 000000000000..d1fa78af3d2f
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s5l8960x-j87.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Mini 2 (Cellular, China), J87, iPad4,6 (A1491)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s5l8960x-mini2.dtsi"
+
+/ {
+ compatible = "apple,j87", "apple,s5l8960x", "apple,arm-platform";
+ model = "Apple iPad Mini 2 (Cellular, China)";
+};
diff --git a/arch/arm64/boot/dts/apple/s5l8960x-j87m.dts b/arch/arm64/boot/dts/apple/s5l8960x-j87m.dts
new file mode 100644
index 000000000000..10c5f4cfcc58
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s5l8960x-j87m.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Mini 3 (Cellular, China), J87m, iPad4,9 (A1601)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s5l8960x-mini3.dtsi"
+
+/ {
+ compatible = "apple,j87m", "apple,s5l8960x", "apple,arm-platform";
+ model = "Apple iPad Mini 3 (Cellular, China)";
+};
diff --git a/arch/arm64/boot/dts/apple/s5l8960x-mini2.dtsi b/arch/arm64/boot/dts/apple/s5l8960x-mini2.dtsi
new file mode 100644
index 000000000000..b214b780a12d
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s5l8960x-mini2.dtsi
@@ -0,0 +1,52 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Mini 2 common device tree
+ * Based on A7 (APL0698), up to 1.3GHz
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+#include "s5l8960x.dtsi"
+#include <dt-bindings/input/input.h>
+
+/ {
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ button-home {
+ label = "Home Button";
+ gpios = <&pinctrl 2 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_LEFTMETA>;
+ wakeup-source;
+ };
+
+ button-power {
+ label = "Power Button";
+ gpios = <&pinctrl 3 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
+ wakeup-source;
+ };
+
+ button-voldown {
+ label = "Volume Down";
+ gpios = <&pinctrl 5 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEDOWN>;
+ };
+
+ button-volup {
+ label = "Volume Up";
+ gpios = <&pinctrl 4 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEUP>;
+ };
+
+ switch-mute {
+ label = "Mute Switch";
+ gpios = <&pinctrl 6 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_MUTE>;
+ };
+ };
+};
+
+&serial0 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/apple/s5l8960x-mini3.dtsi b/arch/arm64/boot/dts/apple/s5l8960x-mini3.dtsi
new file mode 100644
index 000000000000..f4b8afbfa5f5
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s5l8960x-mini3.dtsi
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Mini 3 common device tree
+ * Based on A7 (APL0698), up to 1.3GHz
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/*
+ * The Mini 3 seems to be only an iteration over the Mini 2 with some small changes, like the
+ * introduction of Touch ID, hence there is little to no differentiation between these 2 for now.
+ */
+#include "s5l8960x-mini2.dtsi"
diff --git a/arch/arm64/boot/dts/apple/s5l8960x-n51.dts b/arch/arm64/boot/dts/apple/s5l8960x-n51.dts
new file mode 100644
index 000000000000..ba50c0bd9650
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s5l8960x-n51.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 5S (GSM), N51, iPhone6,1 (A1453/A1533)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s5l8960x-5s.dtsi"
+
+/ {
+ compatible = "apple,n51", "apple,s5l8960x", "apple,arm-platform";
+ model = "Apple iPhone 5S (GSM)";
+};
diff --git a/arch/arm64/boot/dts/apple/s5l8960x-n53.dts b/arch/arm64/boot/dts/apple/s5l8960x-n53.dts
new file mode 100644
index 000000000000..6115efd95b80
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s5l8960x-n53.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 5S (LTE), N53, iPhone6,2 (A1457/A1518/A1528/A1530)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s5l8960x-5s.dtsi"
+
+/ {
+ compatible = "apple,n53", "apple,s5l8960x", "apple,arm-platform";
+ model = "Apple iPhone 5S (LTE)";
+};
diff --git a/arch/arm64/boot/dts/apple/s5l8960x.dtsi b/arch/arm64/boot/dts/apple/s5l8960x.dtsi
new file mode 100644
index 000000000000..fae18d4be53c
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s5l8960x.dtsi
@@ -0,0 +1,147 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple S5L8960X "A7" SoC
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ * Based on Asahi Linux's M1 (t8103.dtsi) and Corellium's A10 efforts.
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/apple-aic.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/pinctrl/apple.h>
+
+/ {
+ interrupt-parent = <&aic>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ aliases {
+ serial0 = &serial0;
+ };
+
+ chosen {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ stdout-path = "serial0";
+
+ framebuffer0: framebuffer@0 {
+ compatible = "apple,simple-framebuffer", "simple-framebuffer";
+ reg = <0 0 0 0>; /* To be filled by loader */
+ /* Format properties will be added by loader */
+ status = "disabled";
+ };
+ };
+
+ clkref: clock-ref {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <24000000>;
+ clock-output-names = "clkref";
+ };
+
+ cpus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ cpu0: cpu@0 {
+ compatible = "apple,cyclone";
+ reg = <0x0 0x0>;
+ cpu-release-addr = <0 0>; /* To be filled by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+
+ cpu1: cpu@1 {
+ compatible = "apple,cyclone";
+ reg = <0x0 0x1>;
+ cpu-release-addr = <0 0>; /* To be filled by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+ };
+
+ memory@800000000 {
+ device_type = "memory";
+ /* To be filled in by the bootloader (based on XNU BootArgs). */
+ reg = <0x8 0 0 0>;
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ /*
+ * The bootloader reserves a region for the (varying-address, depending
+ * on what FW your device runs AND model) framebuffer under this node.
+ */
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+ nonposted-mmio;
+ ranges;
+
+ serial0: serial@20a0a0000 {
+ compatible = "apple,s5l-uart";
+ reg = <0x2 0x0a0a0000 0x0 0x4000>;
+ reg-io-width = <4>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 140 IRQ_TYPE_LEVEL_HIGH>;
+ /* Use the bootloader-enabled clocks for now. */
+ clocks = <&clkref>, <&clkref>;
+ clock-names = "uart", "clk_uart_baud0";
+ status = "disabled";
+ };
+
+ wdt: watchdog@20e027000 {
+ compatible = "apple,s5l8960x-wdt", "apple,wdt";
+ reg = <0x2 0x0e027000 0x0 0x1000>;
+ clocks = <&clkref>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 4 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ aic: interrupt-controller@20e100000 {
+ compatible = "apple,s5l8960x-aic", "apple,aic";
+ reg = <0x2 0x0e100000 0x0 0x100000>;
+ #interrupt-cells = <3>;
+ interrupt-controller;
+ };
+
+ pinctrl: pinctrl@20e300000 {
+ compatible = "apple,s5l8960x-pinctrl", "apple,pinctrl";
+ reg = <0x2 0x0e300000 0x0 0x100000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl 0 0 200>;
+ apple,npins = <200>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 108 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 109 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 110 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 111 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 112 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 113 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 114 IRQ_TYPE_LEVEL_HIGH>;
+ };
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupt-parent = <&aic>;
+ interrupt-names = "phys", "virt";
+ /* Note that A7 doesn't actually have a hypervisor (EL2 is not implemented). */
+ interrupts = <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>;
+ };
+};
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 14/22] arm64: dts: apple: Add A8 devices
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (12 preceding siblings ...)
2024-09-11 8:41 ` [PATCH 13/22] arm64: dts: apple: Add A7 devices Nick Chan
@ 2024-09-11 8:41 ` Nick Chan
2024-09-11 8:41 ` [PATCH 15/22] arm64: dts: apple: Add A8X devices Nick Chan
` (10 subsequent siblings)
24 siblings, 0 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:41 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
From: Konrad Dybcio <konradybcio@kernel.org>
Add DTS files for the A8 SoC and the following devices based on it:
- iPhone 6
- iPhone 6 Plus
- iPad Mini 4
- iPod Touch 6
- Apple TV HD
The remaining HomePod is not supported as part of this patch.
Signed-off-by: Konrad Dybcio <konradybcio@kernel.org>
[Nick: SMP and m1n1 support, gpio-keys additions]
Co-developed-by: Nick Chan <towinchenmi@gmail.com>
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
arch/arm64/boot/dts/apple/Makefile | 6 +
arch/arm64/boot/dts/apple/t7000-6.dtsi | 50 +++++++
arch/arm64/boot/dts/apple/t7000-j42d.dts | 18 +++
arch/arm64/boot/dts/apple/t7000-j96.dts | 14 ++
arch/arm64/boot/dts/apple/t7000-j97.dts | 14 ++
arch/arm64/boot/dts/apple/t7000-mini4.dtsi | 51 +++++++
arch/arm64/boot/dts/apple/t7000-n102.dts | 49 +++++++
arch/arm64/boot/dts/apple/t7000-n56.dts | 14 ++
arch/arm64/boot/dts/apple/t7000-n61.dts | 14 ++
arch/arm64/boot/dts/apple/t7000.dtsi | 147 +++++++++++++++++++++
10 files changed, 377 insertions(+)
create mode 100644 arch/arm64/boot/dts/apple/t7000-6.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t7000-j42d.dts
create mode 100644 arch/arm64/boot/dts/apple/t7000-j96.dts
create mode 100644 arch/arm64/boot/dts/apple/t7000-j97.dts
create mode 100644 arch/arm64/boot/dts/apple/t7000-mini4.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t7000-n102.dts
create mode 100644 arch/arm64/boot/dts/apple/t7000-n56.dts
create mode 100644 arch/arm64/boot/dts/apple/t7000-n61.dts
create mode 100644 arch/arm64/boot/dts/apple/t7000.dtsi
diff --git a/arch/arm64/boot/dts/apple/Makefile b/arch/arm64/boot/dts/apple/Makefile
index e1ee803f72a7..d5dd1e2e4f4c 100644
--- a/arch/arm64/boot/dts/apple/Makefile
+++ b/arch/arm64/boot/dts/apple/Makefile
@@ -10,6 +10,12 @@ dtb-$(CONFIG_ARCH_APPLE) += s5l8960x-j85.dtb
dtb-$(CONFIG_ARCH_APPLE) += s5l8960x-j86.dtb
dtb-$(CONFIG_ARCH_APPLE) += s5l8960x-j87.dtb
dtb-$(CONFIG_ARCH_APPLE) += s5l8960x-n51.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t7000-j42d.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t7000-j96.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t7000-j97.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t7000-n102.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t7000-n56.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t7000-n61.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j274.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j293.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j313.dtb
diff --git a/arch/arm64/boot/dts/apple/t7000-6.dtsi b/arch/arm64/boot/dts/apple/t7000-6.dtsi
new file mode 100644
index 000000000000..8aa3ad8ac0e2
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t7000-6.dtsi
@@ -0,0 +1,50 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 6 / 6 Plus common device tree
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+#include <dt-bindings/input/input.h>
+#include "t7000.dtsi"
+
+/ {
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ button-home {
+ label = "Home Button";
+ gpios = <&pinctrl 32 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_LEFTMETA>;
+ wakeup-source;
+ };
+
+ button-power {
+ label = "Power Button";
+ gpios = <&pinctrl 33 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
+ wakeup-source;
+ };
+
+ button-volup {
+ label = "Volume Up";
+ gpios = <&pinctrl 45 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEUP>;
+ };
+
+ button-voldown {
+ label = "Volume Down";
+ gpios = <&pinctrl 46 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEDOWN>;
+ };
+
+ switch-mute {
+ label = "Mute Switch";
+ gpios = <&pinctrl 131 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_MUTE>;
+ };
+ };
+};
+
+&serial0 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/apple/t7000-j42d.dts b/arch/arm64/boot/dts/apple/t7000-j42d.dts
new file mode 100644
index 000000000000..222e0bf7dd96
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t7000-j42d.dts
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple TV HD, J42d, AppleTV5,3 (A1625)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t7000.dtsi"
+
+/ {
+ compatible = "apple,j42d", "apple,t7000", "apple,arm-platform";
+ model = "Apple TV HD";
+};
+
+&serial0 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/apple/t7000-j96.dts b/arch/arm64/boot/dts/apple/t7000-j96.dts
new file mode 100644
index 000000000000..98d5b8437e0d
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t7000-j96.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Mini 4 (Wi-Fi), J96, iPad5,1 (A1538)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t7000-mini4.dtsi"
+
+/ {
+ compatible = "apple,j96", "apple,t7000", "apple,arm-platform";
+ model = "Apple iPad Mini 4 (Wi-Fi)";
+};
diff --git a/arch/arm64/boot/dts/apple/t7000-j97.dts b/arch/arm64/boot/dts/apple/t7000-j97.dts
new file mode 100644
index 000000000000..7cae598b7428
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t7000-j97.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Mini 4 (Cellular), J97, iPad5,2 (A1550)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t7000-mini4.dtsi"
+
+/ {
+ compatible = "apple,j97", "apple,t7000", "apple,arm-platform";
+ model = "Apple iPad Mini 4 (Cellular)";
+};
diff --git a/arch/arm64/boot/dts/apple/t7000-mini4.dtsi b/arch/arm64/boot/dts/apple/t7000-mini4.dtsi
new file mode 100644
index 000000000000..f987e5f6116e
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t7000-mini4.dtsi
@@ -0,0 +1,51 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Mini 4 common device tree
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+#include "t7000.dtsi"
+#include <dt-bindings/input/input.h>
+
+/ {
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ button-home {
+ label = "Home Button";
+ gpios = <&pinctrl 32 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_LEFTMETA>;
+ wakeup-source;
+ };
+
+ button-power {
+ label = "Power Button";
+ gpios = <&pinctrl 33 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
+ wakeup-source;
+ };
+
+ button-volup {
+ label = "Volume Up";
+ gpios = <&pinctrl 45 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEUP>;
+ };
+
+ button-voldown {
+ label = "Volume Down";
+ gpios = <&pinctrl 46 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEDOWN>;
+ };
+
+ switch-mute {
+ label = "Mute Switch";
+ gpios = <&pinctrl 36 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_MUTE>;
+ };
+ };
+};
+
+&serial0 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/apple/t7000-n102.dts b/arch/arm64/boot/dts/apple/t7000-n102.dts
new file mode 100644
index 000000000000..1b88cf4c3cdc
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t7000-n102.dts
@@ -0,0 +1,49 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPod Touch 6, N102, iPod7,1 (A1574)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/input/input.h>
+#include "t7000.dtsi"
+
+/ {
+ compatible = "apple,n102", "apple,t7000", "apple,arm-platform";
+ model = "Apple iPod Touch 6";
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ button-home {
+ label = "Home Button";
+ gpios = <&pinctrl 32 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_LEFTMETA>;
+ wakeup-source;
+ };
+
+ button-power {
+ label = "Power Button";
+ gpios = <&pinctrl 33 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
+ wakeup-source;
+ };
+
+ button-voldown {
+ label = "Volume Down";
+ gpios = <&pinctrl 46 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEDOWN>;
+ };
+
+ button-volup {
+ label = "Volume Up";
+ gpios = <&pinctrl 45 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEUP>;
+ };
+ };
+};
+
+&serial0 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/apple/t7000-n56.dts b/arch/arm64/boot/dts/apple/t7000-n56.dts
new file mode 100644
index 000000000000..2c358df14458
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t7000-n56.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 6 Plus, N56, iPhone7,2 (A1549/A1586/A1589)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t7000-6.dtsi"
+
+/ {
+ compatible = "apple,n56", "apple,t7000", "apple,arm-platform";
+ model = "Apple iPhone 6 Plus";
+};
diff --git a/arch/arm64/boot/dts/apple/t7000-n61.dts b/arch/arm64/boot/dts/apple/t7000-n61.dts
new file mode 100644
index 000000000000..10b4ca8babf7
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t7000-n61.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 6, N61, iPhone7,2 (A1549/A1586/A1589)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t7000-6.dtsi"
+
+/ {
+ compatible = "apple,n61", "apple,t7000", "apple,arm-platform";
+ model = "Apple iPhone 6";
+};
diff --git a/arch/arm64/boot/dts/apple/t7000.dtsi b/arch/arm64/boot/dts/apple/t7000.dtsi
new file mode 100644
index 000000000000..055a878f78d3
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t7000.dtsi
@@ -0,0 +1,147 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple T7000 "A8" SoC
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ * Based on Asahi Linux's M1 (t8103.dtsi) and Corellium's A10 efforts.
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/apple-aic.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/pinctrl/apple.h>
+
+/ {
+ interrupt-parent = <&aic>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ aliases {
+ serial0 = &serial0;
+ };
+
+ chosen {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ stdout-path = "serial0";
+
+ framebuffer0: framebuffer@0 {
+ compatible = "apple,simple-framebuffer", "simple-framebuffer";
+ reg = <0 0 0 0>; /* To be filled by loader */
+ /* Format properties will be added by loader */
+ status = "disabled";
+ };
+ };
+
+ clkref: clock-ref {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <24000000>;
+ clock-output-names = "clkref";
+ };
+
+ cpus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ cpu0: cpu@0 {
+ compatible = "apple,typhoon";
+ reg = <0x0 0x0>;
+ cpu-release-addr = <0 0>; /* To be filled in by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+
+ cpu1: cpu@1 {
+ compatible = "apple,typhoon";
+ reg = <0x0 0x1>;
+ cpu-release-addr = <0 0>; /* To be filled in by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+ };
+
+ memory@800000000 {
+ device_type = "memory";
+ /* To be filled in by the bootloader (based on XNU BootArgs). */
+ reg = <0x8 0 0 0>;
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ /*
+ * The bootloader reserves a region for the (varying-address, depending
+ * on what FW your device runs AND model) framebuffer under this node.
+ */
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+ nonposted-mmio;
+ ranges;
+
+ serial0: serial@20a0c0000 {
+ compatible = "apple,s5l-uart";
+ reg = <0x2 0x0a0c0000 0x0 0x4000>;
+ reg-io-width = <4>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 158 IRQ_TYPE_LEVEL_HIGH>;
+ /* Use the bootloader-enabled clocks for now. */
+ clocks = <&clkref>, <&clkref>;
+ clock-names = "uart", "clk_uart_baud0";
+ status = "disabled";
+ };
+
+ wdt: watchdog@20e027000 {
+ compatible = "apple,t7000-wdt", "apple,wdt";
+ reg = <0x2 0x0e027000 0x0 0x1000>;
+ clocks = <&clkref>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 4 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ aic: interrupt-controller@20e100000 {
+ compatible = "apple,t7000-aic", "apple,aic";
+ reg = <0x2 0x0e100000 0x0 0x100000>;
+ #interrupt-cells = <3>;
+ interrupt-controller;
+ };
+
+ pinctrl: pinctrl@20e300000 {
+ compatible = "apple,t7000-pinctrl", "apple,pinctrl";
+ reg = <0x2 0x0e300000 0x0 0x100000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl 0 0 208>;
+ apple,npins = <208>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 62 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 63 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 64 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 65 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 66 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 67 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 68 IRQ_TYPE_LEVEL_HIGH>;
+ };
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupt-parent = <&aic>;
+ interrupt-names = "phys", "virt";
+ /* Note that A8 doesn't actually have a hypervisor (EL2 is not implemented). */
+ interrupts = <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>;
+ };
+};
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 15/22] arm64: dts: apple: Add A8X devices
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (13 preceding siblings ...)
2024-09-11 8:41 ` [PATCH 14/22] arm64: dts: apple: Add A8 devices Nick Chan
@ 2024-09-11 8:41 ` Nick Chan
2024-09-11 8:41 ` [PATCH 16/22] arm64: dts: apple: Add A9 devices Nick Chan
` (9 subsequent siblings)
24 siblings, 0 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:41 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
From: Konrad Dybcio <konradybcio@kernel.org>
Add DTS files for the A8X SoC and the only device based on it, the iPad
Air 2.
Signed-off-by: Konrad Dybcio <konradybcio@kernel.org>
[Ivalyo: system memory bits]
Co-developed-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
[Nick: SMP, m1n1 and gpio-keys support, pinctrl fixes]
Co-developed-by: Nick Chan <towinchenmi@gmail.com>
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
arch/arm64/boot/dts/apple/Makefile | 2 +
arch/arm64/boot/dts/apple/t7001-air2.dtsi | 44 +++++++
arch/arm64/boot/dts/apple/t7001-j81.dts | 14 ++
arch/arm64/boot/dts/apple/t7001-j82.dts | 14 ++
arch/arm64/boot/dts/apple/t7001.dtsi | 154 ++++++++++++++++++++++
5 files changed, 228 insertions(+)
create mode 100644 arch/arm64/boot/dts/apple/t7001-air2.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t7001-j81.dts
create mode 100644 arch/arm64/boot/dts/apple/t7001-j82.dts
create mode 100644 arch/arm64/boot/dts/apple/t7001.dtsi
diff --git a/arch/arm64/boot/dts/apple/Makefile b/arch/arm64/boot/dts/apple/Makefile
index d5dd1e2e4f4c..adda522ea490 100644
--- a/arch/arm64/boot/dts/apple/Makefile
+++ b/arch/arm64/boot/dts/apple/Makefile
@@ -16,6 +16,8 @@ dtb-$(CONFIG_ARCH_APPLE) += t7000-j97.dtb
dtb-$(CONFIG_ARCH_APPLE) += t7000-n102.dtb
dtb-$(CONFIG_ARCH_APPLE) += t7000-n56.dtb
dtb-$(CONFIG_ARCH_APPLE) += t7000-n61.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t7001-j81.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t7001-j82.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j274.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j293.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j313.dtb
diff --git a/arch/arm64/boot/dts/apple/t7001-air2.dtsi b/arch/arm64/boot/dts/apple/t7001-air2.dtsi
new file mode 100644
index 000000000000..2c84de4c418a
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t7001-air2.dtsi
@@ -0,0 +1,44 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Air 2 common device tree
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+#include "t7001.dtsi"
+#include <dt-bindings/input/input.h>
+
+/ {
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ button-home {
+ label = "Home Button";
+ gpios = <&pinctrl 0 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_LEFTMETA>;
+ wakeup-source;
+ };
+
+ button-power {
+ label = "Power Button";
+ gpios = <&pinctrl 1 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
+ wakeup-source;
+ };
+
+ button-volup {
+ label = "Volume Up";
+ gpios = <&pinctrl 92 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEUP>;
+ };
+
+ button-voldown {
+ label = "Volume Down";
+ gpios = <&pinctrl 93 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEDOWN>;
+ };
+ };
+};
+
+&serial0 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/apple/t7001-j81.dts b/arch/arm64/boot/dts/apple/t7001-j81.dts
new file mode 100644
index 000000000000..ca90dc0c872c
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t7001-j81.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Air 2 (Wi-Fi), J81, iPad5,3 (A1566)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t7001-air2.dtsi"
+
+/ {
+ compatible = "apple,j81", "apple,t7001", "apple,arm-platform";
+ model = "Apple iPad Air 2 (Wi-Fi)";
+};
diff --git a/arch/arm64/boot/dts/apple/t7001-j82.dts b/arch/arm64/boot/dts/apple/t7001-j82.dts
new file mode 100644
index 000000000000..d9fd16f48db7
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t7001-j82.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Air 2 (Cellular), J82, iPad5,4 (A1567)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t7001-air2.dtsi"
+
+/ {
+ compatible = "apple,j82", "apple,t7001", "apple,arm-platform";
+ model = "Apple iPad Air 2 (Cellular)";
+};
diff --git a/arch/arm64/boot/dts/apple/t7001.dtsi b/arch/arm64/boot/dts/apple/t7001.dtsi
new file mode 100644
index 000000000000..9a5f0a4bde52
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t7001.dtsi
@@ -0,0 +1,154 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple T7001 "A8X" SoC
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ * Based on Asahi Linux's M1 (t8103.dtsi) and Corellium's A10 efforts.
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/apple-aic.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/pinctrl/apple.h>
+
+/ {
+ interrupt-parent = <&aic>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ aliases {
+ serial0 = &serial0;
+ };
+
+ chosen {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ stdout-path = "serial0";
+
+ framebuffer0: framebuffer@0 {
+ compatible = "apple,simple-framebuffer", "simple-framebuffer";
+ reg = <0 0 0 0>; /* To be filled by loader */
+ /* Format properties will be added by loader */
+ status = "disabled";
+ };
+ };
+
+ clkref: clock-ref {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <24000000>;
+ clock-output-names = "clkref";
+ };
+
+ cpus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ cpu0: cpu@0 {
+ compatible = "apple,typhoon";
+ reg = <0x0 0x0>;
+ cpu-release-addr = <0 0>; /* To be filled in by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+
+ cpu1: cpu@1 {
+ compatible = "apple,typhoon";
+ reg = <0x0 0x1>;
+ cpu-release-addr = <0 0>; /* To be filled in by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+
+ cpu2: cpu@2 {
+ compatible = "apple,typhoon";
+ reg = <0x0 0x2>;
+ cpu-release-addr = <0 0>; /* To be filled by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+ };
+
+ memory@800000000 {
+ device_type = "memory";
+ reg = <0x8 0 0 0>; /* To be filled in by loader */
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ /*
+ * The bootloader reserves a region for the (varying-address, depending
+ * on what FW your device runs AND model) framebuffer under this node.
+ */
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+ nonposted-mmio;
+ ranges;
+
+ serial0: serial@20a0c0000 {
+ compatible = "apple,s5l-uart";
+ reg = <0x2 0x0a0c0000 0x0 0x4000>;
+ reg-io-width = <4>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 158 IRQ_TYPE_LEVEL_HIGH>;
+ /* Use the bootloader-enabled clocks for now. */
+ clocks = <&clkref>, <&clkref>;
+ clock-names = "uart", "clk_uart_baud0";
+ status = "disabled";
+ };
+
+ wdt: watchdog@20e027000 {
+ compatible = "apple,t7000-wdt", "apple,wdt";
+ reg = <0x2 0x0e027000 0x0 0x1000>;
+ clocks = <&clkref>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 4 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ aic: interrupt-controller@20e100000 {
+ compatible = "apple,t7000-aic", "apple,aic";
+ reg = <0x2 0x0e100000 0x0 0x100000>;
+ #interrupt-cells = <3>;
+ interrupt-controller;
+ };
+
+ pinctrl: pinctrl@20e300000 {
+ compatible = "apple,t7000-pinctrl", "apple,pinctrl";
+ reg = <0x2 0x0e300000 0x0 0x100000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl 0 0 184>;
+ apple,npins = <184>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 62 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 63 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 64 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 65 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 66 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 67 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 68 IRQ_TYPE_LEVEL_HIGH>;
+ };
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupt-parent = <&aic>;
+ interrupt-names = "phys", "virt";
+ /* Note that A8X doesn't actually have a hypervisor (EL2 is not implemented). */
+ interrupts = <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>;
+ };
+};
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 16/22] arm64: dts: apple: Add A9 devices
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (14 preceding siblings ...)
2024-09-11 8:41 ` [PATCH 15/22] arm64: dts: apple: Add A8X devices Nick Chan
@ 2024-09-11 8:41 ` Nick Chan
2024-09-11 8:41 ` [PATCH 17/22] arm64: dts: apple: Add A9X devices Nick Chan
` (8 subsequent siblings)
24 siblings, 0 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:41 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
From: Konrad Dybcio <konradybcio@kernel.org>
Add DTS files for the A9 SoC and the following devices based on it:
- iPhone 6S
- iPhone 6S Plus
- iPhone SE (2016)
- iPad 5
Signed-off-by: Konrad Dybcio <konradybcio@kernel.org>
[Nick: SMP, m1n1 and AOP pinctrl support]
Co-developed-by: Nick Chan <towinchenmi@gmail.com>
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
arch/arm64/boot/dts/apple/Makefile | 10 ++
arch/arm64/boot/dts/apple/s8000-j71s.dts | 15 ++
arch/arm64/boot/dts/apple/s8000-j72s.dts | 15 ++
arch/arm64/boot/dts/apple/s8000-n66.dts | 15 ++
arch/arm64/boot/dts/apple/s8000-n69u.dts | 15 ++
arch/arm64/boot/dts/apple/s8000-n71.dts | 15 ++
arch/arm64/boot/dts/apple/s8000.dtsi | 179 +++++++++++++++++++++
arch/arm64/boot/dts/apple/s8003-j71t.dts | 15 ++
arch/arm64/boot/dts/apple/s8003-j72t.dts | 15 ++
arch/arm64/boot/dts/apple/s8003-n66m.dts | 15 ++
arch/arm64/boot/dts/apple/s8003-n69.dts | 15 ++
arch/arm64/boot/dts/apple/s8003-n71m.dts | 15 ++
arch/arm64/boot/dts/apple/s8003.dtsi | 19 +++
arch/arm64/boot/dts/apple/s800x-6s.dtsi | 50 ++++++
arch/arm64/boot/dts/apple/s800x-ipad5.dtsi | 44 +++++
arch/arm64/boot/dts/apple/s800x-se.dtsi | 50 ++++++
16 files changed, 502 insertions(+)
create mode 100644 arch/arm64/boot/dts/apple/s8000-j71s.dts
create mode 100644 arch/arm64/boot/dts/apple/s8000-j72s.dts
create mode 100644 arch/arm64/boot/dts/apple/s8000-n66.dts
create mode 100644 arch/arm64/boot/dts/apple/s8000-n69u.dts
create mode 100644 arch/arm64/boot/dts/apple/s8000-n71.dts
create mode 100644 arch/arm64/boot/dts/apple/s8000.dtsi
create mode 100644 arch/arm64/boot/dts/apple/s8003-j71t.dts
create mode 100644 arch/arm64/boot/dts/apple/s8003-j72t.dts
create mode 100644 arch/arm64/boot/dts/apple/s8003-n66m.dts
create mode 100644 arch/arm64/boot/dts/apple/s8003-n69.dts
create mode 100644 arch/arm64/boot/dts/apple/s8003-n71m.dts
create mode 100644 arch/arm64/boot/dts/apple/s8003.dtsi
create mode 100644 arch/arm64/boot/dts/apple/s800x-6s.dtsi
create mode 100644 arch/arm64/boot/dts/apple/s800x-ipad5.dtsi
create mode 100644 arch/arm64/boot/dts/apple/s800x-se.dtsi
diff --git a/arch/arm64/boot/dts/apple/Makefile b/arch/arm64/boot/dts/apple/Makefile
index adda522ea490..cbb7e409b7e3 100644
--- a/arch/arm64/boot/dts/apple/Makefile
+++ b/arch/arm64/boot/dts/apple/Makefile
@@ -18,6 +18,16 @@ dtb-$(CONFIG_ARCH_APPLE) += t7000-n56.dtb
dtb-$(CONFIG_ARCH_APPLE) += t7000-n61.dtb
dtb-$(CONFIG_ARCH_APPLE) += t7001-j81.dtb
dtb-$(CONFIG_ARCH_APPLE) += t7001-j82.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s8000-j71s.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s8000-j72s.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s8000-n66.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s8000-n69u.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s8000-n71.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s8003-j71t.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s8003-j72t.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s8003-n66m.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s8003-n69.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s8003-n71m.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j274.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j293.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j313.dtb
diff --git a/arch/arm64/boot/dts/apple/s8000-j71s.dts b/arch/arm64/boot/dts/apple/s8000-j71s.dts
new file mode 100644
index 000000000000..b5a2dfa1121e
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s8000-j71s.dts
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad 5 (Wi-Fi) (Samsung), J71s, iPad6,11 (A1822)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s8000.dtsi"
+#include "s800x-ipad5.dtsi"
+
+/ {
+ compatible = "apple,j71s", "apple,s8000", "apple,arm-platform";
+ model = "Apple iPad 5 (Wi-Fi) (Samsung)";
+};
diff --git a/arch/arm64/boot/dts/apple/s8000-j72s.dts b/arch/arm64/boot/dts/apple/s8000-j72s.dts
new file mode 100644
index 000000000000..8f3dea5adb09
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s8000-j72s.dts
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad 5 (Cellular) (Samsung), J72s, iPad6,12 (A1823)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s8000.dtsi"
+#include "s800x-ipad5.dtsi"
+
+/ {
+ compatible = "apple,j72s", "apple,s8000", "apple,arm-platform";
+ model = "Apple iPad 5 (Cellular) (Samsung)";
+};
diff --git a/arch/arm64/boot/dts/apple/s8000-n66.dts b/arch/arm64/boot/dts/apple/s8000-n66.dts
new file mode 100644
index 000000000000..834bf702b009
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s8000-n66.dts
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 6S Plus (Samsung), N66, iPhone8,2 (A1634/A1687/A1690/A1699)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s8000.dtsi"
+#include "s800x-6s.dtsi"
+
+/ {
+ compatible = "apple,n66", "apple,s8000", "apple,arm-platform";
+ model = "Apple iPhone 6S Plus (Samsung)";
+};
diff --git a/arch/arm64/boot/dts/apple/s8000-n69u.dts b/arch/arm64/boot/dts/apple/s8000-n69u.dts
new file mode 100644
index 000000000000..e63bc2e7f7c1
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s8000-n69u.dts
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone SE (Samsung), N69u, iPhone8,4 (A1662/A1723/A1724)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s8000.dtsi"
+#include "s800x-se.dtsi"
+
+/ {
+ compatible = "apple,n69u", "apple,s8000", "apple,arm-platform";
+ model = "Apple iPhone SE (Samsung)";
+};
diff --git a/arch/arm64/boot/dts/apple/s8000-n71.dts b/arch/arm64/boot/dts/apple/s8000-n71.dts
new file mode 100644
index 000000000000..784d29c55374
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s8000-n71.dts
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 6S (Samsung), N71, iPhone8,1 (A1633/A1688/A1691/A1700)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s8000.dtsi"
+#include "s800x-6s.dtsi"
+
+/ {
+ compatible = "apple,n71", "apple,s8000", "apple,arm-platform";
+ model = "Apple iPhone 6S (Samsung)";
+};
diff --git a/arch/arm64/boot/dts/apple/s8000.dtsi b/arch/arm64/boot/dts/apple/s8000.dtsi
new file mode 100644
index 000000000000..19629ae8af2b
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s8000.dtsi
@@ -0,0 +1,179 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple S8000 "A9 (Samsung)" SoC
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ * Based on Asahi Linux's M1 (t8103.dtsi) and Corellium's A10 efforts.
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/apple-aic.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/pinctrl/apple.h>
+
+/ {
+ interrupt-parent = <&aic>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ aliases {
+ serial0 = &serial0;
+ };
+
+ chosen {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ stdout-path = "serial0";
+
+ framebuffer0: framebuffer@0 {
+ compatible = "apple,simple-framebuffer", "simple-framebuffer";
+ reg = <0 0 0 0>; /* To be filled by loader */
+ /* Format properties will be added by loader */
+ status = "disabled";
+ };
+ };
+
+ clkref: clock-ref {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <24000000>;
+ clock-output-names = "clkref";
+ };
+
+ cpus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ cpu0: cpu@0 {
+ compatible = "apple,twister";
+ reg = <0x0 0x0>;
+ cpu-release-addr = <0 0>; /* To be filled in by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+
+ cpu1: cpu@1 {
+ compatible = "apple,twister";
+ reg = <0x0 0x1>;
+ cpu-release-addr = <0 0>; /* To be filled in by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+ };
+
+ memory@800000000 {
+ device_type = "memory";
+ /* To be filled in by the bootloader (based on XNU BootArgs). */
+ reg = <0x8 0 0 0>;
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ /*
+ * The bootloader reserves a region for the (varying-address, depending
+ * on what FW your device runs AND model) framebuffer under this node.
+ */
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+ nonposted-mmio;
+ ranges;
+
+ serial0: serial@20a0c0000 {
+ compatible = "apple,s5l-uart";
+ reg = <0x2 0x0a0c0000 0x0 0x4000>;
+ reg-io-width = <4>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 192 IRQ_TYPE_LEVEL_HIGH>;
+ /* Use the bootloader-enabled clocks for now. */
+ clocks = <&clkref>, <&clkref>;
+ clock-names = "uart", "clk_uart_baud0";
+ status = "disabled";
+ };
+
+ aic: interrupt-controller@20e100000 {
+ compatible = "apple,s8000-aic", "apple,aic";
+ reg = <0x2 0x0e100000 0x0 0x100000>;
+ #interrupt-cells = <3>;
+ interrupt-controller;
+ };
+
+ pinctrl_ap: pinctrl@20f100000 {
+ compatible = "apple,s8000-pinctrl", "apple,pinctrl";
+ reg = <0x2 0x0f100000 0x0 0x100000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl_ap 0 0 208>;
+ apple,npins = <208>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 42 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 43 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 44 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 45 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 46 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 47 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 48 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ pinctrl_aop: pinctrl@2100f0000 {
+ compatible = "apple,s8000-pinctrl", "apple,pinctrl";
+ reg = <0x2 0x100f0000 0x0 0x100000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl_aop 0 0 42>;
+ apple,npins = <42>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 113 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 114 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 115 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 116 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 117 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 118 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 119 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ wdt: watchdog@2102b0000 {
+ compatible = "apple,s8000-wdt", "apple,wdt";
+ reg = <0x2 0x102b0000 0x0 0x4000>;
+ clocks = <&clkref>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 4 IRQ_TYPE_LEVEL_HIGH>;
+ };
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupt-parent = <&aic>;
+ interrupt-names = "phys", "virt";
+ /* Note that A9 doesn't actually have a hypervisor (EL2 is not implemented). */
+ interrupts = <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>;
+ };
+};
+
+/*
+ * The A9 was made by two separate fabs on two different process
+ * nodes: Samsung made the S8000 (APL0898) on 14nm and TSMC made
+ * the S8003 (APL1022) on 16nm. While they are seemingly the same,
+ * they do have distinct part numbers and devices using them have
+ * distinct model names. There are currently no known differences
+ * between these as far as Linux is concerned, but let's keep things
+ * structured properly to make it easier to alter the behaviour of
+ * one of the chips if need be.
+ */
diff --git a/arch/arm64/boot/dts/apple/s8003-j71t.dts b/arch/arm64/boot/dts/apple/s8003-j71t.dts
new file mode 100644
index 000000000000..0d906ae80b07
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s8003-j71t.dts
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad 5 (Wi-Fi) (TSMC), J71t, iPad6,11 (A1822)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s8003.dtsi"
+#include "s800x-ipad5.dtsi"
+
+/ {
+ compatible = "apple,j71t", "apple,s8003", "apple,arm-platform";
+ model = "Apple iPad 5 (Wi-Fi) (TSMC)";
+};
diff --git a/arch/arm64/boot/dts/apple/s8003-j72t.dts b/arch/arm64/boot/dts/apple/s8003-j72t.dts
new file mode 100644
index 000000000000..0cd7d88e9dfb
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s8003-j72t.dts
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad 5 (Cellular) (TSMC), J72t, iPad6,12 (A1823)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s8003.dtsi"
+#include "s800x-ipad5.dtsi"
+
+/ {
+ compatible = "apple,j72t", "apple,s8003", "apple,arm-platform";
+ model = "Apple iPad 5 (Cellular) (TSMC)";
+};
diff --git a/arch/arm64/boot/dts/apple/s8003-n66m.dts b/arch/arm64/boot/dts/apple/s8003-n66m.dts
new file mode 100644
index 000000000000..99eee8531da3
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s8003-n66m.dts
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 6S Plus (TSMC), N66m, iPhone8,2 (A1634/A1687/A1690/A1699)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s8003.dtsi"
+#include "s800x-6s.dtsi"
+
+/ {
+ compatible = "apple,n66m", "apple,s8003", "apple,arm-platform";
+ model = "Apple iPhone 6S Plus (TSMC)";
+};
diff --git a/arch/arm64/boot/dts/apple/s8003-n69.dts b/arch/arm64/boot/dts/apple/s8003-n69.dts
new file mode 100644
index 000000000000..8eed879b155e
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s8003-n69.dts
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone SE (TSMC), N69, iPhone8,4 (A1662/A1723/A1724)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s8003.dtsi"
+#include "s800x-se.dtsi"
+
+/ {
+ compatible = "apple,n69", "apple,s8003", "apple,arm-platform";
+ model = "Apple iPhone SE (TSMC)";
+};
diff --git a/arch/arm64/boot/dts/apple/s8003-n71m.dts b/arch/arm64/boot/dts/apple/s8003-n71m.dts
new file mode 100644
index 000000000000..b841fe4433d1
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s8003-n71m.dts
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 6S (TSMC), N71m, iPhone8,1 (A1633/A1688/A1691/A1700)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s8003.dtsi"
+#include "s800x-6s.dtsi"
+
+/ {
+ compatible = "apple,n71m", "apple,s8003", "apple,arm-platform";
+ model = "Apple iPhone 6S (TSMC)";
+};
diff --git a/arch/arm64/boot/dts/apple/s8003.dtsi b/arch/arm64/boot/dts/apple/s8003.dtsi
new file mode 100644
index 000000000000..52094a634678
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s8003.dtsi
@@ -0,0 +1,19 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple S8003 "A9 (TSMC)" SoC
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+#include "s8000.dtsi"
+
+/*
+ * The A9 was made by two separate fabs on two different process
+ * nodes: Samsung made the S8000 (APL0898) on 14nm and TSMC made
+ * the S8003 (APL1022) on 16nm. While they are seemingly the same,
+ * they do have distinct part numbers and devices using them have
+ * distinct model names. There are currently no known differences
+ * between these as far as Linux is concerned, but let's keep things
+ * structured properly to make it easier to alter the behaviour of
+ * one of the chips if need be.
+ */
diff --git a/arch/arm64/boot/dts/apple/s800x-6s.dtsi b/arch/arm64/boot/dts/apple/s800x-6s.dtsi
new file mode 100644
index 000000000000..7b217fca8aff
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s800x-6s.dtsi
@@ -0,0 +1,50 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 6S / 6S Plus common device tree
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ button-home {
+ label = "Home Button";
+ gpios = <&pinctrl_ap 96 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_LEFTMETA>;
+ wakeup-source;
+ };
+
+ button-power {
+ label = "Power Button";
+ gpios = <&pinctrl_ap 97 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
+ wakeup-source;
+ };
+
+ button-voldown {
+ label = "Volume Down";
+ gpios = <&pinctrl_ap 67 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEDOWN>;
+ };
+
+ button-volup {
+ label = "Volume Up";
+ gpios = <&pinctrl_ap 66 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEUP>;
+ };
+
+ switch-mute {
+ label = "Mute Switch";
+ gpios = <&pinctrl_ap 149 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_MUTE>;
+ };
+ };
+};
+
+&serial0 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/apple/s800x-ipad5.dtsi b/arch/arm64/boot/dts/apple/s800x-ipad5.dtsi
new file mode 100644
index 000000000000..1a921e9d77c3
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s800x-ipad5.dtsi
@@ -0,0 +1,44 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad 5 common device tree
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ button-home {
+ label = "Home Button";
+ gpios = <&pinctrl_ap 96 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_LEFTMETA>;
+ wakeup-source;
+ };
+
+ button-power {
+ label = "Power Button";
+ gpios = <&pinctrl_ap 97 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
+ wakeup-source;
+ };
+
+ button-voldown {
+ label = "Volume Down";
+ gpios = <&pinctrl_ap 143 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEDOWN>;
+ };
+
+ button-volup {
+ label = "Volume Up";
+ gpios = <&pinctrl_ap 144 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEUP>;
+ };
+ };
+};
+
+&serial0 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/apple/s800x-se.dtsi b/arch/arm64/boot/dts/apple/s800x-se.dtsi
new file mode 100644
index 000000000000..c2b9ad90e88f
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s800x-se.dtsi
@@ -0,0 +1,50 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone SE common device tree
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ button-home {
+ label = "Home Button";
+ gpios = <&pinctrl_ap 96 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_LEFTMETA>;
+ wakeup-source;
+ };
+
+ button-power {
+ label = "Power Button";
+ gpios = <&pinctrl_ap 97 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
+ wakeup-source;
+ };
+
+ button-voldown {
+ label = "Volume Down";
+ gpios = <&pinctrl_ap 67 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEDOWN>;
+ };
+
+ button-volup {
+ label = "Volume Up";
+ gpios = <&pinctrl_ap 66 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEUP>;
+ };
+
+ switch-mute {
+ label = "Mute Switch";
+ gpios = <&pinctrl_ap 149 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_MUTE>;
+ };
+ };
+};
+
+&serial0 {
+ status = "okay";
+};
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 17/22] arm64: dts: apple: Add A9X devices
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (15 preceding siblings ...)
2024-09-11 8:41 ` [PATCH 16/22] arm64: dts: apple: Add A9 devices Nick Chan
@ 2024-09-11 8:41 ` Nick Chan
2024-09-11 8:41 ` [PATCH 18/22] arm64: dts: apple: Add A10 devices Nick Chan
` (7 subsequent siblings)
24 siblings, 0 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:41 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
From: Konrad Dybcio <konradybcio@kernel.org>
Add the device tree for the A9X SoC and the devices based on it:
- iPad Pro (9.7 Inch)
- iPad Pro (12.9 Inch) (1st generation)
Signed-off-by: Konrad Dybcio <konradybcio@kernel.org>
[Nick: SMP and m1n1 support, uart interrupt and pinctrl fixes]
Co-developed-by: Nick Chan <towinchenmi@gmail.com>
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
arch/arm64/boot/dts/apple/Makefile | 4 +
arch/arm64/boot/dts/apple/s8001-j127.dts | 14 ++
arch/arm64/boot/dts/apple/s8001-j128.dts | 14 ++
arch/arm64/boot/dts/apple/s8001-j98a.dts | 14 ++
arch/arm64/boot/dts/apple/s8001-j99a.dts | 14 ++
arch/arm64/boot/dts/apple/s8001-pro.dtsi | 45 ++++++
arch/arm64/boot/dts/apple/s8001.dtsi | 167 +++++++++++++++++++++++
7 files changed, 272 insertions(+)
create mode 100644 arch/arm64/boot/dts/apple/s8001-j127.dts
create mode 100644 arch/arm64/boot/dts/apple/s8001-j128.dts
create mode 100644 arch/arm64/boot/dts/apple/s8001-j98a.dts
create mode 100644 arch/arm64/boot/dts/apple/s8001-j99a.dts
create mode 100644 arch/arm64/boot/dts/apple/s8001-pro.dtsi
create mode 100644 arch/arm64/boot/dts/apple/s8001.dtsi
diff --git a/arch/arm64/boot/dts/apple/Makefile b/arch/arm64/boot/dts/apple/Makefile
index cbb7e409b7e3..f8cd10889d9f 100644
--- a/arch/arm64/boot/dts/apple/Makefile
+++ b/arch/arm64/boot/dts/apple/Makefile
@@ -28,6 +28,10 @@ dtb-$(CONFIG_ARCH_APPLE) += s8003-j72t.dtb
dtb-$(CONFIG_ARCH_APPLE) += s8003-n66m.dtb
dtb-$(CONFIG_ARCH_APPLE) += s8003-n69.dtb
dtb-$(CONFIG_ARCH_APPLE) += s8003-n71m.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s8001-j127.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s8001-j128.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s8001-j98a.dtb
+dtb-$(CONFIG_ARCH_APPLE) += s8001-j99a.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j274.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j293.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j313.dtb
diff --git a/arch/arm64/boot/dts/apple/s8001-j127.dts b/arch/arm64/boot/dts/apple/s8001-j127.dts
new file mode 100644
index 000000000000..8b522085cb3e
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s8001-j127.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Pro (9.7-inch) (Wi-Fi), J127, iPad6,3 (A1673)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s8001-pro.dtsi"
+
+/ {
+ compatible = "apple,j127", "apple,s8001", "apple,arm-platform";
+ model = "Apple iPad Pro (9.7-inch) (Wi-Fi)";
+};
diff --git a/arch/arm64/boot/dts/apple/s8001-j128.dts b/arch/arm64/boot/dts/apple/s8001-j128.dts
new file mode 100644
index 000000000000..cdd3d06dcbf1
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s8001-j128.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Pro (9.7-inch) (Cellular), J128, iPad6,4 (A1674/A1675)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s8001-pro.dtsi"
+
+/ {
+ compatible = "apple,j128", "apple,s8001", "apple,arm-platform";
+ model = "Apple iPad Pro (9.7-inch) (Cellular)";
+};
diff --git a/arch/arm64/boot/dts/apple/s8001-j98a.dts b/arch/arm64/boot/dts/apple/s8001-j98a.dts
new file mode 100644
index 000000000000..6d6b841e7ab0
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s8001-j98a.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Pro (12.9-inch) (Wi-Fi), J98a, iPad6,7 (A1584)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s8001-pro.dtsi"
+
+/ {
+ compatible = "apple,j98a", "apple,s8001", "apple,arm-platform";
+ model = "Apple iPad Pro (12.9-inch) (Wi-Fi)";
+};
diff --git a/arch/arm64/boot/dts/apple/s8001-j99a.dts b/arch/arm64/boot/dts/apple/s8001-j99a.dts
new file mode 100644
index 000000000000..d20194b1cae7
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s8001-j99a.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Pro (12.9-inch) (Cellular), J99a, iPad6,8 (A1652)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "s8001-pro.dtsi"
+
+/ {
+ compatible = "apple,j99a", "apple,s8001", "apple,arm-platform";
+ model = "Apple iPad Pro (12.9-inch) (Cellular)";
+};
diff --git a/arch/arm64/boot/dts/apple/s8001-pro.dtsi b/arch/arm64/boot/dts/apple/s8001-pro.dtsi
new file mode 100644
index 000000000000..3bd0e12d6196
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s8001-pro.dtsi
@@ -0,0 +1,45 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Pro (1st generation) common device tree
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+#include "s8001.dtsi"
+#include <dt-bindings/input/input.h>
+
+/ {
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ button-home {
+ label = "Home Button";
+ gpios = <&pinctrl_ap 122 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_LEFTMETA>;
+ wakeup-source;
+ };
+
+ button-power {
+ label = "Power Button";
+ gpios = <&pinctrl_ap 123 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
+ wakeup-source;
+ };
+
+ button-voldown {
+ label = "Volume Down";
+ gpios = <&pinctrl_ap 15 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEDOWN>;
+ };
+
+ button-volup {
+ label = "Volume Up";
+ gpios = <&pinctrl_ap 12 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEUP>;
+ };
+ };
+};
+
+&serial0 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/apple/s8001.dtsi b/arch/arm64/boot/dts/apple/s8001.dtsi
new file mode 100644
index 000000000000..ab22d7948f62
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/s8001.dtsi
@@ -0,0 +1,167 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple S8001 "A9X" SoC
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ * Based on Asahi Linux's M1 (t8103.dtsi) and Corellium's A10 efforts.
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/apple-aic.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/pinctrl/apple.h>
+
+/ {
+ interrupt-parent = <&aic>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ aliases {
+ serial0 = &serial0;
+ };
+
+ chosen {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ stdout-path = "serial0";
+
+ framebuffer0: framebuffer@0 {
+ compatible = "apple,simple-framebuffer", "simple-framebuffer";
+ reg = <0 0 0 0>; /* To be filled by loader */
+ /* Format properties will be added by loader */
+ status = "disabled";
+ };
+ };
+
+ clkref: clock-ref {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <24000000>;
+ clock-output-names = "clkref";
+ };
+
+ cpus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ cpu0: cpu@0 {
+ compatible = "apple,twister";
+ reg = <0x0 0x0>;
+ cpu-release-addr = <0 0>; /* To be filled in by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+
+ cpu1: cpu@1 {
+ compatible = "apple,twister";
+ reg = <0x0 0x1>;
+ cpu-release-addr = <0 0>; /* To be filled in by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+ };
+
+ memory@800000000 {
+ device_type = "memory";
+ reg = <0x8 0 0 0>; /* To be filled in by loader */
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ /*
+ * The bootloader reserves a region for the (varying-address, depending
+ * on what FW your device runs AND model) framebuffer under this node.
+ */
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+ nonposted-mmio;
+ ranges;
+
+ serial0: serial@20a0c0000 {
+ compatible = "apple,s5l-uart";
+ reg = <0x2 0x0a0c0000 0x0 0x4000>;
+ reg-io-width = <4>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 218 IRQ_TYPE_LEVEL_HIGH>;
+ /* Use the bootloader-enabled clocks for now. */
+ clocks = <&clkref>, <&clkref>;
+ clock-names = "uart", "clk_uart_baud0";
+ status = "disabled";
+ };
+
+ aic: interrupt-controller@20e100000 {
+ compatible = "apple,s8000-aic", "apple,aic";
+ reg = <0x2 0x0e100000 0x0 0x100000>;
+ #interrupt-cells = <3>;
+ interrupt-controller;
+ };
+
+ pinctrl_ap: pinctrl@20f100000 {
+ compatible = "apple,s8000-pinctrl", "apple,pinctrl";
+ reg = <0x2 0x0f100000 0x0 0x100000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl_ap 0 0 219>;
+ apple,npins = <219>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 42 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 43 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 44 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 45 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 46 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 47 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 48 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ pinctrl_aop: pinctrl@2100f0000 {
+ compatible = "apple,s8000-pinctrl", "apple,pinctrl";
+ reg = <0x2 0x100f0000 0x0 0x100000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl_aop 0 0 28>;
+ apple,npins = <28>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 128 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 129 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 130 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 131 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 132 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 133 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 134 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ wdt: watchdog@2102b0000 {
+ compatible = "apple,s8000-wdt", "apple,wdt";
+ reg = <0x2 0x102b0000 0x0 0x4000>;
+ clocks = <&clkref>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 4 IRQ_TYPE_LEVEL_HIGH>;
+ };
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupt-parent = <&aic>;
+ interrupt-names = "phys", "virt";
+ /* Note that A9X doesn't actually have a hypervisor (EL2 is not implemented). */
+ interrupts = <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>;
+ };
+};
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 18/22] arm64: dts: apple: Add A10 devices
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (16 preceding siblings ...)
2024-09-11 8:41 ` [PATCH 17/22] arm64: dts: apple: Add A9X devices Nick Chan
@ 2024-09-11 8:41 ` Nick Chan
2024-09-11 8:41 ` [PATCH 19/22] arm64: dts: apple: Add A10X devices Nick Chan
` (6 subsequent siblings)
24 siblings, 0 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:41 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
From: Konrad Dybcio <konradybcio@kernel.org>
Add DTS files for the A10 SoC and the following devices based on it:
- iPhone 7
- iPhone 7 Plus
- iPod Touch 7
- iPad 6
- iPad 7
iPod Touch 7 only supports up to 1.64 GHz, so it includes t8010.dtsi
directly, and other devices will include t8010-fast.dtsi.
Signed-off-by: Konrad Dybcio <konradybcio@kernel.org>
[Nick: SMP, m1n1 and AOP pinctrl support]
Co-developed-by: Nick Chan <towinchenmi@gmail.com>
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
arch/arm64/boot/dts/apple/Makefile | 9 ++
arch/arm64/boot/dts/apple/t8010-7.dtsi | 45 ++++++
arch/arm64/boot/dts/apple/t8010-d10.dts | 14 ++
arch/arm64/boot/dts/apple/t8010-d101.dts | 14 ++
arch/arm64/boot/dts/apple/t8010-d11.dts | 14 ++
arch/arm64/boot/dts/apple/t8010-d111.dts | 14 ++
arch/arm64/boot/dts/apple/t8010-fast.dtsi | 8 +
arch/arm64/boot/dts/apple/t8010-ipad6.dtsi | 45 ++++++
arch/arm64/boot/dts/apple/t8010-ipad7.dtsi | 15 ++
arch/arm64/boot/dts/apple/t8010-j171.dts | 14 ++
arch/arm64/boot/dts/apple/t8010-j172.dts | 14 ++
arch/arm64/boot/dts/apple/t8010-j71b.dts | 14 ++
arch/arm64/boot/dts/apple/t8010-j72b.dts | 14 ++
arch/arm64/boot/dts/apple/t8010-n112.dts | 48 ++++++
arch/arm64/boot/dts/apple/t8010.dtsi | 167 +++++++++++++++++++++
15 files changed, 449 insertions(+)
create mode 100644 arch/arm64/boot/dts/apple/t8010-7.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t8010-d10.dts
create mode 100644 arch/arm64/boot/dts/apple/t8010-d101.dts
create mode 100644 arch/arm64/boot/dts/apple/t8010-d11.dts
create mode 100644 arch/arm64/boot/dts/apple/t8010-d111.dts
create mode 100644 arch/arm64/boot/dts/apple/t8010-fast.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t8010-ipad6.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t8010-ipad7.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t8010-j171.dts
create mode 100644 arch/arm64/boot/dts/apple/t8010-j172.dts
create mode 100644 arch/arm64/boot/dts/apple/t8010-j71b.dts
create mode 100644 arch/arm64/boot/dts/apple/t8010-j72b.dts
create mode 100644 arch/arm64/boot/dts/apple/t8010-n112.dts
create mode 100644 arch/arm64/boot/dts/apple/t8010.dtsi
diff --git a/arch/arm64/boot/dts/apple/Makefile b/arch/arm64/boot/dts/apple/Makefile
index f8cd10889d9f..4a7002e289a0 100644
--- a/arch/arm64/boot/dts/apple/Makefile
+++ b/arch/arm64/boot/dts/apple/Makefile
@@ -32,6 +32,15 @@ dtb-$(CONFIG_ARCH_APPLE) += s8001-j127.dtb
dtb-$(CONFIG_ARCH_APPLE) += s8001-j128.dtb
dtb-$(CONFIG_ARCH_APPLE) += s8001-j98a.dtb
dtb-$(CONFIG_ARCH_APPLE) += s8001-j99a.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8010-d101.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8010-d10.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8010-d111.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8010-d11.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8010-j171.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8010-j172.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8010-j71b.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8010-j72b.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8010-n112.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j274.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j293.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j313.dtb
diff --git a/arch/arm64/boot/dts/apple/t8010-7.dtsi b/arch/arm64/boot/dts/apple/t8010-7.dtsi
new file mode 100644
index 000000000000..a33b911a3b61
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8010-7.dtsi
@@ -0,0 +1,45 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 7 / 7 Plus common device tree
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+#include "t8010-fast.dtsi"
+#include <dt-bindings/input/input.h>
+
+/ {
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ button-power {
+ label = "Power Button";
+ gpios = <&pinctrl_ap 179 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
+ wakeup-source;
+ };
+
+ button-voldown {
+ label = "Volume Down";
+ gpios = <&pinctrl_ap 180 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEDOWN>;
+ };
+
+ button-volup {
+ label = "Volume Up";
+ gpios = <&pinctrl_ap 23 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEUP>;
+ };
+
+ switch-mute {
+ label = "Mute Switch";
+ gpios = <&pinctrl_ap 86 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_MUTE>;
+ };
+ };
+};
+
+
+&serial0 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/apple/t8010-d10.dts b/arch/arm64/boot/dts/apple/t8010-d10.dts
new file mode 100644
index 000000000000..39cdd12db6bf
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8010-d10.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 7 (Qualcomm), D10, iPhone9,1 (A1660/A1778/A1779/A1780)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t8010-7.dtsi"
+
+/ {
+ compatible = "apple,d10", "apple,t8010", "apple,arm-platform";
+ model = "Apple iPhone 7 (Qualcomm)";
+};
diff --git a/arch/arm64/boot/dts/apple/t8010-d101.dts b/arch/arm64/boot/dts/apple/t8010-d101.dts
new file mode 100644
index 000000000000..6a9f0856f930
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8010-d101.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 7 (Intel), D101, iPhone9,3 (A1660/A1778/A1779/A1780)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t8010-7.dtsi"
+
+/ {
+ compatible = "apple,d101", "apple,t8010", "apple,arm-platform";
+ model = "Apple iPhone 7 (Intel)";
+};
diff --git a/arch/arm64/boot/dts/apple/t8010-d11.dts b/arch/arm64/boot/dts/apple/t8010-d11.dts
new file mode 100644
index 000000000000..57e41c2cfbe2
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8010-d11.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 7 Plus (Qualcomm), D11, iPhone9,2 (A1661/A1784/A1785/A1786)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t8010-7.dtsi"
+
+/ {
+ compatible = "apple,d11", "apple,t8010", "apple,arm-platform";
+ model = "Apple iPhone 7 Plus (Qualcomm)";
+};
diff --git a/arch/arm64/boot/dts/apple/t8010-d111.dts b/arch/arm64/boot/dts/apple/t8010-d111.dts
new file mode 100644
index 000000000000..37e395a48c1d
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8010-d111.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 7 Plus (Intel), D111, iPhone9,4 (A1661/A1784/A1785/A1786)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t8010-7.dtsi"
+
+/ {
+ compatible = "apple,d111", "apple,t8010", "apple,arm-platform";
+ model = "Apple iPhone 7 Plus (Intel)";
+};
diff --git a/arch/arm64/boot/dts/apple/t8010-fast.dtsi b/arch/arm64/boot/dts/apple/t8010-fast.dtsi
new file mode 100644
index 000000000000..4bdf1c3eccfe
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8010-fast.dtsi
@@ -0,0 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0 OR MIT
+/*
+ * Apple T8010 "A10" common device tree for non-iPod touch 7 devices
+ *
+ * Copyright (c) 2024, Nick Chan <towinchenmi@gmail.com>
+ */
+
+#include "t8010.dtsi"
diff --git a/arch/arm64/boot/dts/apple/t8010-ipad6.dtsi b/arch/arm64/boot/dts/apple/t8010-ipad6.dtsi
new file mode 100644
index 000000000000..516fa798cb6a
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8010-ipad6.dtsi
@@ -0,0 +1,45 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad 6 common device tree
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+#include "t8010-fast.dtsi"
+#include <dt-bindings/input/input.h>
+
+/ {
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ button-home {
+ label = "Home Button";
+ gpios = <&pinctrl_ap 180 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_LEFTMETA>;
+ wakeup-source;
+ };
+
+ button-power {
+ label = "Power Button";
+ gpios = <&pinctrl_ap 179 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
+ wakeup-source;
+ };
+
+ button-voldown {
+ label = "Volume Down";
+ gpios = <&pinctrl_ap 89 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEDOWN>;
+ };
+
+ button-volup {
+ label = "Volume Up";
+ gpios = <&pinctrl_ap 90 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEUP>;
+ };
+ };
+};
+
+&serial0 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/apple/t8010-ipad7.dtsi b/arch/arm64/boot/dts/apple/t8010-ipad7.dtsi
new file mode 100644
index 000000000000..3ff93a2b5b37
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8010-ipad7.dtsi
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad 7 common device tree
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+#include "t8010-fast.dtsi"
+
+/*
+ * The iPad 7 seems to be only an iteration over the iPad 6 with some small changes, like the
+ * a bigger screen and 1 GiB of RAM more, hence there is little to no differentiation between
+ * these 2 generations for now.
+ */
+#include "t8010-ipad6.dtsi"
diff --git a/arch/arm64/boot/dts/apple/t8010-j171.dts b/arch/arm64/boot/dts/apple/t8010-j171.dts
new file mode 100644
index 000000000000..6751bf3a4afd
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8010-j171.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad 7 (Wi-Fi), J171, iPad7,11 (A2197)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t8010-ipad7.dtsi"
+
+/ {
+ compatible = "apple,j171", "apple,t8010", "apple,arm-platform";
+ model = "Apple iPad 7 (Wi-Fi)";
+};
diff --git a/arch/arm64/boot/dts/apple/t8010-j172.dts b/arch/arm64/boot/dts/apple/t8010-j172.dts
new file mode 100644
index 000000000000..51aaa950acd9
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8010-j172.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad 7 (Cellular), J172, iPad7,12 (A2198/A2200)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t8010-ipad7.dtsi"
+
+/ {
+ compatible = "apple,j172", "apple,t8010", "apple,arm-platform";
+ model = "Apple iPad 7 (Cellular)";
+};
diff --git a/arch/arm64/boot/dts/apple/t8010-j71b.dts b/arch/arm64/boot/dts/apple/t8010-j71b.dts
new file mode 100644
index 000000000000..534eb8413e08
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8010-j71b.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad 6 (Wi-Fi), J71b, iPad7,5 (A1893)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t8010-ipad6.dtsi"
+
+/ {
+ compatible = "apple,j71b", "apple,t8010", "apple,arm-platform";
+ model = "Apple iPad 6 (Wi-Fi)";
+};
diff --git a/arch/arm64/boot/dts/apple/t8010-j72b.dts b/arch/arm64/boot/dts/apple/t8010-j72b.dts
new file mode 100644
index 000000000000..264924e41f42
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8010-j72b.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad 6 (Cellular), J72b, iPad7,6 (A1954)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t8010-ipad6.dtsi"
+
+/ {
+ compatible = "apple,j72b", "apple,t8010", "apple,arm-platform";
+ model = "Apple iPad 6 (Cellular)";
+};
diff --git a/arch/arm64/boot/dts/apple/t8010-n112.dts b/arch/arm64/boot/dts/apple/t8010-n112.dts
new file mode 100644
index 000000000000..25658d59709a
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8010-n112.dts
@@ -0,0 +1,48 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPod Touch 7, N112, iPod9,1 (A2178)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t8010.dtsi"
+
+/ {
+ compatible = "apple,n112", "apple,t8010", "apple,arm-platform";
+ model = "Apple iPod Touch 7";
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ button-home {
+ label = "Home Button";
+ gpios = <&pinctrl_ap 86 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_LEFTMETA>;
+ wakeup-source;
+ };
+
+ button-power {
+ label = "Power Button";
+ gpios = <&pinctrl_ap 179 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
+ wakeup-source;
+ };
+
+ button-voldown {
+ label = "Volume Down";
+ gpios = <&pinctrl_ap 180 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEDOWN>;
+ };
+
+ button-volup {
+ label = "Volume Up";
+ gpios = <&pinctrl_ap 23 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEUP>;
+ };
+ };
+};
+
+&serial0 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/apple/t8010.dtsi b/arch/arm64/boot/dts/apple/t8010.dtsi
new file mode 100644
index 000000000000..926a0f501477
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8010.dtsi
@@ -0,0 +1,167 @@
+// SPDX-License-Identifier: GPL-2.0 OR MIT
+/*
+ * Apple T8010 "A10" SoC
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ * Based on Asahi Linux's M1 (t8103.dtsi) and Corellium's A10 efforts.
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/apple-aic.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/pinctrl/apple.h>
+
+/ {
+ interrupt-parent = <&aic>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ aliases {
+ serial0 = &serial0;
+ };
+
+ chosen {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ stdout-path = "serial0";
+
+ framebuffer0: framebuffer@0 {
+ compatible = "apple,simple-framebuffer", "simple-framebuffer";
+ reg = <0 0 0 0>; /* To be filled by loader */
+ /* Format properties will be added by loader */
+ status = "disabled";
+ };
+ };
+
+ clkref: clock-ref {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <24000000>;
+ clock-output-names = "clkref";
+ };
+
+ cpus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ cpu0: cpu@0 {
+ compatible = "apple,hurricane-zephyr";
+ reg = <0x0 0x0>;
+ cpu-release-addr = <0 0>; /* To be filled by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+
+ cpu1: cpu@1 {
+ compatible = "apple,hurricane-zephyr";
+ reg = <0x0 0x1>;
+ cpu-release-addr = <0 0>; /* To be filled by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+ };
+
+ memory@800000000 {
+ device_type = "memory";
+ reg = <0x8 0 0 0>; /* To be filled by loader */
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ /*
+ * The bootloader reserves a region for the (varying-address, depending
+ * on what FW your device runs AND model) framebuffer under this node.
+ */
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+ nonposted-mmio;
+ ranges;
+
+ serial0: serial@20a0c0000 {
+ compatible = "apple,s5l-uart";
+ reg = <0x2 0x0a0c0000 0x0 0x4000>;
+ reg-io-width = <4>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 218 IRQ_TYPE_LEVEL_HIGH>;
+ /* Use the bootloader-enabled clocks for now. */
+ clocks = <&clkref>, <&clkref>;
+ clock-names = "uart", "clk_uart_baud0";
+ status = "disabled";
+ };
+
+ aic: interrupt-controller@20e100000 {
+ compatible = "apple,t8010-aic", "apple,aic";
+ reg = <0x2 0x0e100000 0x0 0x100000>;
+ #interrupt-cells = <3>;
+ interrupt-controller;
+ };
+
+ pinctrl_ap: pinctrl@20f100000 {
+ compatible = "apple,t8010-pinctrl", "apple,pinctrl";
+ reg = <0x2 0x0f100000 0x0 0x100000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl_ap 0 0 208>;
+ apple,npins = <208>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 42 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 43 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 44 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 45 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 46 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 47 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 48 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ pinctrl_aop: pinctrl@2100f0000 {
+ compatible = "apple,t8010-pinctrl", "apple,pinctrl";
+ reg = <0x2 0x100f0000 0x0 0x100000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl_aop 0 0 42>;
+ apple,npins = <42>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 128 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 129 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 130 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 131 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 132 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 133 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 134 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ wdt: watchdog@2102b0000 {
+ compatible = "apple,t8010-wdt", "apple,wdt";
+ reg = <0x2 0x102b0000 0x0 0x4000>;
+ clocks = <&clkref>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 4 IRQ_TYPE_LEVEL_HIGH>;
+ };
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupt-parent = <&aic>;
+ interrupt-names = "phys", "virt";
+ /* Note that A10 doesn't actually have a hypervisor (EL2 is not implemented). */
+ interrupts = <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>;
+ };
+};
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 19/22] arm64: dts: apple: Add A10X devices
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (17 preceding siblings ...)
2024-09-11 8:41 ` [PATCH 18/22] arm64: dts: apple: Add A10 devices Nick Chan
@ 2024-09-11 8:41 ` Nick Chan
2024-09-11 8:41 ` [PATCH 20/22] arm64: dts: apple: Add A11 devices Nick Chan
` (5 subsequent siblings)
24 siblings, 0 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:41 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
From: Konrad Dybcio <konradybcio@kernel.org>
Add DTS files for the A10X SoC and the following devices based on it:
- Apple TV 4K
- iPad Pro (2nd Generation) (10.5 Inch)
- iPad Pro (2nd Generation) (12.9 Inch)
Signed-off-by: Konrad Dybcio <konradybcio@kernel.org>
[Nick: SMP, m1n1 and Apple TV 4K support, uart interrupt and pinctrl fixes]
Co-developed-by: Nick Chan <towinchenmi@gmail.com>
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
arch/arm64/boot/dts/apple/Makefile | 6 +-
arch/arm64/boot/dts/apple/t8011-j105a.dts | 14 ++
arch/arm64/boot/dts/apple/t8011-j120.dts | 14 ++
arch/arm64/boot/dts/apple/t8011-j121.dts | 14 ++
arch/arm64/boot/dts/apple/t8011-j207.dts | 14 ++
arch/arm64/boot/dts/apple/t8011-j208.dts | 14 ++
arch/arm64/boot/dts/apple/t8011-pro2.dtsi | 45 ++++++
arch/arm64/boot/dts/apple/t8011.dtsi | 175 ++++++++++++++++++++++
8 files changed, 295 insertions(+), 1 deletion(-)
create mode 100644 arch/arm64/boot/dts/apple/t8011-j105a.dts
create mode 100644 arch/arm64/boot/dts/apple/t8011-j120.dts
create mode 100644 arch/arm64/boot/dts/apple/t8011-j121.dts
create mode 100644 arch/arm64/boot/dts/apple/t8011-j207.dts
create mode 100644 arch/arm64/boot/dts/apple/t8011-j208.dts
create mode 100644 arch/arm64/boot/dts/apple/t8011-pro2.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t8011.dtsi
diff --git a/arch/arm64/boot/dts/apple/Makefile b/arch/arm64/boot/dts/apple/Makefile
index 4a7002e289a0..be66624aa6e0 100644
--- a/arch/arm64/boot/dts/apple/Makefile
+++ b/arch/arm64/boot/dts/apple/Makefile
@@ -40,7 +40,11 @@ dtb-$(CONFIG_ARCH_APPLE) += t8010-j171.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8010-j172.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8010-j71b.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8010-j72b.dtb
-dtb-$(CONFIG_ARCH_APPLE) += t8010-n112.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8011-j105a.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8011-j120.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8011-j121.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8011-j207.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8011-j208.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j274.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j293.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j313.dtb
diff --git a/arch/arm64/boot/dts/apple/t8011-j105a.dts b/arch/arm64/boot/dts/apple/t8011-j105a.dts
new file mode 100644
index 000000000000..c12879b4612f
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8011-j105a.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple TV 4K (1st Generation), J105a, AppleTV6,2 (A1482)
+ * Copyright (c) 2024, Nick Chan <towinchenmi@gmail.com>
+ */
+
+/dts-v1/;
+
+#include "t8011.dtsi"
+
+/ {
+ compatible = "apple,j105a", "apple,t8011", "apple,arm-platform";
+ model = "Apple TV 4K (1st Generation)";
+};
diff --git a/arch/arm64/boot/dts/apple/t8011-j120.dts b/arch/arm64/boot/dts/apple/t8011-j120.dts
new file mode 100644
index 000000000000..a620d8aaf468
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8011-j120.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Pro 2 (12.9-inch) (Wi-Fi), J120, iPad7,1 (A1670)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t8011-pro2.dtsi"
+
+/ {
+ compatible = "apple,j120", "apple,t8011", "apple,arm-platform";
+ model = "Apple iPad Pro 2 (12.9-inch) (Wi-Fi)";
+};
diff --git a/arch/arm64/boot/dts/apple/t8011-j121.dts b/arch/arm64/boot/dts/apple/t8011-j121.dts
new file mode 100644
index 000000000000..dfec25f7d54a
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8011-j121.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Pro 2 (12.9-inch) (Cellular), J121, iPad7,2 (A1671)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t8011-pro2.dtsi"
+
+/ {
+ compatible = "apple,j121", "apple,t8011", "apple,arm-platform";
+ model = "Apple iPad Pro 2 (12.9-inch) (Cellular)";
+};
diff --git a/arch/arm64/boot/dts/apple/t8011-j207.dts b/arch/arm64/boot/dts/apple/t8011-j207.dts
new file mode 100644
index 000000000000..12582bfe7532
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8011-j207.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Pro 2 (10.5-inch) (Wi-Fi), J207, iPad7,3 (A1701)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t8011-pro2.dtsi"
+
+/ {
+ compatible = "apple,j207", "apple,t8011", "apple,arm-platform";
+ model = "Apple iPad Pro 2 (10.5-inch) (Wi-Fi)";
+};
diff --git a/arch/arm64/boot/dts/apple/t8011-j208.dts b/arch/arm64/boot/dts/apple/t8011-j208.dts
new file mode 100644
index 000000000000..c0cd18e0ab18
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8011-j208.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Pro 2 (10.5-inch) (Cellular), J208, iPad7,4 (A1709)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t8011-pro2.dtsi"
+
+/ {
+ compatible = "apple,j208", "apple,t8011", "apple,arm-platform";
+ model = "Apple iPad Pro 2 (10.5-inch) (Cellular)";
+};
diff --git a/arch/arm64/boot/dts/apple/t8011-pro2.dtsi b/arch/arm64/boot/dts/apple/t8011-pro2.dtsi
new file mode 100644
index 000000000000..3aac97327dfb
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8011-pro2.dtsi
@@ -0,0 +1,45 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPad Pro 2 common device tree
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+#include "t8011.dtsi"
+#include <dt-bindings/input/input.h>
+
+/ {
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ button-home {
+ label = "Home Button";
+ gpios = <&pinctrl_ap 139 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_LEFTMETA>;
+ wakeup-source;
+ };
+
+ button-power {
+ label = "Power Button";
+ gpios = <&pinctrl_ap 138 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
+ wakeup-source;
+ };
+
+ button-voldown {
+ label = "Volume Down";
+ gpios = <&pinctrl_ap 43 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEDOWN>;
+ };
+
+ button-volup {
+ label = "Volume Up";
+ gpios = <&pinctrl_ap 40 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEUP>;
+ };
+ };
+};
+
+&serial0 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/apple/t8011.dtsi b/arch/arm64/boot/dts/apple/t8011.dtsi
new file mode 100644
index 000000000000..e9f7d54893fe
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8011.dtsi
@@ -0,0 +1,175 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple T8011 "A10X" SoC
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ * Based on Asahi Linux's M1 (t8103.dtsi) and Corellium's A10 efforts.
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/apple-aic.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/pinctrl/apple.h>
+
+/ {
+ interrupt-parent = <&aic>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ aliases {
+ serial0 = &serial0;
+ };
+
+ chosen {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ stdout-path = "serial0";
+
+ framebuffer0: framebuffer@0 {
+ compatible = "apple,simple-framebuffer", "simple-framebuffer";
+ reg = <0 0 0 0>; /* To be filled by loader */
+ /* Format properties will be added by loader */
+ status = "disabled";
+ };
+ };
+
+ clkref: clock-ref {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <24000000>;
+ clock-output-names = "clkref";
+ };
+
+ cpus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ cpu0: cpu@0 {
+ compatible = "apple,hurricane-zephyr";
+ reg = <0x0 0x0>;
+ cpu-release-addr = <0 0>; /* To be filled by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+
+ cpu1: cpu@1 {
+ compatible = "apple,hurricane-zephyr";
+ reg = <0x0 0x1>;
+ cpu-release-addr = <0 0>; /* To be filled by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+
+ cpu2: cpu@2 {
+ compatible = "apple,hurricane-zephyr";
+ reg = <0x0 0x2>;
+ cpu-release-addr = <0 0>; /* To be filled by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+ };
+
+ memory@800000000 {
+ device_type = "memory";
+ reg = <0x8 0 0 0>; /* To be filled by loader */
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ /*
+ * The bootloader reserves a region for the (varying-address, depending
+ * on what FW your device runs AND model) framebuffer under this node.
+ */
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+ nonposted-mmio;
+ ranges;
+
+ serial0: serial@20a0c0000 {
+ compatible = "apple,s5l-uart";
+ reg = <0x2 0x0a0c0000 0x0 0x4000>;
+ reg-io-width = <4>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 216 IRQ_TYPE_LEVEL_HIGH>;
+ /* Use the bootloader-enabled clocks for now. */
+ clocks = <&clkref>, <&clkref>;
+ clock-names = "uart", "clk_uart_baud0";
+ status = "disabled";
+ };
+
+ aic: interrupt-controller@20e100000 {
+ compatible = "apple,t8010-aic", "apple,aic";
+ reg = <0x2 0x0e100000 0x0 0x100000>;
+ #interrupt-cells = <3>;
+ interrupt-controller;
+ };
+
+ pinctrl_ap: pinctrl@20f100000 {
+ compatible = "apple,t8010-pinctrl", "apple,pinctrl";
+ reg = <0x2 0x0f100000 0x0 0x100000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl_ap 0 0 219>;
+ apple,npins = <219>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 42 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 43 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 44 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 45 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 46 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 47 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 48 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ pinctrl_aop: pinctrl@2100f0000 {
+ compatible = "apple,t8010-pinctrl", "apple,pinctrl";
+ reg = <0x2 0x100f0000 0x0 0x100000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl_aop 0 0 42>;
+ apple,npins = <42>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 125 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 126 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 127 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 128 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 129 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 130 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 131 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ wdt: watchdog@2102b0000 {
+ compatible = "apple,t8010-wdt", "apple,wdt";
+ reg = <0x2 0x102b0000 0x0 0x4000>;
+ clocks = <&clkref>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 4 IRQ_TYPE_LEVEL_HIGH>;
+ };
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupt-parent = <&aic>;
+ interrupt-names = "phys", "virt";
+ /* Note that A10X doesn't actually have a hypervisor (EL2 is not implemented). */
+ interrupts = <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>;
+ };
+};
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 20/22] arm64: dts: apple: Add A11 devices
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (18 preceding siblings ...)
2024-09-11 8:41 ` [PATCH 19/22] arm64: dts: apple: Add A10X devices Nick Chan
@ 2024-09-11 8:41 ` Nick Chan
2024-09-11 8:41 ` [PATCH 21/22] arm64: dts: apple: t8010: Add cpufreq nodes Nick Chan
` (4 subsequent siblings)
24 siblings, 0 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:41 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
From: Konrad Dybcio <konradybcio@kernel.org>
Add DTS files for the A11 SoC and the following devices based on it:
- iPhone 8
- iPhone 8 Plus
- iPhone X
On A11, Apple has introduced independent performance and efficiency core
clusters, so indicate it in the device tree as well.
Signed-off-by: Konrad Dybcio <konradybcio@kernel.org>
[Nick: SMP and m1n1 support, disabled SMC pinctrl]
Co-developed-by: Nick Chan <towinchenmi@gmail.com>
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
arch/arm64/boot/dts/apple/Makefile | 6 +
arch/arm64/boot/dts/apple/t8015-8.dtsi | 12 +
arch/arm64/boot/dts/apple/t8015-8plus.dtsi | 9 +
arch/arm64/boot/dts/apple/t8015-d20.dts | 14 ++
arch/arm64/boot/dts/apple/t8015-d201.dts | 14 ++
arch/arm64/boot/dts/apple/t8015-d21.dts | 14 ++
arch/arm64/boot/dts/apple/t8015-d211.dts | 14 ++
arch/arm64/boot/dts/apple/t8015-d22.dts | 14 ++
arch/arm64/boot/dts/apple/t8015-d221.dts | 14 ++
arch/arm64/boot/dts/apple/t8015-x.dtsi | 15 ++
arch/arm64/boot/dts/apple/t8015.dtsi | 269 +++++++++++++++++++++
11 files changed, 395 insertions(+)
create mode 100644 arch/arm64/boot/dts/apple/t8015-8.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t8015-8plus.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t8015-d20.dts
create mode 100644 arch/arm64/boot/dts/apple/t8015-d201.dts
create mode 100644 arch/arm64/boot/dts/apple/t8015-d21.dts
create mode 100644 arch/arm64/boot/dts/apple/t8015-d211.dts
create mode 100644 arch/arm64/boot/dts/apple/t8015-d22.dts
create mode 100644 arch/arm64/boot/dts/apple/t8015-d221.dts
create mode 100644 arch/arm64/boot/dts/apple/t8015-x.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t8015.dtsi
diff --git a/arch/arm64/boot/dts/apple/Makefile b/arch/arm64/boot/dts/apple/Makefile
index be66624aa6e0..e125c0d6b479 100644
--- a/arch/arm64/boot/dts/apple/Makefile
+++ b/arch/arm64/boot/dts/apple/Makefile
@@ -45,6 +45,12 @@ dtb-$(CONFIG_ARCH_APPLE) += t8011-j120.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8011-j121.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8011-j207.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8011-j208.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8015-d201.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8015-d20.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8015-d211.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8015-d21.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8015-d221.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8015-d22.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j274.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j293.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8103-j313.dtb
diff --git a/arch/arm64/boot/dts/apple/t8015-8.dtsi b/arch/arm64/boot/dts/apple/t8015-8.dtsi
new file mode 100644
index 000000000000..b3cd96d343ed
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8015-8.dtsi
@@ -0,0 +1,12 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 8 common device tree
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+#include "t8015.dtsi"
+
+&serial0 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/apple/t8015-8plus.dtsi b/arch/arm64/boot/dts/apple/t8015-8plus.dtsi
new file mode 100644
index 000000000000..ea291a95f028
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8015-8plus.dtsi
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 8 Plus common device tree
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/* The 8 Plus has minor differences like 1 more camera, 1 GiB of RAM more and a bigger display. */
+#include "t8015-8.dtsi"
diff --git a/arch/arm64/boot/dts/apple/t8015-d20.dts b/arch/arm64/boot/dts/apple/t8015-d20.dts
new file mode 100644
index 000000000000..35d79e2ceebc
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8015-d20.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 8 (Global), D20 iPhone10,1 (A1863/A1906/A1907)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t8015-8.dtsi"
+
+/ {
+ compatible = "apple,d20", "apple,t8015", "apple,arm-platform";
+ model = "Apple iPhone 8 (Global)";
+};
diff --git a/arch/arm64/boot/dts/apple/t8015-d201.dts b/arch/arm64/boot/dts/apple/t8015-d201.dts
new file mode 100644
index 000000000000..31e0947fee70
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8015-d201.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 8 (GSM), D20 iPhone10,4 (A1905)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t8015-8.dtsi"
+
+/ {
+ compatible = "apple,d201", "apple,t8015", "apple,arm-platform";
+ model = "Apple iPhone 8 (GSM)";
+};
diff --git a/arch/arm64/boot/dts/apple/t8015-d21.dts b/arch/arm64/boot/dts/apple/t8015-d21.dts
new file mode 100644
index 000000000000..a902ba7f1133
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8015-d21.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 8 Plus (Global), D21 iPhone10,2 (A1864/A1897/A1898)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t8015-8plus.dtsi"
+
+/ {
+ compatible = "apple,d21", "apple,t8015", "apple,arm-platform";
+ model = "Apple iPhone 8 Plus (Global)";
+};
diff --git a/arch/arm64/boot/dts/apple/t8015-d211.dts b/arch/arm64/boot/dts/apple/t8015-d211.dts
new file mode 100644
index 000000000000..3b3f886c0c09
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8015-d211.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone 8 Plus (GSM), D211 iPhone10,5 (A1899)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t8015-8plus.dtsi"
+
+/ {
+ compatible = "apple,d211", "apple,t8015", "apple,arm-platform";
+ model = "Apple iPhone 8 Plus (GSM)";
+};
diff --git a/arch/arm64/boot/dts/apple/t8015-d22.dts b/arch/arm64/boot/dts/apple/t8015-d22.dts
new file mode 100644
index 000000000000..5a7a6092c2d0
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8015-d22.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone X (Global), D22, iPhone10,3 (A1865)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t8015-x.dtsi"
+
+/ {
+ compatible = "apple,d22", "apple,t8015", "apple,arm-platform";
+ model = "Apple iPhone X (Global)";
+};
diff --git a/arch/arm64/boot/dts/apple/t8015-d221.dts b/arch/arm64/boot/dts/apple/t8015-d221.dts
new file mode 100644
index 000000000000..dd920c945bd6
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8015-d221.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone X (GSM), D221, iPhone10,6 (A1901)
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+/dts-v1/;
+
+#include "t8015-x.dtsi"
+
+/ {
+ compatible = "apple,d221", "apple,t8015", "apple,arm-platform";
+ model = "Apple iPhone X (GSM)";
+};
diff --git a/arch/arm64/boot/dts/apple/t8015-x.dtsi b/arch/arm64/boot/dts/apple/t8015-x.dtsi
new file mode 100644
index 000000000000..655cd89848a3
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8015-x.dtsi
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iPhone X common device tree
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ */
+
+#include "t8015.dtsi"
+
+/ {
+};
+
+&serial0 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/apple/t8015.dtsi b/arch/arm64/boot/dts/apple/t8015.dtsi
new file mode 100644
index 000000000000..aa0e948c9ed8
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8015.dtsi
@@ -0,0 +1,269 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple T8015 "A11" SoC
+ *
+ * Copyright (c) 2022, Konrad Dybcio <konradybcio@kernel.org>
+ * Based on Asahi Linux's M1 (t8103.dtsi) and Corellium's A10 efforts.
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/apple-aic.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/pinctrl/apple.h>
+
+/ {
+ interrupt-parent = <&aic>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ aliases {
+ serial0 = &serial0;
+ };
+
+ chosen {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ stdout-path = "serial0";
+
+ framebuffer0: framebuffer@0 {
+ compatible = "apple,simple-framebuffer", "simple-framebuffer";
+ reg = <0 0 0 0>; /* To be filled by loader */
+ /* Format properties will be added by loader */
+ status = "disabled";
+ };
+ };
+
+ clkref: clock-ref {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <24000000>;
+ clock-output-names = "clkref";
+ };
+
+ cpus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ cpu-map {
+ cluster0 {
+ core0 {
+ cpu = <&cpu_e0>;
+ };
+ core1 {
+ cpu = <&cpu_e1>;
+ };
+ core2 {
+ cpu = <&cpu_e2>;
+ };
+ core3 {
+ cpu = <&cpu_e3>;
+ };
+ };
+
+ cluster1 {
+ core0 {
+ cpu = <&cpu_p0>;
+ };
+ core1 {
+ cpu = <&cpu_p1>;
+ };
+ };
+ };
+
+ cpu_e0: cpu@0 {
+ compatible = "apple,mistral";
+ reg = <0x0 0x0>;
+ cpu-release-addr = <0 0>; /* To be filled by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+
+ cpu_e1: cpu@1 {
+ compatible = "apple,mistral";
+ reg = <0x0 0x1>;
+ cpu-release-addr = <0 0>; /* To be filled by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+
+ cpu_e2: cpu@2 {
+ compatible = "apple,mistral";
+ reg = <0x0 0x2>;
+ cpu-release-addr = <0 0>; /* To be filled by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+
+ cpu_e3: cpu@3 {
+ compatible = "apple,mistral";
+ reg = <0x0 0x3>;
+ cpu-release-addr = <0 0>; /* To be filled by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+
+ cpu_p0: cpu@10004 {
+ compatible = "apple,monsoon";
+ reg = <0x0 0x10004>;
+ cpu-release-addr = <0 0>; /* To be filled by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+
+ cpu_p1: cpu@10005 {
+ compatible = "apple,monsoon";
+ reg = <0x0 0x10005>;
+ cpu-release-addr = <0 0>; /* To be filled by loader */
+ enable-method = "spin-table";
+ device_type = "cpu";
+ };
+ };
+
+ memory@800000000 {
+ device_type = "memory";
+ /* To be filled in by the bootloader (based on XNU BootArgs). */
+ reg = <0x8 0 0 0>;
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ /*
+ * The bootloader reserves a region for the (varying-address, depending
+ * on what FW your device runs AND model) framebuffer under this node.
+ */
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+ nonposted-mmio;
+ ranges;
+
+ serial0: serial@22e600000 {
+ compatible = "apple,s5l-uart";
+ reg = <0x2 0x2e600000 0x0 0x4000>;
+ reg-io-width = <4>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 282 IRQ_TYPE_LEVEL_HIGH>;
+ /* Use the bootloader-enabled clocks for now. */
+ clocks = <&clkref>, <&clkref>;
+ clock-names = "uart", "clk_uart_baud0";
+ status = "disabled";
+ };
+
+ aic: interrupt-controller@232100000 {
+ compatible = "apple,t8015-aic", "apple,aic";
+ reg = <0x2 0x32100000 0x0 0x8000>;
+ #interrupt-cells = <3>;
+ interrupt-controller;
+ };
+
+ pinctrl_ap: pinctrl@233100000 {
+ compatible = "apple,t8015-pinctrl", "apple,pinctrl";
+ reg = <0x2 0x33100000 0x0 0x1000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl_ap 0 0 223>;
+ apple,npins = <223>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 50 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 51 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 52 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 53 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 54 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 55 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 56 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ pinctrl_aop: pinctrl@2340f0000 {
+ compatible = "apple,t8015-pinctrl", "apple,pinctrl";
+ reg = <0x2 0x340f0000 0x0 0x4000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl_aop 0 0 49>;
+ apple,npins = <49>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 135 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 136 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 137 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 138 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 139 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 140 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 141 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ pinctrl_nub: pinctrl@2351f0000 {
+ compatible = "apple,t8015-pinctrl", "apple,pinctrl";
+ reg = <0x2 0x351f0000 0x0 0x4000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl_nub 0 0 8>;
+ apple,npins = <8>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 168 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 169 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 170 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ wdt: watchdog@2352b0000 {
+ compatible = "apple,t8015-wdt", "apple,wdt";
+ reg = <0x2 0x352b0000 0x0 0x4000>;
+ clocks = <&clkref>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 172 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ pinctrl_smc: pinctrl@236024000 {
+ compatible = "apple,t8015-pinctrl", "apple,pinctrl";
+ reg = <0x2 0x36024000 0x0 0x4000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl_smc 0 0 6>;
+ apple,npins = <6>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 199 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 200 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 201 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 202 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 203 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 204 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 205 IRQ_TYPE_LEVEL_HIGH>;
+ /*
+ * SMC is not yet supported and accessing this pinctrl while SMC is
+ * off results in a hang. (To be enabled by SMC-aware loader)
+ */
+ status = "disabled";
+ };
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupt-parent = <&aic>;
+ interrupt-names = "phys", "virt";
+ /* Note that A11 doesn't actually have a hypervisor (EL2 is not implemented). */
+ interrupts = <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>;
+ };
+};
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 21/22] arm64: dts: apple: t8010: Add cpufreq nodes
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (19 preceding siblings ...)
2024-09-11 8:41 ` [PATCH 20/22] arm64: dts: apple: Add A11 devices Nick Chan
@ 2024-09-11 8:41 ` Nick Chan
2024-09-11 8:41 ` [PATCH 22/22] arm64: Kconfig: Update help text for CONFIG_ARCH_APPLE Nick Chan
` (3 subsequent siblings)
24 siblings, 0 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:41 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
Add cpufreq nodes for the A10 SoC.
The Apple iPod touch 7 can only go up to 1.64 GHz, so the higher operating
points are in t8010-fast.dtsi.
A10 consists of logical cores that switches between E-mode and P-mode
depending on the current p-state. Each mode have different capacities so
the E-mode frequencies are adjusted to make performance scale linearly
with clock speed.
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
arch/arm64/boot/dts/apple/t8010-fast.dtsi | 19 +++++++
arch/arm64/boot/dts/apple/t8010.dtsi | 60 +++++++++++++++++++++++
2 files changed, 79 insertions(+)
diff --git a/arch/arm64/boot/dts/apple/t8010-fast.dtsi b/arch/arm64/boot/dts/apple/t8010-fast.dtsi
index 4bdf1c3eccfe..9a263eadc776 100644
--- a/arch/arm64/boot/dts/apple/t8010-fast.dtsi
+++ b/arch/arm64/boot/dts/apple/t8010-fast.dtsi
@@ -6,3 +6,22 @@
*/
#include "t8010.dtsi"
+
+/ {
+ opp: opp-table-0 {
+ opp08 {
+ opp-hz = /bits/ 64 <1944000000>;
+ opp-level = <8>;
+ };
+
+ opp09 {
+ opp-hz = /bits/ 64 <2244000000>;
+ opp-level = <9>;
+ };
+
+ opp10 {
+ opp-hz = /bits/ 64 <2340000000>;
+ opp-level = <10>;
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/apple/t8010.dtsi b/arch/arm64/boot/dts/apple/t8010.dtsi
index 926a0f501477..e7d7194b412c 100644
--- a/arch/arm64/boot/dts/apple/t8010.dtsi
+++ b/arch/arm64/boot/dts/apple/t8010.dtsi
@@ -50,6 +50,8 @@ cpu0: cpu@0 {
compatible = "apple,hurricane-zephyr";
reg = <0x0 0x0>;
cpu-release-addr = <0 0>; /* To be filled by loader */
+ operating-points-v2 = <&opp>;
+ performance-domains = <&cpufreq>;
enable-method = "spin-table";
device_type = "cpu";
};
@@ -58,11 +60,63 @@ cpu1: cpu@1 {
compatible = "apple,hurricane-zephyr";
reg = <0x0 0x1>;
cpu-release-addr = <0 0>; /* To be filled by loader */
+ operating-points-v2 = <&opp>;
+ performance-domains = <&cpufreq>;
enable-method = "spin-table";
device_type = "cpu";
};
};
+ opp: opp-table-0 {
+ compatible = "operating-points-v2";
+
+ /*
+ * The E-core frequencies are adjusted so performance scales
+ * linearly with reported clock speed.
+ */
+
+ opp01 {
+ opp-hz = /bits/ 64 <149000000>; /* 396 MHz, E-core */
+ opp-level = <1>;
+ };
+
+ opp02 {
+ opp-hz = /bits/ 64 <275000000>; /* 732 MHz, E-core */
+ opp-level = <2>;
+ };
+
+ opp03 {
+ opp-hz = /bits/ 64 <410000000>; /* 1092 MHz, E-core */
+ opp-level = <3>;
+ };
+
+ /* The following operating points are handled by the P-cores */
+ opp04 {
+ opp-hz = /bits/ 64 <756000000>;
+ opp-level = <4>;
+ };
+
+ opp05 {
+ opp-hz = /bits/ 64 <1056000000>;
+ opp-level = <5>;
+ };
+
+ opp06 {
+ opp-hz = /bits/ 64 <1356000000>;
+ opp-level = <6>;
+ };
+
+ opp07 {
+ opp-hz = /bits/ 64 <1644000000>;
+ opp-level = <7>;
+ };
+
+ /*
+ * The iPod Touch 7 supports up to 1.6 GHz, faster operating
+ * points for other devices are in t8010-fast.dtsi
+ */
+ };
+
memory@800000000 {
device_type = "memory";
reg = <0x8 0 0 0>; /* To be filled by loader */
@@ -86,6 +140,12 @@ soc {
nonposted-mmio;
ranges;
+ cpufreq: performance-controller@202f20000 {
+ compatible = "apple,t8010-cluster-cpufreq", "apple,t8103-cluster-cpufreq", "apple,cluster-cpufreq";
+ reg = <0x2 0x2f20000 0 0x1000>;
+ #performance-domain-cells = <0>;
+ };
+
serial0: serial@20a0c0000 {
compatible = "apple,s5l-uart";
reg = <0x2 0x0a0c0000 0x0 0x4000>;
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 22/22] arm64: Kconfig: Update help text for CONFIG_ARCH_APPLE
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (20 preceding siblings ...)
2024-09-11 8:41 ` [PATCH 21/22] arm64: dts: apple: t8010: Add cpufreq nodes Nick Chan
@ 2024-09-11 8:41 ` Nick Chan
2024-09-11 12:13 ` [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (2 subsequent siblings)
24 siblings, 0 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 8:41 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov, Nick Chan
Apple's A7-A11 SoC is now supported, so the original help text is no longer
accurate.
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
---
arch/arm64/Kconfig.platforms | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 6c6d11536b42..370a9d2b6919 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -37,8 +37,8 @@ config ARCH_APPLE
bool "Apple Silicon SoC family"
select APPLE_AIC
help
- This enables support for Apple's in-house ARM SoC family, starting
- with the Apple M1.
+ This enables support for Apple's in-house ARM SoC family, such
+ as the Apple M1.
menuconfig ARCH_BCM
bool "Broadcom SoC Support"
--
2.46.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* Re: [PATCH 00/22] Initial device trees for A7-A11 based Apple devices
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (21 preceding siblings ...)
2024-09-11 8:41 ` [PATCH 22/22] arm64: Kconfig: Update help text for CONFIG_ARCH_APPLE Nick Chan
@ 2024-09-11 12:13 ` Nick Chan
2024-09-11 14:10 ` Nick Chan
2024-09-11 13:50 ` Rob Herring (Arm)
2024-09-11 14:21 ` Nick Chan
24 siblings, 1 reply; 37+ messages in thread
From: Nick Chan @ 2024-09-11 12:13 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov
The Home Button probably should be assigned KEY_MENU instead of
KEY_LEFTMETA.
Nick Chan
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 00/22] Initial device trees for A7-A11 based Apple devices
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (22 preceding siblings ...)
2024-09-11 12:13 ` [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
@ 2024-09-11 13:50 ` Rob Herring (Arm)
2024-09-11 13:57 ` Nick Chan
2024-09-11 14:21 ` Nick Chan
24 siblings, 1 reply; 37+ messages in thread
From: Rob Herring (Arm) @ 2024-09-11 13:50 UTC (permalink / raw)
To: Nick Chan
Cc: linux-pm, Linus Walleij, Lorenzo Pieralisi, Catalin Marinas,
Wim Van Sebroeck, Alyssa Rosenzweig, Hector Martin, devicetree,
Krzysztof Kozlowski, linux-kernel, Mark Kettenis,
linux-arm-kernel, Rafael J . Wysocki, Sven Peter, Conor Dooley,
linux-watchdog, linux-gpio, Will Deacon, Guenter Roeck,
Viresh Kumar, Konrad Dybcio, Ivaylo Ivanov, asahi
On Wed, 11 Sep 2024 16:40:50 +0800, Nick Chan wrote:
> Hi,
>
> This series adds device trees for all A7-A11 SoC based iPhones, iPads,
> iPod touches and Apple TVs.
>
> The following devices has been excluded from this series:
> - All T2 devices (A10-based): bootloader does not work (yet)
> - HomePod: Not tested, and it's also a different form factor
>
> This series supports the following on all devices:
> - SMP (spin-table)
> - UART
> - simple-framebuffer
> - watchdog
> - timer
> - pinctrl
> - AIC interrupts
>
> The following is supported on A7-A10:
> - gpio-keys
> The buttons on A11 based devices like the iPhone X is a SMC subdevice,
> and cannot be supported in this way.
>
> The following is supported on A10:
> - cpufreq
>
> A10(X) has performance and efficiency core pairs that act as single logical
> cores, and only one type of core can be active at a given time. This results
> in a core that suddenly have its capacity lowered in low p-states,
> so the frequencies of the low p-states must be adjusted.
>
> Patch dependencies:
> - The required AIC patches[1] has been sitting in linux-next since
> next-20240906, through the tip tree.
> - The important serial fixes[2] will go through the samsung tree and should
> be in good shape though those have not been merged.
> - The optional patch to disable 32-bit EL0 on A10(X)[3] has not received
> any comments (v1 or v2).
>
> Authorship information:
> - The commits to actually add the dts files are mostly made by Konard,
> and Konard's sign-off is added by me with permission. I also updated the
> Konrad's email in the actual dts files. Konrad can confirm this.
>
> - Everything else is entirely made by me, including the cpufreq additions
> into the dts file for A10.
>
> [1]: https://lore.kernel.org/asahi/20240901034143.12731-1-towinchenmi@gmail.com
> [2]: https://lore.kernel.org/asahi/20240911050741.14477-1-towinchenmi@gmail.com
> [3]: https://lore.kernel.org/asahi/20240909091425.16258-1-towinchenmi@gmail.com
>
> Nick Chan
> ---
>
> Konrad Dybcio (8):
> arm64: dts: apple: Add A7 devices
> arm64: dts: apple: Add A8 devices
> arm64: dts: apple: Add A8X devices
> arm64: dts: apple: Add A9 devices
> arm64: dts: apple: Add A9X devices
> arm64: dts: apple: Add A10 devices
> arm64: dts: apple: Add A10X devices
> arm64: dts: apple: Add A11 devices
>
> Nick Chan (14):
> dt-bindings: arm: cpus: Add Apple A7-A11 CPU cores
> dt-bindings: watchdog: apple,wdt: Add A7-A11 compatibles
> dt-bindings: cpufreq: apple,cluster-cpufreq: Add A10 compatible
> dt-bindings: pinctrl: apple,pinctrl: Add A7-A11 compatibles
> dt-bindings: arm: apple: Add A7 devices
> dt-bindings: arm: apple: Add A8 devices
> dt-bindings: arm: apple: Add A8X devices
> dt-bindings: arm: apple: Add A9 devices
> dt-bindings: arm: apple: Add A9X devices
> dt-bindings: arm: apple: Add A10 devices
> dt-bindings: arm: apple: Add A10X devices
> dt-bindings: arm: apple: Add A11 devices
> arm64: dts: apple: t8010: Add cpufreq nodes
> arm64: Kconfig: Update help text for CONFIG_ARCH_APPLE
>
> .../devicetree/bindings/arm/apple.yaml | 160 ++++++++++-
> .../devicetree/bindings/arm/cpus.yaml | 6 +
> .../cpufreq/apple,cluster-cpufreq.yaml | 4 +-
> .../bindings/pinctrl/apple,pinctrl.yaml | 5 +
> .../bindings/watchdog/apple,wdt.yaml | 5 +
> arch/arm64/Kconfig.platforms | 4 +-
> arch/arm64/boot/dts/apple/Makefile | 52 ++++
> arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi | 52 ++++
> arch/arm64/boot/dts/apple/s5l8960x-air1.dtsi | 52 ++++
> arch/arm64/boot/dts/apple/s5l8960x-j71.dts | 14 +
> arch/arm64/boot/dts/apple/s5l8960x-j72.dts | 14 +
> arch/arm64/boot/dts/apple/s5l8960x-j73.dts | 14 +
> arch/arm64/boot/dts/apple/s5l8960x-j85.dts | 14 +
> arch/arm64/boot/dts/apple/s5l8960x-j85m.dts | 14 +
> arch/arm64/boot/dts/apple/s5l8960x-j86.dts | 14 +
> arch/arm64/boot/dts/apple/s5l8960x-j86m.dts | 14 +
> arch/arm64/boot/dts/apple/s5l8960x-j87.dts | 14 +
> arch/arm64/boot/dts/apple/s5l8960x-j87m.dts | 14 +
> arch/arm64/boot/dts/apple/s5l8960x-mini2.dtsi | 52 ++++
> arch/arm64/boot/dts/apple/s5l8960x-mini3.dtsi | 13 +
> arch/arm64/boot/dts/apple/s5l8960x-n51.dts | 14 +
> arch/arm64/boot/dts/apple/s5l8960x-n53.dts | 14 +
> arch/arm64/boot/dts/apple/s5l8960x.dtsi | 147 ++++++++++
> arch/arm64/boot/dts/apple/s8000-j71s.dts | 15 +
> arch/arm64/boot/dts/apple/s8000-j72s.dts | 15 +
> arch/arm64/boot/dts/apple/s8000-n66.dts | 15 +
> arch/arm64/boot/dts/apple/s8000-n69u.dts | 15 +
> arch/arm64/boot/dts/apple/s8000-n71.dts | 15 +
> arch/arm64/boot/dts/apple/s8000.dtsi | 179 ++++++++++++
> arch/arm64/boot/dts/apple/s8001-j127.dts | 14 +
> arch/arm64/boot/dts/apple/s8001-j128.dts | 14 +
> arch/arm64/boot/dts/apple/s8001-j98a.dts | 14 +
> arch/arm64/boot/dts/apple/s8001-j99a.dts | 14 +
> arch/arm64/boot/dts/apple/s8001-pro.dtsi | 45 +++
> arch/arm64/boot/dts/apple/s8001.dtsi | 167 +++++++++++
> arch/arm64/boot/dts/apple/s8003-j71t.dts | 15 +
> arch/arm64/boot/dts/apple/s8003-j72t.dts | 15 +
> arch/arm64/boot/dts/apple/s8003-n66m.dts | 15 +
> arch/arm64/boot/dts/apple/s8003-n69.dts | 15 +
> arch/arm64/boot/dts/apple/s8003-n71m.dts | 15 +
> arch/arm64/boot/dts/apple/s8003.dtsi | 19 ++
> arch/arm64/boot/dts/apple/s800x-6s.dtsi | 50 ++++
> arch/arm64/boot/dts/apple/s800x-ipad5.dtsi | 44 +++
> arch/arm64/boot/dts/apple/s800x-se.dtsi | 50 ++++
> arch/arm64/boot/dts/apple/t7000-6.dtsi | 50 ++++
> arch/arm64/boot/dts/apple/t7000-j42d.dts | 18 ++
> arch/arm64/boot/dts/apple/t7000-j96.dts | 14 +
> arch/arm64/boot/dts/apple/t7000-j97.dts | 14 +
> arch/arm64/boot/dts/apple/t7000-mini4.dtsi | 51 ++++
> arch/arm64/boot/dts/apple/t7000-n102.dts | 49 ++++
> arch/arm64/boot/dts/apple/t7000-n56.dts | 14 +
> arch/arm64/boot/dts/apple/t7000-n61.dts | 14 +
> arch/arm64/boot/dts/apple/t7000.dtsi | 147 ++++++++++
> arch/arm64/boot/dts/apple/t7001-air2.dtsi | 44 +++
> arch/arm64/boot/dts/apple/t7001-j81.dts | 14 +
> arch/arm64/boot/dts/apple/t7001-j82.dts | 14 +
> arch/arm64/boot/dts/apple/t7001.dtsi | 154 ++++++++++
> arch/arm64/boot/dts/apple/t8010-7.dtsi | 45 +++
> arch/arm64/boot/dts/apple/t8010-d10.dts | 14 +
> arch/arm64/boot/dts/apple/t8010-d101.dts | 14 +
> arch/arm64/boot/dts/apple/t8010-d11.dts | 14 +
> arch/arm64/boot/dts/apple/t8010-d111.dts | 14 +
> arch/arm64/boot/dts/apple/t8010-fast.dtsi | 27 ++
> arch/arm64/boot/dts/apple/t8010-ipad6.dtsi | 45 +++
> arch/arm64/boot/dts/apple/t8010-ipad7.dtsi | 15 +
> arch/arm64/boot/dts/apple/t8010-j171.dts | 14 +
> arch/arm64/boot/dts/apple/t8010-j172.dts | 14 +
> arch/arm64/boot/dts/apple/t8010-j71b.dts | 14 +
> arch/arm64/boot/dts/apple/t8010-j72b.dts | 14 +
> arch/arm64/boot/dts/apple/t8010-n112.dts | 48 ++++
> arch/arm64/boot/dts/apple/t8010.dtsi | 227 +++++++++++++++
> arch/arm64/boot/dts/apple/t8011-j105a.dts | 14 +
> arch/arm64/boot/dts/apple/t8011-j120.dts | 14 +
> arch/arm64/boot/dts/apple/t8011-j121.dts | 14 +
> arch/arm64/boot/dts/apple/t8011-j207.dts | 14 +
> arch/arm64/boot/dts/apple/t8011-j208.dts | 14 +
> arch/arm64/boot/dts/apple/t8011-pro2.dtsi | 45 +++
> arch/arm64/boot/dts/apple/t8011.dtsi | 175 ++++++++++++
> arch/arm64/boot/dts/apple/t8015-8.dtsi | 12 +
> arch/arm64/boot/dts/apple/t8015-8plus.dtsi | 9 +
> arch/arm64/boot/dts/apple/t8015-d20.dts | 14 +
> arch/arm64/boot/dts/apple/t8015-d201.dts | 14 +
> arch/arm64/boot/dts/apple/t8015-d21.dts | 14 +
> arch/arm64/boot/dts/apple/t8015-d211.dts | 14 +
> arch/arm64/boot/dts/apple/t8015-d22.dts | 14 +
> arch/arm64/boot/dts/apple/t8015-d221.dts | 14 +
> arch/arm64/boot/dts/apple/t8015-x.dtsi | 15 +
> arch/arm64/boot/dts/apple/t8015.dtsi | 269 ++++++++++++++++++
> 88 files changed, 3257 insertions(+), 4 deletions(-)
> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-air1.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j71.dts
> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j72.dts
> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j73.dts
> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j85.dts
> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j85m.dts
> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j86.dts
> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j86m.dts
> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j87.dts
> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j87m.dts
> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-mini2.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-mini3.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-n51.dts
> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-n53.dts
> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/s8000-j71s.dts
> create mode 100644 arch/arm64/boot/dts/apple/s8000-j72s.dts
> create mode 100644 arch/arm64/boot/dts/apple/s8000-n66.dts
> create mode 100644 arch/arm64/boot/dts/apple/s8000-n69u.dts
> create mode 100644 arch/arm64/boot/dts/apple/s8000-n71.dts
> create mode 100644 arch/arm64/boot/dts/apple/s8000.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/s8001-j127.dts
> create mode 100644 arch/arm64/boot/dts/apple/s8001-j128.dts
> create mode 100644 arch/arm64/boot/dts/apple/s8001-j98a.dts
> create mode 100644 arch/arm64/boot/dts/apple/s8001-j99a.dts
> create mode 100644 arch/arm64/boot/dts/apple/s8001-pro.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/s8001.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/s8003-j71t.dts
> create mode 100644 arch/arm64/boot/dts/apple/s8003-j72t.dts
> create mode 100644 arch/arm64/boot/dts/apple/s8003-n66m.dts
> create mode 100644 arch/arm64/boot/dts/apple/s8003-n69.dts
> create mode 100644 arch/arm64/boot/dts/apple/s8003-n71m.dts
> create mode 100644 arch/arm64/boot/dts/apple/s8003.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/s800x-6s.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/s800x-ipad5.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/s800x-se.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/t7000-6.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/t7000-j42d.dts
> create mode 100644 arch/arm64/boot/dts/apple/t7000-j96.dts
> create mode 100644 arch/arm64/boot/dts/apple/t7000-j97.dts
> create mode 100644 arch/arm64/boot/dts/apple/t7000-mini4.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/t7000-n102.dts
> create mode 100644 arch/arm64/boot/dts/apple/t7000-n56.dts
> create mode 100644 arch/arm64/boot/dts/apple/t7000-n61.dts
> create mode 100644 arch/arm64/boot/dts/apple/t7000.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/t7001-air2.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/t7001-j81.dts
> create mode 100644 arch/arm64/boot/dts/apple/t7001-j82.dts
> create mode 100644 arch/arm64/boot/dts/apple/t7001.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/t8010-7.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/t8010-d10.dts
> create mode 100644 arch/arm64/boot/dts/apple/t8010-d101.dts
> create mode 100644 arch/arm64/boot/dts/apple/t8010-d11.dts
> create mode 100644 arch/arm64/boot/dts/apple/t8010-d111.dts
> create mode 100644 arch/arm64/boot/dts/apple/t8010-fast.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/t8010-ipad6.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/t8010-ipad7.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/t8010-j171.dts
> create mode 100644 arch/arm64/boot/dts/apple/t8010-j172.dts
> create mode 100644 arch/arm64/boot/dts/apple/t8010-j71b.dts
> create mode 100644 arch/arm64/boot/dts/apple/t8010-j72b.dts
> create mode 100644 arch/arm64/boot/dts/apple/t8010-n112.dts
> create mode 100644 arch/arm64/boot/dts/apple/t8010.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/t8011-j105a.dts
> create mode 100644 arch/arm64/boot/dts/apple/t8011-j120.dts
> create mode 100644 arch/arm64/boot/dts/apple/t8011-j121.dts
> create mode 100644 arch/arm64/boot/dts/apple/t8011-j207.dts
> create mode 100644 arch/arm64/boot/dts/apple/t8011-j208.dts
> create mode 100644 arch/arm64/boot/dts/apple/t8011-pro2.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/t8011.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/t8015-8.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/t8015-8plus.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/t8015-d20.dts
> create mode 100644 arch/arm64/boot/dts/apple/t8015-d201.dts
> create mode 100644 arch/arm64/boot/dts/apple/t8015-d21.dts
> create mode 100644 arch/arm64/boot/dts/apple/t8015-d211.dts
> create mode 100644 arch/arm64/boot/dts/apple/t8015-d22.dts
> create mode 100644 arch/arm64/boot/dts/apple/t8015-d221.dts
> create mode 100644 arch/arm64/boot/dts/apple/t8015-x.dtsi
> create mode 100644 arch/arm64/boot/dts/apple/t8015.dtsi
>
>
> base-commit: 6708132e80a2ced620bde9b9c36e426183544a23
> --
> 2.46.0
>
>
>
My bot found new DTB warnings on the .dts files added or changed in this
series.
Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.
If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:
pip3 install dtschema --upgrade
New warnings running 'make CHECK_DTBS=y apple/s5l8960x-j71.dtb apple/s5l8960x-j72.dtb apple/s5l8960x-j73.dtb apple/s5l8960x-j85.dtb apple/s5l8960x-j85m.dtb apple/s5l8960x-j86.dtb apple/s5l8960x-j86m.dtb apple/s5l8960x-j87.dtb apple/s5l8960x-j87m.dtb apple/s5l8960x-n51.dtb apple/s5l8960x-n53.dtb apple/s8000-j71s.dtb apple/s8000-j72s.dtb apple/s8000-n66.dtb apple/s8000-n69u.dtb apple/s8000-n71.dtb apple/s8001-j127.dtb apple/s8001-j128.dtb apple/s8001-j98a.dtb apple/s8001-j99a.dtb apple/s8003-j71t.dtb apple/s8003-j72t.dtb apple/s8003-n66m.dtb apple/s8003-n69.dtb apple/s8003-n71m.dtb apple/t7000-j42d.dtb apple/t7000-j96.dtb apple/t7000-j97.dtb apple/t7000-n102.dtb apple/t7000-n56.dtb apple/t7000-n61.dtb apple/t7001-j81.dtb apple/t7001-j82.dtb apple/t8010-d10.dtb apple/t8010-d101.dtb apple/t8010-d11.dtb apple/t8010-d111.dtb apple/t8010-j171.dtb apple/t8010-j172.dtb apple/t8010-j71b.dtb apple/t8010-j72b.dtb apple/t8010-n112.dtb apple/t8011-j105a.dtb apple/t8011-j120.dtb apple/t8011-j121.dtb apple/t8011-j207.dtb apple/t8011-j208.dtb apple/t8015-d20.dtb apple/t8015-d201.dtb apple/t8015-d21.dtb apple/t8015-d211.dtb apple/t8015-d22.dtb apple/t8015-d221.dtb' for 20240911084353.28888-2-towinchenmi@gmail.com:
Error: arch/arm64/boot/dts/apple/t8010-n112.dts:21.18-19 syntax error
FATAL ERROR: Unable to parse input tree
make[3]: *** [scripts/Makefile.dtbs:129: arch/arm64/boot/dts/apple/t8010-n112.dtb] Error 1
make[2]: *** [scripts/Makefile.build:478: arch/arm64/boot/dts/apple] Error 2
make[2]: Target 'arch/arm64/boot/dts/apple/t8010-n112.dtb' not remade because of errors.
make[1]: *** [/home/rob/proj/linux-dt-testing/Makefile:1392: apple/t8010-n112.dtb] Error 2
make: *** [Makefile:224: __sub-make] Error 2
make: Target 'apple/s5l8960x-j71.dtb' not remade because of errors.
make: Target 'apple/s5l8960x-j72.dtb' not remade because of errors.
make: Target 'apple/s5l8960x-j73.dtb' not remade because of errors.
make: Target 'apple/s5l8960x-j85.dtb' not remade because of errors.
make: Target 'apple/s5l8960x-j85m.dtb' not remade because of errors.
make: Target 'apple/s5l8960x-j86.dtb' not remade because of errors.
make: Target 'apple/s5l8960x-j86m.dtb' not remade because of errors.
make: Target 'apple/s5l8960x-j87.dtb' not remade because of errors.
make: Target 'apple/s5l8960x-j87m.dtb' not remade because of errors.
make: Target 'apple/s5l8960x-n51.dtb' not remade because of errors.
make: Target 'apple/s5l8960x-n53.dtb' not remade because of errors.
make: Target 'apple/s8000-j71s.dtb' not remade because of errors.
make: Target 'apple/s8000-j72s.dtb' not remade because of errors.
make: Target 'apple/s8000-n66.dtb' not remade because of errors.
make: Target 'apple/s8000-n69u.dtb' not remade because of errors.
make: Target 'apple/s8000-n71.dtb' not remade because of errors.
make: Target 'apple/s8001-j127.dtb' not remade because of errors.
make: Target 'apple/s8001-j128.dtb' not remade because of errors.
make: Target 'apple/s8001-j98a.dtb' not remade because of errors.
make: Target 'apple/s8001-j99a.dtb' not remade because of errors.
make: Target 'apple/s8003-j71t.dtb' not remade because of errors.
make: Target 'apple/s8003-j72t.dtb' not remade because of errors.
make: Target 'apple/s8003-n66m.dtb' not remade because of errors.
make: Target 'apple/s8003-n69.dtb' not remade because of errors.
make: Target 'apple/s8003-n71m.dtb' not remade because of errors.
make: Target 'apple/t7000-j42d.dtb' not remade because of errors.
make: Target 'apple/t7000-j96.dtb' not remade because of errors.
make: Target 'apple/t7000-j97.dtb' not remade because of errors.
make: Target 'apple/t7000-n102.dtb' not remade because of errors.
make: Target 'apple/t7000-n56.dtb' not remade because of errors.
make: Target 'apple/t7000-n61.dtb' not remade because of errors.
make: Target 'apple/t7001-j81.dtb' not remade because of errors.
make: Target 'apple/t7001-j82.dtb' not remade because of errors.
make: Target 'apple/t8010-d10.dtb' not remade because of errors.
make: Target 'apple/t8010-d101.dtb' not remade because of errors.
make: Target 'apple/t8010-d11.dtb' not remade because of errors.
make: Target 'apple/t8010-d111.dtb' not remade because of errors.
make: Target 'apple/t8010-j171.dtb' not remade because of errors.
make: Target 'apple/t8010-j172.dtb' not remade because of errors.
make: Target 'apple/t8010-j71b.dtb' not remade because of errors.
make: Target 'apple/t8010-j72b.dtb' not remade because of errors.
make: Target 'apple/t8010-n112.dtb' not remade because of errors.
make: Target 'apple/t8011-j105a.dtb' not remade because of errors.
make: Target 'apple/t8011-j120.dtb' not remade because of errors.
make: Target 'apple/t8011-j121.dtb' not remade because of errors.
make: Target 'apple/t8011-j207.dtb' not remade because of errors.
make: Target 'apple/t8011-j208.dtb' not remade because of errors.
make: Target 'apple/t8015-d20.dtb' not remade because of errors.
make: Target 'apple/t8015-d201.dtb' not remade because of errors.
make: Target 'apple/t8015-d21.dtb' not remade because of errors.
make: Target 'apple/t8015-d211.dtb' not remade because of errors.
make: Target 'apple/t8015-d22.dtb' not remade because of errors.
make: Target 'apple/t8015-d221.dtb' not remade because of errors.
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 00/22] Initial device trees for A7-A11 based Apple devices
2024-09-11 13:50 ` Rob Herring (Arm)
@ 2024-09-11 13:57 ` Nick Chan
2024-09-11 14:05 ` Nick Chan
0 siblings, 1 reply; 37+ messages in thread
From: Nick Chan @ 2024-09-11 13:57 UTC (permalink / raw)
To: Rob Herring (Arm)
Cc: linux-pm, Linus Walleij, Lorenzo Pieralisi, Catalin Marinas,
Wim Van Sebroeck, Alyssa Rosenzweig, Hector Martin, devicetree,
Krzysztof Kozlowski, linux-kernel, Mark Kettenis,
linux-arm-kernel, Rafael J . Wysocki, Sven Peter, Conor Dooley,
linux-watchdog, linux-gpio, Will Deacon, Guenter Roeck,
Viresh Kumar, Konrad Dybcio, Ivaylo Ivanov, asahi
On 11/9/2024 21:50, Rob Herring (Arm) wrote:
>
> On Wed, 11 Sep 2024 16:40:50 +0800, Nick Chan wrote:
>> Hi,
>>
>> This series adds device trees for all A7-A11 SoC based iPhones, iPads,
>> iPod touches and Apple TVs.
>>
>> The following devices has been excluded from this series:
>> - All T2 devices (A10-based): bootloader does not work (yet)
>> - HomePod: Not tested, and it's also a different form factor
>>
>> This series supports the following on all devices:
>> - SMP (spin-table)
>> - UART
>> - simple-framebuffer
>> - watchdog
>> - timer
>> - pinctrl
>> - AIC interrupts
>>
>> The following is supported on A7-A10:
>> - gpio-keys
>> The buttons on A11 based devices like the iPhone X is a SMC subdevice,
>> and cannot be supported in this way.
>>
>> The following is supported on A10:
>> - cpufreq
>>
>> A10(X) has performance and efficiency core pairs that act as single logical
>> cores, and only one type of core can be active at a given time. This results
>> in a core that suddenly have its capacity lowered in low p-states,
>> so the frequencies of the low p-states must be adjusted.
>>
>> Patch dependencies:
>> - The required AIC patches[1] has been sitting in linux-next since
>> next-20240906, through the tip tree.
>> - The important serial fixes[2] will go through the samsung tree and should
>> be in good shape though those have not been merged.
>> - The optional patch to disable 32-bit EL0 on A10(X)[3] has not received
>> any comments (v1 or v2).
>>
>> Authorship information:
>> - The commits to actually add the dts files are mostly made by Konard,
>> and Konard's sign-off is added by me with permission. I also updated the
>> Konrad's email in the actual dts files. Konrad can confirm this.
>>
>> - Everything else is entirely made by me, including the cpufreq additions
>> into the dts file for A10.
>>
>> [1]: https://lore.kernel.org/asahi/20240901034143.12731-1-towinchenmi@gmail.com
>> [2]: https://lore.kernel.org/asahi/20240911050741.14477-1-towinchenmi@gmail.com
>> [3]: https://lore.kernel.org/asahi/20240909091425.16258-1-towinchenmi@gmail.com
>>
>> Nick Chan
>> ---
>>
>> Konrad Dybcio (8):
>> arm64: dts: apple: Add A7 devices
>> arm64: dts: apple: Add A8 devices
>> arm64: dts: apple: Add A8X devices
>> arm64: dts: apple: Add A9 devices
>> arm64: dts: apple: Add A9X devices
>> arm64: dts: apple: Add A10 devices
>> arm64: dts: apple: Add A10X devices
>> arm64: dts: apple: Add A11 devices
>>
>> Nick Chan (14):
>> dt-bindings: arm: cpus: Add Apple A7-A11 CPU cores
>> dt-bindings: watchdog: apple,wdt: Add A7-A11 compatibles
>> dt-bindings: cpufreq: apple,cluster-cpufreq: Add A10 compatible
>> dt-bindings: pinctrl: apple,pinctrl: Add A7-A11 compatibles
>> dt-bindings: arm: apple: Add A7 devices
>> dt-bindings: arm: apple: Add A8 devices
>> dt-bindings: arm: apple: Add A8X devices
>> dt-bindings: arm: apple: Add A9 devices
>> dt-bindings: arm: apple: Add A9X devices
>> dt-bindings: arm: apple: Add A10 devices
>> dt-bindings: arm: apple: Add A10X devices
>> dt-bindings: arm: apple: Add A11 devices
>> arm64: dts: apple: t8010: Add cpufreq nodes
>> arm64: Kconfig: Update help text for CONFIG_ARCH_APPLE
>>
>> .../devicetree/bindings/arm/apple.yaml | 160 ++++++++++-
>> .../devicetree/bindings/arm/cpus.yaml | 6 +
>> .../cpufreq/apple,cluster-cpufreq.yaml | 4 +-
>> .../bindings/pinctrl/apple,pinctrl.yaml | 5 +
>> .../bindings/watchdog/apple,wdt.yaml | 5 +
>> arch/arm64/Kconfig.platforms | 4 +-
>> arch/arm64/boot/dts/apple/Makefile | 52 ++++
>> arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi | 52 ++++
>> arch/arm64/boot/dts/apple/s5l8960x-air1.dtsi | 52 ++++
>> arch/arm64/boot/dts/apple/s5l8960x-j71.dts | 14 +
>> arch/arm64/boot/dts/apple/s5l8960x-j72.dts | 14 +
>> arch/arm64/boot/dts/apple/s5l8960x-j73.dts | 14 +
>> arch/arm64/boot/dts/apple/s5l8960x-j85.dts | 14 +
>> arch/arm64/boot/dts/apple/s5l8960x-j85m.dts | 14 +
>> arch/arm64/boot/dts/apple/s5l8960x-j86.dts | 14 +
>> arch/arm64/boot/dts/apple/s5l8960x-j86m.dts | 14 +
>> arch/arm64/boot/dts/apple/s5l8960x-j87.dts | 14 +
>> arch/arm64/boot/dts/apple/s5l8960x-j87m.dts | 14 +
>> arch/arm64/boot/dts/apple/s5l8960x-mini2.dtsi | 52 ++++
>> arch/arm64/boot/dts/apple/s5l8960x-mini3.dtsi | 13 +
>> arch/arm64/boot/dts/apple/s5l8960x-n51.dts | 14 +
>> arch/arm64/boot/dts/apple/s5l8960x-n53.dts | 14 +
>> arch/arm64/boot/dts/apple/s5l8960x.dtsi | 147 ++++++++++
>> arch/arm64/boot/dts/apple/s8000-j71s.dts | 15 +
>> arch/arm64/boot/dts/apple/s8000-j72s.dts | 15 +
>> arch/arm64/boot/dts/apple/s8000-n66.dts | 15 +
>> arch/arm64/boot/dts/apple/s8000-n69u.dts | 15 +
>> arch/arm64/boot/dts/apple/s8000-n71.dts | 15 +
>> arch/arm64/boot/dts/apple/s8000.dtsi | 179 ++++++++++++
>> arch/arm64/boot/dts/apple/s8001-j127.dts | 14 +
>> arch/arm64/boot/dts/apple/s8001-j128.dts | 14 +
>> arch/arm64/boot/dts/apple/s8001-j98a.dts | 14 +
>> arch/arm64/boot/dts/apple/s8001-j99a.dts | 14 +
>> arch/arm64/boot/dts/apple/s8001-pro.dtsi | 45 +++
>> arch/arm64/boot/dts/apple/s8001.dtsi | 167 +++++++++++
>> arch/arm64/boot/dts/apple/s8003-j71t.dts | 15 +
>> arch/arm64/boot/dts/apple/s8003-j72t.dts | 15 +
>> arch/arm64/boot/dts/apple/s8003-n66m.dts | 15 +
>> arch/arm64/boot/dts/apple/s8003-n69.dts | 15 +
>> arch/arm64/boot/dts/apple/s8003-n71m.dts | 15 +
>> arch/arm64/boot/dts/apple/s8003.dtsi | 19 ++
>> arch/arm64/boot/dts/apple/s800x-6s.dtsi | 50 ++++
>> arch/arm64/boot/dts/apple/s800x-ipad5.dtsi | 44 +++
>> arch/arm64/boot/dts/apple/s800x-se.dtsi | 50 ++++
>> arch/arm64/boot/dts/apple/t7000-6.dtsi | 50 ++++
>> arch/arm64/boot/dts/apple/t7000-j42d.dts | 18 ++
>> arch/arm64/boot/dts/apple/t7000-j96.dts | 14 +
>> arch/arm64/boot/dts/apple/t7000-j97.dts | 14 +
>> arch/arm64/boot/dts/apple/t7000-mini4.dtsi | 51 ++++
>> arch/arm64/boot/dts/apple/t7000-n102.dts | 49 ++++
>> arch/arm64/boot/dts/apple/t7000-n56.dts | 14 +
>> arch/arm64/boot/dts/apple/t7000-n61.dts | 14 +
>> arch/arm64/boot/dts/apple/t7000.dtsi | 147 ++++++++++
>> arch/arm64/boot/dts/apple/t7001-air2.dtsi | 44 +++
>> arch/arm64/boot/dts/apple/t7001-j81.dts | 14 +
>> arch/arm64/boot/dts/apple/t7001-j82.dts | 14 +
>> arch/arm64/boot/dts/apple/t7001.dtsi | 154 ++++++++++
>> arch/arm64/boot/dts/apple/t8010-7.dtsi | 45 +++
>> arch/arm64/boot/dts/apple/t8010-d10.dts | 14 +
>> arch/arm64/boot/dts/apple/t8010-d101.dts | 14 +
>> arch/arm64/boot/dts/apple/t8010-d11.dts | 14 +
>> arch/arm64/boot/dts/apple/t8010-d111.dts | 14 +
>> arch/arm64/boot/dts/apple/t8010-fast.dtsi | 27 ++
>> arch/arm64/boot/dts/apple/t8010-ipad6.dtsi | 45 +++
>> arch/arm64/boot/dts/apple/t8010-ipad7.dtsi | 15 +
>> arch/arm64/boot/dts/apple/t8010-j171.dts | 14 +
>> arch/arm64/boot/dts/apple/t8010-j172.dts | 14 +
>> arch/arm64/boot/dts/apple/t8010-j71b.dts | 14 +
>> arch/arm64/boot/dts/apple/t8010-j72b.dts | 14 +
>> arch/arm64/boot/dts/apple/t8010-n112.dts | 48 ++++
>> arch/arm64/boot/dts/apple/t8010.dtsi | 227 +++++++++++++++
>> arch/arm64/boot/dts/apple/t8011-j105a.dts | 14 +
>> arch/arm64/boot/dts/apple/t8011-j120.dts | 14 +
>> arch/arm64/boot/dts/apple/t8011-j121.dts | 14 +
>> arch/arm64/boot/dts/apple/t8011-j207.dts | 14 +
>> arch/arm64/boot/dts/apple/t8011-j208.dts | 14 +
>> arch/arm64/boot/dts/apple/t8011-pro2.dtsi | 45 +++
>> arch/arm64/boot/dts/apple/t8011.dtsi | 175 ++++++++++++
>> arch/arm64/boot/dts/apple/t8015-8.dtsi | 12 +
>> arch/arm64/boot/dts/apple/t8015-8plus.dtsi | 9 +
>> arch/arm64/boot/dts/apple/t8015-d20.dts | 14 +
>> arch/arm64/boot/dts/apple/t8015-d201.dts | 14 +
>> arch/arm64/boot/dts/apple/t8015-d21.dts | 14 +
>> arch/arm64/boot/dts/apple/t8015-d211.dts | 14 +
>> arch/arm64/boot/dts/apple/t8015-d22.dts | 14 +
>> arch/arm64/boot/dts/apple/t8015-d221.dts | 14 +
>> arch/arm64/boot/dts/apple/t8015-x.dtsi | 15 +
>> arch/arm64/boot/dts/apple/t8015.dtsi | 269 ++++++++++++++++++
>> 88 files changed, 3257 insertions(+), 4 deletions(-)
>> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-air1.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j71.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j72.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j73.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j85.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j85m.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j86.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j86m.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j87.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j87m.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-mini2.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-mini3.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-n51.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-n53.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s5l8960x.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/s8000-j71s.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s8000-j72s.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s8000-n66.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s8000-n69u.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s8000-n71.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s8000.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/s8001-j127.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s8001-j128.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s8001-j98a.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s8001-j99a.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s8001-pro.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/s8001.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/s8003-j71t.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s8003-j72t.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s8003-n66m.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s8003-n69.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s8003-n71m.dts
>> create mode 100644 arch/arm64/boot/dts/apple/s8003.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/s800x-6s.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/s800x-ipad5.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/s800x-se.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/t7000-6.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/t7000-j42d.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t7000-j96.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t7000-j97.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t7000-mini4.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/t7000-n102.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t7000-n56.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t7000-n61.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t7000.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/t7001-air2.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/t7001-j81.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t7001-j82.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t7001.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/t8010-7.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/t8010-d10.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t8010-d101.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t8010-d11.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t8010-d111.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t8010-fast.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/t8010-ipad6.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/t8010-ipad7.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/t8010-j171.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t8010-j172.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t8010-j71b.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t8010-j72b.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t8010-n112.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t8010.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/t8011-j105a.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t8011-j120.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t8011-j121.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t8011-j207.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t8011-j208.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t8011-pro2.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/t8011.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/t8015-8.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/t8015-8plus.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/t8015-d20.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t8015-d201.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t8015-d21.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t8015-d211.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t8015-d22.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t8015-d221.dts
>> create mode 100644 arch/arm64/boot/dts/apple/t8015-x.dtsi
>> create mode 100644 arch/arm64/boot/dts/apple/t8015.dtsi
>>
>>
>> base-commit: 6708132e80a2ced620bde9b9c36e426183544a23
>> --
>> 2.46.0
>>
>>
>>
>
>
> My bot found new DTB warnings on the .dts files added or changed in this
> series.
>
> Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
> are fixed by another series. Ultimately, it is up to the platform
> maintainer whether these warnings are acceptable or not. No need to reply
> unless the platform maintainer has comments.
>
> If you already ran DT checks and didn't see these error(s), then
> make sure dt-schema is up to date:
>
> pip3 install dtschema --upgrade
>
>
> New warnings running 'make CHECK_DTBS=y apple/s5l8960x-j71.dtb apple/s5l8960x-j72.dtb apple/s5l8960x-j73.dtb apple/s5l8960x-j85.dtb apple/s5l8960x-j85m.dtb apple/s5l8960x-j86.dtb apple/s5l8960x-j86m.dtb apple/s5l8960x-j87.dtb apple/s5l8960x-j87m.dtb apple/s5l8960x-n51.dtb apple/s5l8960x-n53.dtb apple/s8000-j71s.dtb apple/s8000-j72s.dtb apple/s8000-n66.dtb apple/s8000-n69u.dtb apple/s8000-n71.dtb apple/s8001-j127.dtb apple/s8001-j128.dtb apple/s8001-j98a.dtb apple/s8001-j99a.dtb apple/s8003-j71t.dtb apple/s8003-j72t.dtb apple/s8003-n66m.dtb apple/s8003-n69.dtb apple/s8003-n71m.dtb apple/t7000-j42d.dtb apple/t7000-j96.dtb apple/t7000-j97.dtb apple/t7000-n102.dtb apple/t7000-n56.dtb apple/t7000-n61.dtb apple/t7001-j81.dtb apple/t7001-j82.dtb apple/t8010-d10.dtb apple/t8010-d101.dtb apple/t8010-d11.dtb apple/t8010-d111.dtb apple/t8010-j171.dtb apple/t8010-j172.dtb apple/t8010-j71b.dtb apple/t8010-j72b.dtb apple/t8010-n112.dtb apple/t8011-j105a.dtb apple/t8011-j120.dtb apple/t8011-j121.dt
> b apple/t8011-j207.dtb apple/t8011-j208.dtb apple/t8015-d20.dtb apple/t8015-d201.dtb apple/t8015-d21.dtb apple/t8015-d211.dtb apple/t8015-d22.dtb apple/t8015-d221.dtb' for 20240911084353.28888-2-towinchenmi@gmail.com:
>
> Error: arch/arm64/boot/dts/apple/t8010-n112.dts:21.18-19 syntax error
Note: this is caused by missing #include <dt-bindings/input/input.h>
This was not caught due to another error: It was not included in the
Makefile.
> FATAL ERROR: Unable to parse input tree
> make[3]: *** [scripts/Makefile.dtbs:129: arch/arm64/boot/dts/apple/t8010-n112.dtb] Error 1
> make[2]: *** [scripts/Makefile.build:478: arch/arm64/boot/dts/apple] Error 2
> make[2]: Target 'arch/arm64/boot/dts/apple/t8010-n112.dtb' not remade because of errors.
> make[1]: *** [/home/rob/proj/linux-dt-testing/Makefile:1392: apple/t8010-n112.dtb] Error 2
> make: *** [Makefile:224: __sub-make] Error 2
> make: Target 'apple/s5l8960x-j71.dtb' not remade because of errors.
> make: Target 'apple/s5l8960x-j72.dtb' not remade because of errors.
> make: Target 'apple/s5l8960x-j73.dtb' not remade because of errors.
> make: Target 'apple/s5l8960x-j85.dtb' not remade because of errors.
> make: Target 'apple/s5l8960x-j85m.dtb' not remade because of errors.
> make: Target 'apple/s5l8960x-j86.dtb' not remade because of errors.
> make: Target 'apple/s5l8960x-j86m.dtb' not remade because of errors.
> make: Target 'apple/s5l8960x-j87.dtb' not remade because of errors.
> make: Target 'apple/s5l8960x-j87m.dtb' not remade because of errors.
> make: Target 'apple/s5l8960x-n51.dtb' not remade because of errors.
> make: Target 'apple/s5l8960x-n53.dtb' not remade because of errors.
> make: Target 'apple/s8000-j71s.dtb' not remade because of errors.
> make: Target 'apple/s8000-j72s.dtb' not remade because of errors.
> make: Target 'apple/s8000-n66.dtb' not remade because of errors.
> make: Target 'apple/s8000-n69u.dtb' not remade because of errors.
> make: Target 'apple/s8000-n71.dtb' not remade because of errors.
> make: Target 'apple/s8001-j127.dtb' not remade because of errors.
> make: Target 'apple/s8001-j128.dtb' not remade because of errors.
> make: Target 'apple/s8001-j98a.dtb' not remade because of errors.
> make: Target 'apple/s8001-j99a.dtb' not remade because of errors.
> make: Target 'apple/s8003-j71t.dtb' not remade because of errors.
> make: Target 'apple/s8003-j72t.dtb' not remade because of errors.
> make: Target 'apple/s8003-n66m.dtb' not remade because of errors.
> make: Target 'apple/s8003-n69.dtb' not remade because of errors.
> make: Target 'apple/s8003-n71m.dtb' not remade because of errors.
> make: Target 'apple/t7000-j42d.dtb' not remade because of errors.
> make: Target 'apple/t7000-j96.dtb' not remade because of errors.
> make: Target 'apple/t7000-j97.dtb' not remade because of errors.
> make: Target 'apple/t7000-n102.dtb' not remade because of errors.
> make: Target 'apple/t7000-n56.dtb' not remade because of errors.
> make: Target 'apple/t7000-n61.dtb' not remade because of errors.
> make: Target 'apple/t7001-j81.dtb' not remade because of errors.
> make: Target 'apple/t7001-j82.dtb' not remade because of errors.
> make: Target 'apple/t8010-d10.dtb' not remade because of errors.
> make: Target 'apple/t8010-d101.dtb' not remade because of errors.
> make: Target 'apple/t8010-d11.dtb' not remade because of errors.
> make: Target 'apple/t8010-d111.dtb' not remade because of errors.
> make: Target 'apple/t8010-j171.dtb' not remade because of errors.
> make: Target 'apple/t8010-j172.dtb' not remade because of errors.
> make: Target 'apple/t8010-j71b.dtb' not remade because of errors.
> make: Target 'apple/t8010-j72b.dtb' not remade because of errors.
> make: Target 'apple/t8010-n112.dtb' not remade because of errors.
> make: Target 'apple/t8011-j105a.dtb' not remade because of errors.
> make: Target 'apple/t8011-j120.dtb' not remade because of errors.
> make: Target 'apple/t8011-j121.dtb' not remade because of errors.
> make: Target 'apple/t8011-j207.dtb' not remade because of errors.
> make: Target 'apple/t8011-j208.dtb' not remade because of errors.
> make: Target 'apple/t8015-d20.dtb' not remade because of errors.
> make: Target 'apple/t8015-d201.dtb' not remade because of errors.
> make: Target 'apple/t8015-d21.dtb' not remade because of errors.
> make: Target 'apple/t8015-d211.dtb' not remade because of errors.
> make: Target 'apple/t8015-d22.dtb' not remade because of errors.
> make: Target 'apple/t8015-d221.dtb' not remade because of errors.
>
>
>
>
>
Nick Chan
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 00/22] Initial device trees for A7-A11 based Apple devices
2024-09-11 13:57 ` Nick Chan
@ 2024-09-11 14:05 ` Nick Chan
0 siblings, 0 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 14:05 UTC (permalink / raw)
To: Rob Herring (Arm)
Cc: linux-pm, Linus Walleij, Lorenzo Pieralisi, Catalin Marinas,
Wim Van Sebroeck, Alyssa Rosenzweig, Hector Martin, devicetree,
Krzysztof Kozlowski, linux-kernel, Mark Kettenis,
linux-arm-kernel, Rafael J . Wysocki, Sven Peter, Conor Dooley,
linux-watchdog, linux-gpio, Will Deacon, Guenter Roeck,
Viresh Kumar, Konrad Dybcio, Ivaylo Ivanov, asahi
On 11/9/2024 21:57, Nick Chan wrote:
>
>
> On 11/9/2024 21:50, Rob Herring (Arm) wrote:
>>
>> On Wed, 11 Sep 2024 16:40:50 +0800, Nick Chan wrote:
>> ...
>> Error: arch/arm64/boot/dts/apple/t8010-n112.dts:21.18-19 syntax error
> Note: this is caused by missing #include <dt-bindings/input/input.h>
> This was not caught due to another error: It was not included in the
> Makefile.
I mean, it is added into the Makefile, but it got removed by the commit
to add A10X dts files...
>
>
Nick Chan
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 00/22] Initial device trees for A7-A11 based Apple devices
2024-09-11 12:13 ` [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
@ 2024-09-11 14:10 ` Nick Chan
0 siblings, 0 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 14:10 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov
On 11/9/2024 20:13, Nick Chan wrote:
> The Home Button probably should be assigned KEY_MENU instead of
> KEY_LEFTMETA.
So this is a bit confusing, there is KEY_HOME, KEY_MENU and KEY_HOMEPAGE,
other phones like arch/arm64/boot/dts/qcom/msm8939-samsung-a7.dts seems
to be using KEY_HOMEPAGE, so I think I will stick with KEY_HOMEPAGE
>
> Nick Chan
Nick Chan
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 00/22] Initial device trees for A7-A11 based Apple devices
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
` (23 preceding siblings ...)
2024-09-11 13:50 ` Rob Herring (Arm)
@ 2024-09-11 14:21 ` Nick Chan
24 siblings, 0 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 14:21 UTC (permalink / raw)
To: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog
Cc: Konrad Dybcio, Ivaylo Ivanov
There is a recommended device tree node `chassis-type` to specify the
type of the chassis. For iPhones, iPod touches and iPads it is pretty
obvious that they are `handset` and `tablet`. However, nothing really
fits for Apple TV so a new chassis-type value may need to be added.
Nick Chan
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 02/22] dt-bindings: watchdog: apple,wdt: Add A7-A11 compatibles
2024-09-11 8:40 ` [PATCH 02/22] dt-bindings: watchdog: apple,wdt: Add A7-A11 compatibles Nick Chan
@ 2024-09-11 17:52 ` Conor Dooley
0 siblings, 0 replies; 37+ messages in thread
From: Conor Dooley @ 2024-09-11 17:52 UTC (permalink / raw)
To: Nick Chan
Cc: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog, Konrad Dybcio, Ivaylo Ivanov
[-- Attachment #1: Type: text/plain, Size: 1066 bytes --]
On Wed, Sep 11, 2024 at 04:40:52PM +0800, Nick Chan wrote:
> The blocks on A7-A11 SoCs are compatible with the existing driver so
> add their per-SoC compatibles.
>
> Signed-off-by: Nick Chan <towinchenmi@gmail.com>
> ---
> Documentation/devicetree/bindings/watchdog/apple,wdt.yaml | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/watchdog/apple,wdt.yaml b/Documentation/devicetree/bindings/watchdog/apple,wdt.yaml
> index 21872e15916c..310832fa8c28 100644
> --- a/Documentation/devicetree/bindings/watchdog/apple,wdt.yaml
> +++ b/Documentation/devicetree/bindings/watchdog/apple,wdt.yaml
> @@ -16,6 +16,11 @@ properties:
> compatible:
> items:
> - enum:
> + - apple,s5l8960x-wdt
> + - apple,t7000-wdt
> + - apple,s8000-wdt
> + - apple,t8010-wdt
> + - apple,t8015-wdt
Can you sort these alphanumerically please?
> - apple,t8103-wdt
> - apple,t8112-wdt
> - apple,t6000-wdt
> --
> 2.46.0
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 03/22] dt-bindings: cpufreq: apple,cluster-cpufreq: Add A10 compatible
2024-09-11 8:40 ` [PATCH 03/22] dt-bindings: cpufreq: apple,cluster-cpufreq: Add A10 compatible Nick Chan
@ 2024-09-11 18:10 ` Conor Dooley
0 siblings, 0 replies; 37+ messages in thread
From: Conor Dooley @ 2024-09-11 18:10 UTC (permalink / raw)
To: Nick Chan
Cc: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog, Konrad Dybcio, Ivaylo Ivanov
[-- Attachment #1: Type: text/plain, Size: 1275 bytes --]
On Wed, Sep 11, 2024 at 04:40:53PM +0800, Nick Chan wrote:
> The block found on the Apple A10 SoC is compatible with the
> existing driver so just add its per-SoC compatible.
>
> Signed-off-by: Nick Chan <towinchenmi@gmail.com>
> ---
> .../devicetree/bindings/cpufreq/apple,cluster-cpufreq.yaml | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/cpufreq/apple,cluster-cpufreq.yaml b/Documentation/devicetree/bindings/cpufreq/apple,cluster-cpufreq.yaml
> index 76cb9726660e..e0d1a9813696 100644
> --- a/Documentation/devicetree/bindings/cpufreq/apple,cluster-cpufreq.yaml
> +++ b/Documentation/devicetree/bindings/cpufreq/apple,cluster-cpufreq.yaml
> @@ -24,7 +24,9 @@ properties:
> - apple,t8112-cluster-cpufreq
> - const: apple,cluster-cpufreq
> - items:
> - - const: apple,t6000-cluster-cpufreq
> + - enum:
> + - apple,t8010-cluster-cpufreq
> + - apple,t6000-cluster-cpufreq
Alphanumerical order please, if/when you're resending.
Acked-by: Conor Dooley <conor.dooley@microchip.com>
> - const: apple,t8103-cluster-cpufreq
> - const: apple,cluster-cpufreq
>
> --
> 2.46.0
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 04/22] dt-bindings: pinctrl: apple,pinctrl: Add A7-A11 compatibles
2024-09-11 8:40 ` [PATCH 04/22] dt-bindings: pinctrl: apple,pinctrl: Add A7-A11 compatibles Nick Chan
@ 2024-09-11 18:10 ` Conor Dooley
0 siblings, 0 replies; 37+ messages in thread
From: Conor Dooley @ 2024-09-11 18:10 UTC (permalink / raw)
To: Nick Chan
Cc: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog, Konrad Dybcio, Ivaylo Ivanov
[-- Attachment #1: Type: text/plain, Size: 1093 bytes --]
On Wed, Sep 11, 2024 at 04:40:54PM +0800, Nick Chan wrote:
> The block found on Apple's A7-A11 SoCs are compatible with the
> existing driver so add their per-SoC compatibles.
>
> Signed-off-by: Nick Chan <towinchenmi@gmail.com>
> ---
> Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
> index 9c07935919ea..63737d858944 100644
> --- a/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
> @@ -18,6 +18,11 @@ properties:
> compatible:
> items:
> - enum:
> + - apple,s5l8960x-pinctrl
> + - apple,t7000-pinctrl
> + - apple,s8000-pinctrl
> + - apple,t8010-pinctrl
> + - apple,t8015-pinctrl
Same here.
> - apple,t8103-pinctrl
> - apple,t8112-pinctrl
> - apple,t6000-pinctrl
> --
> 2.46.0
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 05/22] dt-bindings: arm: apple: Add A7 devices
2024-09-11 8:40 ` [PATCH 05/22] dt-bindings: arm: apple: Add A7 devices Nick Chan
@ 2024-09-11 18:13 ` Conor Dooley
2024-09-11 18:24 ` Nick Chan
0 siblings, 1 reply; 37+ messages in thread
From: Conor Dooley @ 2024-09-11 18:13 UTC (permalink / raw)
To: Nick Chan
Cc: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog, Konrad Dybcio, Ivaylo Ivanov
[-- Attachment #1: Type: text/plain, Size: 2145 bytes --]
On Wed, Sep 11, 2024 at 04:40:55PM +0800, Nick Chan wrote:
> This adds the following apple,s5l8960x platforms:
>
> - iPhone 5s
> - iPad Air (1)
> - iPad Mini 2
> - iPad Mini 3
>
> Signed-off-by: Nick Chan <towinchenmi@gmail.com>
> ---
> .../devicetree/bindings/arm/apple.yaml | 26 ++++++++++++++++++-
> 1 file changed, 25 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml
> index 883fd67e3752..3c81008f0e96 100644
> --- a/Documentation/devicetree/bindings/arm/apple.yaml
> +++ b/Documentation/devicetree/bindings/arm/apple.yaml
> @@ -12,7 +12,14 @@ maintainers:
> description: |
> ARM platforms using SoCs designed by Apple Inc., branded "Apple Silicon".
>
> - This currently includes devices based on the "M1" SoC:
> + This currently includes devices based on the "A7" SoC:
> +
> + - iPhone 5s
> + - iPad Air (1)
> + - iPad Mini 2
> + - iPad Mini 3
> +
> + Devices based on the "M1" SoC:
>
> - Mac mini (M1, 2020)
> - MacBook Pro (13-inch, M1, 2020)
> @@ -65,6 +72,23 @@ properties:
> const: "/"
> compatible:
> oneOf:
> + - description: Apple A7 SoC based platforms
> + items:
> + - enum:
> + - apple,j71 # iPad Air (Wi-Fi)
> + - apple,j72 # iPad Air (Cellular)
> + - apple,j73 # iPad Air (Cellular, China)
> + - apple,j85 # iPad mini 2 (Wi-Fi)
> + - apple,j85m # iPad mini 3 (Wi-Fi)
> + - apple,j86 # iPad mini 2 (Cellular)
> + - apple,j86m # iPad mini 3 (Cellular)
> + - apple,j87 # Apple iPad Mini 2 (Cellular, China)
> + - apple,j87m # Apple iPad Mini 3 (Cellular, China)
> + - apple,n51 # iPhone 5s (GSM)
> + - apple,n53 # iPhone 5s (LTE)
> + - const: apple,s5l8960x
Is the "x" here a wildcard?
> + - const: apple,arm-platform
> +
> - description: Apple M1 SoC based platforms
> items:
> - enum:
> --
> 2.46.0
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 01/22] dt-bindings: arm: cpus: Add Apple A7-A11 CPU cores
2024-09-11 8:40 ` [PATCH 01/22] dt-bindings: arm: cpus: Add Apple A7-A11 CPU cores Nick Chan
@ 2024-09-11 18:16 ` Conor Dooley
2024-09-11 18:40 ` Nick Chan
0 siblings, 1 reply; 37+ messages in thread
From: Conor Dooley @ 2024-09-11 18:16 UTC (permalink / raw)
To: Nick Chan
Cc: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog, Konrad Dybcio, Ivaylo Ivanov
[-- Attachment #1: Type: text/plain, Size: 1547 bytes --]
On Wed, Sep 11, 2024 at 04:40:51PM +0800, Nick Chan wrote:
> Add the following CPU cores:
>
> - apple,cyclone: A7 cores
> - apple,typhoon: A8 cores
> - apple,twister: A9 cores
> - apple,hurricane-zephyr: A10 logical cores
> - apple,monsoon: A11 performance cores
> - apple,mistral: A11 efficiency cores
>
> In the Apple A10, there are physical performance-efficiency cores that
> forms logical cores to software depending on the current p-state, and
> only one type of core may be active at one time.
>
> Signed-off-by: Nick Chan <towinchenmi@gmail.com>
> ---
> Documentation/devicetree/bindings/arm/cpus.yaml | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml b/Documentation/devicetree/bindings/arm/cpus.yaml
> index f308ff6c3532..3959e022079f 100644
> --- a/Documentation/devicetree/bindings/arm/cpus.yaml
> +++ b/Documentation/devicetree/bindings/arm/cpus.yaml
> @@ -89,6 +89,12 @@ properties:
> - apple,blizzard
> - apple,icestorm
> - apple,firestorm
> + - apple,mistral
> + - apple,monsoon
> + - apple,hurricane-zephyr
> + - apple,twister
> + - apple,typhoon
> + - apple,cyclone
Same on this one, can you add these in alphanumerical order, even if the
existing 3 devices are not in it? You could take the opportunity to
reshuffle icestorm and firestorm while you're at it.
Cheers,
Conor.
> - arm,arm710t
> - arm,arm720t
> - arm,arm740t
> --
> 2.46.0
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 05/22] dt-bindings: arm: apple: Add A7 devices
2024-09-11 18:13 ` Conor Dooley
@ 2024-09-11 18:24 ` Nick Chan
2024-09-11 18:27 ` Conor Dooley
0 siblings, 1 reply; 37+ messages in thread
From: Nick Chan @ 2024-09-11 18:24 UTC (permalink / raw)
To: Conor Dooley
Cc: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog, Konrad Dybcio, Ivaylo Ivanov
On 12/9/2024 02:13, Conor Dooley wrote:
> On Wed, Sep 11, 2024 at 04:40:55PM +0800, Nick Chan wrote:
>> This adds the following apple,s5l8960x platforms:
>>
>> - iPhone 5s
>> - iPad Air (1)
>> - iPad Mini 2
>> - iPad Mini 3
>>
>> Signed-off-by: Nick Chan <towinchenmi@gmail.com>
>> ---
>> .../devicetree/bindings/arm/apple.yaml | 26 ++++++++++++++++++-
>> 1 file changed, 25 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml
>> index 883fd67e3752..3c81008f0e96 100644
>> --- a/Documentation/devicetree/bindings/arm/apple.yaml
>> +++ b/Documentation/devicetree/bindings/arm/apple.yaml
>> @@ -12,7 +12,14 @@ maintainers:
>> description: |
>> ARM platforms using SoCs designed by Apple Inc., branded "Apple Silicon".
>>
>> - This currently includes devices based on the "M1" SoC:
>> + This currently includes devices based on the "A7" SoC:
>> +
>> + - iPhone 5s
>> + - iPad Air (1)
>> + - iPad Mini 2
>> + - iPad Mini 3
>> +
>> + Devices based on the "M1" SoC:
>>
>> - Mac mini (M1, 2020)
>> - MacBook Pro (13-inch, M1, 2020)
>> @@ -65,6 +72,23 @@ properties:
>> const: "/"
>> compatible:
>> oneOf:
>> + - description: Apple A7 SoC based platforms
>> + items:
>> + - enum:
>> + - apple,j71 # iPad Air (Wi-Fi)
>> + - apple,j72 # iPad Air (Cellular)
>> + - apple,j73 # iPad Air (Cellular, China)
>> + - apple,j85 # iPad mini 2 (Wi-Fi)
>> + - apple,j85m # iPad mini 3 (Wi-Fi)
>> + - apple,j86 # iPad mini 2 (Cellular)
>> + - apple,j86m # iPad mini 3 (Cellular)
>> + - apple,j87 # Apple iPad Mini 2 (Cellular, China)
>> + - apple,j87m # Apple iPad Mini 3 (Cellular, China)
>> + - apple,n51 # iPhone 5s (GSM)
>> + - apple,n53 # iPhone 5s (LTE)
>> + - const: apple,s5l8960x
>
> Is the "x" here a wildcard?
No. This is part of the SoC ID. This is the legacy naming from when Apple
used Samsung SoCs for iPhones and iPods, and every SoC would have an ID
beginning with "s5l", and ending with a "x". Apple A7 is last SoC to use
this legacy naming scheme.
>
>> + - const: apple,arm-platform
>> +
>> - description: Apple M1 SoC based platforms
>> items:
>> - enum:
>> --
>> 2.46.0
>>
Nick Chan
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 05/22] dt-bindings: arm: apple: Add A7 devices
2024-09-11 18:24 ` Nick Chan
@ 2024-09-11 18:27 ` Conor Dooley
0 siblings, 0 replies; 37+ messages in thread
From: Conor Dooley @ 2024-09-11 18:27 UTC (permalink / raw)
To: Nick Chan
Cc: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog, Konrad Dybcio, Ivaylo Ivanov
[-- Attachment #1: Type: text/plain, Size: 2617 bytes --]
On Thu, Sep 12, 2024 at 02:24:22AM +0800, Nick Chan wrote:
>
>
> On 12/9/2024 02:13, Conor Dooley wrote:
> > On Wed, Sep 11, 2024 at 04:40:55PM +0800, Nick Chan wrote:
> >> This adds the following apple,s5l8960x platforms:
> >>
> >> - iPhone 5s
> >> - iPad Air (1)
> >> - iPad Mini 2
> >> - iPad Mini 3
> >>
> >> Signed-off-by: Nick Chan <towinchenmi@gmail.com>
> >> ---
> >> .../devicetree/bindings/arm/apple.yaml | 26 ++++++++++++++++++-
> >> 1 file changed, 25 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml
> >> index 883fd67e3752..3c81008f0e96 100644
> >> --- a/Documentation/devicetree/bindings/arm/apple.yaml
> >> +++ b/Documentation/devicetree/bindings/arm/apple.yaml
> >> @@ -12,7 +12,14 @@ maintainers:
> >> description: |
> >> ARM platforms using SoCs designed by Apple Inc., branded "Apple Silicon".
> >>
> >> - This currently includes devices based on the "M1" SoC:
> >> + This currently includes devices based on the "A7" SoC:
> >> +
> >> + - iPhone 5s
> >> + - iPad Air (1)
> >> + - iPad Mini 2
> >> + - iPad Mini 3
> >> +
> >> + Devices based on the "M1" SoC:
> >>
> >> - Mac mini (M1, 2020)
> >> - MacBook Pro (13-inch, M1, 2020)
> >> @@ -65,6 +72,23 @@ properties:
> >> const: "/"
> >> compatible:
> >> oneOf:
> >> + - description: Apple A7 SoC based platforms
> >> + items:
> >> + - enum:
> >> + - apple,j71 # iPad Air (Wi-Fi)
> >> + - apple,j72 # iPad Air (Cellular)
> >> + - apple,j73 # iPad Air (Cellular, China)
> >> + - apple,j85 # iPad mini 2 (Wi-Fi)
> >> + - apple,j85m # iPad mini 3 (Wi-Fi)
> >> + - apple,j86 # iPad mini 2 (Cellular)
> >> + - apple,j86m # iPad mini 3 (Cellular)
> >> + - apple,j87 # Apple iPad Mini 2 (Cellular, China)
> >> + - apple,j87m # Apple iPad Mini 3 (Cellular, China)
> >> + - apple,n51 # iPhone 5s (GSM)
> >> + - apple,n53 # iPhone 5s (LTE)
> >> + - const: apple,s5l8960x
> >
> > Is the "x" here a wildcard?
> No. This is part of the SoC ID. This is the legacy naming from when Apple
> used Samsung SoCs for iPhones and iPods, and every SoC would have an ID
> beginning with "s5l", and ending with a "x". Apple A7 is last SoC to use
> this legacy naming scheme.
Okay, thanks for explaining.
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Cheers,
Conor.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 01/22] dt-bindings: arm: cpus: Add Apple A7-A11 CPU cores
2024-09-11 18:16 ` Conor Dooley
@ 2024-09-11 18:40 ` Nick Chan
0 siblings, 0 replies; 37+ messages in thread
From: Nick Chan @ 2024-09-11 18:40 UTC (permalink / raw)
To: Conor Dooley
Cc: Hector Martin, Sven Peter, Alyssa Rosenzweig, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Rafael J . Wysocki,
Viresh Kumar, Linus Walleij, Wim Van Sebroeck, Guenter Roeck,
Catalin Marinas, Will Deacon, Lorenzo Pieralisi, Mark Kettenis,
asahi, linux-arm-kernel, devicetree, linux-kernel, linux-pm,
linux-gpio, linux-watchdog, Konrad Dybcio, Ivaylo Ivanov
On 12/9/2024 02:16, Conor Dooley wrote:
> On Wed, Sep 11, 2024 at 04:40:51PM +0800, Nick Chan wrote:
>> Add the following CPU cores:
>>
>> - apple,cyclone: A7 cores
>> - apple,typhoon: A8 cores
>> - apple,twister: A9 cores
>> - apple,hurricane-zephyr: A10 logical cores
>> - apple,monsoon: A11 performance cores
>> - apple,mistral: A11 efficiency cores
>>
>> In the Apple A10, there are physical performance-efficiency cores that
>> forms logical cores to software depending on the current p-state, and
>> only one type of core may be active at one time.
>>
>> Signed-off-by: Nick Chan <towinchenmi@gmail.com>
>> ---
>> Documentation/devicetree/bindings/arm/cpus.yaml | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml b/Documentation/devicetree/bindings/arm/cpus.yaml
>> index f308ff6c3532..3959e022079f 100644
>> --- a/Documentation/devicetree/bindings/arm/cpus.yaml
>> +++ b/Documentation/devicetree/bindings/arm/cpus.yaml
>> @@ -89,6 +89,12 @@ properties:
>> - apple,blizzard
>> - apple,icestorm
>> - apple,firestorm
>> + - apple,mistral
>> + - apple,monsoon
>> + - apple,hurricane-zephyr
>> + - apple,twister
>> + - apple,typhoon
>> + - apple,cyclone
>
> Same on this one, can you add these in alphanumerical order, even if the
> existing 3 devices are not in it? You could take the opportunity to
> reshuffle icestorm and firestorm while you're at it.
(Same goes for the watchdog, pinctrl and cluster-cpufreq bindings)
I am not actually sure what is the right thing to do here. It seems that
these bindings are
originally sorted using SoC types (desktop or mobile) and generations.
But then again I have
looked at some other in-tree bindings from asahi, and it seems to be a
mix of alphabetical
and logical sorting in the way mentioned above.
Maybe we can get some clarification from an Asahi Maintainer?
For the soc-level machine compatibles though, I believe that should be
retaining the logical
order instead of trying to use alphabetical order.
>
> Cheers,
> Conor.
>
>> - arm,arm710t
>> - arm,arm720t
>> - arm,arm740t
>> --
>> 2.46.0
>>
Nick Chan
^ permalink raw reply [flat|nested] 37+ messages in thread
end of thread, other threads:[~2024-09-11 18:40 UTC | newest]
Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-11 8:40 [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
2024-09-11 8:40 ` [PATCH 01/22] dt-bindings: arm: cpus: Add Apple A7-A11 CPU cores Nick Chan
2024-09-11 18:16 ` Conor Dooley
2024-09-11 18:40 ` Nick Chan
2024-09-11 8:40 ` [PATCH 02/22] dt-bindings: watchdog: apple,wdt: Add A7-A11 compatibles Nick Chan
2024-09-11 17:52 ` Conor Dooley
2024-09-11 8:40 ` [PATCH 03/22] dt-bindings: cpufreq: apple,cluster-cpufreq: Add A10 compatible Nick Chan
2024-09-11 18:10 ` Conor Dooley
2024-09-11 8:40 ` [PATCH 04/22] dt-bindings: pinctrl: apple,pinctrl: Add A7-A11 compatibles Nick Chan
2024-09-11 18:10 ` Conor Dooley
2024-09-11 8:40 ` [PATCH 05/22] dt-bindings: arm: apple: Add A7 devices Nick Chan
2024-09-11 18:13 ` Conor Dooley
2024-09-11 18:24 ` Nick Chan
2024-09-11 18:27 ` Conor Dooley
2024-09-11 8:40 ` [PATCH 06/22] dt-bindings: arm: apple: Add A8 devices Nick Chan
2024-09-11 8:40 ` [PATCH 07/22] dt-bindings: arm: apple: Add A8X devices Nick Chan
2024-09-11 8:40 ` [PATCH 08/22] dt-bindings: arm: apple: Add A9 devices Nick Chan
2024-09-11 8:40 ` [PATCH 09/22] dt-bindings: arm: apple: Add A9X devices Nick Chan
2024-09-11 8:41 ` [PATCH 10/22] dt-bindings: arm: apple: Add A10 devices Nick Chan
2024-09-11 8:41 ` [PATCH 11/22] dt-bindings: arm: apple: Add A10X devices Nick Chan
2024-09-11 8:41 ` [PATCH 12/22] dt-bindings: arm: apple: Add A11 devices Nick Chan
2024-09-11 8:41 ` [PATCH 13/22] arm64: dts: apple: Add A7 devices Nick Chan
2024-09-11 8:41 ` [PATCH 14/22] arm64: dts: apple: Add A8 devices Nick Chan
2024-09-11 8:41 ` [PATCH 15/22] arm64: dts: apple: Add A8X devices Nick Chan
2024-09-11 8:41 ` [PATCH 16/22] arm64: dts: apple: Add A9 devices Nick Chan
2024-09-11 8:41 ` [PATCH 17/22] arm64: dts: apple: Add A9X devices Nick Chan
2024-09-11 8:41 ` [PATCH 18/22] arm64: dts: apple: Add A10 devices Nick Chan
2024-09-11 8:41 ` [PATCH 19/22] arm64: dts: apple: Add A10X devices Nick Chan
2024-09-11 8:41 ` [PATCH 20/22] arm64: dts: apple: Add A11 devices Nick Chan
2024-09-11 8:41 ` [PATCH 21/22] arm64: dts: apple: t8010: Add cpufreq nodes Nick Chan
2024-09-11 8:41 ` [PATCH 22/22] arm64: Kconfig: Update help text for CONFIG_ARCH_APPLE Nick Chan
2024-09-11 12:13 ` [PATCH 00/22] Initial device trees for A7-A11 based Apple devices Nick Chan
2024-09-11 14:10 ` Nick Chan
2024-09-11 13:50 ` Rob Herring (Arm)
2024-09-11 13:57 ` Nick Chan
2024-09-11 14:05 ` Nick Chan
2024-09-11 14:21 ` Nick Chan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).