Skip to content

net: apple: Add N1 firmware and ACIPC transport over APIF PCI - #250

Closed
DjDeveloperr wants to merge 1 commit into
apif-cpufreqfrom
apif-centauri-core
Closed

DjDeveloperr wants to merge 1 commit into
apif-cpufreqfrom
apif-centauri-core

Conversation

@DjDeveloperr

Copy link
Copy Markdown
Contributor

Add the N1 Control firmware/PCI/ACIPC transport separately from its Wi-Fi and Bluetooth consumers. Firmware name, packed platform identifier and protocol profile come from the Control PCI DT node, without machine-name dispatch or bundled firmware/calibration data.

Require the supported preinitialized APIF host/reset layout and stopped ROM personality. Remove the manual bootstrap debugfs controls, diagnostic DMA allocation, firmware dump interfaces and success logging. Keep PCI-function DMA ownership distinct, validate BAR/config apertures and FTAB ranges, check config publication writes, and verify bus-master shutdown before releasing backing memory. Failed link transitions or uncertain shutdown retain published DMA. Only lock contention can retry a boot phase; remove cancels and joins the worker. Suspend refuses an incomplete bootstrap.

This PR starts the shared firmware and establishes its contexts. The radio consumers are separate follow-ups. The host reset also requires exclusive ownership with no retained firmware streams on the DART unit; this driver does not discard those streams. The new producer metadata must be supplied before migrating an existing guest tree.

Validation: native arm64 linked transport objects with the real Kconfig enabled, binding validation, production-function FTAB/DMA-shutdown host tests, and whitespace checks passed. Hardware qualification of the cleaned series remains pending. No GPU changes.

Depends on the APIF PCI reset interface from #242; stacked on #249 to keep review order linear.

Describe firmware profile inputs in DT instead of dispatching by machine
name. Require stopped ROM ownership and the supported APIF host reset
layout. Remove manual bootstrap controls and diagnostic success logging.

Check firmware ranges and per-function resource ownership, verify DMA
shutdown before releasing backing memory, and join bootstrap on removal.
Keep Wi-Fi and Bluetooth consumers as separate additions.

Signed-off-by: Dj <hey@djdev.me>
@DjDeveloperr

Copy link
Copy Markdown
Contributor Author

Superseded by #482, refreshed from the current T6050 source onto Linux 7.3 integration. The new shared base is #472; all feature PRs now target t6050/base. Closing this stale chained version and keeping its branch for history.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant