I'm using the default kernel code for sai definition as below:
pinctrl_sai3: sai3grp {
fsl,pins = <
MX93_PAD_GPIO_IO26__SAI3_TX_SYNC 0x31e
MX93_PAD_GPIO_IO16__SAI3_TX_BCLK 0x31e
MX93_PAD_GPIO_IO17__SAI3_MCLK 0x31e
MX93_PAD_GPIO_IO19__SAI3_TX_DATA00 0x31e
MX93_PAD_GPIO_IO20__SAI3_RX_DATA00 0x31e
>;
};
pinctrl_sai3_sleep: sai3grpsleep {
fsl,pins = <
MX93_PAD_GPIO_IO26__GPIO2_IO26 0x51e
MX93_PAD_GPIO_IO16__GPIO2_IO16 0x51e
MX93_PAD_GPIO_IO17__GPIO2_IO17 0x51e
MX93_PAD_GPIO_IO19__GPIO2_IO19 0x51e
MX93_PAD_GPIO_IO20__GPIO2_IO20 0x51e
>;
};
&sai3 {
#sound-dai-cells = <0>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&pinctrl_sai3>;
pinctrl-1 = <&pinctrl_sai3_sleep>;
assigned-clocks = <&clk IMX93_CLK_SAI3>;
assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
assigned-clock-rates = <12288000>;
fsl,sai-mclk-direction-output;
status = "okay";
};
And I'm using the TLV320AIC3106 as my Sound-Card, the device tree shown below:
&lpi2c2 {
#address-cells = <1>;
#size-cells = <0>;
clock-frequency = <400000>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&pinctrl_lpi2c2>;
pinctrl-1 = <&pinctrl_lpi2c2>;
status = "okay";
tlv320aic3106: audio-codec@1b {
compatible = "ti,tlv320aic3106";
reg = <0x1b>;
reset-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
status = "okay";
};
};
/ {
sound-tlv320 {
compatible = "simple-audio-card";
simple-audio-card,name = "tlv320-audio";
simple-audio-card,widgets =
"Line", "Line Out",
"Line", "Line In",
"Microphone", "Microphone Jack";
simple-audio-card,routing =
"Line Out", "LLOUT",
"Line Out", "RLOUT",
"LINE1L", "Line In",
"LINE1R", "Line In",
"MIC3L", "Microphone Jack",
"MIC3R", "Microphone Jack",
"Microphone Jack", "Mic Bias";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&sound_master>;
simple-audio-card,frame-master = <&sound_master>;
simple-audio-card,bitclock-inversion;
sound_master: simple-audio-card,cpu {
sound-dai = <&sai3>;
dai-tdm-slot-num = <2>;
dai-tdm-slot-width = <16>;
};
simple-audio-card,codec {
sound-dai = <&tlv320aic3106>;
};
};
};
After compiling the kernel code, I can find the i2c device registered, but it's not 'UU'.
Can anyone help me solve this probelm ?
Thanks in advance.