1
votes

I'm working with a Yocto project on a NXP i.M6Quad.The hardware architetture is this: the i.MAX6Quad has 6 output connected to 3 ST FDA2100 and 2 input from ADC. In the first step that I need is simply to enable 6 output and send I2S audio to FDAs. In the second step is required a clock for ADC and enable input ports. I spent days/weeks reading docs, examples etc without success. I understood that working on device tree file and setting a simple audio card with generic codec properly is the answer, but at the moment this is the result at boot.

asoc-simple-card sound-fda2100: asoc_simple_card_dai_link_of: Can't find simple-audio-card,codec DT node

asoc-simple-card sound-fda2100: parse error -22

asoc-simple-card: probe of sound-fda2100 failed with error -22

This is the part of device tree I added:

sound-fda2100 {
    compatible = "simple-audio-card";
    simple-audio-card,name = "MTC-FDA2100-Card";
    simple-audio-card,format = "i2s";
    simple-audio-card,codec {
        sound-dai = <&codec_test>;
    };
};

codec_test: codec_test {
     compatible = "linux,snd-soc-dummy";
     #sound-dai-cells = <0>;
 };

There is someone can tell me how add codec node correctly? Thanks in advance.

1

1 Answers

0
votes

Try this: sound-dai = <&codec_test 0>; This error is related to how the driver it's expecting the parameters from the DT; you can get this information from the kernel biddings documentation.