Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
64f1f73
arm64: dts: apple: Add PCIe nodes for t8122
noopwafel Jan 31, 2026
fe76329
arm64: dts: apple: Add spmi stowe pmic
jannau Apr 3, 2026
184e82f
arm64: dts: apple: Initial t603[124] (M3 Max and Ultra) device trees
jannau Jan 31, 2026
b50b107
arm64: dts: apple: Initial t6030 (M3 Pro) device trees
jannau Jan 31, 2026
1097ec3
arm64: dts: apple: t6030: Add more hardware
jannau May 21, 2026
c3f67db
arm64: dts: apple: t6031: Add more hardware
jannau May 21, 2026
0aae82e
arm64: dts: apple: t6031: Add NVMe related device nodes
jannau May 21, 2026
2f00c15
Merge branch 'bits/000-devicetree' into asahi-wip
jannau May 23, 2026
bbf6a28
Merge branch 'bits/001-devicetree-m3' into asahi-wip
jannau May 23, 2026
5675008
Merge branch 'bits/010-soc' into asahi-wip
jannau May 23, 2026
0f118fa
Merge branch 'bits/020-dart' into asahi-wip
jannau May 23, 2026
e752dfc
Merge branch 'bits/030-misc' into asahi-wip
jannau May 23, 2026
a8972ae
Merge branch 'bits/050-nvme' into asahi-wip
jannau May 23, 2026
7d71f77
Merge branch 'bits/070-audio' into asahi-wip
jannau May 23, 2026
2ff3eb1
Merge branch 'bits/080-wifi' into asahi-wip
jannau May 23, 2026
d8aa922
Merge branch 'bits/090-spi-hid' into asahi-wip
jannau May 23, 2026
be564b5
Merge branch 'bits/110-smc' into asahi-wip
jannau May 23, 2026
63e9727
Merge branch 'bits/140-pci' into asahi-wip
jannau May 23, 2026
a39d421
Merge branch 'bits/150-xhci-firmware' into asahi-wip
jannau May 23, 2026
7bca2c2
Merge branch 'bits/171-dptxphy' into asahi-wip
jannau May 23, 2026
93e77c3
Merge branch 'bits/180-sio' into asahi-wip
jannau May 23, 2026
9000d78
Merge branch 'bits/190-rust' into asahi-wip
jannau May 23, 2026
e1c27a7
Merge branch 'bits/200-dcp' into asahi-wip
jannau May 23, 2026
73f655d
Merge branch 'bits/210-gpu' into asahi-wip
jannau May 23, 2026
9c2c9b0
Merge branch 'bits/220-tso' into asahi-wip
jannau May 23, 2026
9b602f8
Merge branch 'bits/240-isp' into asahi-wip
jannau May 23, 2026
574e8c6
Merge branch 'bits/250-aop' into asahi-wip
jannau May 23, 2026
72e00c0
Merge branch 'bits/500-backports' into asahi-wip
jannau May 23, 2026
f5cd0ac
Bluetooth: Add Broadcom channel priority commands
WhatAmISupposedToPutHere Apr 7, 2026
dfec7c7
Fail the build on RUST=y and RUST_IS_AVAILABLE=n
WhatAmISupposedToPutHere May 21, 2026
0545519
driver-core: Add error message to device_links_missing_supplier WARN()
jannau May 9, 2026
5caaf76
arm64: dts: apple: t8122: Add PCI power enable GPIOs
jannau Apr 3, 2026
50b6497
arm64: dts: apple: Add MTP DockChannel to M3 device tree
IntegralPilot Jan 30, 2026
34193ab
arm64: dts: apple: t8122: Add MTP device nodes to Macbook board files
IntegralPilot Jan 30, 2026
589c6b7
arm64: dts: apple: t6030: Add MTP device nodes
jannau May 21, 2026
1d72ef7
arm64: dts: apple: t6031: Add MTP device nodes
jannau May 21, 2026
65f76cb
arm64: dts: apple: t603x-g514-j516: Active MTP based input
jannau May 21, 2026
44253b2
fixup! arm64: dts: apple: Add MTP DockChannel to M3 device tree
jannau May 23, 2026
6a4c5b1
fixup! arm64: dts: apple: Initial t6030 (M3 Pro) device trees
jannau May 23, 2026
cc646c5
fixup! arm64: dts: apple: t6030: Add MTP device nodes
jannau May 23, 2026
af7dd7b
fixup! arm64: dts: apple: t6031: Add MTP device nodes
jannau May 23, 2026
fee2cc8
drm: apple: Do not set IOMFBParameter_adaptive_sync on poweron
chadmed Apr 6, 2026
7ea8355
drm: apple: Add preliminary VRR support
chadmed Apr 3, 2026
d9cca00
drm: apple: Force modeset when VRR is toggled
chadmed Apr 4, 2026
da9b26f
drm: apple: Set swap timestamps to sane values for Adaptive Sync
chadmed Apr 3, 2026
9a019d7
drm: apple: Set min and max VRRs for MacBook Pros
chadmed Apr 4, 2026
f34ea28
drm: apple: Only use swap timestamps if VRR is actually active
chadmed Apr 5, 2026
fd05dff
NOUPSTREAM: drm: apple: Hide VRR behind a module parameter
chadmed Apr 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
56 changes: 56 additions & 0 deletions Documentation/devicetree/bindings/arm/apple.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,13 @@ description: |
- MacBook Pro (13-inch, M2, 2022)
- Mac mini (M2, 2023)

