xref: /freebsd-src/sys/contrib/device-tree/Bindings/arm/apple.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
12eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
22eb4d8dcSEmmanuel Vadot%YAML 1.2
32eb4d8dcSEmmanuel Vadot---
42eb4d8dcSEmmanuel Vadot$id: http://devicetree.org/schemas/arm/apple.yaml#
52eb4d8dcSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
62eb4d8dcSEmmanuel Vadot
77ef62cebSEmmanuel Vadottitle: Apple ARM Machine
82eb4d8dcSEmmanuel Vadot
92eb4d8dcSEmmanuel Vadotmaintainers:
102eb4d8dcSEmmanuel Vadot  - Hector Martin <marcan@marcan.st>
112eb4d8dcSEmmanuel Vadot
122eb4d8dcSEmmanuel Vadotdescription: |
132eb4d8dcSEmmanuel Vadot  ARM platforms using SoCs designed by Apple Inc., branded "Apple Silicon".
142eb4d8dcSEmmanuel Vadot
15e67e8565SEmmanuel Vadot  This currently includes devices based on the "M1" SoC:
162eb4d8dcSEmmanuel Vadot
172eb4d8dcSEmmanuel Vadot  - Mac mini (M1, 2020)
182eb4d8dcSEmmanuel Vadot  - MacBook Pro (13-inch, M1, 2020)
192eb4d8dcSEmmanuel Vadot  - MacBook Air (M1, 2020)
20e67e8565SEmmanuel Vadot  - iMac (24-inch, M1, 2021)
21e67e8565SEmmanuel Vadot
22*fac71e4eSEmmanuel Vadot  Devices based on the "M2" SoC:
23*fac71e4eSEmmanuel Vadot
24*fac71e4eSEmmanuel Vadot  - MacBook Air (M2, 2022)
25*fac71e4eSEmmanuel Vadot  - MacBook Pro (13-inch, M2, 2022)
26*fac71e4eSEmmanuel Vadot  - Mac mini (M2, 2023)
27*fac71e4eSEmmanuel Vadot
288bab661aSEmmanuel Vadot  And devices based on the "M1 Pro", "M1 Max" and "M1 Ultra" SoCs:
29e67e8565SEmmanuel Vadot
30e67e8565SEmmanuel Vadot  - MacBook Pro (14-inch, M1 Pro, 2021)
31e67e8565SEmmanuel Vadot  - MacBook Pro (14-inch, M1 Max, 2021)
32e67e8565SEmmanuel Vadot  - MacBook Pro (16-inch, M1 Pro, 2021)
33e67e8565SEmmanuel Vadot  - MacBook Pro (16-inch, M1 Max, 2021)
348bab661aSEmmanuel Vadot  - Mac Studio (M1 Max, 2022)
358bab661aSEmmanuel Vadot  - Mac Studio (M1 Ultra, 2022)
362eb4d8dcSEmmanuel Vadot
372eb4d8dcSEmmanuel Vadot  The compatible property should follow this format:
382eb4d8dcSEmmanuel Vadot
392eb4d8dcSEmmanuel Vadot  compatible = "apple,<targettype>", "apple,<socid>", "apple,arm-platform";
402eb4d8dcSEmmanuel Vadot
412eb4d8dcSEmmanuel Vadot  <targettype> represents the board/device and comes from the `target-type`
422eb4d8dcSEmmanuel Vadot  property of the root node of the Apple Device Tree, lowercased. It can be
432eb4d8dcSEmmanuel Vadot  queried on macOS using the following command:
442eb4d8dcSEmmanuel Vadot
452eb4d8dcSEmmanuel Vadot  $ ioreg -d2 -l | grep target-type
462eb4d8dcSEmmanuel Vadot
472eb4d8dcSEmmanuel Vadot  <socid> is the lowercased SoC ID. Apple uses at least *five* different
482eb4d8dcSEmmanuel Vadot  names for their SoCs:
492eb4d8dcSEmmanuel Vadot
502eb4d8dcSEmmanuel Vadot  - Marketing name ("M1")
512eb4d8dcSEmmanuel Vadot  - Internal name ("H13G")
522eb4d8dcSEmmanuel Vadot  - Codename ("Tonga")
532eb4d8dcSEmmanuel Vadot  - SoC ID ("T8103")
542eb4d8dcSEmmanuel Vadot  - Package/IC part number ("APL1102")
552eb4d8dcSEmmanuel Vadot
562eb4d8dcSEmmanuel Vadot  Devicetrees should use the lowercased SoC ID, to avoid confusion if
572eb4d8dcSEmmanuel Vadot  multiple SoCs share the same marketing name. This can be obtained from
582eb4d8dcSEmmanuel Vadot  the `compatible` property of the arm-io node of the Apple Device Tree,
592eb4d8dcSEmmanuel Vadot  which can be queried as follows on macOS:
602eb4d8dcSEmmanuel Vadot
612eb4d8dcSEmmanuel Vadot  $ ioreg -n arm-io | grep compatible
622eb4d8dcSEmmanuel Vadot
632eb4d8dcSEmmanuel Vadotproperties:
642eb4d8dcSEmmanuel Vadot  $nodename:
652eb4d8dcSEmmanuel Vadot    const: "/"
662eb4d8dcSEmmanuel Vadot  compatible:
672eb4d8dcSEmmanuel Vadot    oneOf:
682eb4d8dcSEmmanuel Vadot      - description: Apple M1 SoC based platforms
692eb4d8dcSEmmanuel Vadot        items:
702eb4d8dcSEmmanuel Vadot          - enum:
712eb4d8dcSEmmanuel Vadot              - apple,j274 # Mac mini (M1, 2020)
722eb4d8dcSEmmanuel Vadot              - apple,j293 # MacBook Pro (13-inch, M1, 2020)
732eb4d8dcSEmmanuel Vadot              - apple,j313 # MacBook Air (M1, 2020)
74e67e8565SEmmanuel Vadot              - apple,j456 # iMac (24-inch, 4x USB-C, M1, 2021)
75e67e8565SEmmanuel Vadot              - apple,j457 # iMac (24-inch, 2x USB-C, M1, 2021)
762eb4d8dcSEmmanuel Vadot          - const: apple,t8103
772eb4d8dcSEmmanuel Vadot          - const: apple,arm-platform
788bab661aSEmmanuel Vadot
79*fac71e4eSEmmanuel Vadot      - description: Apple M2 SoC based platforms
80*fac71e4eSEmmanuel Vadot        items:
81*fac71e4eSEmmanuel Vadot          - enum:
82*fac71e4eSEmmanuel Vadot              - apple,j413 # MacBook Air (M2, 2022)
83*fac71e4eSEmmanuel Vadot              - apple,j473 # Mac mini (M2, 2023)
84*fac71e4eSEmmanuel Vadot              - apple,j493 # MacBook Pro (13-inch, M2, 2022)
85*fac71e4eSEmmanuel Vadot          - const: apple,t8112
86*fac71e4eSEmmanuel Vadot          - const: apple,arm-platform
87*fac71e4eSEmmanuel Vadot
88e67e8565SEmmanuel Vadot      - description: Apple M1 Pro SoC based platforms
89e67e8565SEmmanuel Vadot        items:
90e67e8565SEmmanuel Vadot          - enum:
91e67e8565SEmmanuel Vadot              - apple,j314s # MacBook Pro (14-inch, M1 Pro, 2021)
92e67e8565SEmmanuel Vadot              - apple,j316s # MacBook Pro (16-inch, M1 Pro, 2021)
93e67e8565SEmmanuel Vadot          - const: apple,t6000
94e67e8565SEmmanuel Vadot          - const: apple,arm-platform
958bab661aSEmmanuel Vadot
96e67e8565SEmmanuel Vadot      - description: Apple M1 Max SoC based platforms
97e67e8565SEmmanuel Vadot        items:
98e67e8565SEmmanuel Vadot          - enum:
99e67e8565SEmmanuel Vadot              - apple,j314c # MacBook Pro (14-inch, M1 Max, 2021)
100e67e8565SEmmanuel Vadot              - apple,j316c # MacBook Pro (16-inch, M1 Max, 2021)
1018bab661aSEmmanuel Vadot              - apple,j375c # Mac Studio (M1 Max, 2022)
102e67e8565SEmmanuel Vadot          - const: apple,t6001
103e67e8565SEmmanuel Vadot          - const: apple,arm-platform
1042eb4d8dcSEmmanuel Vadot
1058bab661aSEmmanuel Vadot      - description: Apple M1 Ultra SoC based platforms
1068bab661aSEmmanuel Vadot        items:
1078bab661aSEmmanuel Vadot          - enum:
1088bab661aSEmmanuel Vadot              - apple,j375d # Mac Studio (M1 Ultra, 2022)
1098bab661aSEmmanuel Vadot          - const: apple,t6002
1108bab661aSEmmanuel Vadot          - const: apple,arm-platform
1118bab661aSEmmanuel Vadot
1122eb4d8dcSEmmanuel VadotadditionalProperties: true
1132eb4d8dcSEmmanuel Vadot
1142eb4d8dcSEmmanuel Vadot...
115