在SAM9X60板的设备树中添加I2S音频

发布于 2025-02-12 22:04:09 字数 2337 浏览 0 评论 0原文

我们的团队有一个SAM9X60板,最近添加了外部音频板(UDA1334A,链接:文档)。不幸的是,该文档只有Raspberry Pi指南,并且与我们的板设备树确实有所不同。因此,我尝试将自己添加到设备树中,主要基于SAM9X60的有了另一个板,但确实有所不同。

据我了解,音频板使用UDA1334编解码器,我必须在设备树上添加一个声音标签,例如SAM9x60教程:

sound {
        compatible = "mikroe,mikroe-proto";
        model = "wm8731 @ sam9x60ek";
        i2s-controller = <&i2s>;
        audio-codec = <&wm8731>;
        dai-format = "i2s";
        };

但是我没有找到此卡的任何驱动程序。环顾四周之后,我在启动时尝试了简单的afio卡

sound {
        compatible = "simple-audio-card";
        simple-audio-card,name = "1334 Card";
        simple-audio-card,format = "i2s";
        simple-audio-card,widgets = "Speaker", "Speakers";
        simple-audio-card,routing = "Speakers", "Speaker";
        simple-audio-card,bitclock-master = <&codec_dai>;
        simple-audio-card,frame-master = <&codec_dai>;
        simple-audio-card,cpu {
            #sound-dai-cells = <0>;
                sound-dai = <&i2s>;
            };
        codec_dai: simple-audio-card,codec {
            #sound-dai-cells = <1>;
            sound-dai = <&uda1334>;
        };
    };

        uda1334: codec@1a {
            compatible = "nxp,uda1334";
            nxp,mute-gpios = <&pioA 8 GPIO_ACTIVE_LOW>;
            nxp,deemph-gpios = <&pioC 3 GPIO_ACTIVE_LOW>;
            status = "okay";
        };

,我收到消息:

OF: /sound/simple-audio-card,codec: could not get #sound-dai-cells for /codec@1a
asoc-simple-card sound: parse error -22                                         
asoc-simple-card: probe of sound failed with error -22

那么我是否使用simple-audio-card做正确的方法?还是其他方式?通常,ALSA录制了一张ClassD声卡,但我认为这只是一个放大器。抱歉,因为我是Android SW开发人员,必须从戒烟人员那里完成HW工作。

外部问题:我已经在基于UDA1334文档的Raspberry设备树上进行了调查,据我了解,它已经使用了hifiberry dac是如此不同,但是它如何与像uda1334这样的外部DAC使用?我见过的设备树中没有外部节点?看起来他们只是打开dtoverlay = hifiberry-dacdtoverlay = i2s-mmap and and。

Our team has a SAM9x60 board and recently add an external audio board (UDA1334A, link: Documents). Unfortunately, this document has guide for Raspberry Pi only, and somehow it's really different with our board device tree. So I have tried myself to add into device tree, mostly based on SAM9x60's Tutorial with another board, but it's really different.

As I understand, the audio board use UDA1334 codec, and I have to add a sound tag to device tree, like SAM9x60 tutorial:

sound {
        compatible = "mikroe,mikroe-proto";
        model = "wm8731 @ sam9x60ek";
        i2s-controller = <&i2s>;
        audio-codec = <&wm8731>;
        dai-format = "i2s";
        };

But I haven't found any driver for this card. After look around, I tried with simple-audio-card

sound {
        compatible = "simple-audio-card";
        simple-audio-card,name = "1334 Card";
        simple-audio-card,format = "i2s";
        simple-audio-card,widgets = "Speaker", "Speakers";
        simple-audio-card,routing = "Speakers", "Speaker";
        simple-audio-card,bitclock-master = <&codec_dai>;
        simple-audio-card,frame-master = <&codec_dai>;
        simple-audio-card,cpu {
            #sound-dai-cells = <0>;
                sound-dai = <&i2s>;
            };
        codec_dai: simple-audio-card,codec {
            #sound-dai-cells = <1>;
            sound-dai = <&uda1334>;
        };
    };

        uda1334: codec@1a {
            compatible = "nxp,uda1334";
            nxp,mute-gpios = <&pioA 8 GPIO_ACTIVE_LOW>;
            nxp,deemph-gpios = <&pioC 3 GPIO_ACTIVE_LOW>;
            status = "okay";
        };

When booting, I received message:

OF: /sound/simple-audio-card,codec: could not get #sound-dai-cells for /codec@1a
asoc-simple-card sound: parse error -22                                         
asoc-simple-card: probe of sound failed with error -22

So have I do the right way with simple-audio-card? Or any other way? In normal, ALSA recorded a classD sound card, but I think it is just a amplifier. Sorry because I'm an Android SW Developer and have to do the HW job from a quit people.

External Question: I have investigate on Raspberry device tree based on UDA1334 document, it's so different, as I understand, Rasp use HiFiberry Dac already, but how could it work with an external DAC like UDA1334? No external node in device tree I've seen? Look like they just open dtoverlay=hifiberry-dac, dtoverlay=i2s-mmap and it work.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文