Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
934d9c0
HID: add device IDs for Apple SPI HID devices
jannau Dec 12, 2021
42c2f66
HID: add HOST vendor/device IDs for Apple MTP devices
marcan Jul 7, 2022
63c2994
HID: core: Handle HOST bus type when announcing devices
marcan Jul 7, 2022
eb0982f
HID: Bump maximum report size to 16384
marcan Apr 10, 2023
1e49512
HID: apple: Bind Apple silicon SPI devices
jannau Dec 16, 2021
4cdbfc2
HID: apple: Bind to HOST devices for MTP
marcan Jul 7, 2022
857bb25
DO NOT MERGE: HID: apple: Add fnmode which ignores function keys
jannau Apr 7, 2025
604082f
HID: magicmouse: use a define of the max number of touch contacts
jannau Dec 15, 2021
d45b52d
HID: magicmouse: use struct input_mt_pos for X/Y
jannau Dec 15, 2021
0091e01
HID: magicmouse: use ops function pointers for input functionality
jannau Dec 15, 2021
3914db8
HID: magicmouse: add support for Macbook trackpads
jannau Dec 16, 2021
2018266
HID: magicmouse: Add MTP multi-touch device support
marcan Jul 7, 2022
fdc798c
HID: magicmouse: Add .reset_resume for SPI trackpads
jannau Dec 11, 2022
78ab6a1
HID: magicmouse: Handle touch controller resets on SPI devices
marcan Apr 30, 2023
4868bd6
HID: magicmouse: Query device dimensions via HID report
marcan Dec 3, 2023
6c7a4de
WIP: HID: transport: spi: add Apple SPI transport
jannau Dec 10, 2021
6cdc771
soc: apple: Add DockChannel driver
marcan Jul 7, 2022
18cedb7
HID: Add Apple DockChannel HID transport driver
marcan Jul 7, 2022
f77f12b
soc: apple: Add RTKit helper driver
marcan Jul 3, 2022
344025c
Merge branch 'bits/000-devicetree' into asahi-wip
jannau Aug 26, 2026
b1e5d9a
Merge branch 'bits/010-soc' into asahi-wip
jannau Aug 26, 2026
32f6f52
Merge branch 'bits/020-dart' into asahi-wip
jannau Aug 26, 2026
c8fd081
Merge branch 'bits/030-misc' into asahi-wip
jannau Aug 26, 2026
3052801
Merge branch 'bits/050-nvme' into asahi-wip
jannau Aug 26, 2026
53786c6
Merge branch 'bits/070-audio' into asahi-wip
jannau Aug 26, 2026
0f125a8
Merge branch 'bits/080-wifi' into asahi-wip
jannau Aug 26, 2026
d0d650c
Merge branch 'bits/090-spi-hid' into asahi-wip
jannau Aug 26, 2026
a8f252e
Merge branch 'bits/110-smc' into asahi-wip
jannau Aug 26, 2026
e45d85a
Merge branch 'bits/140-pci' into asahi-wip
jannau Aug 26, 2026
064385c
Merge branch 'bits/150-xhci-firmware' into asahi-wip
jannau Aug 26, 2026
fd94bf0
Merge branch 'bits/170-atc' into asahi-wip
jannau Aug 26, 2026
358e93a
Merge branch 'bits/171-dptxphy' into asahi-wip
jannau Aug 26, 2026
418891a
Merge branch 'bits/180-sio' into asahi-wip
jannau Aug 26, 2026
06a5283
Merge branch 'bits/190-rust' into asahi-wip
jannau Aug 26, 2026
985288e
Merge branch 'bits/200-dcp' into asahi-wip
jannau Aug 26, 2026
eb89ab1
Merge branch 'bits/210-gpu' into asahi-wip
jannau Aug 26, 2026
b26a3dc
Merge branch 'bits/220-tso' into asahi-wip
jannau Aug 26, 2026
f842b53
Merge branch 'bits/240-isp' into asahi-wip
jannau Aug 26, 2026
29f250d
Merge branch 'bits/250-aop' into asahi-wip
jannau Aug 26, 2026
017fe87
Merge branch 'bits/260-spmi-typec' into asahi-wip
jannau Aug 26, 2026
6a5fd7b
Merge branch 'bits/500-backports' into asahi-wip
jannau Aug 26, 2026
bb249ac
Bluetooth: Add Broadcom channel priority commands
WhatAmISupposedToPutHere Apr 7, 2026
2d67fab
Fail the build on RUST=y and RUST_IS_AVAILABLE=n
WhatAmISupposedToPutHere May 21, 2026
31dd270
driver-core: Add error message to device_links_missing_supplier WARN()
jannau May 9, 2026
d3950e5
dt-bindings: gpio: apple,smc: Add compatible for 'gp00' keys
jannau May 30, 2026
16e9c6e
gpio: gpio-macsmc: Support 'gp00' GPIO keys
jannau May 29, 2026
b02aba8
mfd: macsmc: Add second gpio subdevice for 'gp00' keys
jannau May 30, 2026
58545df
add PMPv1 driver
dd-dreams May 29, 2026
231eac6
add pmp-v1 pd docs
dd-dreams Aug 23, 2026
3bb6ff0
remove git leftovers
dd-dreams Aug 23, 2026
4bde67e
fix build and address feedback
dd-dreams Aug 25, 2026
93c9296
update dt-bindings for pmp v1
dd-dreams Aug 25, 2026
4df058e
split dt-binding for pmp-v1
dd-dreams Aug 25, 2026
9b60733
change to const and remove redundant lines
dd-dreams Aug 26, 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
  •  
  •  
  •  
