xref: /openbmc/linux/Documentation/devicetree/bindings/arm/apple.yaml (revision ad1569476e7644ac5754ac9a710ce771a7b4976f)
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
15*ad156947SJanne 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)
20*ad156947SJanne Grunau  - iMac (24-inch, M1, 2021)
21007bd423SHector Martin
22007bd423SHector Martin  The compatible property should follow this format:
23007bd423SHector Martin
24007bd423SHector Martin  compatible = "apple,<targettype>", "apple,<socid>", "apple,arm-platform";
25007bd423SHector Martin
26007bd423SHector Martin  <targettype> represents the board/device and comes from the `target-type`
27007bd423SHector Martin  property of the root node of the Apple Device Tree, lowercased. It can be
28007bd423SHector Martin  queried on macOS using the following command:
29007bd423SHector Martin
30007bd423SHector Martin  $ ioreg -d2 -l | grep target-type
31007bd423SHector Martin
32007bd423SHector Martin  <socid> is the lowercased SoC ID. Apple uses at least *five* different
33007bd423SHector Martin  names for their SoCs:
34007bd423SHector Martin
35007bd423SHector Martin  - Marketing name ("M1")
36007bd423SHector Martin  - Internal name ("H13G")
37007bd423SHector Martin  - Codename ("Tonga")
38007bd423SHector Martin  - SoC ID ("T8103")
39007bd423SHector Martin  - Package/IC part number ("APL1102")
40007bd423SHector Martin
41007bd423SHector Martin  Devicetrees should use the lowercased SoC ID, to avoid confusion if
42007bd423SHector Martin  multiple SoCs share the same marketing name. This can be obtained from
43007bd423SHector Martin  the `compatible` property of the arm-io node of the Apple Device Tree,
44007bd423SHector Martin  which can be queried as follows on macOS:
45007bd423SHector Martin
46007bd423SHector Martin  $ ioreg -n arm-io | grep compatible
47007bd423SHector Martin
48007bd423SHector Martinproperties:
49007bd423SHector Martin  $nodename:
50007bd423SHector Martin    const: "/"
51007bd423SHector Martin  compatible:
52007bd423SHector Martin    oneOf:
53007bd423SHector Martin      - description: Apple M1 SoC based platforms
54007bd423SHector Martin        items:
55007bd423SHector Martin          - enum:
56007bd423SHector Martin              - apple,j274 # Mac mini (M1, 2020)
57007bd423SHector Martin              - apple,j293 # MacBook Pro (13-inch, M1, 2020)
58007bd423SHector Martin              - apple,j313 # MacBook Air (M1, 2020)
59*ad156947SJanne Grunau              - apple,j456 # iMac (24-inch, 4x USB-C, M1, 2021)
60*ad156947SJanne Grunau              - apple,j457 # iMac (24-inch, 2x USB-C, M1, 2021)
61007bd423SHector Martin          - const: apple,t8103
62007bd423SHector Martin          - const: apple,arm-platform
63007bd423SHector Martin
64007bd423SHector MartinadditionalProperties: true
65007bd423SHector Martin
66007bd423SHector Martin...
67