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.

[参考译文] TLV320ADC5140:Raspberry Pi 上的器件树

Guru**** 2386620 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1044970/tlv320adc5140-device-tree-on-raspberry-pi

器件型号:TLV320ADC5140

大家好、

把这个包裹在我的脖子上。 尝试在 Raspberry Pi 上启动该 ADC 以进行一些实验。 正在识别驱动程序(在中、我可以看到 i2c 事务来重置芯片、然后将其唤醒)、但我在日志中看到这些消息、并且器件不会出现;

[   75.487720] tlv320adcx140-codec 1-0054: ASoC: error at snd_soc_component_probe on tlv320adcx140-codec.1-0054: -22
[   75.498363] tlv320adcx140-codec 1-0054: ASoC: failed to probe component -22
[   75.505861] asoc-simple-card soc:sound: ASoC: failed to instantiate card -22

这将是显而易见的、我当然不是器件树专家、但如果有人对问题有任何建议、我会非常感激。

Dave

// Definitions for tlv320adcx140 multi-channel codec
/dts-v1/;
/plugin/;

/ {
        compatible = "brcm,bcm2837", "brcm,bcm2836", "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709";

        fragment@0 {
                target = <&i2s>;
                __overlay__ {
                        #sound-dai-cells = <0>;
                        status = "okay";
                };
        };

        fragment@1 {
                target-path="/";
                __overlay__ {
                        codec_mclk:codec-mclk {
                                compatible = "fixed-clock";
                                #clock-cells = <0>;
                                clock-frequency = <24000000>;
                        };
                };
        };

        fragment@2 {
                target = <&i2c_arm>;
                __overlay__ {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        status = "okay";

                        codec: tlv320adc5140@54{
                                compatible = "ti,tlv320adc5140";
                                reg = <0x54>;
                                #sound-dai-cells = <0>;
                                ti,use-internal-areg;
                                ti,mic-bias-source = <0>;
                                iov-supply = <&codec_reg_3v3>;                               ldoin-supply = <&codec_reg_3v3>;
                        };
                };
        };

        fragment@3 {
                target-path = "/";
                __overlay__ {
                        codec_reg_3v3: codec-reg-3v3 {
                                compatible = "regulator-fixed";
                                regulator-name = "tlv320adc5140_3v3";
                                regulator-min-microvolt = <3300000>;
                                regulator-max-microvolt = <3300000>;
                                regulator-always-on;
                        };
                };
        };

        fragment@4 {
                target = <&sound>;
                sound_overlay: __overlay__ {
                        compatible = "simple-audio-card";
                         simple-audio-card,name = "technosampler";
                         simple-audio-card,format = "i2s";
                         simple-audio-card,bitclock-master = <&codec_dai>;
                         simple-audio-card,frame-master = <&codec_dai>;
                         simple-audio-card,widgets =
                             "Microphone", "Microphone Jack",
                             "Headphone",  "Headphone Jack",
                             "Speaker", "External Speaker";

                         simple-audio-card,routing =
                         "MIC_IN", "Microphone Jack",
                         "Headphone Jack", "HP_OUT",
                         "External Speaker", "LINE_OUT";
                        status = "okay";
                         cpu_dai: simple-audio-card,cpu {
                                  sound-dai = <&i2s>;
                        };

                        codec_dai: simple-audio-card,codec {
                                 sound-dai = <&codec>;
                                 clocks = <&codec_mclk>;
                                 };
                };
         };
        __overrides__ {
                alsaname = <&sound_overlay>,"simple-audio-card,name";
        };
};


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、只需在此更新;Ubuntu 5.11中的驱动程序(内核模块)似乎是错误的。 从该站点下载当前的模块代码并对其进行编译会使此问题消失。