Functions
Configuration functions
Peripheral Driver » LL Driver » I2S » 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

  I2Sx | I2S 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

  I2Sx | I2S instance

Return values

  None |

## ◆ ll_i2s_disable()

__STATIC_INLINE void ll_i2s_disable | ( | i2s_regs_t * | I2Sx | ) |

Disable I2S.

Register | BitsName
--- | ---
ENABLE | EN

Parameters

  I2Sx | I2S 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

  I2Sx | I2S 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

  I2Sx | I2S 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

  I2Sx | I2S instance

Return values

  None |

## ◆ ll_i2s_enable()

__STATIC_INLINE void ll_i2s_enable | ( | i2s_regs_t * | I2Sx | ) |

Enable I2S.

Register | BitsName
--- | ---
ENABLE | EN

Parameters

  I2Sx | I2S 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

  I2Sx | I2S 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

  I2Sx | I2S 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

  I2Sx | I2S 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

  Returned | Value 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

  Returned | Value can be one of the following values: LL_I2S_CLOCK_SRC_96M LL_I2S_CLOCK_SRC_32M

## ◆ 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

  I2Sx | I2S instance

Return values

  Returned | Value can be one of the following values: LL_I2S_SCLKG_NONE LL_I2S_SCLKG_CYCLES_12 LL_I2S_SCLKG_CYCLES_16 LL_I2S_SCLKG_CYCLES_20 LL_I2S_SCLKG_CYCLES_24

## ◆ 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

  I2Sx | I2S instance

Return values

  Returned | Value can be one of the following values: LL_I2S_WS_CYCLES_16 LL_I2S_WS_CYCLES_24 LL_I2S_WS_CYCLES_32

## ◆ 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

  I2Sx | I2S instance

Return values

  State | of 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

  I2Sx | I2S instance

Return values

  State | of 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

  State | of 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

  I2Sx | I2S instance

Return values

  State | of 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

  I2Sx | I2S instance

Return values

  State | of 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

  div | This 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

  src | This parameter can be one of the following values: LL_I2S_CLOCK_SRC_96M LL_I2S_CLOCK_SRC_32M

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

  I2Sx | I2S instance
  cycles | This parameter can be one of the following values: LL_I2S_SCLKG_NONE LL_I2S_SCLKG_CYCLES_12 LL_I2S_SCLKG_CYCLES_16 LL_I2S_SCLKG_CYCLES_20 LL_I2S_SCLKG_CYCLES_24

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

  I2Sx | I2S instance
  cycles | This parameter can be one of the following values: LL_I2S_WS_CYCLES_16 LL_I2S_WS_CYCLES_24 LL_I2S_WS_CYCLES_32

Return values

  None |