TLV320AIC3100: I2C can't communicate with NXP imx6

Intellectual 2345 points

Replies: 1

Views: 44

Part Number: TLV320AIC3100

Hi,

customer use TLV320AIC3100 and found that the I2C can't communicate with CPU NXP IMx6, the core virson is 4.1.15. this is the software configuration:

&i2c1 {

  clock-frequency = <100000>;

  pinctrl-names = "default";

  pinctrl-0 = <&pinctrl_i2c1>;

  status = "okay";

 

  tlv320aic31xx_codec: tlv320aic310x@18 {

                   compatible = "ti,tlv320aic310x";

                   #sound-dai-cells = <0>;

                   reg = <0x18>;

                   clocks = <&clks IMX6UL_CLK_SAI1>;  

                   clock-names = "mclk"; 

                   ai31xx-micbias-vg = <2>;

                   gpio-reset = <&gpio1 2 GPIO_ACTIVE_LOW>;

 

                   HPVDD-supply = <&reg_3p3v>;

                   SPRVDD-supply = <&reg_3p3v>;

                   SPLVDD-supply = <&reg_3p3v>;

                   AVDD-supply = <&reg_3p3v>;

                   IOVDD-supply = <&reg_3p3v>;

                   DVDD-supply = <&reg_1p8v>;

         };

};

Here is the I2C waveform:

the power up sequence is :spkvdd—iovdd—dvdd—avdd

they also test that

1. others device in the same I2C bus can commincate well, only TLV320AIC3100.

2. use different TLV320AIC3100, the problem is the same.

I also attached the schematic for you review. 

could you give suggestion about this issue? thank you.

1 Reply

  • Hi Betty,

    Are all the devices on your I2C bus operating at the same 3.3V supply shown here? How are you initializing the device? As per section 7.3.2 in the datasheet:

    "The TLV320AIC3100 internal logic must be initialized to a known condition for proper device function. To initialize the device to its default operating condition, the hardware reset pin (RESET) must be pulled low for at least 10 ns. For this initialization to work, both the IOVDD and DVDD supplies must be powered up. TI recommends that while the DVDD supply powers up, the RESET pin is pulled low."

    Please verify that when you try to communicate with the Codec you are using the I2C address 0011 000.

    best,

    Zak

    Regards,

    Zak Kaye
    Precision Amplifiers Applications