Hello,Everyone.
我最近想使用imx6ull实现裸机开发I2C读取MPU6050,并使用DMA方式传输数据。我在官方的I2C寄存器手册里并没有看到关于DMA使能相关的寄存器,但是我在内核中发现了一些与i2c dma相关的函数,例如:
Solved! Go to Solution.
Hi @Tamako,
I hope you are doing well.
There is no support given for using i2c SDMA in i.MX6 series.
One can find the supported SDMA channel usage for different peripherals in the linux reference manual, please refer to that.
https://www.nxp.com/docs/en/
Thanks & Regards,
Dhruvit Vasavada
Hi @Tamako,
I hope you are doing well.
There is no support given for using i2c SDMA in i.MX6 series.
One can find the supported SDMA channel usage for different peripherals in the linux reference manual, please refer to that.
https://www.nxp.com/docs/en/
Thanks & Regards,
Dhruvit Vasavada
There is no support given for using i2c SDMA in i.MX6 series.
That's not fully correct. Some engineers at NXP have developed SDMA support for I2C. These changes are part of SDMA firmware 3.6/4.6 which is available in recent firmware-imx.bin packages (the firmware files in linux-firmware-git are still 3.5/4.5).
Looking around on the internet will find the necessary patches for the Linux I2C driver. Unfortunately these patches have some small bugs and haven't been ported to recent kernels.
I use fixed version of the I2C driver and the a custom SDMA firmware for many months now and think it does what it should. But I haven't tested "advanced" I2C features like bus recovery.
regards,
Christian