Devices based on the "M3" SoC:

- MacBook Air (13-inch, M3, 2024)
- MacBook Air (15-inch, M3, 2024)
- MacBook Pro (14-inch, M3, 2023)
- iMac (24-inch, M3, 2023)

Devices based on the "M1 Pro", "M1 Max" and "M1 Ultra" SoCs:

- MacBook Pro (14-inch, M1 Pro, 2021)
Expand All @@ -116,6 +123,14 @@ description: |
- Mac Studio (M2 Ultra, 2023)
- Mac Pro (M2 Ultra, 2023)

Devices based on the "M3 Pro", "M3 Max" and "M3 Ultra" SoCs:

- MacBook Pro (14-inch, M3 Pro, 2023)
- MacBook Pro (14-inch, M3 Max, 2023)
- MacBook Pro (16-inch, M3 Pro, 2023)
- MacBook Pro (16-inch, M3 Max, 2023)
- Mac Studio (M3 Ultra, 2025)

The compatible property should follow this format:

compatible = "apple,<targettype>", "apple,<socid>", "apple,arm-platform";
Expand Down Expand Up @@ -297,6 +312,17 @@ properties:
- const: apple,t8112
- const: apple,arm-platform

- description: Apple M3 SoC based platforms
items:
- enum:
- apple,j433 # iMac (24-inch, 2x USB-C, M3, 2023)
- apple,j434 # iMac (24-inch, 4x USB-C, M3, 2023)
- apple,j504 # MacBook Pro (14-inch, M3, 2023)
- apple,j613 # MacBook Air (13-inch, M3, 2024)
- apple,j615 # MacBook Air (15-inch, M3, 2024)
- const: apple,t8122
- const: apple,arm-platform

- description: Apple M1 Pro SoC based platforms
items:
- enum:
Expand Down Expand Up @@ -347,6 +373,36 @@ properties:
- const: apple,t6022
- const: apple,arm-platform

- description: Apple M3 Pro SoC based platforms
items:
- enum:
- apple,j514s # MacBook Pro (14-inch, M3 Pro, 2023)
- apple,j516s # MacBook Pro (16-inch, M3 Pro, 2023)
- const: apple,t6030
- const: apple,arm-platform

- description: Apple M3 Max SoC based platforms
oneOf:
- items:
- enum:
- apple,j514c # MacBook Pro (14-inch, M3 Max, 16 cores, 2023)
- apple,j516c # MacBook Pro (16-inch, M3 Max, 16 cores, 2023)
- const: apple,t6031
- const: apple,arm-platform
- items:
- enum:
- apple,j514m # MacBook Pro (14-inch, M3 Max, 14 cores, 2023)
- apple,j516m # MacBook Pro (16-inch, M3 Max, 14 cores, 2023)
- const: apple,t6034
- const: apple,arm-platform

- description: Apple M3 Ultra SoC based platforms
items:
- enum:
- apple,j575d # Mac Studio (M3 Ultra, 2025)
- const: apple,t6032
- const: apple,arm-platform

additionalProperties: true

