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