明远智睿技术论坛

 找回密码
 立即注册
搜索
查看: 26987|回复: 13
打印 上一主题 下一主题

【已解决】linux3.14.52+qt5 wm8960驱动 求助

[复制链接]

18

主题

47

帖子

257

积分

中级会员

Rank: 3Rank: 3

积分
257
跳转到指定楼层
楼主
发表于 2018-3-26 15:40:41 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 CONAN 于 2018-4-3 11:40 编辑

参照EK200开发板设计的底板,使用linux3.14.52+qt5的系统,音频使用wm8960。
1、内核编译选择了wm8960,去掉了wm8962;
2、 wm8960 在设备树里添加设备信息参考如下:


        在 myimx6ek200.dtsi 中找到   
        codec: wm8962@1a {
                compatible = "wlf,wm8962";
                reg = <0x1a>;
                clocks = <&clks 201>;
                DCVDD-supply = <®_audio>;
                DBVDD-supply = <®_audio>;
                AVDD-supply = <®_audio>;
                CPVDD-supply = <®_audio>;
                MICVDD-supply = <®_audio>;
                PLLVDD-supply = <®_audio>;
                SPKVDD1-supply = <®_audio>;
                SPKVDD2-supply = <®_audio>;
                amic-mono;
                gpio-cfg = <
                        0x0000 /* 0efault */
                        0x0000 /* 1efault */
                        0x0013 /* 2:FN_DMICCLK */
                        0x0000 /* 3efault */
                        0x8014 /* 4:FN_DMICCDAT */
                        0x0000 /* 5efault */
                >;
       };

        修改为:
[color=inherit !important]        codec: wm8960@1a {
                compatible = "wlf,wm8960";
                reg = <0x1a>;
                clocks = <&clks 201>;
                clock-names = "mclk";
                wlf,shared-lrclk;
        };


        找到
        sound {
                compatible = "myzr,myimx6-wm8962",
                           "fsl,imx-audio-wm8962";
                model = "wm8962-audio";
                cpu-dai = <&ssi2>;
                audio-codec = <&codec>;
                asrc-controller = <&asrc>;
                audio-routing =
                        "Headphone Jack", "HPOUTL",
                        "Headphone Jack", "HPOUTR",
                        "Ext Spk", "SPKOUTL",
                        "Ext Spk", "SPKOUTR",
                        "MICBIAS", "AMIC",
                        "IN3R", "MICBIAS",
                        "DMIC", "MICBIAS",
                        "DMICDAT", "DMIC",
                        "CPU-Playback", "ASRC-Playback",
                        "layback", "CPU-Playback",
                        "ASRC-Capture", "CPU-Capture",
                        "CPU-Capture", "Capture";
                mux-int-port = <2>;
                mux-ext-port = <3>;
                hp-det-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
                mic-det-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
        };
        并修改为
        sound {
                compatible = "fsl,imx-audio-wm8960";
                model = "wm8960-audio";
                cpu-dai = <&ssi2>;
                audio-codec = <&codec>;
                asrc-controller = <&asrc>;
                codec-master;
                gpr = <&gpr>;
                /*
                 * hp-det = <hp-det-pin hp-det-polarity>;
                 * hp-det-pin: JD1 JD2  or JD3
                 * hp-det-polarity = 0: hp detect high for headphone
                 * hp-det-polarity = 1: hp detect high for speaker
                 */
                hp-det = <3 0>;
                hp-det-gpios = <&gpio3 20 0>;
                audio-routing =
                        "Headset Jack", "HP_L",
                        "Headset Jack", "HP_R",
                        "Ext Spk", "SPK_LP",
                        "Ext Spk", "SPK_LN",
                        "Ext Spk", "SPK_RP",
                        "Ext Spk", "SPK_RN",
                        "LINPUT2", "Hp MIC",
                        "LINPUT3", "Hp MIC",
                        "RINPUT1", "Main MIC",
                        "RINPUT2", "Main MIC",
                        "Hp MIC", "MICB",
                        "Main MIC", "MICB",
                        "CPU-Playback", "ASRC-Playback",
                        "layback", "CPU-Playback",
                        "ASRC-Capture", "CPU-Capture",
                        "CPU-Capture", "Capture";
        };
编译后,使用aplay、arecord命令,打印ASoC: HiFi startup failed: -16。
网上查看了相关的问题,都没有解决,请问有没有遇到相同情况的呀?



回复

使用道具 举报

18

主题

47

帖子

257

积分

中级会员

Rank: 3Rank: 3

积分
257
推荐
 楼主| 发表于 2018-4-3 11:37:35 | 只看该作者
看了一些资料,imx6s的板子的音频接在了SSI2上,而驱动使用了SAI,需要修改im-wm8960.c。
我的板子使用了R1 R3作为MIC的输入、Left Speaker作为输出,需要修改设备树的audio-routing。

另外,我的板子没有mic等接口的硬件检测,为了保证MIC的正常工作,需要把GPIO的检测等相关操作屏蔽掉。
设备树、驱动见附件





。另有帖子可以参考:https://community.nxp.com/message/854593

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 1 反对 0

使用道具 举报

36

主题

745

帖子

2872

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2872
14#
发表于 2019-9-11 10:31:28 | 只看该作者
ONLY 发表于 2019-7-27 08:43
你好,请问是否有已经修改成功的驱动,在IMX6Q+WM8960的模式下。

我这边没去调试MW8960,只有调试sgtl5000
回复 支持 反对

使用道具 举报

2

主题

7

帖子

40

积分

新手上路

Rank: 1

积分
40
13#
发表于 2019-7-27 08:43:36 | 只看该作者
软件01 发表于 2018-4-26 10:30
IMX6q的音频接口是ssi,需要改驱动

你好,请问是否有已经修改成功的驱动,在IMX6Q+WM8960的模式下。
回复 支持 反对

使用道具 举报

2

主题

7

帖子

40

积分

新手上路

Rank: 1

积分
40
12#
发表于 2019-7-27 08:31:58 | 只看该作者
楼主的问题最后解决了,也面临同样的问题。
回复 支持 反对

使用道具 举报

3

主题

14

帖子

58

积分

注册会员

Rank: 2

积分
58
11#
发表于 2019-6-13 18:48:02 | 只看该作者
回复

使用道具 举报

36

主题

745

帖子

2872

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2872
10#
发表于 2018-4-26 10:30:08 | 只看该作者
whxiaowang 发表于 2018-4-26 07:59
最终是什么问题呢?

IMX6q的音频接口是ssi,需要改驱动
回复 支持 反对

使用道具 举报

2

主题

15

帖子

100

积分

注册会员

Rank: 2

积分
100
9#
发表于 2018-4-26 07:59:00 来自手机 | 只看该作者
CONAN 发表于 2018-4-3 11:37
看了一些资料,imx6s的板子的音频接在了SSI2上,而驱动使用了SAI,需要修改im-wm8960.c。
我的板子使用了R1 ...

最终是什么问题呢?
回复 支持 反对

使用道具 举报

2

主题

15

帖子

100

积分

注册会员

Rank: 2

积分
100
8#
发表于 2018-4-25 16:52:16 | 只看该作者
楼主问题解决了吗?搭车同问,使用wm8960可以播放,但是播放声音很小,且无法调节
回复 支持 反对

使用道具 举报

0

主题

146

帖子

432

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
432
6#
发表于 2018-3-29 09:06:37 | 只看该作者
CONAN 发表于 2018-3-28 11:44
你好,已发贵司邮箱:。麻烦查收。

原理图已收到,我正在看。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|明远智睿  

GMT+8, 2024-5-4 13:16 , Processed in 0.066591 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表