0001 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/arm/apple.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Apple ARM Machine Device Tree Bindings
0008
0009 maintainers:
0010 - Hector Martin <marcan@marcan.st>
0011
0012 description: |
0013 ARM platforms using SoCs designed by Apple Inc., branded "Apple Silicon".
0014
0015 This currently includes devices based on the "M1" SoC:
0016
0017 - Mac mini (M1, 2020)
0018 - MacBook Pro (13-inch, M1, 2020)
0019 - MacBook Air (M1, 2020)
0020 - iMac (24-inch, M1, 2021)
0021
0022 And devices based on the "M1 Pro" and "M1 Max" SoCs:
0023
0024 - MacBook Pro (14-inch, M1 Pro, 2021)
0025 - MacBook Pro (14-inch, M1 Max, 2021)
0026 - MacBook Pro (16-inch, M1 Pro, 2021)
0027 - MacBook Pro (16-inch, M1 Max, 2021)
0028
0029 The compatible property should follow this format:
0030
0031 compatible = "apple,<targettype>", "apple,<socid>", "apple,arm-platform";
0032
0033 <targettype> represents the board/device and comes from the `target-type`
0034 property of the root node of the Apple Device Tree, lowercased. It can be
0035 queried on macOS using the following command:
0036
0037 $ ioreg -d2 -l | grep target-type
0038
0039 <socid> is the lowercased SoC ID. Apple uses at least *five* different
0040 names for their SoCs:
0041
0042 - Marketing name ("M1")
0043 - Internal name ("H13G")
0044 - Codename ("Tonga")
0045 - SoC ID ("T8103")
0046 - Package/IC part number ("APL1102")
0047
0048 Devicetrees should use the lowercased SoC ID, to avoid confusion if
0049 multiple SoCs share the same marketing name. This can be obtained from
0050 the `compatible` property of the arm-io node of the Apple Device Tree,
0051 which can be queried as follows on macOS:
0052
0053 $ ioreg -n arm-io | grep compatible
0054
0055 properties:
0056 $nodename:
0057 const: "/"
0058 compatible:
0059 oneOf:
0060 - description: Apple M1 SoC based platforms
0061 items:
0062 - enum:
0063 - apple,j274 # Mac mini (M1, 2020)
0064 - apple,j293 # MacBook Pro (13-inch, M1, 2020)
0065 - apple,j313 # MacBook Air (M1, 2020)
0066 - apple,j456 # iMac (24-inch, 4x USB-C, M1, 2021)
0067 - apple,j457 # iMac (24-inch, 2x USB-C, M1, 2021)
0068 - const: apple,t8103
0069 - const: apple,arm-platform
0070 - description: Apple M1 Pro SoC based platforms
0071 items:
0072 - enum:
0073 - apple,j314s # MacBook Pro (14-inch, M1 Pro, 2021)
0074 - apple,j316s # MacBook Pro (16-inch, M1 Pro, 2021)
0075 - const: apple,t6000
0076 - const: apple,arm-platform
0077 - description: Apple M1 Max SoC based platforms
0078 items:
0079 - enum:
0080 - apple,j314c # MacBook Pro (14-inch, M1 Max, 2021)
0081 - apple,j316c # MacBook Pro (16-inch, M1 Max, 2021)
0082 - const: apple,t6001
0083 - const: apple,arm-platform
0084
0085 additionalProperties: true
0086
0087 ...