Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

drivers: i2s_nrfx: Support less than block size writes #67314

Merged
merged 2 commits into from
Jan 15, 2024

Conversation

tmon-nordic
Copy link
Contributor

Calling I2S write with less bytes than I2S TX memory block size makes it possible to synchronize the time when next block is used against some other, possibly externally sourced, signal. Example use case includes USB Audio where audio sink and/or source has to be synchronized USB SOF. In Asynchronous synchronization type the rate matching is achieved by varying the number of samples sent/received by 1 sample (e.g. for 48 kHz audio, 47 or 49 samples are transmitted during frame instead of 48).

Update i2s nrfx driver to pass buffer size alongside buffer pointers.
No functional changes.

Signed-off-by: Tomasz Moń <[email protected]>
drivers/i2s/i2s_nrfx.c Show resolved Hide resolved
drivers/i2s/i2s_nrfx.c Show resolved Hide resolved
drivers/i2s/i2s_nrfx.c Outdated Show resolved Hide resolved
drivers/i2s/i2s_nrfx.c Outdated Show resolved Hide resolved
Calling I2S write with less bytes than I2S TX memory block size makes it
possible to synchronize the time when next block is used against some
other, possibly externally sourced, signal. Example use case includes
USB Audio where audio sink and/or source has to be synchronized against
USB SOF. In Asynchronous synchronization type the rate matching is
achieved by varying the number of samples sent/received by 1 sample
(e.g. for 48 kHz audio, 47 or 49 samples are transmitted during frame
instead of 48).

Signed-off-by: Tomasz Moń <[email protected]>
@carlescufi carlescufi merged commit 07d9e52 into zephyrproject-rtos:main Jan 15, 2024
22 of 27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants