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.

Beaglebone Black and AIC320TLV3206 USBEVM

Other Parts Discussed in Thread: TLV320AIC3206, PCM1681, PCM1792A, TAS2552, TAS5086, TPA6130A2, TLV320AIC3204

I am trying to interface beaglebone black to AIC320TLV3206 USBEVM to run a playback. I tried to modify am335x-boneblack.dts: add tlv320aic3206 node, use i2c1 to configure AIC3206, use McASP0 to send voice data to AIC3206, but when I defined the sound, I got  the error when I compile the device tree with TI processor SDK:

Error: arch/arm/boot/dts/am335x-boneblack.dts:210.2-7 syntax error
FATAL ERROR: Unable to parse input tree

1. Is tlv320aic3206 supported by SDK? If not, is there any way that I can modify existing the files to make it work?

2.I don't understand why device tree compiler is unable to pare input tree for sound, what is the cause?

 

Does anyone have any experience in these cases?

Thanks

Bruce

  • Hi, Bruce,

    Welcome to E2E and thank you for your interest in our products!

    I moved your post to the Sitara Processors Forum. They might answer your questions about the Beaglebone. If you have a specific question about the TLV320AIC3206, please feel free of asking about it on the Audio Converters Forum.

    Best regards,
    Luis Fernando Rodríguez S.
  • AIC320TLV3206 USBEVM: how is this connected to the Beaglebone Black?
  • Hi,

    Thanks for your response.

    We haven't figured out how to connect AIC320TLV3206 USEEVM to Beaglebone Black to test yet, do you have any information for this?

  • I don't have information about this EVM, but I am sure that if you try to connect it via USB it will most probably not work. You need to connect the codec signals and power supply inputs directly to the BBB expansion headers if this is possible.
  • Hi,

    Thanks for your response.

    I have the related questions about the driver for supporting tlv320aic3206:

     Does the latest TI processor SDK support tlv320aic3206?

    I found the drivers tlv320aic3x.c/h, tlv320aic32x4.c/h in ~/ti-processor-sdk-linux-am335x-evm-02.00.01.07/board-support/linux-4.1.13+gitAUTOINC+8dc66170d9-g8dc6617/sound/soc/codecs, I am not sure if they support and are able to modify to support tlv320aic3206;

    if not, where can we find the driver?

    Thanks

  • Hi,

    There isn't a dedicated driver specifically for the tlv320aic3206. I checked both latest tisdk (kernel 4.1.13) & mainline kernel (v 4.5).

    However looking at the codec datasheed, I noticed that it has the same register map as tlv32aic3204 (which is supported in tlv32aic32x4), so you should be able to use that driver (tlv320aic32x4.c).

    Best Regards,
    Yordan
  • Hi Yordan,

    Thank you very much for your help!

    Bruce

  • Hi Yordan,

    Than you for your help.

    I am trying to add tlv320aic32x4 to kernel. I follow the steps from "Sitara Linux Audio DAC Example" (link: processors.wiki.ti.com/.../Sitara_Linux_Audio_DAC_Example); then, I go to ~/ti-processor-sdk-linux-am335x-evm-02.00.01.07/board-support/linux-4.1.13+gitAUTOINC+8dc66170d9-g8dc6617, type 

    make menuconfig

    ==== Kernel config ====
     Device Drivers  --->
       Sound card support  --->
         Advanced Linux Sound Architecture  --->
           ALSA for SoC audio support  --->


    I see:

    --- ALSA for SoC audio support │ │
    │ │ < > SoC Audio for the Atmel System-on-Chip │ │
    │ │ SoC Audio for Freescale CPUs ---> │ │
    │ │ < > ASoC Audio DSP Support for MID BYT Platform (NEW) │ │
    │ │ < > ASoC support for QCOM platforms │ │
    │ │ < > XTFPGA I2S master │ │
    │ │ CODEC drivers ---> │ │
    │ │ <M> ASoC Simple sound card support

    next, I select

    CODEC drivers --->

    I don't see the new device codec for TLV320AIC32X4; instead, I see the following CODECs:

    < > Analog Devices ADAU1701 CODEC │ │
    │ │ < > AKM AK4104 CODEC │ │
    │ │ < > AKM AK4554 CODEC │ │
    │ │ < > AKM AK4642 CODEC │ │
    │ │ < > AKM AK5638 CODEC │ │
    │ │ < > Realtek ALC5623 CODEC │ │
    │ │ < > Cirrus Logic CS35L32 CODEC │ │
    │ │ < > Cirrus Logic CS42L51 CODEC (I2C) │ │
    │ │ < > Cirrus Logic CS42L52 CODEC │ │
    │ │ < > Cirrus Logic CS42L56 CODEC │ │
    │ │ < > Cirrus Logic CS42L73 CODEC │ │
    │ │ < > Cirrus Logic CS4265 CODEC │ │
    │ │ < > Cirrus Logic CS4270 CODEC │ │
    │ │ < > Cirrus Logic CS4271 CODEC (I2C) │ │
    │ │ < > Cirrus Logic CS4271 CODEC (SPI) │ │
    │ │ < > Cirrus Logic CS42448/CS42888 CODEC (I2C) │ │
    │ │ <M> HDMI stub CODEC │ │
    │ │ < > Everest Semi ES8328 CODEC │ │
    │ │ < > Texas Instruments PCM1681 CODEC │ │
    │ │ < > Texas Instruments PCM1792A CODEC │ │
    │ │ < > Texas Instruments PCM512x CODECs - I2C │ │
    │ │ < > Texas Instruments PCM512x CODECs - SPI │ │
    │ │ < > Realtek ALC5631/RT5631 CODEC │ │
    │ │ < > Freescale SGTL5000 CODEC │ │
    │ │ < > SiRF SoC internal audio codec │ │
    │ │ < > S/PDIF CODEC │ │
    │ │ < > Analog Devices SSM2602 CODEC - SPI │ │
    │ │ < > Analog Devices SSM2602 CODEC - I2C │ │
    │ │ < > Analog Devices ssm4567 amplifier driver support │ │
    │ │ < > STA326, STA328 and STA329 speaker amplifier │ │
    │ │ < > STA350 speaker amplifier │ │
    │ │ < > Texas Instruments TAS2552 Mono Audio amplifier │ │
    │ │ < > Texas Instruments TAS5086 speaker amplifier │ │
    │ │ < > NXP Semiconductors TFA9879 amplifier │ │
    │ │ < > Texas Instruments TLV320AIC23 audio CODEC - I2C │ │
    │ │ < > Texas Instruments TLV320AIC23 audio CODEC - SPI │ │
    │ │ <M> Texas Instruments TLV320AIC31xx CODECs

    <M> Texas Instruments TLV320AIC3x CODECs │ │
    │ │ < > TI Headset/Mic detect and keypress chip │ │
    │ │ < > Wolfson Microelectronics WM8510 CODEC │ │
    │ │ < > Wolfson Microelectronics WM8523 DAC │ │
    │ │ < > Wolfson Microelectronics WM8523 CODEC │ │
    │ │ < > Wolfson Microelectronics WM8711 CODEC │ │
    │ │ < > Wolfson Microelectronics WM8728 DAC │ │
    │ │ < > Wolfson Microelectronics WM8731 CODEC │ │
    │ │ < > Wolfson Microelectronics WM8737 ADC │ │
    │ │ < > Wolfson Microelectronics WM8737 DAC │ │
    │ │ < > Wolfson Microelectronics WM8750 CODEC │ │
    │ │ < > Wolfson Microelectronics WM8753 CODEC │ │
    │ │ < > Wolfson Microelectronics WM8770 CODEC │ │
    │ │ < > Wolfson Microelectronics WM8776 CODEC │ │
    │ │ < > Wolfson Microelectronics WM8804 S/PDIF transceiver I2C │ │
    │ │ < > Wolfson Microelectronics WM8804 S/PDIF transceiver SPI │ │
    │ │ < > Wolfson Microelectronics WM8903 CODEC │ │
    │ │ < > Wolfson Microelectronics WM8962 CODEC │ │
    │ │ < > Wolfson Microelectronics WM8978 codec │ │
    │ │ < > Texas Instruments TPA6130A2 headphone amplifier

    I do not know what I am missing, how can I add TLV320AIC32X4 to kernel config menu to build the kernel?

    Thanks



     

  • Hi,

    Try adding CONFIG_SND_SOC_TLV320AIC32X4 in arch/arm/configs/tisdk_am335x-evm_devconfig file, under the Codec Driver Section:

    #

    # CODEC drivers

    #

    # CONFIG_SND_SOC_ADAU1701 is not set

    # CONFIG_SND_SOC_AK4104 is not set

    # CONFIG_SND_SOC_AK4554 is not set

    # CONFIG_SND_SOC_AK4642 is not set

    # CONFIG_SND_SOC_AK5386 is not set

    # CONFIG_SND_SOC_ALC5623 is not set

    # CONFIG_SND_SOC_CS35L32 is not set

    CONFIG_SND_SOC_TLV320AIC32X4=y

    And see if the kernel will build the tlv320aic32x4.c codec driver.

    Best Regards, 

    Yordan

  • Hi Yordan,

    I tried to add 

    CONFIG_SND_SOC_TLV320AIC32X4=y

    in arch/arm/configs/tisdk_am335x-evm_devconfig, but still can not see TLV320AIC32X4 in menuconfig. I am not sure if this driver is not included or I am looking at the wrong place. I am looking at:

    Device Drivers  ---> 

    <*> Sound card support  --->

    <*>   Advanced Linux Sound Architecture  --->

    <*>   ALSA for SoC audio support  --->

    CODEC drivers  --->

    How do I know whether kernel will build the driver or not? My understanding is if menuconfig doesn't show TLV320AIC3204, then kernel will not build this driver, is it right?

    Actually,we are using TLV320AIC3206 for audio application and try to find CODEC driver available in TI processor SDK, I found some of them listed on menuconfig, such as TLV320AIC3X, I am not not sure if they support TLV320AIC3206 as well.

    Your help are highly appreciated.

     

  • Hi Yordan,

    I also checked ~/ti-processor-sdk-linux-am335x-evm-02.00.01.07/board-support/linux-4.1.13+gitAUTOINC+8dc66170d9-g8dc6617/.config file, I found that the line

    CONFIG_SND_SOC_TLV320AIC32X4=y

    is not added even though I add this line in arch/arm/configs/tisdk_am335x-evm_devconfig. I use the following commands:

    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- tisdk_am335x-evm_defconfig

    thanks
  • Hi Yordan,

    I also checked ~/ti-processor-sdk-linux-am335x-evm-02.00.01.07/board-support/linux-4.1.13+gitAUTOINC+8dc66170d9-g8dc6617/.config file, I found that the line

    CONFIG_SND_SOC_TLV320AIC32X4=y

    is not added even though I add this line in arch/arm/configs/tisdk_am335x-evm_devconfig. I use the following commands:

    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- tisdk_am335x-evm_defconfig

    thank you.