Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
369 commits
Select commit Hold shift + click to select a range
d503514
iommu/dart: Use virtual memory ttbr entries in apple_dart_cfg
jannau Mar 30, 2025
3379df6
iommu/dart: Track if the DART is locked
alyssarosenzweig Feb 10, 2025
db3bb10
iommu/dart: Add iommu_ops for locked DARTs
jannau Mar 30, 2025
10d4c15
iommu/dart: Support locked DARTs
alyssarosenzweig Feb 10, 2025
15b72eb
fixup! iommu/dart: Track if the DART is locked
jannau Apr 9, 2025
08d2cf9
fixup! iommu/dart: Support locked DARTs
jannau Apr 9, 2025
a40e7aa
iommu: apple-dart: Support combinations of locked and unlocked DARTs
jannau Apr 9, 2025
d0d1dce
iommu: apple-dart: Disallow identity domains for locked DARTs
jannau Apr 9, 2025
1fe2c37
iommu: apple-dart: Revert separate iommu_ops for locked/bypass DARTs
jannau Apr 9, 2025
033daad
Increase MAX_LOCKDEP_CHAIN_HLOCKS
hoshinolina Jul 17, 2024
6846ee7
arm64: configs: Add asahi.config fragment
jannau Oct 4, 2025
ea7d301
power: hibernate: Disable hibernation on Apple Silicon
svenpeter42 Jan 11, 2026
0039125
pmdomain: apple: Add PMP reporting interface
WhatAmISupposedToPutHere Feb 26, 2026
ba55a7a
arm64: configs: asahi: Add new configs for v6.19
jannau Mar 21, 2026
2a467e6
HID: magicmouse: Add MTP multi-touch device support
marcan Jul 7, 2022
7f580e8
HID: magicmouse: Add .reset_resume for SPI trackpads
jannau Dec 11, 2022
78477b9
HID: magicmouse: Handle touch controller resets on SPI devices
marcan Apr 30, 2023
4bc6590
HID: magicmouse: Query device dimensions via HID report
marcan Dec 3, 2023
ed5c2a4
WIP: HID: transport: spi: add Apple SPI transport
jannau Dec 10, 2021
efc2ec7
drm: apple: afk: Use linear array of services
jannau Nov 12, 2023
ee8d88c
drm: apple: Add DPTX support
svenpeter42 Nov 5, 2022
9fbb3d3
drm: apple: Move offsets for rt_bandwidth callback to DT
jannau Nov 12, 2023
f011e1e
drm: apple: iomfb: Do not match/create PMU service for dcpext
jannau Aug 17, 2023
6a11a6a
drm: apple: afk: Adapt to macOS 13.3 firmware
jannau Apr 9, 2023
b196a28
drm: apple: dptx: Port APCALL to macOS 13.3 firmware
jannau Apr 28, 2023
702c093
drm: apple: dptx: port interface to macOS 13.5 firmware
jannau Aug 17, 2023
e195c24
drm: apple: dptx: Add set_active_lanes APCALL
jannau Nov 6, 2023
0fe67ab
drm: apple: dptx: Add DPTX_APCALL_ACTIVATE
jannau Nov 6, 2023
aa17182
drm: apple: dptx: Adapt dptxport_connect() to observed behavior
jannau Nov 6, 2023
1a71cec
drm: apple: afk: Clear commands before sending them
marcan Nov 16, 2023
51d866b
drm: apple: Fix missing unlock path in dcp_dptx_connect
marcan Nov 16, 2023
e17f9e1
drm: apple: dptxep: Fix reply size check
marcan Nov 16, 2023
68e61f6
drm: apple: dptxep: Implement drive settings stuff
marcan Nov 16, 2023
20adcc1
drm: apple: HACK: Do not delete piodma platform device
jannau Nov 20, 2023
f1b8bda
drm: apple: afk: Update read pointer before processing message
jannau Nov 6, 2023
a583a34
drm: apple: Implement D592 callback
jannau Nov 19, 2023
6d7b6bd
drm: apple: Keep information at which swap_id fb are still referenced
jannau Nov 19, 2023
ae8e9a0
Revert "drm: apple: iomfb: Do not match/create PMU service for dcpext"
jannau Nov 20, 2023
16ca667
drm: apple: dptx: Implement APCALL_DEACTIVATE and reset the phy
jannau Nov 20, 2023
044cb31
drm: apple: Disconnect dptx When the CRTC is powered down
jannau Nov 20, 2023
4106f1e
drm: apple: dptx: Wait for completion of dptx_connect.
jannau Nov 21, 2023
a8e8f8c
drm: apple: HPD: Only act on connect IRQs
jannau Nov 21, 2023
6bf0134
drm: apple: iomfb: Improve hotplug related logging
jannau Nov 21, 2023
245e745
drm: apple: Extract modeset crtc's atomic_flush()
jannau Nov 22, 2023
88d9cd6
drm: apple: dptx: Log connect/disconnect calls
jannau Nov 22, 2023
5cca0c5
drm: apple: Move modeset into drm_crtc's atomic_enable
jannau Nov 23, 2023
db02171
drm: apple: Fix DPTX hotplug handling
jannau Nov 23, 2023
c6ca840
drm: apple: iomfb: Use drm_kms_helper_connector_hotplug_event
jannau Nov 23, 2023
e88f33a
drm: apple: iomfb: Handle OOB ASYNC/CB context
jannau Nov 26, 2023
bcbc175
drm: apple: iomfb: Extend hotplug/mode parsing logging
jannau Nov 26, 2023
fc3ec5c
drm: apple: Adjust startup sequence and timing for dptx
jannau Nov 26, 2023
800e024
drm: apple: dcp: Fix resume with DPTX based display outputs
jannau Nov 28, 2023
7107869
drm: apple: Be less noisy about teardown notifies without service
jannau Dec 2, 2023
5d2013c
drm: apple: dptx: Wait for link config on connect
jannau Dec 3, 2023
17916ea
drm: apple: Prefer RGB SDR modes
jannau Dec 1, 2023
71a4ebb
drm: apple: iomfb: Always parse DisplayAttributes
jannau Dec 4, 2023
34a8d8e
drm: apple: parser: constify parser data
jannau Dec 10, 2023
d05dc84
drm: apple: epic: Pass full notfiy/report payload to handler
jannau Dec 10, 2023
373da0b
drm: apple: epic: systemep: Parse "mNits" log events
jannau Dec 10, 2023
3fbe0ab
drm: apple: mark local functions static
arndb Jan 17, 2024
ca6a175
drm/apple: Add missing RTKit Kconfig dependency
alyssais Jan 11, 2024
963cec0
drm/apple: spelling fixes
jonathangray Jan 22, 2024
68912a7
drm: apple: backlight: force backlight update after resume
kettenis Dec 28, 2023
d630b07
drm: apple: Fix/remove log messages
jannau Jan 22, 2024
f58b9ee
drm: apple: dptx: Debounce HPD by simple msleep()
jannau Mar 26, 2024
be4da12
drm: apple: Add Kconfig option for audio
jannau Jan 21, 2024
22a6eb9
drm: apple: iomfb: export property dicts in connector debugfs
jannau Dec 25, 2023
f679d28
gpu: drm: apple: Expose injecting of EPIC calls via debugfs
povik Feb 13, 2023
be8aae6
gpu: drm: apple: Set up client of AV endpoint
povik Feb 13, 2023
bc804b4
drm: apple: av: Support macOS 12.3 and 13.5 firmware APIs
jannau Nov 13, 2023
e9f05f7
drm: apple: av: Do not open AV service from afk receive handler
jannau Nov 13, 2023
d606f13
gpu: drm: apple: Add DCP audio driver
povik Feb 23, 2023
ff72a3e
drm: apple: dptx: Remove DPTX disconnect/connect on init
jannau Apr 14, 2024
5c6c15f
drm: apple: audio: init AV endpoint later
jannau Apr 14, 2024
f565cf3
drm: apple: av: Use a workqueue
jannau Apr 20, 2024
9fafe3c
drm: apple: audio: move the audio driver into the DCP module
jannau Apr 20, 2024
9555a78
drm: apple: audio: Make the DP/HDMI audio driver a full driver
jannau Apr 21, 2024
6f7a65e
drm: apple: audio: Avoid probe errors
jannau Apr 22, 2024
1952494
drm/apple: fix double words in comments
jonathangray Apr 21, 2024
7061a4a
drm: apple: backlight: release lock in error path
cschutijser Apr 18, 2024
533c919
drm: apple: Switch back to drm_atomic_helper_commit_tail_rpm()
jannau Apr 27, 2024
a3af56f
drm: apple: Fix broken MemDescRelay::release_descriptor callback number
jannau May 4, 2024
7592b55
drm: apple: Reduce log spam about busy command channel
jannau May 4, 2024
ee2ee06
drm: apple: av: Warn only once about failed calls
jannau May 4, 2024
89554a5
drm: apple: disable HDMI audio by default
jannau May 8, 2024
08b82ac
drm: apple: Override drm_vblank's page flip event handling [HACK]
jannau May 12, 2024
b8dd510
drm/apple: Explicitly stop AFK endpoints on shutdown
hoshinolina Jun 15, 2024
c7b8234
drm/apple: audio: Create a device link to the DMA device
hoshinolina Jun 15, 2024
370f3cf
drm/apple: audio: Defer DMA channel acquisition to device open
hoshinolina Jun 15, 2024
14c4d70
drm/apple: audio: Fix hotplug notifications
hoshinolina Jun 15, 2024
020c1bb
drm: apple: Add oob hotplug event
svenpeter42 Nov 5, 2022
b762bb5
drm: apple: dptx: Fix get_drive_settings retcode
jannau Jun 9, 2024
f4f0b6a
drm: apple: dptxport: get_max_lane_count: Retrieve lane count from phy
jannau Jun 9, 2024
78540eb
drm: apple: iomfb: Align buffer size on unmap/free as well
jannau Jul 13, 2024
31f3f21
Revert "drm: apple: HACK: Do not delete piodma platform device"
jannau Aug 21, 2024
810a66a
drm: apple: afk: Optionally match against EPICName
jannau Aug 20, 2024
f5da679
drm: apple: Add dcpav-service-ep
jannau Dec 3, 2023
4099fc5
drm: apple: iomfb: Provide the EDID as connector property
jannau Aug 20, 2024
b4c4ae7
ALSA: Introduce 'snd_interval_rate_bits'
povik Feb 23, 2023
62a7956
drm: apple: Enable EDID support by default
jannau Nov 9, 2024
965ac5b
drm: apple: audio: Implement runtime PM support
jannau Aug 31, 2024
e81bddf
drm: apple: Add CRTC CRC support
jannau Jul 22, 2024
68fcae4
drm: apple: Add .get_scanout_buffer for drm_panic support
jannau Dec 7, 2024
6112b93
drm: apple: respect drm_plane_state zpos
chadmed May 12, 2024
67cb76e
drm: apple: constrain swaps to maximum blendable surfaces
chadmed May 14, 2024
4c0c348
drm: apple: reject plane commit if it will crash DCP
chadmed May 14, 2024
4ea02c8
drm: apple: add support for overlay planes
chadmed May 14, 2024
8829108
drm: apple: use correct min/max plane scaling factors
chadmed May 14, 2024
ed938f2
drm: apple: warn about broken sw cursor fallback
chadmed May 15, 2024
bc1ec24
drm: apple: make plane zpos immutable
chadmed Jul 1, 2024
52ed183
drm: apple: refactor apple_plane_atomic_check
jannau Dec 8, 2024
ed64203
drm: apple: Use dest rct in offscreen test
jannau Dec 8, 2024
f80dbbe
drm: apple: iomfb: Clear non-visible planes
jannau Jan 18, 2025
9681bcf
drm: apple: Call dptxport_set_hpd in dcp_dptx_connect
jannau Aug 4, 2024
ee548bf
drm: apple: Support up to 3 DCP instances.
jannau Jul 30, 2024
1946686
drm: apple: Handle dcps with "phys" property as dcpext
jannau Aug 3, 2024
03d12c4
drm: apple: dptx: Silence DPTX_APCALL_{GET,SET}_DOWN_SPREAD
jannau Jan 16, 2025
0d6a4d8
drm: apple: dptx: Tidy up lane count handling
jannau Jan 16, 2025
1b3fd28
drm: apple: afk: Allow replies after service 'teardown'
jannau Jan 18, 2025
72760cc
drm: apple: audio: Rework audio service handling
jannau Jan 14, 2025
c9040cc
drm: apple: iomfb: Adapt `IOMFB_METHOD` for gcc 15
jannau Jan 27, 2025
72dd3be
drm: apple: dptx: Rework/document get_max_lane_count()
jannau Jan 21, 2025
41fb889
drm: apple: HDMI: Check HPD state before enabling the IRQ
jannau Jan 21, 2025
76adc09
drm: apple: dptx: Configure number of lanes for dptx-phy
jannau Jan 21, 2025
ae08103
drm: apple: dptx: Issue HPD event early on gpio/type-c disconnect
jannau Feb 9, 2025
743c117
drm/apple: fix audioless build
alyssarosenzweig Feb 17, 2025
6c697a2
drm: apple: Use piodma default iommu domain
jannau Apr 9, 2025
66be8bb
drm: dcp: Adjust .mode_valid signature
jannau May 25, 2025
699d486
drm: apple: Support sync objects
jannau Jul 26, 2025
90674f6
drm: apple: Remove conflicting devices as late as possible
jannau Aug 25, 2025
ed70ff2
HACK: ALSA: Export 'snd_pcm_known_rates'
povik Feb 23, 2023
dba5c1c
drm: apple: set timestamps for 120hz
oliverbestmann Dec 16, 2025
52951a5
drm/apple: Unify driver into a single module
jannau Sep 10, 2025
b95ef25
drm: apple: Use typec mux to switch atc-phy into DP
jannau Dec 21, 2025
2fa280c
fixup! drm: apple: Brightness control via atomic commits
jannau Dec 27, 2025
83f8d0a
drm: apple: Increase timeout for dcp_set_power_state_req to 5000ms
jannau Dec 27, 2025
cfc4e9a
drm: apple: Switch link status to BAD if power on fails
jannau Dec 27, 2025
dc60250
drm: apple: Move plane bits out of apple_drv/iomfb_flush
jannau Dec 24, 2025
9cd4216
drm: apple: move dcp rectangle creation to atomic_plane_update
chadmed Dec 26, 2025
c38401c
drm: apple: Use defines for dcp's fourcc formats
jannau Jan 1, 2026
c1eeefa
drm: apple: get framebuffer iova in atomic_plane_update
chadmed Dec 26, 2025
45a8835
drm: apple: Advertise ARGB2101010 support
chadmed Dec 27, 2025
d83a93f
drm: apple: Support YCbCr formats
chadmed Dec 22, 2025
5fe5ea4
drm: apple: Assume all RGB planes are sRGB
chadmed Jan 1, 2026
5b06352
drm/apple: Relax locking for back light updates
jannau Jan 6, 2026
034c0c6
drm/apple: Send HPD event on disconnect only connector is cconected
jannau Jan 6, 2026
9a065da
drm/apple: dcp: Do not call dcp_dptx_connect() from resume()
jannau Jan 6, 2026
0ebf2cd
drm/apple: Add device link between display-subsystem and each dcp*
jannau Jan 6, 2026
c6d74c0
drm/apple: Only assume RGB planes on internal displays are sRGB
jannau Jan 24, 2026
e918699
drm/asahi: Do not use l10r for 12.3 DCP firmware
jannau Jan 28, 2026
7302912
fixup! drm/apple: Support color transformation matrices
jannau Mar 3, 2026
756d8d6
drm: apple: Force colour management changes on CRTC enable
chadmed Mar 2, 2026
7ebdd98
fixup! drm: apple: Force colour management changes on CRTC enable
jannau Mar 3, 2026
d6685d3
drm: apple: Explicitly set identity matrix when CTM blob is not set
chadmed Mar 2, 2026
ae85932
drm/apple: Increase poweron timeout to 10 seconds
jannau Mar 14, 2026
4c51472
fixup! drm/apple: Use iommu domain for piodma maps
jannau Mar 21, 2026
c368e26
fixup! drm/apple: Get rid of the piodma dummy driver
jannau Mar 21, 2026
846dcb9
drm/apple: select APPLE_PMP_REPORT
jannau Mar 22, 2026
4b1d0b0
drm/apple: Power DCP off when HDMI port is not connected
jannau Mar 31, 2026
45af4de
media: apple: Add Apple ISP driver
eiln Aug 31, 2023
11159ce
media: apple: isp: IMX558 initial support
eiln Sep 1, 2023
3aec58c
media: apple: isp: Use preallocated heap
marcan Sep 7, 2023
275d860
media: apple: isp: Fixup shared region arg
marcan Sep 7, 2023
c7227d4
media: apple: isp: Enable t6000
marcan Sep 10, 2023
0af68a2
media: apple: isp: Split gpio/mbox MMIO range
eiln Sep 1, 2023
62cc6d6
media: apple: isp: Drop the DART mirroring stuff
marcan Sep 10, 2023
8fb2cd1
media: apple: isp: Do not defer on failure to initialize DART
marcan Sep 10, 2023
5621125
media: apple: WIP: t6000 hax
marcan Sep 10, 2023
90de85e
media: apple: isp: Set platform_id in bootargs
eiln Sep 12, 2023
1c16e5d
media: apple: isp: Better document info struct fields
eiln Sep 12, 2023
e62a887
media: apple: isp: Don't use define for bootargs size
eiln Sep 12, 2023
79d38b0
media: apple: isp: wmb() before GPIO write
eiln Sep 12, 2023
1841ca0
media: apple: isp: s/asc/coproc/
eiln Sep 12, 2023
92a877a
media: apple: isp: rm unused bootargs members
eiln Sep 14, 2023
77ec022
media: apple: isp: rm old isp_resv struct
eiln Sep 14, 2023
d9871cf
media: apple: isp: misc isp-fw.c improvements
eiln Sep 14, 2023
8791487
media: apple: isp: alloc static surfaces only once
eiln Sep 14, 2023
b537704
media: apple: isp: fix copyright
eiln Sep 14, 2023
ea1d8ea
media: apple: isp: Support >32bit VAs for t602x
hoshinolina Sep 23, 2023
aeb0555
media: apple: isp: t602x hw config
hoshinolina Sep 23, 2023
4214952
media: apple: isp: Working t602x and multiple formats and more fixes
hoshinolina Sep 23, 2023
f80dcba
media: apple: isp: Always enable singleplane API, make multiple a mod…
hoshinolina Sep 29, 2023
39c61df
media: apple: isp: Switch to threaded IRQs
hoshinolina Sep 29, 2023
46d44c1
media: apple: isp: Remove ioread/iowrite and stop doing raw address t…
hoshinolina Sep 29, 2023
3f65602
media: apple: isp: Propagate EINTR from firmware loads
hoshinolina Sep 29, 2023
99ab36f
media: apple: isp: Implement posted commands
hoshinolina Sep 29, 2023
c5640f0
media: apple: isp: Add STOP and POWER_DOWN commands
hoshinolina Sep 29, 2023
c0aa5bb
media: apple: isp: Maybe fix some DMA ordering issues
hoshinolina Sep 29, 2023
bb4fae6
media: apple: isp: Make channel sends not interruptible
hoshinolina Sep 29, 2023
41a3544
media: apple: isp: Use a second region for MBOX_IRQ_{DOORBELL,ACK}
jannau Sep 28, 2023
fbedcd6
media: apple: isp: t8112 HW config
jannau Sep 28, 2023
956b7d3
media: apple: isp: Limit maximal number of buffers
jannau Sep 28, 2023
5e7a615
media: apple: isp: t8112 fixes...
hoshinolina Sep 30, 2023
cbdd35a
media: apple: isp: Add flicker_sensor_set cmd
hoshinolina Oct 4, 2023
60fd812
media: apple: isp: Minor changes to cam flow
hoshinolina Oct 4, 2023
a0813da
media: apple: isp: Make sub-pmdomain handling explicit
hoshinolina Oct 4, 2023
6db91bd
media: apple: isp: Zero out pages allocated to ISP
hoshinolina Oct 4, 2023
d26c6ad
media: apple: isp: Use cached IOMMU mappings
hoshinolina Oct 4, 2023
29b1377
media: apple: isp: Rework meta surface handling & buffer return
hoshinolina Oct 4, 2023
b9ce64a
media: apple: isp: Clear IRQs when resetting coproc
hoshinolina Oct 4, 2023
64a131a
media: apple: isp: Add a missing read barrier (possibly?)
hoshinolina Oct 4, 2023
e85be65
media: apple: isp: VMap only what is necessary, remove redundant logg…
hoshinolina Oct 4, 2023
35662ee
media: apple: isp: Only reset coproc when necessary, fix minor race
hoshinolina Oct 4, 2023
4d45f11
media: apple: isp: Option to use CMD_STOP (ifdeffed out)
hoshinolina Oct 4, 2023
8b71601
media: apple: isp: Use a more user-friendly device name
marcan Oct 5, 2023
9ddfa51
media: apple: isp: Parse firmware version from device tree
jannau Oct 6, 2023
11c9a6d
media: apple: isp: Show camera presets even for unsupported sensors
marcan Oct 8, 2023
27989b2
media: apple: isp: Enable IMX364 sensor
marcan Oct 8, 2023
3a35ea3
media: apple: isp: implement ENUM_FRAMEINTERVALS trivially
marcan Oct 11, 2023
283879f
media: apple: isp: Use a mutex instead of a spinlock for channels
marcan Nov 3, 2023
abf1283
media: apple: isp: Support system sleep
eiln Oct 13, 2023
50d4a0c
media: apple: isp: select APPLE_PMP_REPORT
jannau Mar 22, 2026
9ac13ff
soc: apple: Add DockChannel driver
marcan Jul 7, 2022
e9ca8c8
HID: Add Apple DockChannel HID transport driver
marcan Jul 7, 2022
7b3c6e8
soc: apple: Add RTKit helper driver
marcan Jul 3, 2022
bd8e7fa
phy: apple: Add DP TX phy driver
jannau May 5, 2023
a361b26
Merge branch 'bits/000-devicetree' into asahi-wip
jannau May 9, 2026
57cdc83
Merge branch 'bits/001-devicetree-m3' into asahi-wip
jannau May 9, 2026
7279c2d
Merge branch 'bits/010-soc' into asahi-wip
jannau May 9, 2026
a5e7eb4
Merge branch 'bits/020-dart' into asahi-wip
jannau May 9, 2026
b3aa684
Merge branch 'bits/030-misc' into asahi-wip
jannau May 9, 2026
b68fbed
Merge branch 'bits/050-nvme' into asahi-wip
jannau May 9, 2026
b222d78
Merge branch 'bits/070-audio' into asahi-wip
jannau May 9, 2026
ca2830e
Merge branch 'bits/080-wifi' into asahi-wip
jannau May 9, 2026
8983992
Merge branch 'bits/090-spi-hid' into asahi-wip
jannau May 9, 2026
d546ee3
Merge branch 'bits/110-smc' into asahi-wip
jannau May 9, 2026
d1df0ab
Merge branch 'bits/140-pci' into asahi-wip
jannau May 9, 2026
6401d78
Merge branch 'bits/150-xhci-firmware' into asahi-wip
jannau May 9, 2026
7ac4b34
Merge branch 'bits/171-dptxphy' into asahi-wip
jannau May 9, 2026
7537e76
Merge branch 'bits/180-sio' into asahi-wip
jannau May 9, 2026
3b9f0ab
Merge branch 'bits/190-rust' into asahi-wip
jannau May 9, 2026
d0d337a
Merge branch 'bits/200-dcp' into asahi-wip
jannau May 9, 2026
3721183
Merge branch 'bits/210-gpu' into asahi-wip
jannau May 9, 2026
f07fc6d
Merge branch 'bits/220-tso' into asahi-wip
jannau May 9, 2026
3ebf4e1
Merge branch 'bits/240-isp' into asahi-wip
jannau May 9, 2026
02e8b11
Merge branch 'bits/250-aop' into asahi-wip
jannau May 9, 2026
a883137
Merge branch 'bits/500-backports' into asahi-wip
jannau May 9, 2026
5e690a0
Bluetooth: Add Broadcom channel priority commands
WhatAmISupposedToPutHere Apr 7, 2026
2d0636b
driver-core: Add error message to device_links_missing_supplier WARN()
jannau May 9, 2026
0374c4b
arm64: dts: apple: t8122: Add PCI power enable GPIOs
jannau Apr 3, 2026
6f93b5e
arm64: dts: apple: Add MTP DockChannel to M3 device tree
IntegralPilot Jan 30, 2026
df71072
arm64: dts: apple: t8122: Add MTP device nodes to Macbook board files
IntegralPilot Jan 30, 2026
0d1ba22
drm: apple: Define IOMFB parameter for Adaptive Sync
chadmed Apr 6, 2026
e574d02
drm: apple: Do not set IOMFBParameter_adaptive_sync on poweron
chadmed Apr 6, 2026
04f627c
drm: apple: Add preliminary VRR support
chadmed Apr 3, 2026
3c11300
drm: apple: Force modeset when VRR is toggled
chadmed Apr 4, 2026
e771e23
drm: apple: Set swap timestamps to sane values for Adaptive Sync
chadmed Apr 3, 2026
697a50a
drm: apple: Set min and max VRRs for MacBook Pros
chadmed Apr 4, 2026
ebc40e9
drm: apple: Only use swap timestamps if VRR is actually active
chadmed Apr 5, 2026
80bc303
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