Thread 中讨论的其他器件:SYSBIOS
我们有一个使用数字麦克风的设计、但我在 DTS 文档的任何地方都看不到任何表明使用数字麦克风的东西
https://www.kernel.org/doc/Documentation/devicetree/bindings/sound/tlv320aic3x.txt
如何在设备树文件中设置数字麦克风、然后如何在程序中切换到该输入(我们以前一直在使用 ALSA 进行音频)
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.
我们有一个使用数字麦克风的设计、但我在 DTS 文档的任何地方都看不到任何表明使用数字麦克风的东西
https://www.kernel.org/doc/Documentation/devicetree/bindings/sound/tlv320aic3x.txt
如何在设备树文件中设置数字麦克风、然后如何在程序中切换到该输入(我们以前一直在使用 ALSA 进行音频)
如果您要访问 PAGE 1、则需要执行一个切换页的步骤、将寄存器0x00写入切换页、例如、如果将 reg0x00写入0x01、则 可以 得到 PAGE 1中的所有寄存器。
我修改了内核6.7中的驱动程序代码,你可以 尝试验证它(如下),看看它是否可以工作,如果不是,请在记录前后与我分享 RegDump 的内容。
e2e.ti.com/.../tlv320aic3x_2D00_i2c.c
e2e.ti.com/.../8054.tlv320aic3x.c
e2e.ti.com/.../3678.tlv320aic3x.h
BTW 对于 DTS 配置、如果要启用 DMIC、则需要配置 GPIO、添加
我知道如何写入第1页寄存器。 我们已经在 SYSBIOS 中做了这项工作。 我想知道是否有 API 可以在 Linux 中实现它、或者它是否需要直接 i2c 写入来更改它们?
遗憾的是、我们至少有几周没有硬件可供我测试。 我写这篇文章的目的是在硬件推出时做好准备
我的 DTS 看起来是这样的:
simple-audio 卡、小工具=
/* 1 */"扬声器"、"POTS 线路输出"、
/* 2 */"扬声器"、"手机扬声器"、/*(2)*/
/* 3 */"扬声器"、"外置扬声器"、/*(3)*/
/* 5 */"线路"、"POTS 线路输入"、
/* 6 */"麦克风"、"手机麦克风"、/*(7)*/
/* 7 */"线路"、"外部麦克风";///*(8)*/
简单音频卡、路由=
/* 1 */"POTS 线路输出"、"Dono_lout"、
/* 2 */"听筒扬声器"、"LLOut"、/*引脚29、30 */
/* 3 */"外置扬声器"、"RLOUT"、/*引脚31、32 */
/* 6 */"LINE2R"、"PTS 线路输入"、
/* 7 */"LINE1L"、"手持终端麦克风"、/*引脚3、4 */
/* 8 */"DMICR"、"外部麦克风"、/*引脚7、8 */
/* 9 */"LINE1R"、"耳机麦克风"、
/* 10 */"手持终端麦克风"、"麦克风偏置";/*引脚13 */
当我需要切换到 dmic 时、可以使用 asla 发出:
"正确的 PGA 混频器 DMICR 开关" 、对吗? 或者、我是否需要执行 i2c 写入以切换到 dmic 例程?