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 7dd3cb467SAndrew 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 22*828fe6b6SJanne Grunau Devices based on the "M2" SoC: 23*828fe6b6SJanne Grunau 24*828fe6b6SJanne Grunau - MacBook Air (M2, 2022) 25*828fe6b6SJanne Grunau - MacBook Pro (13-inch, M2, 2022) 26*828fe6b6SJanne Grunau - Mac mini (M2, 2023) 27*828fe6b6SJanne Grunau 28a450fc9aSJanne Grunau And devices based on the "M1 Pro", "M1 Max" and "M1 Ultra" SoCs: 29e15b8c85SHector Martin 30e15b8c85SHector Martin - MacBook Pro (14-inch, M1 Pro, 2021) 31e15b8c85SHector Martin - MacBook Pro (14-inch, M1 Max, 2021) 32e15b8c85SHector Martin - MacBook Pro (16-inch, M1 Pro, 2021) 33e15b8c85SHector Martin - MacBook Pro (16-inch, M1 Max, 2021) 34a450fc9aSJanne Grunau - Mac Studio (M1 Max, 2022) 35a450fc9aSJanne Grunau - Mac Studio (M1 Ultra, 2022) 36e15b8c85SHector Martin 37007bd423SHector Martin The compatible property should follow this format: 38007bd423SHector Martin 39007bd423SHector Martin compatible = "apple,<targettype>", "apple,<socid>", "apple,arm-platform"; 40007bd423SHector Martin 41007bd423SHector Martin <targettype> represents the board/device and comes from the `target-type` 42007bd423SHector Martin property of the root node of the Apple Device Tree, lowercased. It can be 43007bd423SHector Martin queried on macOS using the following command: 44007bd423SHector Martin 45007bd423SHector Martin $ ioreg -d2 -l | grep target-type 46007bd423SHector Martin 47007bd423SHector Martin <socid> is the lowercased SoC ID. Apple uses at least *five* different 48007bd423SHector Martin names for their SoCs: 49007bd423SHector Martin 50007bd423SHector Martin - Marketing name ("M1") 51007bd423SHector Martin - Internal name ("H13G") 52007bd423SHector Martin - Codename ("Tonga") 53007bd423SHector Martin - SoC ID ("T8103") 54007bd423SHector Martin - Package/IC part number ("APL1102") 55007bd423SHector Martin 56007bd423SHector Martin Devicetrees should use the lowercased SoC ID, to avoid confusion if 57007bd423SHector Martin multiple SoCs share the same marketing name. This can be obtained from 58007bd423SHector Martin the `compatible` property of the arm-io node of the Apple Device Tree, 59007bd423SHector Martin which can be queried as follows on macOS: 60007bd423SHector Martin 61007bd423SHector Martin $ ioreg -n arm-io | grep compatible 62007bd423SHector Martin 63007bd423SHector Martinproperties: 64007bd423SHector Martin $nodename: 65007bd423SHector Martin const: "/" 66007bd423SHector Martin compatible: 67007bd423SHector Martin oneOf: 68007bd423SHector Martin - description: Apple M1 SoC based platforms 69007bd423SHector Martin items: 70007bd423SHector Martin - enum: 71007bd423SHector Martin - apple,j274 # Mac mini (M1, 2020) 72007bd423SHector Martin - apple,j293 # MacBook Pro (13-inch, M1, 2020) 73007bd423SHector Martin - apple,j313 # MacBook Air (M1, 2020) 74ad156947SJanne Grunau - apple,j456 # iMac (24-inch, 4x USB-C, M1, 2021) 75ad156947SJanne Grunau - apple,j457 # iMac (24-inch, 2x USB-C, M1, 2021) 76007bd423SHector Martin - const: apple,t8103 77007bd423SHector Martin - const: apple,arm-platform 78a450fc9aSJanne Grunau 79*828fe6b6SJanne Grunau - description: Apple M2 SoC based platforms 80*828fe6b6SJanne Grunau items: 81*828fe6b6SJanne Grunau - enum: 82*828fe6b6SJanne Grunau - apple,j413 # MacBook Air (M2, 2022) 83*828fe6b6SJanne Grunau - apple,j473 # Mac mini (M2, 2023) 84*828fe6b6SJanne Grunau - apple,j493 # MacBook Pro (13-inch, M2, 2022) 85*828fe6b6SJanne Grunau - const: apple,t8112 86*828fe6b6SJanne Grunau - const: apple,arm-platform 87*828fe6b6SJanne Grunau 88e15b8c85SHector Martin - description: Apple M1 Pro SoC based platforms 89e15b8c85SHector Martin items: 90e15b8c85SHector Martin - enum: 91e15b8c85SHector Martin - apple,j314s # MacBook Pro (14-inch, M1 Pro, 2021) 92e15b8c85SHector Martin - apple,j316s # MacBook Pro (16-inch, M1 Pro, 2021) 93e15b8c85SHector Martin - const: apple,t6000 94e15b8c85SHector Martin - const: apple,arm-platform 95a450fc9aSJanne Grunau 96e15b8c85SHector Martin - description: Apple M1 Max SoC based platforms 97e15b8c85SHector Martin items: 98e15b8c85SHector Martin - enum: 99e15b8c85SHector Martin - apple,j314c # MacBook Pro (14-inch, M1 Max, 2021) 100e15b8c85SHector Martin - apple,j316c # MacBook Pro (16-inch, M1 Max, 2021) 101a450fc9aSJanne Grunau - apple,j375c # Mac Studio (M1 Max, 2022) 102e15b8c85SHector Martin - const: apple,t6001 103e15b8c85SHector Martin - const: apple,arm-platform 104007bd423SHector Martin 105a450fc9aSJanne Grunau - description: Apple M1 Ultra SoC based platforms 106a450fc9aSJanne Grunau items: 107a450fc9aSJanne Grunau - enum: 108a450fc9aSJanne Grunau - apple,j375d # Mac Studio (M1 Ultra, 2022) 109a450fc9aSJanne Grunau - const: apple,t6002 110a450fc9aSJanne Grunau - const: apple,arm-platform 111a450fc9aSJanne Grunau 112007bd423SHector MartinadditionalProperties: true 113007bd423SHector Martin 114007bd423SHector Martin... 115