xref: /openbmc/linux/Documentation/devicetree/bindings/arm/apple.yaml (revision e15b8c8563983c134869890d7a88aada33c52885)
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
7007bd423SHector Martintitle: Apple ARM Machine Device Tree Bindings
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
22*e15b8c85SHector Martin  And devices based on the "M1 Pro" and "M1 Max" SoCs:
23*e15b8c85SHector Martin
24*e15b8c85SHector Martin  - MacBook Pro (14-inch, M1 Pro, 2021)
25*e15b8c85SHector Martin  - MacBook Pro (14-inch, M1 Max, 2021)
26*e15b8c85SHector Martin  - MacBook Pro (16-inch, M1 Pro, 2021)
27*e15b8c85SHector Martin  - MacBook Pro (16-inch, M1 Max, 2021)
28*e15b8c85SHector 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
70*e15b8c85SHector Martin      - description: Apple M1 Pro SoC based platforms
71*e15b8c85SHector Martin        items:
72*e15b8c85SHector Martin          - enum:
73*e15b8c85SHector Martin              - apple,j314s # MacBook Pro (14-inch, M1 Pro, 2021)
74*e15b8c85SHector Martin              - apple,j316s # MacBook Pro (16-inch, M1 Pro, 2021)
75*e15b8c85SHector Martin          - const: apple,t6000
76*e15b8c85SHector Martin          - const: apple,arm-platform
77*e15b8c85SHector Martin      - description: Apple M1 Max SoC based platforms
78*e15b8c85SHector Martin        items:
79*e15b8c85SHector Martin          - enum:
80*e15b8c85SHector Martin              - apple,j314c # MacBook Pro (14-inch, M1 Max, 2021)
81*e15b8c85SHector Martin              - apple,j316c # MacBook Pro (16-inch, M1 Max, 2021)
82*e15b8c85SHector Martin          - const: apple,t6001
83*e15b8c85SHector Martin          - const: apple,arm-platform
84007bd423SHector Martin
85007bd423SHector MartinadditionalProperties: true
86007bd423SHector Martin
87007bd423SHector Martin...
88