[PATCH v4 0/7] ASoC: apple: mca: support simultaneous I2S capture on the frontend
James Calligeros <[email protected]> Sat, 11 Jul 2026 11:11:18 +1000
| Newsgroups | dev.linux.lists.asahi,org.kernel.vger.linux-kernel,org.kernel.vger.linux-sound |
|---|---|
| Message-ID | <[email protected]> |
Hi folks, This series introduces a number of changes to the ASoC driver for the Apple MCA peripheral to enable support for bidirectional I2S. This is achieved by allowing frontends to act as clock consumers and logically ORing data input lines when multiple backends are linked to a frontend. This allows the Texas Instruments speaker amps used on Apple Silicon Macs (Apple-specific revisions of TAS2764 and TAS2770) to send their IVSENSE data back to the SoC. Since these amps do not have any sort of integrated speaker protection logic, we must use the IVSENSE data and the Thiele/Small Parameters of the attached speaker(s) to implement our own in software. --- Changes in v4: - Fix remaining port_driver reference (sorry...) - Link to v3: https://patch.msgid.link/[email protected] Changes in v3: - Changed magic number write in fe prepare to BIT(port) - Link to v2: https://patch.msgid.link/[email protected] Changes in v2: - Drop readx_poll_timeout use. It ended up being unreliable. Fall back to just bumping up the delay on SERDES reset :/ - Rebase on asoc/for-next - Drop the one patch that was applied - Drop clock shutdown relocation patch. This was not actually required and the incorrect thing to do anyway. --- Link to v1: https://lore.kernel.org/asahi/[email protected]/ Regards, James To: Martin Povišer <[email protected]> To: Liam Girdwood <[email protected]> To: Mark Brown <[email protected]> To: Jaroslav Kysela <[email protected]> To: Takashi Iwai <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] --- Hector Martin (2): ASoC: apple: mca: Do not mark clocks in use for non-providers ASoC: apple: mca: Add delay after configuring clock James Calligeros (1): ASoC: apple: mca: increase SERDES reset delay Martin Povišer (4): ASoC: apple: mca: Separate data & clock port setup ASoC: apple: mca: Factor out mca_be_get_fe ASoC: apple: mca: Support FEs being clock consumers ASoC: apple: mca: Support capture on multiples BEs sound/soc/apple/mca.c | 300 +++++++++++++++++-------- 1 file changed, 207 insertions(+), 93 deletions(-) --- base-commit: be44d21728b6646189779923b841ad3a46d694e5 change-id: 20260623-apple-audio-redux-b7b43d9c02af Best regards, -- James Calligeros <[email protected]>