GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / arm / apple.yaml
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
7 title: Apple ARM Machine
8
9 maintainers:
10   - Hector Martin <marcan@marcan.st>
11
12 description: |
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" and "M1 Max" 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
29   The compatible property should follow this format:
30
31   compatible = "apple,<targettype>", "apple,<socid>", "apple,arm-platform";
32
33   <targettype> represents the board/device and comes from the `target-type`
34   property of the root node of the Apple Device Tree, lowercased. It can be
35   queried on macOS using the following command:
36
37   $ ioreg -d2 -l | grep target-type
38
39   <socid> is the lowercased SoC ID. Apple uses at least *five* different
40   names for their SoCs:
41
42   - Marketing name ("M1")
43   - Internal name ("H13G")
44   - Codename ("Tonga")
45   - SoC ID ("T8103")
46   - Package/IC part number ("APL1102")
47
48   Devicetrees should use the lowercased SoC ID, to avoid confusion if
49   multiple SoCs share the same marketing name. This can be obtained from
50   the `compatible` property of the arm-io node of the Apple Device Tree,
51   which can be queried as follows on macOS:
52
53   $ ioreg -n arm-io | grep compatible
54
55 properties:
56   $nodename:
57     const: "/"
58   compatible:
59     oneOf:
60       - description: Apple M1 SoC based platforms
61         items:
62           - enum:
63               - apple,j274 # Mac mini (M1, 2020)
64               - apple,j293 # MacBook Pro (13-inch, M1, 2020)
65               - apple,j313 # MacBook Air (M1, 2020)
66               - apple,j456 # iMac (24-inch, 4x USB-C, M1, 2021)
67               - apple,j457 # iMac (24-inch, 2x USB-C, M1, 2021)
68           - const: apple,t8103
69           - const: apple,arm-platform
70       - description: Apple M1 Pro SoC based platforms
71         items:
72           - enum:
73               - apple,j314s # MacBook Pro (14-inch, M1 Pro, 2021)
74               - apple,j316s # MacBook Pro (16-inch, M1 Pro, 2021)
75           - const: apple,t6000
76           - const: apple,arm-platform
77       - description: Apple M1 Max SoC based platforms
78         items:
79           - enum:
80               - apple,j314c # MacBook Pro (14-inch, M1 Max, 2021)
81               - apple,j316c # MacBook Pro (16-inch, M1 Max, 2021)
82           - const: apple,t6001
83           - const: apple,arm-platform
84
85 additionalProperties: true
86
87 ...