工具/软件:
您好 TI 专家
SDK:0806
主板:Customer Board(No Matter)
这是我的设计:
我想通过 McASP0和 mcasp11从传感器获取音频数据。
A2B 菊花链的配置是通过 C6X_1的 I2C 进行配置的。
如何修改设备树以在 Linux 中创建两个声卡(McASP0和 mcasp11)、从而从两个声卡获取音频数据?
此致
Eason
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.
工具/软件:
您好 TI 专家
SDK:0806
主板:Customer Board(No Matter)
这是我的设计:
我想通过 McASP0和 mcasp11从传感器获取音频数据。
A2B 菊花链的配置是通过 C6X_1的 I2C 进行配置的。
如何修改设备树以在 Linux 中创建两个声卡(McASP0和 mcasp11)、从而从两个声卡获取音频数据?
此致
Eason
尊敬的 Eason:
您可以查看 TDA4VM EVM 器件树以获取灵感。 您只需为 McASP0和 McASP11创建器件树节点。
我还在该主题中介绍了更多详细信息: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1501141/tda4vm-mcasp1-can-not-work
此外、您可以改用更新的 SDK 版本吗?
此致、
Jared
您好、Jared
我单击了错误按钮、此问题未解决、因此让我们继续讨论。
您提供的参考链接非常有用、但实际上我的问题未解决。 下面是我的调试方法和问题:
1)、我也使用 A2B 芯片 AD2428。在正常应用中、我集成或编写了 AD2428 编解码器驱动程序、但实际上、AD2428的配置是在 C6X_1上完成的(通过 I2C、但此 I2C 也配置了其他 A2B 芯片、因此不能在 Linux 上使用)、因此无法在 Linux 中添加 AD2428编解码器驱动程序。 所以我仍然需要编解码器???
2),我 修改了 dts 和一个虚拟编解码器:
mcasp0_pins_default: mcasp0_pins_default { pinctrl-single,pins = < J721E_IOPAD(0xd4, PIN_OUTPUT_PULLDOWN, 12) /* (AB26) PRG0_PRU0_GPO9.MCASP0_ACLKX */ J721E_IOPAD(0xd8, PIN_OUTPUT_PULLDOWN, 12) /* (AB25) PRG0_PRU0_GPO10.MCASP0_AFSX */ J721E_IOPAD(0xb0, PIN_INPUT_PULLDOWN, 12) /* (AF28) PRG0_PRU0_GPO0.MCASP0_AXR0 */ /* J721E_IOPAD(0xb4, PIN_INPUT_PULLDOWN, 12)*/ /* (AE28) PRG0_PRU0_GPO1.MCASP0_AXR1 */ J721E_IOPAD(0xc0, PIN_OUTPUT_PULLDOWN, 12) /* (AD25) PRG0_PRU0_GPO4.MCASP0_AXR2 */ /* J721E_IOPAD(0xc8, PIN_OUTPUT_PULLDOWN, 12)*/ /* (AE26) PRG0_PRU0_GPO6.MCASP0_AXR4 */ >; }; sound2: sound@2 { status = "okay"; compatible = "simple-audio-card"; simple-audio-card,name = "front-sensor-a2b3-mcasp0"; simple-audio-card,format = "left_j"; simple-audio-card,mclk-fs = <1024>; simple-audio-card,bitclock-master = <&dailink2_master>; simple-audio-card,frame-master = <&dailink2_master>; dailink2_master: simple-audio-card,cpu { sound-dai = <&mcasp0>; dai-tdm-slot-num = <32>; dai-tdm-slot-width = <32>; mclk-fs = <1024>; clocks = <&k3_clks 174 1>; clock-names = "fck"; system-clock-direction-out; }; simple-audio-card,codec { sound-dai = <&dummy_codec2>; }; }; dummy_codec2: dummy-codec2 { status = "okay"; compatible = "autox,a2b-codec"; #sound-dai-cells = <0>; id = <1>; }; &mcasp0 { status = "okay"; #sound-dai-cells = <0>; pinctrl-names = "default"; pinctrl-0 = <&mcasp0_pins_default>; op-mode = <0>; /* MCASP_IIS_MODE */ tdm-slots = <32>; auxclk-fs-ratio = <1024>; serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */ 2 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 >; tx-num-evt = <1>; rx-num-evt = <1>; };
希望得到您的支持。
此致
Eason
您好 Jared
[引述 userid="574088" url="~/support/processors-group/processors/f/processors-forum/1513738/tda4vm-how-add-new-snd-card-in-linux/5821243 #5821243"]如果您使用 AXR0作为 RX 和 AXR2作为 TX、则以下是正确的属性。
serial-dir = < 2 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 >;
此致、
[/报价]好、
如何设置 McASP 插槽大小?
此致
Eason