23 changes: 23 additions & 0 deletions Documentation/admin-guide/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2250,6 +2250,29 @@ Kernel parameters

idle=nomwait: Disable mwait for CPU C-states

[ARM64,EARLY]
Format: idle=wfi, idle=yield, idle=nop

idle=wfi: Use the WFI (Wait For Interrupt) hint
instruction in the idle loop. This is the default and
allows the CPU to enter a low-power state until an
interrupt arrives.

idle=yield: Use the YIELD hint instruction instead of
WFI. CPUs supporting simultaneous multi-threading (SMT),
can continue executing another thread when the current
thread reaches the idle loop. This will make the CPUs
eat more power, but may be useful to get slightly better
performance in some applications, since the CPUs will
not enter a low-power state.

idle=nop: Do not execute any idle instruction in the
idle loop. This is useful on platforms where WFI
misbehaves, leading to system instability or loss of CPU
state. This will make the CPUs eat more power, but may
give slightly better performance in some applications,
since the CPUs will not enter a low-power state.

idxd.sva= [HW]
Format: <bool>
Allow force disabling of Shared Virtual Memory (SVA)
Expand Down
67 changes: 67 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,29 @@ 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 M4 SoC based platforms
items:
- enum:
- apple,j604 # MacBook Pro (14-inch, M4, 2024)
- apple,j623 # iMac (24-inch, 2x USB-C, M4, 2024)
- apple,j624 # iMac (24-inch, 4x USB-C, M4, 2024)
- apple,j713 # MacBook Air (13-inch, M3, 2025)
- apple,j715 # MacBook Air (15-inch, M3, 2025)
- apple,j773g # Mac mini (M4, 2024)
- const: apple,t8132
- const: apple,arm-platform

- description: Apple M1 Pro SoC based platforms
items:
- enum:
Expand Down Expand Up @@ -347,6 +385,35 @@ 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:
- const: apple,j575d # Mac Studio (M3 Ultra, 2025)
- const: apple,t6032
- const: apple,arm-platform

additionalProperties: true

...
7 changes: 6 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,12 @@ properties:
- const: syscon
- const: simple-mfd
- items:
- const: apple,t6020-pmgr
- enum:
- apple,t6020-pmgr
- apple,t6030-pmgr
- apple,t6031-pmgr
- apple,t8122-pmgr
- apple,t8132-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 @@ -86,6 +86,8 @@ properties:
- apple,avalanche
- apple,blizzard
- apple,cyclone
- apple,donan-e
- apple,donan-p
- apple,everest
- apple,firestorm
- apple,hurricane-zephyr
Expand Down
10 changes: 8 additions & 2 deletions Documentation/devicetree/bindings/dma/apple,admac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ description: |
Apple's Audio DMA Controller (ADMAC) is used to fetch and store audio samples
on SoCs from the "Apple Silicon" family.
The controller has been seen with up to 24 channels. Even-numbered channels
The controller has been seen with up to 32 channels. Even-numbered channels
are TX-only, odd-numbered are RX-only. Individual channels are coupled to
fixed device endpoints.
Expand All @@ -33,6 +33,12 @@ properties:
- apple,t8103-admac
- apple,t8112-admac
- const: apple,admac
- items:
- enum:
- apple,t6030-admac
- apple,t6031-admac
- const: apple,t8122-admac
- const: apple,t8122-admac

reg:
maxItems: 1
Expand All @@ -43,7 +49,7 @@ properties:
Clients specify a single cell with channel number.

dma-channels:
maximum: 24
maximum: 32

interrupts:
minItems: 4
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 */
};
4 changes: 3 additions & 1 deletion Documentation/devicetree/bindings/gpio/apple,smc-gpio.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@ description:

properties:
compatible:
const: apple,smc-gpio
enum:
- apple,smc-gpio
- apple,smc-low-gpio

gpio-controller: true

Expand Down
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
3 changes: 3 additions & 0 deletions Documentation/devicetree/bindings/i2c/apple,i2c.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,10 @@ properties:
- items:
- enum:
- apple,t6020-i2c
- apple,t6030-i2c
- apple,t6031-i2c
- apple,t8122-i2c
- apple,t8132-i2c
- const: apple,t8103-i2c
- items:
- enum:
Expand Down
Loading