This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TLV320ADC3101-Q1: Which driver should I use?

Part Number: TLV320ADC3101-Q1

tlv320adc3xxx.c tlv320adc3xxx.h May I ask if this driver can be used? I found it in my SDK, I saw these commented out with if 0 in the official driver.

    SND_SOC_DAPM_INPUT("IN_1L"),
    SND_SOC_DAPM_INPUT("IN_1R"),
    SND_SOC_DAPM_INPUT("IN_2L"),
    SND_SOC_DAPM_INPUT("IN_2R"),
    SND_SOC_DAPM_INPUT("IN_3L"),
    SND_SOC_DAPM_INPUT("IN_3R"),
    SND_SOC_DAPM_INPUT("DIFL_1L_1R"),
    SND_SOC_DAPM_INPUT("DIFL_2L_3L"),
    SND_SOC_DAPM_INPUT("DIFL_2R_3R"),
    SND_SOC_DAPM_INPUT("DIFR_1L_1R"),
    SND_SOC_DAPM_INPUT("DIFR_2L_3L"),
    SND_SOC_DAPM_INPUT("DIFR_2R_3R"),
    SND_SOC_DAPM_INPUT("DMic_L"),
    SND_SOC_DAPM_INPUT("DMic_R"),Below is my schematic diagramimage.png
  • Hi,

    Yes, the ADC3101 should use the ADC31xx drivers, you can access them here: https://www.ti.com/tool/TLV320ADC31XX-DRIVERS and the help file is here: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/Documentation/devicetree/bindings/sound/ti,tlv320adc3xxx.yaml

    I saw it is not linked on the Q1 version of the device, but it is linked on the regular ADC3101 page. We can work to update that for the future. The drivers will work on both versions of the device.

    Looks like in this driver I linked, the DAPM inputs have different names than yours.

    Let me know what you think.

    Best,
    Mir

  • #if 0
    	/* Analog Mic In */
    	SND_SOC_DAPM_INPUT("IN1LP"),
    	SND_SOC_DAPM_INPUT("IN2LP"),
    	SND_SOC_DAPM_INPUT("IN3LM"),
    
    	SND_SOC_DAPM_INPUT("IN1RM"),
    	SND_SOC_DAPM_INPUT("IN2RP"),
    	SND_SOC_DAPM_INPUT("IN3RM"),
    
    	/* ADC */
    	SND_SOC_DAPM_ADC_E("ADC", "Capture", AIC31XX_ADCSETUP, 7, 0,
    			   aic31xx_dapm_power_event, SND_SOC_DAPM_POST_PMU |
    			   SND_SOC_DAPM_POST_PMD),
    
    	/* Input Selection to MIC_PGA */
    	SND_SOC_DAPM_MUX("IN1LP P-Terminal", SND_SOC_NOPM, 0, 0,
    			 &p_term_mic1lp),
    	SND_SOC_DAPM_MUX("MIC1RP P-Terminal", SND_SOC_NOPM, 0, 0,
    			 &p_term_mic1rp),
    	SND_SOC_DAPM_MUX("MIC1LM P-Terminal", SND_SOC_NOPM, 0, 0,
    			 &p_term_mic1lm),
    
    	SND_SOC_DAPM_MUX("IN1RM M-Terminal", SND_SOC_NOPM, 0, 0,
    			 &m_term_mic1lm),
    These are commented out on the driver page you linked, and I am using the differential version. Would the driver file I sent be more suitable?
  • Hi,

    If the driver came from your version of Linux then it should work. Drivers are verified for every kernel release. There may have been changes to the Linux kernel since your driver was released and it would have changed in the main branch of Linux kernel.

    Best,
    Mir