Configuration functions

Functions

__STATIC_INLINE void ll_i2s_enable (i2s_regs_t *I2Sx)
 Enable I2S. More...
 
__STATIC_INLINE void ll_i2s_disable (i2s_regs_t *I2Sx)
 Disable I2S. More...
 
__STATIC_INLINE uint32_t ll_i2s_is_enabled (i2s_regs_t *I2Sx)
 Check if I2S is enabled. More...
 
__STATIC_INLINE void ll_i2s_enable_rxblock (i2s_regs_t *I2Sx)
 Enable I2S RX block. More...
 
__STATIC_INLINE void ll_i2s_disable_rxblock (i2s_regs_t *I2Sx)
 Disable I2S RX block. More...
 
__STATIC_INLINE uint32_t ll_i2s_is_enabled_rxblock (i2s_regs_t *I2Sx)
 Check if I2S RX block is enabled. More...
 
__STATIC_INLINE void ll_i2s_enable_txblock (i2s_regs_t *I2Sx)
 Enable I2S TX block. More...
 
__STATIC_INLINE void ll_i2s_disable_txblock (i2s_regs_t *I2Sx)
 Disable I2S TX block. More...
 
__STATIC_INLINE uint32_t ll_i2s_is_enabled_txblock (i2s_regs_t *I2Sx)
 Check if I2S TX block is enabled. More...
 
__STATIC_INLINE void ll_i2s_enable_clock (i2s_regs_t *I2Sx)
 Enable I2S clock. More...
 
__STATIC_INLINE void ll_i2s_disable_clock (i2s_regs_t *I2Sx)
 Disable I2S clock. More...
 
__STATIC_INLINE uint32_t ll_i2s_is_enabled_clock (i2s_regs_t *I2Sx)
 Check if I2S clock is enabled. More...
 
__STATIC_INLINE void ll_i2s_set_wss (i2s_regs_t *I2Sx, uint32_t cycles)
 Set word select line cycles for left or right sample. More...
 
__STATIC_INLINE uint32_t ll_i2s_get_wss (i2s_regs_t *I2Sx)
 Get word select line cycles for left or right sample. More...
 
__STATIC_INLINE void ll_i2s_set_sclkg (i2s_regs_t *I2Sx, uint32_t cycles)
 Set the gating of sclk. More...
 
__STATIC_INLINE uint32_t ll_i2s_get_sclkg (i2s_regs_t *I2Sx)
 Get the gating of sclk. More...
 
__STATIC_INLINE void ll_i2s_clr_rxfifo_all (i2s_regs_t *I2Sx)
 Clear I2S RX FIFO in all channels. More...
 
__STATIC_INLINE void ll_i2s_clr_txfifo_all (i2s_regs_t *I2Sx)
 Clear I2S TX FIFO in all channels. More...
 
__STATIC_INLINE void ll_i2s_set_clock_div (uint32_t div)
 Set I2S clock divider. More...
 
__STATIC_INLINE uint32_t ll_i2s_get_clock_div (void)
 Get I2S clock divider. More...
 
__STATIC_INLINE void ll_i2s_enable_clock_div (void)
 Enable I2S clock divider. More...
 
__STATIC_INLINE void ll_i2s_disable_clock_div (void)
 Disable I2S clock divider. More...
 
__STATIC_INLINE uint32_t ll_i2s_is_enabled_clock_div (void)
 Check if I2S clock divider is enabled. More...
 
__STATIC_INLINE void ll_i2s_set_clock_src (uint32_t src)
 Set I2S clock source. More...
 
__STATIC_INLINE uint32_t ll_i2s_get_clock_src (void)
 Get I2S clock source. More...
 

Detailed Description

Function Documentation

◆ ll_i2s_clr_rxfifo_all()

__STATIC_INLINE void ll_i2s_clr_rxfifo_all ( i2s_regs_t *  I2Sx)

Clear I2S RX FIFO in all channels.

Register BitsName
RXFIFO_RST RST
Parameters
I2SxI2S instance
Return values
None

◆ ll_i2s_clr_txfifo_all()

__STATIC_INLINE void ll_i2s_clr_txfifo_all ( i2s_regs_t *  I2Sx)

Clear I2S TX FIFO in all channels.

Register BitsName
TXFIFO_RST RST
Parameters
I2SxI2S instance
Return values
None

◆ ll_i2s_disable()

__STATIC_INLINE void ll_i2s_disable ( i2s_regs_t *  I2Sx)

Disable I2S.

Register BitsName
ENABLE EN
Parameters
I2SxI2S instance
Return values
None

◆ ll_i2s_disable_clock()

__STATIC_INLINE void ll_i2s_disable_clock ( i2s_regs_t *  I2Sx)

Disable I2S clock.

Register BitsName
CLKEN EN
Parameters
I2SxI2S instance
Return values
None

◆ ll_i2s_disable_clock_div()

__STATIC_INLINE void ll_i2s_disable_clock_div ( void  )

Disable I2S clock divider.

Register BitsName
I2S_CLK_CFG DIV_EN
Return values
None

◆ ll_i2s_disable_rxblock()

__STATIC_INLINE void ll_i2s_disable_rxblock ( i2s_regs_t *  I2Sx)

Disable I2S RX block.

Register BitsName
RBEN EN
Parameters
I2SxI2S instance
Return values
None

◆ ll_i2s_disable_txblock()

__STATIC_INLINE void ll_i2s_disable_txblock ( i2s_regs_t *  I2Sx)

Disable I2S TX block.

