xref: /freebsd/sys/contrib/device-tree/Bindings/arm/apple.yaml (revision d8096b2df282d7a50e56eddba523bcdda1676106)
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 Device Tree Bindings
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" 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
55properties:
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
85additionalProperties: true
86
87...
88