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.

Linux/AM4378: AIC3106 configuration

Part Number: AM4378

Tool/software: Linux

So i can't seem to find anywhere what the available names are for the widgets and routing sections for the sound section in the dts file.

the reason i need to know is because we are attaching a daughter board to the EVM and while it has the same codec as the EVM it is routed differently and i apparently don't know the right name for MONO or MONO_L and LEFT or LEFT_L which are on the codec but not in the routing, as my boot up messages says:

asoc-simple-card sound1: ASoC: no source widget found for MONO
[ 19.788139] asoc-simple-card sound1: ASoC: Failed to add route MONO -> direct -> Line Out Jack
[ 19.788147] asoc-simple-card sound1: ASoC: no source widget found for LEFT
[ 19.788151] asoc-simple-card sound1: ASoC: Failed to add route LEFT -> direct -> Headphone
[ 19.788165] asoc-simple-card sound1: ASoC: no source widget found for Line In Jack
[ 19.788169] asoc-simple-card sound1: ASoC: Failed to add route Line In Jack -> direct -> LINE2R

so what are my options for routing?

  • Hi cobsonchael,

    The available options for widgets and routing you can check in below files:

    linux-4.9.69/Documentation/devicetree/bindings/sound/simple-card.txt
    linux-4.9.69/Documentation/devicetree/bindings/sound/widgets.txt
    linux-4.9.69/sound/soc/codecs/tlv320aic3x.c

    For example, the available widgets are: "Microphone", "Line", "Headphone" and "Speaker"

    Check also below DTS file for example of widgets and routing:

    linux-4.9.69/arch/arm/boot/dts/am43x-epos-evm.dts

    Regards,
    Pavel
  • so looking at those documents i attempted to use (for my routing):

    simple-audio-card,routing =
    "Line Out Jack", "MONO_LOUT",
    "Headphone", "LLOUT",
    "LINE1L", "Microphone",
    "LINE2R", "Line In";

    which i thought might work since in the tlv320aic3x.c file i found the following widgets:
    SND_SOC_DAPM_OUTPUT("LLOUT"),
    SND_SOC_DAPM_OUTPUT("RLOUT"),
    SND_SOC_DAPM_OUTPUT("HPLOUT"),
    SND_SOC_DAPM_OUTPUT("HPROUT"),
    SND_SOC_DAPM_OUTPUT("HPLCOM"),
    SND_SOC_DAPM_OUTPUT("HPRCOM"),

    SND_SOC_DAPM_INPUT("LINE1L"),
    SND_SOC_DAPM_INPUT("LINE1R"),

    SND_SOC_DAPM_OUTPUT("MONO_LOUT"),

    and i get:
    [ 19.191861] asoc-simple-card sound1: ASoC: no sink widget found for Line Out Jack
    [ 19.273897] FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [ 19.464054] asoc-simple-card sound1: ASoC: Failed to add route MONO_LOUT -> direct -> Line Out Jack
    [ 19.638265] asoc-simple-card sound1: ASoC: no source widget found for Line In
    [ 19.783832] asoc-simple-card sound1: ASoC: Failed to add route Line In -> direct -> LINE2R

    i obviously don't understand something about the routing works.
  • cobsonchael said:
    simple-audio-card,routing =
    "Line Out Jack", "MONO_LOUT",

    cobsonchael said:
    [ 19.191861] asoc-simple-card sound1: ASoC: no sink widget found for Line Out Jack

    I think the problem is that you do not have "Line Out Jack" widget in tlv320aic3x.c, davinci-evm.c and soc-core.c files. You can try to add this widget into "simple-audio-card,widgets" DTS entry. See below e2e thread for example:

    Regards,
    Pavel