Register BitsName
TBEN EN
Parameters
I2SxI2S instance
Return values
None

◆ ll_i2s_enable()

__STATIC_INLINE void ll_i2s_enable ( i2s_regs_t *  I2Sx)

Enable I2S.

Register BitsName
ENABLE EN
Parameters
I2SxI2S instance
Return values
None

◆ ll_i2s_enable_clock()

__STATIC_INLINE void ll_i2s_enable_clock ( i2s_regs_t *  I2Sx)

Enable I2S clock.

Register BitsName
CLKEN EN
Parameters
I2SxI2S instance
Return values
None

◆ ll_i2s_enable_clock_div()

__STATIC_INLINE void ll_i2s_enable_clock_div ( void  )

Enable I2S clock divider.

Register BitsName
I2S_CLK_CFG DIV_EN
Return values
None

◆ ll_i2s_enable_rxblock()

__STATIC_INLINE void ll_i2s_enable_rxblock ( i2s_regs_t *  I2Sx)

Enable I2S RX block.

Register BitsName
RBEN EN
Parameters
I2SxI2S instance
Return values
None

◆ ll_i2s_enable_txblock()

__STATIC_INLINE void ll_i2s_enable_txblock ( i2s_regs_t *  I2Sx)

Enable I2S TX block.

Register BitsName
TBEN EN
Parameters
I2SxI2S instance
Return values
None

◆ ll_i2s_get_clock_div()

__STATIC_INLINE uint32_t ll_i2s_get_clock_div ( void  )

Get I2S clock divider.

Register BitsName
I2S_CLK_CFG DIV
Return values
ReturnedValue can between: 0 ~ 0xFFF

◆ ll_i2s_get_clock_src()

__STATIC_INLINE uint32_t ll_i2s_get_clock_src ( void  )

Get I2S clock source.

Register BitsName
I2S_CLK_CFG SRC
Return values
ReturnedValue can be one of the following values:

◆ ll_i2s_get_sclkg()

__STATIC_INLINE uint32_t ll_i2s_get_sclkg ( i2s_regs_t *  I2Sx)

Get the gating of sclk.

Register BitsName
CLKCONFIG SCLKG
Parameters
I2SxI2S instance
Return values
ReturnedValue can be one of the following values:

◆ ll_i2s_get_wss()

__STATIC_INLINE uint32_t ll_i2s_get_wss ( i2s_regs_t *  I2Sx)

Get word select line cycles for left or right sample.

Register BitsName
CLKCONFIG WSS
Parameters
I2SxI2S instance
Return values
ReturnedValue can be one of the following values:

◆ ll_i2s_is_enabled()

__STATIC_INLINE uint32_t ll_i2s_is_enabled ( i2s_regs_t *  I2Sx)

Check if I2S is enabled.

Register BitsName
ENABLE EN
Parameters
I2SxI2S instance
Return values
Stateof bit (1 or 0).

◆ ll_i2s_is_enabled_clock()

__STATIC_INLINE uint32_t ll_i2s_is_enabled_clock ( i2s_regs_t *  I2Sx)

Check if I2S clock is enabled.

Register BitsName
CLKEN EN
Parameters
I2SxI2S instance
Return values
Stateof bit (1 or 0).

◆ ll_i2s_is_enabled_clock_div()

__STATIC_INLINE uint32_t ll_i2s_is_enabled_clock_div ( void  )

Check if I2S clock divider is enabled.

Register BitsName
I2S_CLK_CFG DIV_EN
Return values
Stateof bit (1 or 0).

◆ ll_i2s_is_enabled_rxblock()

__STATIC_INLINE uint32_t ll_i2s_is_enabled_rxblock ( i2s_regs_t *  I2Sx)

Check if I2S RX block is enabled.

Register BitsName
RBEN EN
Parameters
I2SxI2S instance
Return values
Stateof bit (1 or 0).

◆ ll_i2s_is_enabled_txblock()

__STATIC_INLINE uint32_t ll_i2s_is_enabled_txblock ( i2s_regs_t *  I2Sx)

Check if I2S TX block is enabled.

Register BitsName
TBEN EN
Parameters
I2SxI2S instance
Return values
Stateof bit (1 or 0).

◆ ll_i2s_set_clock_div()

__STATIC_INLINE void ll_i2s_set_clock_div ( uint32_t  div)

Set I2S clock divider.

Register BitsName
I2S_CLK_CFG DIV
Parameters
divThis parameter can between: 0 ~ 0xFFF
Return values
None

◆ ll_i2s_set_clock_src()

__STATIC_INLINE void ll_i2s_set_clock_src ( uint32_t  src)

Set I2S clock source.

Register BitsName
I2S_CLK_CFG SRC
Parameters
srcThis parameter can be one of the following values:
Return values
None

◆ ll_i2s_set_sclkg()

__STATIC_INLINE void ll_i2s_set_sclkg ( i2s_regs_t *  I2Sx,
uint32_t  cycles 
)

Set the gating of sclk.

Register BitsName
CLKCONFIG SCLKG
Parameters
I2SxI2S instance
cyclesThis parameter can be one of the following values:
Return values
None

◆ ll_i2s_set_wss()

__STATIC_INLINE void ll_i2s_set_wss ( i2s_regs_t *  I2Sx,
uint32_t  cycles 
)

Set word select line cycles for left or right sample.

Note
This bit should be written only when I2S is disabled (I2S_EN = 0) for correct operation.
Register BitsName
CLKCONFIG WSS
Parameters
I2SxI2S instance
cyclesThis parameter can be one of the following values:
Return values
None