Using AD7606 with Toradex hardware "Verdin iMX8M Plus"

Hello @doelken ,

i am trying to use AD7606 as an external ADC to get higher sample rate than what Toradex hardware provides.
Could you please share with me the device tree and the steps that should be taken?

Best regards

Hello @MohannadD,

can you share your schematic and how you connected the AD7606.

Best Regards,

Matthias Gohlke

Hi @MohannadD ,

here’s an example of a device-tree entry that I found in the sources under linux-toradex/Documentation/devicetree/bindings/iio/adc/adi,ad7606.yaml.

    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    spi0 {
        #address-cells = <1>;
        #size-cells = <0>;

        adc@0 {
                compatible = "adi,ad7606-8";
                reg = <0>;
                spi-max-frequency = <1000000>;

                avcc-supply = <&adc_vref>;

                interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
                interrupt-parent = <&gpio>;

                adi,conversion-start-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
                reset-gpios = <&gpio 27 GPIO_ACTIVE_HIGH>;
                adi,first-data-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
                adi,oversampling-ratio-gpios = <&gpio 18 GPIO_ACTIVE_HIGH>,
                                               <&gpio 23 GPIO_ACTIVE_HIGH>,
                                               <&gpio 26 GPIO_ACTIVE_HIGH>;
                standby-gpios = <&gpio 24 GPIO_ACTIVE_LOW>;

Hope this helps.

Best Regards

Hi @matthias.tx ,

And thanks @kevin.tx for your reply.
here is how i entend to connect ad7606 with Verdin.

So, as i stated in the question i am trying to use ad7606 with Verdin to get an ADC with high sample rate.
I am new to the device tree and Linux kernel so please bear with me.
As i saw from the tutorials and the Webinars, to add a new device i need to enable the driver in the Kernel and add/edit the device tree.

I am using torizoncore-custom-image that we used in the torizon Bootcamp
Verdin iMX8M Plus with Yavia Carrier Board
Torizoncore 5.7.0

Could you please guide me through the process?

Best regards

Hello @MohannadD,

Thanks for reaching out and happy to hear that you attended the Torizon bootcamp.
You can enable the driver in kernel by modifying and re-compiling the linux kernel as explained here: Build U-Boot from Source Code | Toradex Developer Center

Here you will find a really nice documentation about adding custom device trees and overlays to TorizonCore image using Torizoncore builder: Device Tree Overlays on Torizon | Toradex Developer Center

Please let me know if you have more questions that I could help you with.

Hello @MohannadD,

Thanks for your patience and also sorry about the late reply.
I would like to inform you that considering your request, we have enabled the configurations for AD7606 driver (CONFIG_AD7606_IFACE_SPI, CONFIG_AD7606) on the kernel for the latest nightly build of TorizonCore 6. This means you will have to update to TorizonCore 6 on your module.
You can download the latest nightly build here.
Please let me know if you have additional questions or need more support.

Hello @MohannadD,

Have you been able to test with the latest nightly build? Do you have any updates?