AI-M61-32S I2S driver 是不是有个bug?

[复制链接]
查看60 | 回复4 | 6 天前 | 显示全部楼层 |阅读模式
bflb_i2s_init()函数:
/* fifo threshold config */
    regval = getreg32(reg_base + I2S_FIFO_CONFIG_1_OFFSET);
    regval &= ~I2S_TX_FIFO_TH_MASK;
    regval &= ~I2S_RX_FIFO_TH_MASK;
    regval |= (config->tx_fifo_threshold << I2S_TX_FIFO_TH_SHIFT) & I2S_TX_FIFO_TH_MASK;
    regval |= (config->tx_fifo_threshold << I2S_RX_FIFO_TH_SHIFT) & I2S_RX_FIFO_TH_MASK;
    putreg32(regval, reg_base + I2S_FIFO_CONFIG_1_OFFSET);

-------------------------------
tx/rx fifo都使用的是tx_fifo_threshold
回复

使用道具 举报

不确定,再看看,改一下呗,驱动库而已
回复 支持 反对

使用道具 举报

dhliu | 6 天前 | 显示全部楼层
不是说驱动而已,肯定没用过这个功能,没测试过这个。
回复 支持 反对

使用道具 举报

dhliu | 6 天前 | 显示全部楼层
example i2s_dma:
   num = bflb_dma_channel_lli_reload(dma0_ch0, tx_llipool, 1, tx_transfers, 1);
    bflb_dma_channel_lli_link_head(dma0_ch0, tx_llipool, num);
    num = bflb_dma_channel_lli_reload(dma0_ch1, rx_llipool, 1, rx_transfers, 1);
    bflb_dma_channel_lli_link_head(dma0_ch1, tx_llipool, num);

也有这个问题,rx也用tx_llipool,你们肯定没测试过!这个sdk问题太多!
回复 支持 反对

使用道具 举报

本帖最后由 Ai-Thinker小泽 于 2024-10-14 08:47 编辑

我看一下吧,也可能是边录边播
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则