Using SDMA for I2C on i.MX8M Linux?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Using SDMA for I2C on i.MX8M Linux?

1,177 Views
steven_scholz
Contributor III

Hi,

is it possible to use the Linux SDMA driver for I2C communication on a i.MX8MQ (EVK)?

I see DMA releated code in drivers/i2c/busses/i2c-imx.c. But when booting Linux 4.14.78 I get

i2c i2c-0: IMX I2C adapter registered
i2c i2c-0: can't use DMA, using PIO instead.

I supposed I need to configure the device tree accordingly. But Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt does not mention I2C as possible peripheral type.

Thanks in advance!

Steven

Labels (2)
0 Kudos
4 Replies

999 Views
ceggers1
Contributor IV

Hi Steven,

the existing DMA code in the i2c-imx driver seems to be related to the DMA engine on i.MX28 (not SDMA).

The existing ROM/RAM routines for SDMA don't have special support for I2C transfers. But I see a chance that this can be done using a custom SDMA script. I plan to work on this in the near future, please let me know if you are still interested.

regards
Christian

0 Kudos

1,024 Views
jamesbone
NXP TechSupport
NXP TechSupport

Hello Steven,

Unfortunately it is not possible since the i2c driver does not allow the Linux SDMA driver.


Have a great day,
TIC

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos

1,024 Views
steven_scholz
Contributor III

Hello James,

thanks for your fast reply.

What exactly means "the i2c driver does not allow the Linux SDMA Driver"?

Is it supported by hardware, i.e. the i.MX SDMA Controller, but not (yet) by Software, i.e. Linux?

Is there code missing in the driver?

Will there be support in the near future?

Thanks a million,

Steven

0 Kudos

1,024 Views
jamesbone
NXP TechSupport
NXP TechSupport

Hello Steven,

I apologize if I was confusing you,.   The I2C  Peripheral Hardware support DMA, but the actual Linux i2c driver available in our BSP does not have the implementation to support this feature, and we do not have plans in the near future to have this implementation.

We offer our professional Services in order to customize the driver as your requirements.

Have a nice day!

Jaime

0 Kudos