xref: /openbmc/linux/Documentation/devicetree/bindings/arm/apple.yaml (revision dd3cb467ebb5659d6552999d6f16a616653f9933)
1007bd423SHector Martin# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2007bd423SHector Martin%YAML 1.2
3007bd423SHector Martin---
4007bd423SHector Martin$id: http://devicetree.org/schemas/arm/apple.yaml#
5007bd423SHector Martin$schema: http://devicetree.org/meta-schemas/core.yaml#
6007bd423SHector Martin
7*dd3cb467SAndrew Lunntitle: Apple ARM Machine
8007bd423SHector Martin
9007bd423SHector Martinmaintainers:
10007bd423SHector Martin  - Hector Martin <marcan@marcan.st>
11007bd423SHector Martin
12007bd423SHector Martindescription: |
13007bd423SHector Martin  ARM platforms using SoCs designed by Apple Inc., branded "Apple Silicon".
14007bd423SHector Martin
15ad156947SJanne Grunau  This currently includes devices based on the "M1" SoC:
16007bd423SHector Martin
17007bd423SHector Martin  - Mac mini (M1, 2020)
18007bd423SHector Martin  - MacBook Pro (13-inch, M1, 2020)
19007bd423SHector Martin  - MacBook Air (M1, 2020)
20ad156947SJanne Grunau  - iMac (24-inch, M1, 2021)
21007bd423SHector Martin
22e15b8c85SHector Martin  And devices based on the "M1 Pro" and "M1 Max" SoCs:
23e15b8c85SHector Martin
24e15b8c85SHector Martin  - MacBook Pro (14-inch, M1 Pro, 2021)
25e15b8c85SHector Martin  - MacBook Pro (14-inch, M1 Max, 2021)
26e15b8c85SHector Martin  - MacBook Pro (16-inch, M1 Pro, 2021)
27e15b8c85SHector Martin  - MacBook Pro (16-inch, M1 Max, 2021)
28e15b8c85SHector Martin
29007bd423SHector Martin  The compatible property should follow this format:
30007bd423SHector Martin
31007bd423SHector Martin  compatible = "apple,<targettype>", "apple,<socid>", "apple,arm-platform";
32007bd423SHector Martin
33007bd423SHector Martin  <targettype> represents the board/device and comes from the `target-type`
34007bd423SHector Martin  property of the root node of the Apple Device Tree, lowercased. It can be
35007bd423SHector Martin  queried on macOS using the following command:
36007bd423SHector Martin
37007bd423SHector Martin  $ ioreg -d2 -l | grep target-type
38007bd423SHector Martin
39007bd423SHector Martin  <socid> is the lowercased SoC ID. Apple uses at least *five* different
40007bd423SHector Martin  names for their SoCs:
41007bd423SHector Martin
42007bd423SHector Martin  - Marketing name ("M1")
43007bd423SHector Martin  - Internal name ("H13G")
44007bd423SHector Martin  - Codename ("Tonga")
45007bd423SHector Martin  - SoC ID ("T8103")
46007bd423SHector Martin  - Package/IC part number ("APL1102")
47007bd423SHector Martin
48007bd423SHector Martin  Devicetrees should use the lowercased SoC ID, to avoid confusion if
49007bd423SHector Martin  multiple SoCs share the same marketing name. This can be obtained from
50007bd423SHector Martin  the `compatible` property of the arm-io node of the Apple Device Tree,
51007bd423SHector Martin  which can be queried as follows on macOS:
52007bd423SHector Martin
53007bd423SHector Martin  $ ioreg -n arm-io | grep compatible
54007bd423SHector Martin
55007bd423SHector Martinproperties:
56007bd423SHector Martin  $nodename:
57007bd423SHector Martin    const: "/"
58007bd423SHector Martin  compatible:
59007bd423SHector Martin    oneOf:
60007bd423SHector Martin      - description: Apple M1 SoC based platforms
61007bd423SHector Martin        items:
62007bd423SHector Martin          - enum:
63007bd423SHector Martin              - apple,j274 # Mac mini (M1, 2020)
64007bd423SHector Martin              - apple,j293 # MacBook Pro (13-inch, M1, 2020)
65007bd423SHector Martin              - apple,j313 # MacBook Air (M1, 2020)
66ad156947SJanne Grunau              - apple,j456 # iMac (24-inch, 4x USB-C, M1, 2021)
67ad156947SJanne Grunau              - apple,j457 # iMac (24-inch, 2x USB-C, M1, 2021)
68007bd423SHector Martin          - const: apple,t8103
69007bd423SHector Martin          - const: apple,arm-platform
70e15b8c85SHector Martin      - description: Apple M1 Pro SoC based platforms
71e15b8c85SHector Martin        items:
72e15b8c85SHector Martin          - enum:
73e15b8c85SHector Martin              - apple,j314s # MacBook Pro (14-inch, M1 Pro, 2021)
74e15b8c85SHector Martin              - apple,j316s # MacBook Pro (16-inch, M1 Pro, 2021)
75e15b8c85SHector Martin          - const: apple,t6000
76e15b8c85SHector Martin          - const: apple,arm-platform
77e15b8c85SHector Martin      - description: Apple M1 Max SoC based platforms
78e15b8c85SHector Martin        items:
79e15b8c85SHector Martin          - enum:
80e15b8c85SHector Martin              - apple,j314c # MacBook Pro (14-inch, M1 Max, 2021)
81e15b8c85SHector Martin              - apple,j316c # MacBook Pro (16-inch, M1 Max, 2021)
82e15b8c85SHector Martin          - const: apple,t6001
83e15b8c85SHector Martin          - const: apple,arm-platform
84007bd423SHector Martin
85007bd423SHector MartinadditionalProperties: true
86007bd423SHector Martin
87007bd423SHector Martin...
88