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