主题中讨论的其他器件:PCM3168、 AM5728、
以便我可以接收 PCM3168 EVM 的 PCB 文件。
我希望收到这些邮件、我的电子邮件是 angel.dimitrov@tid-engineering.bg
谢谢。
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 将此芯片连接到 AM5728、但我不熟悉 DTS 文件。 这是否起作用?
i2c1{(&I) pinctrl-names ="default"; pinctrl-0 =<&i2c1_PINs>; 状态="正常"; 时钟频率=<100000 >; pcm3168:pcm3168@44{ 兼容="ti、pcm3168"; reg =<0x44>; 状态="正常"; }; }; &McASP0{ pinctrl-names ="default"; pinctrl-0 =<&McASP0_PINs>; 状态="正常"; OP-MODE =<0>; /* MCASP_TDM_MODE * TDM-SLOTS =<4>; num-serializer =<16>; serial-dir =</* 0:非活动、1:TX、2:Rx * 1 1 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >; tx-num-evt =<1>; Rx-num-evt =<1>; };
换言之:我知道如何使用驱动程序执行引脚多路复用和重建内核、但我不知道如何执行其余的 DTS 配置。
--------
我的替代方案是 USB 转 I2S 芯片、但编解码器驱动程序如何知道 I2S 流在哪里?
天使
此处提供了 PCM3168 DTS 的文档 。 您可以设置时钟和电源。 例如:
i2c0:i2c0@0 {... pcm3168a:音频编解码器@44{ compatible ="ti、pcm3168a"; reg =<0x44>; reset-GPIO =<&GPIO0 4 GPIO_ACTIVE_LOW>; Clocks =<&clk_core CLK_audio>; clock-names ="scki"; VDD1-supply =<&v3vv3 =<&vsupply2>;VDD3v3-supply = v3-supply = v3-supply 2;v3v3-supply = v3v3-supply = v3-supply VCCAD2-SUPPLY =<&supply5v0>; VCCDA1-SUPPLY =<&supply5v0>; VCCDA2-SUPPLY =<&supply5v0>; pinctrl-names ="default"; pinctrl-0 =<&DAC_clk_pine>; }; };
对于 BeagleBone Black、我使用:
&McASP0{
#sound-di-cells =<0>;
pinctrl-names ="default";
pinctrl-0 =<&McASP0_PINs>;
状态="正常";
OP-MODE =<0>;/* MCASP_IIS_MODE */
TDM-SLOTS =<6>;
serial-dir =</* 0:非活动、1:TX、2:Rx */ 2 0 1 0 >;
tx-num-evt =<32>;
Rx-num-evt =<32>;
};
加上声音对象:
听起来{
兼容="简单音频卡";
simple-audio-card、name ="TI BeagleBone Black";
#sound-di-cells =<1>;
simple-audio-card、di-link@0{
格式="DSP_A";
bitclock-master =<&sound0_master>;
frame-master =<&sound0_master>;
Sound0_master:CPU{
Sound-Dai =<&McASP0>;
时钟=<&clk_McASP0>;
di-tdm-slot-num =<6>;
di-tdm-slot-width =<32>;
di-tdm-slot-ts-mask =<1 1 1 1 1>;
di-tdm-slot-rx-mask =<1 1 1 1 1>;
};
编解码器{
sound-dai =<&pcm3168a>;
};
};
以支持六个32位数据通道。
然后使用 alsamixer 或 amixer 命令控制驱动程序的声音小部件(音量、高通滤波器、数字滤波器、开关等)
此致、
佩德罗
如何为 EVM 的双数和 dins 进行布线。
例如:
DOut1 -> AXR? (哪种 AXR)
DOT2 -> AXR?
。
Din1 -> AXR?
Din2 -> AXR?
--------------------------
我认为它是:(如果 serial-dir =</* 0:非活动、1:TX、2:Rx */ 2 0 1 0 >;)
DOUT[1:3]-> AXR[0:2]
无 -> AXR[4:7]
DIN[1:4] -> AXR[8:11]
我认为是正确的吗?
天使
这取决于您连接的引脚以及使用的 ADC 和 DAC 通道。 如果使用六个 ADC (三个 DOUT、每个样本两个值)和八个 DAC (四个 DIN、每个样本两个值)、则您的建议适用于:
DOUT[1:3]-> AXR[0:2]
无 -> AXR[3:7]
DIN[1:4] -> AXR[8:11]
TDM-SLOTS =<2>; //每个串行器上有2个用于 I2S 或 DSP 格式的插槽,因为每个样本有2个值*/
serial-dir =<2 2 0 0 0 0 1 1 1>/* 0:未激活、1:TX、2:Rx */
此致、
佩德罗