From 292593f00f10411b7631acb0a2c3895180d0130e Mon Sep 17 00:00:00 2001 From: Dj Date: Sun, 11 Oct 2026 01:24:26 -0400 Subject: [PATCH 1/2] arm64: Enable non-GPU APIF platform consumers and document the stack Enable the existing USB, GPIO, HID/MTP, I2C/SPI and mailbox consumers alongside the new APIF providers. Satisfy the LED, gadget-mode and rfkill dependencies so the selected built-in drivers survive olddefconfig. Document the review map, preserved base support, required loader ownership metadata and remaining hardware qualification. GPU accelerator changes and diagnostic probes remain outside this series. Signed-off-by: Dj --- .../arch/arm64/aurora-apif-platform.rst | 100 ++++++++++++++++++ Documentation/arch/arm64/index.rst | 1 + arch/arm64/configs/aurora-apif.config | 31 ++++++ 3 files changed, 132 insertions(+) create mode 100644 Documentation/arch/arm64/aurora-apif-platform.rst diff --git a/Documentation/arch/arm64/aurora-apif-platform.rst b/Documentation/arch/arm64/aurora-apif-platform.rst new file mode 100644 index 0000000000000..0f8fb21349039 --- /dev/null +++ b/Documentation/arch/arm64/aurora-apif-platform.rst @@ -0,0 +1,100 @@ +.. SPDX-License-Identifier: GPL-2.0-only + +M5 Pro non-GPU platform series +============================= + +The APIF platform series separates transport/provider support from device +consumers. The PRs are based on apif-mmio or on their immediate dependency. +This is a review map for the non-GPU functionality represented in the series, +not a claim that the cleaned stack has been hardware-qualified. + +=============================== ======= +Area Review +=============================== ======= +APIF transport, DART and SART PR238_ +Native ANS/NVMe queues PR241_ +Preinitialized PCIe and MSI PR242_ +PMP firmware registry PR243_ +Guest DT conversion PR244_ +Generation-4 SPMI PR245_ +SPMI PMU RTC PR246_ +SMC consumers and pcIO GPIO PR247_ +DP PHY and crossbar PR248_ +CPU frequency profile PR249_ +N1 shared firmware/PCI lifetime PR250_ +N1 Wi-Fi PR251_ +N1 Bluetooth PR252_ +Firmware-27 AFK transport PR253_ +DCP display and DPTX PR254_ +Host GPIO interrupt groups PR255_ +Initial SPMI Type-C events PR256_ +=============================== ======= + +.. _PR238: https://github.com/aurora-silicon/linux/pull/238 +.. _PR241: https://github.com/aurora-silicon/linux/pull/241 +.. _PR242: https://github.com/aurora-silicon/linux/pull/242 +.. _PR243: https://github.com/aurora-silicon/linux/pull/243 +.. _PR244: https://github.com/aurora-silicon/linux/pull/244 +.. _PR245: https://github.com/aurora-silicon/linux/pull/245 +.. _PR246: https://github.com/aurora-silicon/linux/pull/246 +.. _PR247: https://github.com/aurora-silicon/linux/pull/247 +.. _PR248: https://github.com/aurora-silicon/linux/pull/248 +.. _PR249: https://github.com/aurora-silicon/linux/pull/249 +.. _PR250: https://github.com/aurora-silicon/linux/pull/250 +.. _PR251: https://github.com/aurora-silicon/linux/pull/251 +.. _PR252: https://github.com/aurora-silicon/linux/pull/252 +.. _PR253: https://github.com/aurora-silicon/linux/pull/253 +.. _PR254: https://github.com/aurora-silicon/linux/pull/254 +.. _PR255: https://github.com/aurora-silicon/linux/pull/255 +.. _PR256: https://github.com/aurora-silicon/linux/pull/256 + +CPU identification, idle register preservation and delay handling are +already represented by the base. Existing public interrupt-controller, +USB, I2C/SPI, DockChannel HID, MTP helper and standard platform drivers are +preserved rather than replaced with older copies. The fragment enables +their dependencies alongside the new providers and consumers. + +AGX acceleration, its dedicated mailbox transports and diagnostic system +register probes are outside this series. Firmware binaries, board +calibration data and factory addresses are not included. + +Configuration +------------- + +Apply aurora-apif.config after defconfig and asahi.config, then run +olddefconfig. The fragment makes the selected platform consumers built-in; +firmware and loader metadata are still required. + +The existing HID interface uses explicit apple,power-method and +apple,firmware-managed-reset properties. The latter is valid only for a +power-method-2 multi-touch interface with firmware-owned reset. The loader +must describe the actual ownership; no board-name or firmware-filename +guess selects it. + +Loader and qualification requirements +------------------------------------- + +* NVMe needs a stopped RTKit session and four distinct, reserved queue + pages. The new profile does not adopt an unqualified live queue session. +* N1 cold bootstrap needs its packed platform identifier, protocol 27, + factory Bluetooth address and an exclusively owned PCIe/DART unit. + Unqualified live-session adoption is not enabled. +* CPU frequency control requires an explicit, qualified firmware thermal + ownership claim covering every exposed OPP, including after PMP setup. + The DT conversion tool does not invent that claim. +* DCP needs a running firmware-27 session, inherited framebuffer region, + ordered provider clock table and the coprocessor physical register view + when guest resource addresses differ. +* GPIO interrupt groups and HID reset ownership must match the loader's + retained firmware ownership. + +The conversion tool validates supplied metadata; it cannot establish that +firmware has stopped using a queue, stream, reset line or clock policy. + +Validation +---------- + +The series has native driver builds and host protocol/bounds tests. +Hardware qualification must separately cover boot, storage I/O, network +traffic, physical Type-C attach/detach, display, brightness and suspend. +Retained firmware/DMA state is not reset as a fallback after a timeout. diff --git a/Documentation/arch/arm64/index.rst b/Documentation/arch/arm64/index.rst index 4b206ea9a6d29..507dbf4ad6b82 100644 --- a/Documentation/arch/arm64/index.rst +++ b/Documentation/arch/arm64/index.rst @@ -15,6 +15,7 @@ ARM64 Architecture ../../driver-api/firmware/aurora-apif-pmp ../../driver-api/firmware/aurora-apif-display aurora-apif-centauri + aurora-apif-platform apple-j813 arm-acpi arm-cca diff --git a/arch/arm64/configs/aurora-apif.config b/arch/arm64/configs/aurora-apif.config index 148579360934a..9bc91002ce211 100644 --- a/arch/arm64/configs/aurora-apif.config +++ b/arch/arm64/configs/aurora-apif.config @@ -34,6 +34,7 @@ CONFIG_NET=y CONFIG_NETDEVICES=y CONFIG_INET=y CONFIG_WIRELESS=y +CONFIG_RFKILL=y CONFIG_WLAN=y CONFIG_CFG80211=y CONFIG_WLAN_VENDOR_APPLE=y @@ -44,3 +45,33 @@ CONFIG_BT_HCICENTAURI=y CONFIG_DRM=y CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_DRM_APPLE=y +# Existing platform consumers needed alongside the APIF providers. +CONFIG_APPLE_MAILBOX=y +CONFIG_APPLE_RTKIT=y +CONFIG_APPLE_RTKIT_HELPER=y +CONFIG_APPLE_DOCKCHANNEL=y +CONFIG_HID=y +CONFIG_HID_DOCKCHANNEL=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_HID_APPLE=y +CONFIG_HID_APPLE_MTP_HAPTIC=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_APPLE_GPIO=y +CONFIG_I2C=y +CONFIG_I2C_APPLE=y +CONFIG_SPI=y +CONFIG_SPI_APPLE=y +CONFIG_USB_SUPPORT=y +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PLATFORM=y +CONFIG_USB_GADGET=y +CONFIG_USB_DWC3=y +CONFIG_USB_DWC3_DUAL_ROLE=y +CONFIG_USB_DWC3_APPLE=y +CONFIG_PHY_APPLE_ATC=y +CONFIG_TYPEC=y +CONFIG_TYPEC_SN201202X=y +CONFIG_TYPEC_DP_ALTMODE=y +CONFIG_USB_ROLE_SWITCH=y From dd6994712b32878050f0f101367b647a779e7af5 Mon Sep 17 00:00:00 2001 From: Dj Date: Sun, 11 Oct 2026 01:27:05 -0400 Subject: [PATCH 2/2] net: apple: Remove extra trailing blank line Remove the extra EOF blank line in the shared N1 transport. Signed-off-by: Dj --- drivers/net/wireless/apple/centauri/centauri_ipc.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/net/wireless/apple/centauri/centauri_ipc.c b/drivers/net/wireless/apple/centauri/centauri_ipc.c index 037d05ce55655..1b8b8abb00be2 100644 --- a/drivers/net/wireless/apple/centauri/centauri_ipc.c +++ b/drivers/net/wireless/apple/centauri/centauri_ipc.c @@ -517,4 +517,3 @@ int centauri_alpha_resources(struct centauri *c, struct cen_alpha_resources *res resources->mcr = ipc->alpha.mcr; return 0; } -