1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/arm/apple.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Apple ARM Machine
8
9maintainers:
10  - Hector Martin <marcan@marcan.st>
11
12description: |
13  ARM platforms using SoCs designed by Apple Inc., branded "Apple Silicon".
14
15  This currently includes devices based on the "M1" SoC:
16
17  - Mac mini (M1, 2020)
18  - MacBook Pro (13-inch, M1, 2020)
19  - MacBook Air (M1, 2020)
20  - iMac (24-inch, M1, 2021)
21
22  And devices based on the "M1 Pro", "M1 Max" and "M1 Ultra" SoCs:
23
24  - MacBook Pro (14-inch, M1 Pro, 2021)
25  - MacBook Pro (14-inch, M1 Max, 2021)
26  - MacBook Pro (16-inch, M1 Pro, 2021)
27  - MacBook Pro (16-inch, M1 Max, 2021)
28  - Mac Studio (M1 Max, 2022)
29  - Mac Studio (M1 Ultra, 2022)
30
31  The compatible property should follow this format:
32
33  compatible = "apple,<targettype>", "apple,<socid>", "apple,arm-platform";
34
35  <targettype> represents the board/device and comes from the `target-type`
36  property of the root node of the Apple Device Tree, lowercased. It can be
37  queried on macOS using the following command:
38
39  $ ioreg -d2 -l | grep target-type
40
41  <socid> is the lowercased SoC ID. Apple uses at least *five* different
42  names for their SoCs:
43
44  - Marketing name ("M1")
45  - Internal name ("H13G")
46  - Codename ("Tonga")
47  - SoC ID ("T8103")
48  - Package/IC part number ("APL1102")
49
50  Devicetrees should use the lowercased SoC ID, to avoid confusion if
51  multiple SoCs share the same marketing name. This can be obtained from
52  the `compatible` property of the arm-io node of the Apple Device Tree,
53  which can be queried as follows on macOS:
54
55  $ ioreg -n arm-io | grep compatible
56
57properties:
58  $nodename:
59    const: "/"
60  compatible:
61    oneOf:
62      - description: Apple M1 SoC based platforms
63        items:
64          - enum:
65              - apple,j274 # Mac mini (M1, 2020)
66              - apple,j293 # MacBook Pro (13-inch, M1, 2020)
67              - apple,j313 # MacBook Air (M1, 2020)
68              - apple,j456 # iMac (24-inch, 4x USB-C, M1, 2021)
69              - apple,j457 # iMac (24-inch, 2x USB-C, M1, 2021)
70          - const: apple,t8103
71          - const: apple,arm-platform
72
73      - description: Apple M1 Pro SoC based platforms
74        items:
75          - enum:
76              - apple,j314s # MacBook Pro (14-inch, M1 Pro, 2021)
77              - apple,j316s # MacBook Pro (16-inch, M1 Pro, 2021)
78          - const: apple,t6000
79          - const: apple,arm-platform
80
81      - description: Apple M1 Max SoC based platforms
82        items:
83          - enum:
84              - apple,j314c # MacBook Pro (14-inch, M1 Max, 2021)
85              - apple,j316c # MacBook Pro (16-inch, M1 Max, 2021)
86              - apple,j375c # Mac Studio (M1 Max, 2022)
87          - const: apple,t6001
88          - const: apple,arm-platform
89
90      - description: Apple M1 Ultra SoC based platforms
91        items:
92          - enum:
93              - apple,j375d # Mac Studio (M1 Ultra, 2022)
94          - const: apple,t6002
95          - const: apple,arm-platform
96
97additionalProperties: true
98
99...
100