I have a problem with linux driver for tlv320dac32. As mentioned in this post https://e2e.ti.com/support/audio-group/audio/f/audio-forum/654414/linux-tlv320dac32-tlv320dac32-linux-drivers-apply I used tlv320aic3x-i2c driver for my device. I enabled it as a module in kernel config. I created device tree:
&i2c3 {
tlv320aic3x: tlv320aic3x@18 {
#sound-dai-cells = <0>;
compatible = "ti,tlv320aic3x";
reg = <0x18>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_tlv32>;
reset-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
AVDD-supply = <®ulator>;
IOVDD-supply = <®ulator>;
DRVDD-supply = <®ulator>;
};
};
I can see that driver is registered:
[ 6.080843] i2c i2c-2: of_i2c: register /soc@0/bus@30800000/i2c@30a40000/tlv320aic3x@18
[ 6.099482] i2c i2c-2: client [tlv320aic3x] registered with bus id 2-0018
[ 12.267136] i2c-core: driver [tlv320aic3x] registered
And I can also detect device using i2cdetect command, but it looks like driver is never attached to a device. It looks like it does not recognize it. I put some debug printk and it looks like probe function is never called.
Is there something wrong with my configuration?