Interfacing multiple codec into RZG2H :Da7218 is working but TLV320ADC5140 is not working having codec_probe issues:

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