AnsweredAssumed Answered

Problem with I2C DAC device detection on imx28EVK board

Question asked by Sonu Abraham on Jun 7, 2017
Latest reply on Jun 8, 2017 by igorpadykov

Hi,

 

I am trying to interface a new Analog Devices DAC AD5693R to the imx28evk board.
I have connected I2C SDA and SCL pins on the imx28EVK board to the SDA and SCL pins on the Analog Device EVAL-AD5693RSDZ board. I am using the jumper pins IO5, IO6 and IO7 (J88) on the IMX28EVK board to connect to the SDA , SCL and GND pins on the Analog Devices reference board.

 

I am not getting the AD5963 board detected by i2cdetect tool from i2c-tools package running on imx28EVK board. I am running Angstrom Linux distribution 2016.12 version running 4.8.17-fslc kernel.

 

 

 

I have added the device tree entires for the AD5693R device and my driver gets loaded successfully using the below mentioned device tree entries.

 

i2c0: i2c@80058000 {
                pinctrl-names = "default";
                pinctrl-0 = <&i2c0_pins_a>;
                status = "okay";

 

 

 

                sgtl5000: codec@0a {
                    compatible = "fsl,sgtl5000";
                    reg = <0x0a>;
                    VDDA-supply = <&reg_3p3v>;
                    VDDIO-supply = <&reg_3p3v>;
                    clocks = <&saif0>;
                };

 

 

 

                at24@51 {
                    compatible = "at24,24c32";
                    pagesize = <32>;
                    reg = <0x51>;
                };
                
                ad5693@4c {
                    compatible = "adi,ad5693";
                                   reg = <0x4c>;
                };
    
            };

 

 

 


When I try to run i2cdetect -a -q 0 from the imx28evk board login,I get the following output

 

 

 

root@imx28evk:~# i2cdetect -a -q 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0 using quick write commands.
I will probe address range 0x00-0x7f.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- UU -- -- --
50: -- UU -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

 

 
When i remove my driver and run the same command I get the below output

 

root@imx28evk:~# i2cdetect -a -q 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0 using quick write commands.
I will probe address range 0x00-0x7f.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- UU -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

 

 

 

I have the following doubts regarding the Analog Device AD5693 device detection.

 

1) Why is i2cdetect tool returning  UU instead of 4C for my DAC at address 0x4C .

 

2) Is a slave device driver required for device detection to happen with i2cdetect tool ? ie can i expect a response of 4C without my driver for the AD5693 loaded ?

 

3) Is there any further changes required in the device tree to support device detection.

 


Thanks in advance.
Sonu Abraham

Outcomes