-
Notifications
You must be signed in to change notification settings - Fork 591
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
os/board/rtl8730e: add driver layer implemenation for i2s tdm #6541
Open
lhenry-realtek
wants to merge
8
commits into
Samsung:TDM_Dev
Choose a base branch
from
lhenry-realtek:i2s_tdm_impl
base: TDM_Dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
lhenry-realtek
force-pushed
the
i2s_tdm_impl
branch
from
November 27, 2024 04:15
8188501
to
1cf7b9d
Compare
Add initial porting/os layer commit - TDM parameters fixed on I2S2 to generate required signal for AIS25BA - DMA is not tested and likely requires further implementation Config: - RTL8730E Peripheral Support: [ ] AMEBASMART_I2C [*] Amebasmart I2S [*] I2S_2 [*] Enable I2S RX [*] Enable I2S TDM Support - Device Drivers: [ ] I2C Driver Support [*] I2S Driver Support - Application Configuration > Examples: [*] I2S character driver test [*] Use I2S receiver [ ] Use I2S transmitter /dev/i2schar4 I2S character device path
lhenry-realtek
force-pushed
the
i2s_tdm_impl
branch
from
November 27, 2024 04:29
1cf7b9d
to
058db6b
Compare
Fix clock selection parameters to get targeted signal value: MCLK = 12.288MHz (OK) BCLK = 2.048MHz (OK) WCLK (need to setup Rx api in order to trigger WCLK activity)
MCLK/BCLK signal observed with LA and verified to be within parameters |
ziyik
reviewed
Nov 27, 2024
- WCLK was not started because there was no I2S and DMA transaction being started, added calls to relevant APIs - Currently DMA for I2S TDM is not properly initialized and will hardfault when rx page, currently under investigation - User is required to call I2S_RESUME and I2S_PAUSE macros when attempting a TDM operation (e.g READ), as these macros will start WCLK (for MASTER mode) - Add some debug logging and revert changes to irrelevant files
Pin allocation is adjusted for TDM functionality - please refer to email chain for rework steps for first board revision (Dec 2024) Please note that as a result of this change, a new pinmux configuration needs to be maintained for TDM only! - PB29 (previously I2C0 SDA) --> I2S2 DIN0 - PA30 [or PB5] (previously unconnected) --> I2C0 SDA - PB20 (previously I2S2 DIN0) --> Unconnected
This commit completes the DMA portion of the I2S implementation and allows for receive of data based on AIS25BA sensor TDM signal specification Please note that if TDM board v1 (Dec 2024) is used, rework is required! To test, build with AIS25BA sensor example and use "sensor" command in TASH
I2C2 pins (PB10, PB11) are used instead of existing I2C0, pinmux change is updated. Verified working on TDM board for PoC
TDM RX will keep PM lock until DMA transfer is complete, then release the lock in ISR Verified on TDM board by removing delay causing tash to sleep instantly, then use pm_resume to enable board to sleep. While asleep, run sensor test command
PM for I2S TDM sample output:
|
…bility of TDM Parameters to setup TDM are now configured from amebasmart_i2s.c OS layer, there is currently no error handling if clock setting is invalid MCLK in i2s_clock_select is also currently fixed until a better way to configure it is found
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add initial porting/os layer commit
Config: