完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在我们的项目中,我在带有自主开发载板的 SMARC 模块上有一个 i.MX8M Plus 系统。在载板上,我们使用 MAX98089 音频编解码器,目前我正在尝试将此编解码器集成到此系统中。
在第一步中,我遇到了与上面线程中描述的相同的“问题”。MAX98089 的 CODEC DAI 驱动程序在“sound/soc/codecs/max98088.c”的内核源代码中可用,但在“sound/soc/fsl/”中没有可用的 DAI LINK 驱动程序(机器驱动程序)。所以我继续使用 SGTL5000 机器驱动程序作为模板并修改它以用于 MAX98089。 您可以在附件中找到相应的补丁以及设备树覆盖图: fragment@3002 { 目标路径 = "/"; __overlay__ { sound_max98089: sound-max98089 { compatible = "fsl,imx-audio-max98089"; 型号 = “imx-max98089”; fsl,无audmux; ssi 控制器 = <&sai2>; 音频编解码器 = <&codec_max98089>; 音频路由= “MIC1”,“Mic1 MEMS”, “MIC2”,“Mic2 Elekt”, “外部扬声器”,“SPKR”, “外部扬声器”,“SPKL”; 状态=“好的”; }; }; }; fragment@3003 { 目标 = <&i2c1>; __overlay__ { // 时钟频率 = <100000>; #address-cells = <1> #size-cells = <0>; codec_max98089: codec-max98089@10 { compatible = "maxim,max98089"; reg = <0x10>; 时钟 = <&clkout1>; 时钟名称=“mclk”; 状态=“好的”; }; }; }; fragment@3006 { 目标 = <&sai2>; __overlay__ { pinctrl-names = "默认"; pinctrl-0 = <&pinctrl_sai2>; 分配时钟=<&clk IMX8MP_CLK_SAI2>; 指定时钟父母=<&clk IMX8MP_AUDIO_PLL1_OUT>; 分配的时钟速率 = <12288000>; 时钟=<&audio_blk_ctrl IMX8MP_CLK_AUDIO_BLK_CTRL_SAI2_IPG>, <&clk IMX8MP_CLK_DUMMY>, <&audio_blk_ctrl IMX8MP_CLK_AUDIO_BLK_CTRL_SAI2_MCLK1>, <&clk IMX8MP_CLK_DUMMY>, <&clk IMX8MP_CLK_DUMMY> 时钟名称=“总线”,“mclk0”,“ 状态=“好的”; }; }; 之后内核构建得很好!不幸的是,系统启动后声卡不可用,我收到以下内核消息: [ 7.638306] imx-max98088 sound-max98089: ASoC: CODEC DAI max98088 未注册 [ 7.839314] imx-max98088 sound-max98089: ASoC: CODEC DAI max98088 未注册 [ 8.134267] imx-max98088 sound-max98089: A8SoD8 not max: COD已注册 [8.646973] imx-max98088 sound-max98089:ASoC:CODEC DAI max98088 未注册 [8.661756] imx-max98088 sound-max98089:ASoC:CODEC DAI max98088 未注册 因此,我向我的驱动程序补丁添加了一些进一步的调试消息,也向 CODEC DAI 驱动程序 (sound/soc/codecs/max98088.c) 添加了一些调试消息,您也可以从随附的补丁中观察到这些信息。最后我得到了以下内核消息: [0.357904]imx-max98088 sound-max98089:找不到编解码器平台设备 [0.383237]max98088 0-0010:输入max98088探测功能 [0.383361]max98088 0-0010:尝试注册max98088 [0.383385]max98018:0结果-00 registering max98088: 0 [ 2.502021] max98088 0-0010: codec clk_frequency = 24000000 [ 2.876850] max98088 0-0010: codec clk_frequency = 24000000 [ 2.888556] max98088 0-0010: codec clk_frequency = 24000000 [ 2.983913] max98088 0-0010: codec clk_frequency = 24000000 [3.038974] max98088 0-0010:编解码器 clk_frequency = 24000000 [3.080631] max98088 0-0010:编解码器 clk_frequency = 24000000 [ 3.095586] max98088 0-0010:编解码器 clk_frequency = 04 [3.420405] MAX98088 0-0010:CODEC CLK_FREQUENCY = 24000000 [4.487781] MAX98088 0-0010:CODEREC CLK_FREQUENCY = 24000000 [7.460927] MAX98088 0-001:CODEC CLK_FRK_FEREQUEQUEN = 240000 = 24000000000000000000000000000000000000000000000000000000 号] MAX98088 0-0010:CODEC CLK_FREQUENCY = 24000000 [7.632269] MAX98088 0-0010:CODEREC CLK_FREQUENCY = 24000000 [ 7.638306] IMX-MAX98088 24000000 [ 7.839314] imx-max98088 sound-max98089: ASoC: CODEC DAI max98088 未注册[ 8.114279] max98088 0-0010: 编解码器 clk_frequency = 24000000 [ 8.134267] imx-max98088 sound-max98088 未注册 CODEC: ASo [ 8.639081] max98088 0-0010: codec clk_frequency = 24000000 [ 8.646973] imx-max98088 sound-max98089: ASoC: CODEC DAI max98088 not registered [ 8.655446] max98088 0-0010: codec clk_frequency = 24000000 [ 8.661756] imx-max98088 sound-max98089 : ASoC: CODEC DAI max98088 未注册 因此,关于 CODEC DAI 驱动程序 (sound/soc/codecs/max98088.c) 的内核消息探测函数以及 LINK DAI 驱动程序 (sound/soc/fsl/imx-max98088.c) 的探测函数被调用。但是,当设备应该注册时,有些事情失败了。我还在我的板上做了一些测量,根本没有任何 I2C 访问编解码器。关于补丁中添加的内核消息,还可以观察到,调用了 CODEC DAI 驱动程序的探测函数“max98089_i2c_probe”,但没有调用发生第一个 I2C 总线访问的函数“max98089_probe”。 我是这个主题的新手,我真的被困在这一点上,因为我不知道如何进一步调试这个问题。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1917个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36383 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4412 浏览 0 评论
6076 浏览 1 评论
6787 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4229 浏览 0 评论
632浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
628浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
625浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
704浏览 2评论
811浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 01:04 , Processed in 0.901052 second(s), Total 44, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号