主题中讨论的其他器件: TLV320AIC3106
大家好、
祝你一切顺利。 我们需要您在以下客户咨询方面提供帮助。
有关客户询问的完整详细信息:
我们有一个在 NXP i.MX6ULZ 芯片上运行的定制板、我们正在尝试使用 i2c 来检测和配置 TLV320AIC34芯片。 目前、我们正在从 Linux-IMX 源代码运行 Linux 5.4.24_2.1.0、该源代码具有在 menuconfig 中启用的 tlvaic3x.c 驱动程序。 我们的问题是、我们无法在 i2c 总线上检测到两个 i2c 地址。 我们已经在 NXP 论坛上尝试了由 Threads 推荐的所有内容。
我们还按如下方式切换了 imx6芯片中一些相关寄存器上的位:
-设置 Clk Dir:IOMUXC_GPR.GPR_GPR1.SAI3_MCLK_DIR
-启用 SAI3_CLK_SEL
- CCGR5上的 CG11在时钟门寄存器上启用
0x20C407C=0x33FF00FF
-清除 PLL4_AUDIO 的断电和设置使能位
0x20C9078=0x00001000
0x20C8074=0x00002000
-电压电源稳定且经过验证
-识别复位引脚并将其切换为不成功
我们的理解是、即使没有启用编解码器、芯片也应该显示在 i2c 总线上。 我们无法做到这一点、我们还验证了原理图、以查看 i2c 的上拉电路。 一切看起来都很好、实际上当我们执行 i2cdetect 时、同一总线上的另一个芯片会出现。 MCLK 由 CPU 上的 Saa3接口提供、我们已配置了下面的代码段中所示的 DTS。 如果在获得这方面有任何帮助,将不胜感激。
/***为 B 编解码器定义声卡***/
听起来{
兼容="FSL、IMX-AUDIBLE-tlv320";
型号="IMX-tlv320";
SSI 控制器=<(&S);
CPU-DAI =<(&S);
audio-codec =<&bcodec>;
编解码器主控;
// mux-int-port =<2>;//* 1、2、7 - SSI *
// mux-ext-port =<5>;// 3-6、IOMUX *
音频路由=
"LINE1L"、"麦克风插孔"、
"耳机插孔"、"HPLOUT"、
"耳机插孔"、"HPROUT"、
"线路输出插孔"、"LLOUT"、
"线路输出插孔"、"RLOUT"、
"MIC Jack"、"Mic Bias";
status="oke";
};
{&CLKS}
分配的时钟=<&CLKS IMX6UL_CLK_PLL4_AUDIO_DIV>;
分配的时钟速率=<786432000>;
};
/***I2C2*上的音频编解码器***/
i2c2{(&I)
状态="正常";
pinctrl-names ="default";
pinctrl-0 =<&pinctrl_i2c2>;
时钟频率=<100000 >;
/***定义 TLV320AIC34的两个编解码器 A 和 B ***/
acodec:tlv320aic34@1a{
兼容="ti、tlv320aic3106";
reg =<0x1a>;
RESET-GPIO =<&GPIO4 13 GPIO_ACTIVE_LOW>;
时钟=<&CLKS IMX6UL_CLK_SAI3>;
时钟名称="MCLK";
status="oke";
#sound-di-cells =<0>;
};
bcodec:tlv320aic34@19{
兼容="ti、tlv320aic3106";
reg =<0x19>;
RESET-GPIO =<&GPIO4 13 GPIO_ACTIVE_LOW>;
时钟=<&CLKS IMX6UL_CLK_SAI3>;
时钟名称="MCLK";
status="oke";
#sound-di-cells =<0>;
};
};
/***启用音频总线和 CLKS 的第3项*****
Saa3{(&S)
#sound-di-cells =<0>;
pinctrl-names ="default";
pinctrl-0 =<&pinctrl_sa3>;
分配的时钟=<&CLKS IMX6UL_CLK_SAI3_SEL>、
<&CLKS IMX6UL_CLK_SAI3>;
分配的时钟父级=<&CLKS IMX6UL_CLK_PLL4_AUDIO_DIV>;
分配的时钟速率=<0>、<12288000>;
FSL、SAI-MCLK 方向输出;
状态="正常";
};
/***在&iomuxc 块内***/
/***音频编解码器芯片信号到 CPU 自定义引脚映射***/
pinctrl_sai3:saE3grp{
FSL、引脚=<
MX6UL_pad_LCD_HSYNC_SAI3_TX_BCLK 0x130B0
MX6UL_PAD_LCD_ENABLE_SAI3_TX_SYNC 0x130B0
MX6UL_PAD_LCD_DATA10__SAI3_RX_SYNC 0x130B0
MX6UL_PAD_LCD_RESET_SAI3_TX_DATA 0x130B0
MX6UL_pad_LCD_VSYNC_SAI3_RX_DATA 0x130B0
MX6UL_PAD_LCD_CLK_SAI3_MCLK 0x130B0
MX6UL_PAD_LCD_DATA11__SAI3_RX_BCLK 0x130B0
>;
};
我们期待您的回应、并期待您一如既往地提供支持。
此致、
Jonathan