blob: 883fd67e375272ea52e69b1e9eb1dbb01a617279 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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 Devices based on the "M2" SoC:
23
24 - MacBook Air (M2, 2022)
25 - MacBook Pro (13-inch, M2, 2022)
26 - Mac mini (M2, 2023)
27
28 And devices based on the "M1 Pro", "M1 Max" and "M1 Ultra" SoCs:
29
30 - MacBook Pro (14-inch, M1 Pro, 2021)
31 - MacBook Pro (14-inch, M1 Max, 2021)
32 - MacBook Pro (16-inch, M1 Pro, 2021)
33 - MacBook Pro (16-inch, M1 Max, 2021)
34 - Mac Studio (M1 Max, 2022)
35 - Mac Studio (M1 Ultra, 2022)
36
37 The compatible property should follow this format:
38
39 compatible = "apple,<targettype>", "apple,<socid>", "apple,arm-platform";
40
41 <targettype> represents the board/device and comes from the `target-type`
42 property of the root node of the Apple Device Tree, lowercased. It can be
43 queried on macOS using the following command:
44
45 $ ioreg -d2 -l | grep target-type
46
47 <socid> is the lowercased SoC ID. Apple uses at least *five* different
48 names for their SoCs:
49
50 - Marketing name ("M1")
51 - Internal name ("H13G")
52 - Codename ("Tonga")
53 - SoC ID ("T8103")
54 - Package/IC part number ("APL1102")
55
56 Devicetrees should use the lowercased SoC ID, to avoid confusion if
57 multiple SoCs share the same marketing name. This can be obtained from
58 the `compatible` property of the arm-io node of the Apple Device Tree,
59 which can be queried as follows on macOS:
60
61 $ ioreg -n arm-io | grep compatible
62
63properties:
64 $nodename:
65 const: "/"
66 compatible:
67 oneOf:
68 - description: Apple M1 SoC based platforms
69 items:
70 - enum:
71 - apple,j274 # Mac mini (M1, 2020)
72 - apple,j293 # MacBook Pro (13-inch, M1, 2020)
73 - apple,j313 # MacBook Air (M1, 2020)
74 - apple,j456 # iMac (24-inch, 4x USB-C, M1, 2021)
75 - apple,j457 # iMac (24-inch, 2x USB-C, M1, 2021)
76 - const: apple,t8103
77 - const: apple,arm-platform
78
79 - description: Apple M2 SoC based platforms
80 items:
81 - enum:
82 - apple,j413 # MacBook Air (M2, 2022)
83 - apple,j473 # Mac mini (M2, 2023)
84 - apple,j493 # MacBook Pro (13-inch, M2, 2022)
85 - const: apple,t8112
86 - const: apple,arm-platform
87
88 - description: Apple M1 Pro SoC based platforms
89 items:
90 - enum:
91 - apple,j314s # MacBook Pro (14-inch, M1 Pro, 2021)
92 - apple,j316s # MacBook Pro (16-inch, M1 Pro, 2021)
93 - const: apple,t6000
94 - const: apple,arm-platform
95
96 - description: Apple M1 Max SoC based platforms
97 items:
98 - enum:
99 - apple,j314c # MacBook Pro (14-inch, M1 Max, 2021)
100 - apple,j316c # MacBook Pro (16-inch, M1 Max, 2021)
101 - apple,j375c # Mac Studio (M1 Max, 2022)
102 - const: apple,t6001
103 - const: apple,arm-platform
104
105 - description: Apple M1 Ultra SoC based platforms
106 items:
107 - enum:
108 - apple,j375d # Mac Studio (M1 Ultra, 2022)
109 - const: apple,t6002
110 - const: apple,arm-platform
111
112additionalProperties: true
113
114...