...
5 changes: 4 additions & 1 deletion Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,10 @@ properties:
- const: syscon
- const: simple-mfd
- items:
- const: apple,t6020-pmgr
- enum:
- apple,t6020-pmgr
- apple,t6030-pmgr
- apple,t8122-pmgr
- const: apple,t8103-pmgr
- const: syscon
- const: simple-mfd
Expand Down
2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/arm/cpus.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -85,11 +85,13 @@ properties:
- apple,avalanche
- apple,blizzard
- apple,cyclone
- apple,everest
- apple,firestorm
- apple,hurricane-zephyr
- apple,icestorm
- apple,mistral
- apple,monsoon
- apple,sawtooth
- apple,twister
- apple,typhoon
- arm,arm710t
Expand Down
111 changes: 111 additions & 0 deletions Documentation/devicetree/bindings/dma/apple,sio.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/dma/apple,sio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Apple SIO Coprocessor

description:
SIO is a coprocessor on Apple M1 and later chips (and maybe also on earlier
chips). Its role is to offload SPI, UART and DisplayPort audio transfers,
being a pretend DMA controller.

maintainers:
- Martin Povišer <povik+lin@cutebit.org>

allOf:
- $ref: dma-controller.yaml#

properties:
compatible:
items:
- enum:
- apple,t6000-sio
- apple,t8103-sio
- const: apple,sio

reg:
maxItems: 1

'#dma-cells':
const: 1
description:
DMA clients specify a single cell that corresponds to the RTKit endpoint
number used for arranging the transfers in question

dma-channels:
maximum: 128

mboxes:
maxItems: 1

iommus:
maxItems: 1

power-domains:
maxItems: 1

memory-region:
minItems: 2
maxItems: 8
description:
A number of references to reserved memory regions among which are the DATA/TEXT
sections of coprocessor executable firmware and also auxiliary firmware data
describing the available DMA-enabled peripherals

apple,sio-firmware-params:
$ref: /schemas/types.yaml#/definitions/uint32-array
description: |
Parameters in the form of opaque key/value pairs that are to be sent to the SIO
coprocesssor once it boots. These parameters can point into the reserved memory
regions (in device address space).

Note that unlike Apple's firmware, we treat the parameters, and the data they
refer to, as opaque. Apple embed short data blobs into their SIO devicetree node
that describe the DMA-enabled peripherals (presumably with defined semantics).
Their driver processes those blobs and sets up data structure in mapped device
memory, then references this memory in the parameters sent to the SIO. At the
level of description we are opting for in this binding, we assume the job of
constructing those data structures has been done in advance, leaving behind an
opaque list of key/value parameter pairs to be sent by a prospective driver.

This approach is chosen for two reasons:

- It means we don't need to try to understand the semantics of Apple's blobs
as long as we know the transformation we need to do from Apple's devicetree
data to SIO data (which can be shoved away into a loader). It also means the
semantics of Apple's blobs (or of something to replace them) need not be part
of the binding and be kept up with Apple's firmware changes in the future.

- It leaves less work for the driver attaching on this binding. Instead the work
is done upfront in the loader which can be better suited for keeping up with
Apple's firmware changes.

required:
- compatible
- reg
- '#dma-cells'
- dma-channels
- mboxes
- iommus
- power-domains

additionalProperties: false

examples:
- |
sio: dma-controller@36400000 {
compatible = "apple,t8103-sio", "apple,sio";
reg = <0x36400000 0x8000>;
dma-channels = <128>;
#dma-cells = <1>;
mboxes = <&sio_mbox>;
iommus = <&sio_dart 0>;
power-domains = <&ps_sio_cpu>;
memory-region = <&sio_text>, <&sio_data>,
<&sio_auxdata1>, <&sio_auxdata2>; /* Filled by loader */
apple,sio-firmware-params = <0xb 0x10>, <0xc 0x1b80>, <0xf 0x14>,
<0x10 0x1e000>, <0x30d 0x34>, <0x30e 0x4000>,
<0x1a 0x38>, <0x1b 0x50>; /* Filled by loader */
};
86 changes: 86 additions & 0 deletions Documentation/devicetree/bindings/hwmon/apple,smc-hwmon.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/hwmon/apple,smc-hwmon.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Apple SMC Hardware Monitoring

description:
Apple's System Management Controller (SMC) exposes a vast array of
hardware monitoring sensors, including temperature probes, current and
voltage sense, power meters, and fan speeds. It also provides endpoints
to manually control the speed of each fan individually. Each Apple
Silicon device exposes a different set of endpoints via SMC keys. This
is true even when two machines share an SoC. The CPU core temperature
sensor keys on an M1 Mac mini are different to those on an M1 MacBook
Pro, for example.

