Linux 7.4 To Introduce Initial Device Trees For Apple M4, A18 Pro For MacBook Neo

The initial Device Trees for Apple Macs using the base M4 SoC as well as the MacBook Neo with its A18 Pro will debut in Linux 7.4. But as shown in recent kernels with the initial Apple M3 DTs, it doesn't yet mean it will be a usable experience for Linux users wanting to run the mainline kernel on these newer Macs. It's good enough to begin booting the Linux kernel but not much more when it comes to the GPU and other functionality still to be enabled.
The M4 Device Trees contain the "minimal amount of hardware" and what's contained is for hardware blocks that are largely unchanged between the M3 and M4 generations. Devices brought up include the CPU cores, interrupt controller, power states, watchdog, serial, pin controller, i2c, and the frame-buffer. All the rest of the functionality will be left to future post-7.4 Linux kernel versions.
The M4 Device Trees are for the MacBook Pro (14-inch, M4, 2024), iMac (24-inch, 2x USB-C, M4, 2024), iMac (24-inch, 4x USB-C, M4, 2024), MacBook Air (13-inch, M4, 2025), MacBook Air (15-inch, M4, 2025), and Mac Mini (M4, 2024).
For the MacBook Neo it's fairly similar to Apple M4 series devices but using the A-Series SoC. Like the M4 support, it's going to be very limited for Linux 7.4 and just to encourage future development. This initial bring-up includes the CPU cores, interrupt controller, watchdog, serial, and frame-buffer.
These initial DTs are found with this pull request ahead of the Linux 7.4 merge window. Sven Peter also sent out another pull request for Linux 7.4 with shared GPIO support and RTKit crashlog support for older 32-bit co-processors.
2 Comments
