Hi Renesas Team,
We are interfacing multiple codec in custome made rzg2h board , managed to interface da7218 and is working, since custome wants to have 6 mics on this board we tried to interface TLV320adc5140 with the below dtsi entries, I2c probe is happenning but not entering into codec_probe funtion, Below is the dtsi entries,Can any body guide us what are we missing here and how do we go about interfacing multiple code
in the sdk:
tlv320adc5140_snd: sound { compatible = "simple-audio-card";
simple-audio-card,widgets = "Microphone", "Mic";
simple-audio-card,audio-routing = "MIC1P", "Mic", "MIC1M", "Mic", "MIC2P", "Mic", "MIC2M", "Mic", "MIC3P", "Mic", "MIC3M", "Mic", "MIC4P", "Mic", "MIC4M", "Mic";
simple-audio-card,dai-link@0 { simple-audio-card,format = "i2s"; bitclock-master = <&cpu_dai>; frame-master = <&cpu_dai>; mclk-fs = <256>; cpu_dai: cpu { sound-dai = <&sound_pins1>; dai-tdm-slot-num = <8>; dai-tdm-slot-width = <32>; dai-tdm-slot-tx-mask = <1 1 1 1 1 1 1 1>; dai-tdm-slot-rx-mask = <1 1 1 1 1 1 1 1>; };
codec_dai: codec { sound-dai = <&tlv320adc5140>; clocks = <&audio_mclock>; dai-tdm-slot-num = <8>; dai-tdm-slot-width = <32>; dai-tdm-slot-tx-mask = <1 1 1 1 0 0 0 0>; /* Use first four channels in TDM bus */ dai-tdm-slot-rx-mask = <1 1 1 1 0 0 0 0>; }; };};
&i2c0 { pinctrl-0 = <&i2c0_pins>; pinctrl-names = "default"; clock-frequency = <100000>; status = "okay"; tlv320adc5140: tlv320adc5140@4c { #sound-dai-cells = <0>; compatible = "ti,tlv320adc5140"; reg = <0x4c>; ti,mic-bias-source = <0>; /* 0 - Mic bias is set to VREF */ ti,pdm-edge-select = <1 1 1 1>; ti,gpio-config = <10 0>; ti,gpi-config = <4 5 6 7>; ti,gpo-config-1 = <4 1>; ti,gpo-config-2 = <4 1>; ti,gpo-config-3 = <4 1>; ti,gpo-config-4 = <4 1>; ti,slot-mapping = <0 1 2 3>; ti,asi-tx-driver = <0>;
reset-gpios = <&gpio6 11 GPIO_ACTIVE_HIGH>; }; port@0 { tlv320adc5140_endpoint: endpoint { remote-endpoint = <&rsnd_endpoint3>; }; };
};
sound_pins1: sound { groups = "ssi78_ctrl", "ssi7_data";/* G6_17, G6_18, G6_19 */ function = "ssi"; };
&rcar_sound { pinctrl-0 = <&sound_clk_pins &sound_pins1>; pinctrl-names = "default"; status = "okay"; /* Single DAI */ #sound-dai-cells = <0>; /* audio_clkout */ #clock-cells = <0>; clock-frequency = <5644800>; /* 44.1kHz groups [(C) clock] */ ports { rsnd_port3: port@1 { rsnd_endpoint3: endpoint { remote-endpoint = <&tlv320adc5140_endpoint>; dai-format = "i2s"; bitclock-master = <&rsnd_endpoint3>; frame-master = <&rsnd_endpoint3>; /* [CAPTURE] */ capture = <&ssi7>; }; }; };};
The above format is working in Da7218:( pin used in this case is):
sound_pins: sound { groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a"; function = "ssi"; };
I am trying to get tlv320adc5140 first then will interface multiple code:
Can any body in the forum please help us we are struct at the point where code_probe itself is called in this case:
I have enable tlv320adcx140.c driver in kernel menuconfig but still it is not callled:
Below is the debug info current we are getting:
==========================================================
[ 2.395502] optee: api uid mismatch[ 2.399001] optee: probe of firmware:optee failed with error -22[ 2.404017] renesas_sdhi_internal_dmac ee140000.mmc: mmc2 base at 0x00000000ee140000, max clock rate 200 MHz[ 2.405766] SMET inside ...1[ 2.406123] renesas_sdhi_internal_dmac ee160000.mmc: mmc0 base at 0x00000000ee160000, max clock rate 200 MHz[ 2.427568] SMET inside adcx140_i2c_probe 1093/n[ 2.427571] SMET inside ...2[ 2.435151] SMET inside adcx140_i2c_probe 1101/n[ 2.435201] SMET inside ...3[ 2.442783] SMET inside adcx140_i2c_probe 1110/n[ 2.442785] SMET inside ...4[ 2.450364] SMET inside adcx140_i2c_probe 1124/n[ 2.450409] SMET inside ...5[ 2.454888] mmc2: new high speed SDIO card at address 0001[ 2.455115] SMET inside adcx140_i2c_probe 1136/n[ 2.463838] OF: /sound/simple-audio-card,dai-link@0/cpu: could not get #sound-dai-cells for /soc/pinctrl@e6060000/sound[ 2.479336] asoc-simple-card sound: parse error -22[ 2.484221] asoc-simple-card: probe of sound failed with error -22[ 2.492495] rcar_sound ec500000.sound: probed[ 2.498143] NET: Registered protocol family 10
Thanks and regards,
Nagaraja