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, starting with the
16  three Mac models released in late 2020:
17
18  - Mac mini (M1, 2020)
19  - MacBook Pro (13-inch, M1, 2020)
20  - MacBook Air (M1, 2020)
21
22  The compatible property should follow this format:
23
24  compatible = "apple,<targettype>", "apple,<socid>", "apple,arm-platform";
25
26  <targettype> represents the board/device and comes from the `target-type`
27  property of the root node of the Apple Device Tree, lowercased. It can be
28  queried on macOS using the following command:
29
30  $ ioreg -d2 -l | grep target-type
31
32  <socid> is the lowercased SoC ID. Apple uses at least *five* different
33  names for their SoCs:
34
35  - Marketing name ("M1")
36  - Internal name ("H13G")
37  - Codename ("Tonga")
38  - SoC ID ("T8103")
39  - Package/IC part number ("APL1102")
40
41  Devicetrees should use the lowercased SoC ID, to avoid confusion if
42  multiple SoCs share the same marketing name. This can be obtained from
43  the `compatible` property of the arm-io node of the Apple Device Tree,
44  which can be queried as follows on macOS:
45
46  $ ioreg -n arm-io | grep compatible
47
48properties:
49  $nodename:
50    const: "/"
51  compatible:
52    oneOf:
53      - description: Apple M1 SoC based platforms
54        items:
55          - enum:
56              - apple,j274 # Mac mini (M1, 2020)
57              - apple,j293 # MacBook Pro (13-inch, M1, 2020)
58              - apple,j313 # MacBook Air (M1, 2020)
59          - const: apple,t8103
60          - const: apple,arm-platform
61
62additionalProperties: true
63
64...
65