[PATCH v2 0/9] Add support ANS2 NVMe on Apple A11
From: Nick Chan <hidden>
Date: 2025-08-18 08:43:24
Also in:
asahi, linux-devicetree, linux-iommu, linux-nvme, lkml
Apple A11 SoC comes with an NVMe controller that is similar to the NVMe controller in M1, but less customized. Notably, it does not have NVMMU or Linear SQ. The controller is wired to an older variant of the SART address filter, and uses an older variant of ASC mailbox, so add support for them too. This variant of mailbox is also present on Apple T2 SoC. This series has everything required to support NVMe on Apple A11 SoC. However, due to RTKit protocol version support limitation, it will only work when booted with at least iOS 14 iBoot. Tested on A11 as well as M1 Pro (to make sure nothing broke). Patch 1-2 adds support for the older mailbox Patch 3-5 adds support for the older SART Patch 6-7 adds support for the NVMe controller found in Apple A11 SoC Patch 8-9 adds the required device tree nodes. Signed-off-by: Nick Chan <redacted> --- Changes in v2: - Remove bogus command_id decrement followed by increment in apple_nvme_handle_cqe() - Split apple_nvme_submit_cmd() into two functions for t8015 and t8103 since these two code paths were not sharing much code. - Link to v1: https://lore.kernel.org/r/20250811-t8015-nvme-v1-0-ef9c200e74a7@gmail.com (local) --- Nick Chan (9): dt-bindings: mailbox: apple,mailbox: Add ASC mailboxes on Apple A11 and T2 soc: apple: mailbox: Add Apple A11 and T2 mailbox support dt-bindings: iommu: apple,sart: Add Apple A11 soc: apple: sart: Make allow flags SART version dependent soc: apple: sart: Add SARTv0 support dt-bindings: nvme: apple,nvme-ans: Add Apple A11 nvme: apple: Add Apple A11 support arm64: dts: apple: t8015: Fix PCIE power domains dependencies arm64: dts: apple: t8015: Add NVMe nodes .../devicetree/bindings/iommu/apple,sart.yaml | 1 + .../devicetree/bindings/mailbox/apple,mailbox.yaml | 7 + .../devicetree/bindings/nvme/apple,nvme-ans.yaml | 15 +- arch/arm64/boot/dts/apple/t8015-pmgr.dtsi | 1 + arch/arm64/boot/dts/apple/t8015.dtsi | 34 ++++ drivers/nvme/host/apple.c | 198 +++++++++++++++------ drivers/soc/apple/mailbox.c | 19 ++ drivers/soc/apple/sart.c | 60 ++++++- 8 files changed, 267 insertions(+), 68 deletions(-) --- base-commit: 8f5ae30d69d7543eee0d70083daf4de8fe15d585 change-id: 20250808-t8015-nvme-73a4fcda25dd Best regards, -- Nick Chan [off-list ref]