.../bindings/sound/davinci-mcasp-audio.yaml | 71 ++- include/linux/platform_data/davinci_asp.h | 3 +- sound/soc/ti/davinci-mcasp.c | 510 ++++++++++++++---- sound/soc/ti/davinci-mcasp.h | 10 + 4 files changed, 481 insertions(+), 113 deletions(-)
This series adds asynchronous mode support to the McASP driver, which enables independent configuration of bitclocks, frame sync, and audio configurations between tx(playback) and rx(record). And achieves simultaneous playback & record using different audio configurations. It also adds two clean up patches to the McASP driver that disambiguate and simplifies the logic which avoids the async enhancement from being too convoluted to review and analyze. The implementation is based on vendor documentation and patches tested in both SK-AM62P-LP (sync mode, McASP slave) and AM62D-EVM (async mode, McASP master, rx & tx has different TDM configs). Testing verifies async mode functionality while maintaining backward compatibility with the default sync mode. Bootlog and Async mode tests on AM62D-EVM: [0] [0]: https://gist.github.com/SenWang125/f31f9172b186d414695e37c8b9ef127d Signed-off-by: Sen Wang <sen@ti.com> Changes in v2: - Corrected patch 1 subject title - Retained original order of operation in patch 3 - Corrected code comments to use inclusive terminology in patch 4 Sen Wang (4): ASoC: dt-bindings: davinci-mcasp: Add properties for asynchronous mode ASoC: ti: davinci-mcasp: Disambiguate mcasp_is_synchronous function ASoC: ti: davinci-mcasp: Streamline pdir behavior across rx & tx streams ASoC: ti: davinci-mcasp: Add asynchronous mode support .../bindings/sound/davinci-mcasp-audio.yaml | 71 ++- include/linux/platform_data/davinci_asp.h | 3 +- sound/soc/ti/davinci-mcasp.c | 510 ++++++++++++++---- sound/soc/ti/davinci-mcasp.h | 10 + 4 files changed, 481 insertions(+), 113 deletions(-) base-commit: dbf8fe85a16a33d6b6bd01f2bc606fc017771465 -- 2.43.0
On 03/02/2026 02:36, Sen Wang wrote: > This series adds asynchronous mode support to the McASP driver, which > enables independent configuration of bitclocks, frame sync, and audio > configurations between tx(playback) and rx(record). And achieves > simultaneous playback & record using different audio configurations. > > It also adds two clean up patches to the McASP driver that disambiguate > and simplifies the logic which avoids the async enhancement from being > too convoluted to review and analyze. > > The implementation is based on vendor documentation and patches tested in > both SK-AM62P-LP (sync mode, McASP slave) and AM62D-EVM > (async mode, McASP master, rx & tx has different TDM configs). > Testing verifies async mode functionality while maintaining backward > compatibility with the default sync mode. > > Bootlog and Async mode tests on AM62D-EVM: [0] > > [0]: https://gist.github.com/SenWang125/f31f9172b186d414695e37c8b9ef127d it is a shame that I never had a setup where this can be tested. Acked-by: Peter Ujfalusi <peter.ujfalusi@gmail.com> > > Signed-off-by: Sen Wang <sen@ti.com> > > Changes in v2: > - Corrected patch 1 subject title > - Retained original order of operation in patch 3 > - Corrected code comments to use inclusive terminology in patch 4 > > Sen Wang (4): > ASoC: dt-bindings: davinci-mcasp: Add properties for asynchronous mode > ASoC: ti: davinci-mcasp: Disambiguate mcasp_is_synchronous function > ASoC: ti: davinci-mcasp: Streamline pdir behavior across rx & tx streams > ASoC: ti: davinci-mcasp: Add asynchronous mode support > > .../bindings/sound/davinci-mcasp-audio.yaml | 71 ++- > include/linux/platform_data/davinci_asp.h | 3 +- > sound/soc/ti/davinci-mcasp.c | 510 ++++++++++++++---- > sound/soc/ti/davinci-mcasp.h | 10 + > 4 files changed, 481 insertions(+), 113 deletions(-) > > > base-commit: dbf8fe85a16a33d6b6bd01f2bc606fc017771465 -- Péter
On 02/02/2026 18:36 PM, Sen Wang wrote: > This series adds asynchronous mode support to the McASP driver, which > enables independent configuration of bitclocks, frame sync, and audio > configurations between tx(playback) and rx(record). And achieves > simultaneous playback & record using different audio configurations. > > It also adds two clean up patches to the McASP driver that disambiguate > and simplifies the logic which avoids the async enhancement from being > too convoluted to review and analyze. > > The implementation is based on vendor documentation and patches tested in > both SK-AM62P-LP (sync mode, McASP slave) and AM62D-EVM > (async mode, McASP master, rx & tx has different TDM configs). > Testing verifies async mode functionality while maintaining backward > compatibility with the default sync mode. > > Bootlog and Async mode tests on AM62D-EVM: [0] > > [0]: https://gist.github.com/SenWang125/f31f9172b186d414695e37c8b9ef127d > > Signed-off-by: Sen Wang <sen@ti.com> Tested-by: Paresh Bhagat <p-bhagat@ti.com> > > Changes in v2: > - Corrected patch 1 subject title > - Retained original order of operation in patch 3 > - Corrected code comments to use inclusive terminology in patch 4 > > Sen Wang (4): > ASoC: dt-bindings: davinci-mcasp: Add properties for asynchronous mode > ASoC: ti: davinci-mcasp: Disambiguate mcasp_is_synchronous function > ASoC: ti: davinci-mcasp: Streamline pdir behavior across rx & tx streams > ASoC: ti: davinci-mcasp: Add asynchronous mode support > > .../bindings/sound/davinci-mcasp-audio.yaml | 71 ++- > include/linux/platform_data/davinci_asp.h | 3 +- > sound/soc/ti/davinci-mcasp.c | 510 ++++++++++++++---- > sound/soc/ti/davinci-mcasp.h | 10 + > 4 files changed, 481 insertions(+), 113 deletions(-) > > > base-commit: dbf8fe85a16a33d6b6bd01f2bc606fc017771465 > -- > 2.43.0 > >
On Mon, 02 Feb 2026 18:36:59 -0600, Sen Wang wrote:
> This series adds asynchronous mode support to the McASP driver, which
> enables independent configuration of bitclocks, frame sync, and audio
> configurations between tx(playback) and rx(record). And achieves
> simultaneous playback & record using different audio configurations.
>
> It also adds two clean up patches to the McASP driver that disambiguate
> and simplifies the logic which avoids the async enhancement from being
> too convoluted to review and analyze.
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
Thanks!
[1/4] ASoC: dt-bindings: davinci-mcasp: Add properties for asynchronous mode
commit: f1ef70a4a32042984d29b8d02bdf6167474373af
[2/4] ASoC: ti: davinci-mcasp: Disambiguate mcasp_is_synchronous function
commit: e683cb088fdcbdc86fc30008319312cc0bb80226
[3/4] ASoC: ti: davinci-mcasp: Streamline pdir behavior across rx & tx streams
commit: 016efcaa470cdbc658df46d968d875f6a1cf9a78
[4/4] ASoC: ti: davinci-mcasp: Add asynchronous mode support
commit: 9db327083f7e0da702e2ec0169f8a34f3576f371
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
© 2016 - 2026 Red Hat, Inc.