Colibri IMX6ULL 512MB IT

Dear Toradex,

I have been using the COLIBRI IMX6ULL board. trying to configure SPI
slave. I am unable to configure the SPI slave and Master. Kindly help
me out with what I need to modify on the device tree and code.

I am using the below boards
SOM Board : Colibri imx6ull 512MB IT
Carrier Board: iris v2.0A

Best regards,
Gagan Gowda
Embedded Engineer

Hello @gagangowda,

Can you tell me what OS you have on your system? The output from uname -a will give this.
And can you tell me what method you are using to build this image? TorizonCore-Builder?

Here is our guide on SPI for Torizon with a small example. There are a few options, but following the example might be the easiest. Let me know what path you are taking and where you get stuck.

-Eric

Hello Eric,

I am using Linux 20.04 operating system. The uname -a output is Linux gagan-ThinkCentre-M91 5.15.0-60-generic #66~20.04.1-Ubuntu SMP Wed Jan 25 09:41:30 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
we are using the AD7768 24-bit ADC data acquisition board where we are collecting ADC data continuously using SPI communication in master mode and on the other end we have Colibri imx6ull board using SPI in slave mode to receive the data continuously and store the data in DMA. I need to check whether the communication between AD7768 to Colibri imx6ull board is working or not

Regards
Gagan Gowda G R

@gagangowda,

Hello.

Sorry for repeat question. But can you run the same command uname -a within the module’s shell and not on the host computer? In order to know how to modify the device tree/ add an overlay we will need to know what kernel you are using on the module.

-Eric

  1. AD7768 is SPI slave only. It receives SCLK, not emits it.
  2. AD7768 data frames are 16 bits wide. At first glance eCSPI DMA is not applicable here. But you may try utilizing DMA habits of current eCSPI driver:
    You need to IOMUX Colibri CS pin for hardware eCSPI CS pin function. spidev_test utility with -b 16 switch and long enough transfer of 64 or more bytes (32 or more AD7768 16-bit frames), you may be able to send commands to AD7768 and receive data from AD7768 using DMA.
    I don’t know anything about dedicated AD7768 driver, if such one exists. But if it exists, I doubt such driver would expect DMA usage sending 16bit frames with required leading/following toggle of CS.

Edward

Hello,

The uname -a output is Linux colibri-imx6ull-07137088 5.4.193-5.7.0+git.f78299297185 #1 SMP Mon Jul 11 14:42:03 UTC 2022 armv7l armv7l armv7l GNU/Linux
Here I need to modify the device tree for SPI slave mode to receive the data from the STM32 controller let me know what are modifications to be done. we are using kernel image Colibri-iMX6ULL_Reference-Multimedia-Image-Tezi_5.7.0+build.20

For your reference, I have attached the device tree of
SOM Board : Colibri imx6ull 512MB IT
Carrier Board: iris v2.0A.

imx6ull-colibri.dtsi (18.1 KB)
imx6ull-colibri-eval-v3.dtsi (3.4 KB)

Regards
Gagan Gowda G R