Skip to content

Commit

Permalink
Merge branch 'bugfix/i2s_update_regs_before_start_v4.4' into 'release…
Browse files Browse the repository at this point in the history
…/v4.4'

i2s: fixed rx update stuck bug (v4.4)

See merge request espressif/esp-idf!21777
  • Loading branch information
suda-morris committed Feb 2, 2023
2 parents b58d463 + 85392e3 commit 969569d
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 6 deletions.
4 changes: 2 additions & 2 deletions components/hal/esp32c3/include/hal/i2s_ll.h
Original file line number Diff line number Diff line change
Expand Up @@ -308,8 +308,8 @@ static inline void i2s_ll_rx_set_clk(i2s_dev_t *hw, i2s_ll_mclk_div_t *set)
*/
static inline void i2s_ll_tx_start(i2s_dev_t *hw)
{
hw->tx_conf.tx_update = 0;
hw->tx_conf.tx_update = 1;
while (hw->tx_conf.tx_update);
hw->tx_conf.tx_start = 1;
}

Expand All @@ -320,8 +320,8 @@ static inline void i2s_ll_tx_start(i2s_dev_t *hw)
*/
static inline void i2s_ll_rx_start(i2s_dev_t *hw)
{
hw->rx_conf.rx_update = 0;
hw->rx_conf.rx_update = 1;
while (hw->rx_conf.rx_update);
hw->rx_conf.rx_start = 1;
}

Expand Down
4 changes: 2 additions & 2 deletions components/hal/esp32h2/include/hal/i2s_ll.h
Original file line number Diff line number Diff line change
Expand Up @@ -309,8 +309,8 @@ static inline void i2s_ll_rx_set_clk(i2s_dev_t *hw, i2s_ll_mclk_div_t *set)
*/
static inline void i2s_ll_tx_start(i2s_dev_t *hw)
{
hw->tx_conf.tx_update = 0;
hw->tx_conf.tx_update = 1;
while (hw->tx_conf.tx_update);
hw->tx_conf.tx_start = 1;
}

Expand All @@ -321,8 +321,8 @@ static inline void i2s_ll_tx_start(i2s_dev_t *hw)
*/
static inline void i2s_ll_rx_start(i2s_dev_t *hw)
{
hw->rx_conf.rx_update = 0;
hw->rx_conf.rx_update = 1;
while (hw->rx_conf.rx_update);
hw->rx_conf.rx_start = 1;
}

Expand Down
4 changes: 2 additions & 2 deletions components/hal/esp32s3/include/hal/i2s_ll.h
Original file line number Diff line number Diff line change
Expand Up @@ -311,8 +311,8 @@ static inline void i2s_ll_rx_set_clk(i2s_dev_t *hw, i2s_ll_mclk_div_t *set)
*/
static inline void i2s_ll_tx_start(i2s_dev_t *hw)
{
hw->tx_conf.tx_update = 0;
hw->tx_conf.tx_update = 1;
while (hw->tx_conf.tx_update);
hw->tx_conf.tx_start = 1;
}

Expand All @@ -323,8 +323,8 @@ static inline void i2s_ll_tx_start(i2s_dev_t *hw)
*/
static inline void i2s_ll_rx_start(i2s_dev_t *hw)
{
hw->rx_conf.rx_update = 0;
hw->rx_conf.rx_update = 1;
while (hw->rx_conf.rx_update);
hw->rx_conf.rx_start = 1;
}

Expand Down

0 comments on commit 969569d

Please sign in to comment.