maintainers:
- James Calligeros <jcalligeros99@gmail.com>

$defs:
sensor:
type: object

properties:
apple,key-id:
$ref: /schemas/types.yaml#/definitions/string
pattern: "^[A-Za-z0-9]{4}$"
description: The SMC FourCC key of the desired sensor.
Must match the node's suffix.

label:
description: Human-readable name for the sensor

required:
- apple,key-id

properties:
compatible:
const: apple,smc-hwmon

patternProperties:
"^current-[A-Za-z0-9]{4}$":
$ref: "#/$defs/sensor"
unevaluatedProperties: false

"^fan-[A-Za-z0-9]{4}$":
$ref: "#/$defs/sensor"
unevaluatedProperties: false

properties:
apple,fan-minimum:
$ref: /schemas/types.yaml#/definitions/string
pattern: "^[A-Za-z0-9]{4}$"
description: SMC key containing the fan's minimum speed

apple,fan-maximum:
$ref: /schemas/types.yaml#/definitions/string
pattern: "^[A-Za-z0-9]{4}$"
description: SMC key containing the fan's maximum speed

apple,fan-target:
$ref: /schemas/types.yaml#/definitions/string
pattern: "^[A-Za-z0-9]{4}$"
description: Writeable endpoint for setting desired fan speed

apple,fan-mode:
$ref: /schemas/types.yaml#/definitions/string
pattern: "^[A-Za-z0-9]{4}$"
description: Writeable key to enable/disable manual fan control


"^power-[A-Za-z0-9]{4}$":
$ref: "#/$defs/sensor"
unevaluatedProperties: false

"^temperature-[A-Za-z0-9]{4}$":
$ref: "#/$defs/sensor"
unevaluatedProperties: false

"^voltage-[A-Za-z0-9]{4}$":
$ref: "#/$defs/sensor"
unevaluatedProperties: false

additionalProperties: false
5 changes: 4 additions & 1 deletion Documentation/devicetree/bindings/i2c/apple,i2c.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,10 @@ properties:
compatible:
oneOf:
- items:
- const: apple,t6020-i2c
- enum:
- apple,t6020-i2c
- apple,t6030-i2c
- apple,t8122-i2c
- const: apple,t8103-i2c
- items:
- enum:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
$id: http://devicetree.org/schemas/interrupt-controller/apple,aic2.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Apple Interrupt Controller 2
title: Apple Interrupt Controller 2 and 3

maintainers:
- Hector Martin <marcan@marcan.st>
- Janne Grunau <j@jannau.net>

description: |
The Apple Interrupt Controller 2 is a simple interrupt controller present on
Expand All @@ -28,14 +28,24 @@ description: |
which do not go through a discrete interrupt controller. It also handles
FIQ-based Fast IPIs.

The Apple Interrupt Controller 3 is in its base functionality very similar to
the Apple Interrupt Controller 2 and uses the same device tree bindings. It is
found on Apple ARM SoCs platforms starting with t8122 (M3).

properties:
compatible:
items:
- enum:
- apple,t8112-aic
- apple,t6000-aic
- apple,t6020-aic
- const: apple,aic2
oneOf:
- items:
- enum:
- apple,t6000-aic
- apple,t6020-aic
- apple,t8112-aic
- const: apple,aic2
- items:
- enum:
- apple,t6030-aic3
- const: apple,t8122-aic3
- const: apple,t8122-aic3

interrupt-controller: true

Expand Down Expand Up @@ -117,7 +127,9 @@ allOf:
properties:
compatible:
contains:
const: apple,t8112-aic
enum:
- apple,t8112-aic
- apple,t8122-aic3
then:
properties:
'#interrupt-cells':
Expand Down
4 changes: 3 additions & 1 deletion Documentation/devicetree/bindings/iommu/apple,dart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,9 @@ properties:
- apple,t8110-dart
- apple,t6000-dart
- items:
- const: apple,t6020-dart
- enum:
- apple,t6020-dart
- apple,t8122-dart
- const: apple,t8110-dart

reg:
Expand Down
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/iommu/apple,sart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ properties:
- enum:
- apple,t6020-sart
- apple,t8112-sart
- apple,t8122-sart
- const: apple,t6000-sart
- enum:
- apple,t6000-sart
Expand Down
Loading