From 367e36d029392d2208242ef4a3f6bfe150fff843 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Wed, 11 Nov 2026 11:57:16 -0700 Subject: [PATCH] soc: apple: aop: Start every AFK endpoint the T6050 firmware advertises The K116s AOP firmware (27.2, AppleAOPAudioFirmware-610.18) advertises AFK endpoints 0x20-0x27 and 0x29-0x30. Its boot stage "setup_endpoints" brings them up one at a time and waits for the host's STARTEP on each ("waiting for endpoint enable, _routing=0x2f" in its log, where the value is route << 16 | endpoint). The driver only knew 0x20-0x2e, so the firmware waited for 0x2f (als-temp-2) forever, never reached its system_ready and services_ready stages and announced no EPIC service: no aop-audio, so no sound card, and no sensors. Cover 0x2f and 0x30 (devmotion3). The firmware then announces its 20 services and the card registers. Signed-off-by: Jens Axboe --- drivers/soc/apple/aop.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/soc/apple/aop.rs b/drivers/soc/apple/aop.rs index 2347073ddcdd7..2729e7bce5c1d 100644 --- a/drivers/soc/apple/aop.rs +++ b/drivers/soc/apple/aop.rs @@ -100,7 +100,7 @@ const FW_REGION_MAX_SIZE: u64 = 0x10_0000; /// The DART page size the firmware segments are mapped with. const FW_REGION_PAGE: u64 = 0x4000; const AFK_ENDPOINT_START: u8 = 0x20; -const AFK_ENDPOINT_COUNT: u8 = 0xf; +const AFK_ENDPOINT_COUNT: u8 = 0x11; const AFK_OPC_GET_BUF: u64 = 0x89; const AFK_OPC_INIT: u64 = 0x80; const AFK_OPC_INIT_RX: u64 = 0x8b;