1、开发环境

核心板:imx6ul
内核版本:linux4.1.15

2、问题

因为这次声卡芯片是tlv320aic3101,从网上搜相关的资料可谓是少之又少,基本上都是有linux2.6版本的,基本上都是没有用到设备树DTB去适配,看了一下内核源码linux4.1.15只有sound/soc/codecs有tlv320aic3x.c和tlv320aic3x.h这两个文件,而sound/soc/fsl/就没有驱动tlv320aic3x的驱动文件。需要自己从网上去下载或者参照imx-sgtl5000.c去重新写一个。

3、设备树配置

//声卡配置

sound {compatible = "fsl,imx-audio-tlv320aic3x";model = "tlv320aic3x-audio";cpu-dai = <&sai2>;audio-codec = <&codec>;audio-routing = "Headphone Jack", "HPLOUT", "Headphone Jack", "HPROUT", "Mic Jack", "LINE2R", "Mic Jack", "LINE2L";mux-int-port = <2>;mux-ext-port = <3>;status = "okay";};

tlv320aic3x驱动配置

&i2c2 {clock_frequency = <400000>;pinctrl-names = "default";pinctrl-0 = <&pinctrl_i2c2>;status = "okay";codec:tlv320aic3x@18 {compatible = "ti,tlv320aic3106";reg = <0x18>;gpio-reset = <&gpio2 5 GPIO_ACTIVE_HIGH>;ai3x-micbias-vg = <2>;clock-frequency = <27000000>;AVDD-supply = <&reg_3p3v>;IOVDD-supply = <&reg_3p3v>;DRVDD-supply = <&reg_3p3v>;DVDD-supply = <&reg_3p3v>;status="okay";               };
};
&sai2 {pinctrl-names = "default";pinctrl-0 = <&pinctrl_sai2>;assigned-clocks = <&clks IMX6UL_CLK_SAI2_SEL>,<&clks IMX6UL_CLK_SAI2>;assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;assigned-clock-rates = <0>, <27000000>;status = "okay";
};

tlv320aic3x和sai2 中27000000如下图

4、驱动文件

把驱动加载到内核里即可,这一步可以参照当前内核源码文件Makefile去操作
资源下载:驱动程序文件下载

5、疑难杂症

如果按照以上步骤操作的话,基本上启动板子能够正常的加载起来,打印信息如下

ALSA device list:#0: tlv320aic3x-audio[root@CORE-A6G2Y ~]# ls /dev/snd/
by-path/   controlC0  pcmC0D0c   pcmC0D0p   timer

可以播放声音,但是录音播出来的声音只有吱吱的,可以尝试看看这两个配置时候有off,如果是off的话把他们设置为on状态
numid=95,iface=MIXER,name=‘Right PGA Mixer Mic3L Switch’
; type=BOOLEAN,access=rw------,values=1
: values=on

numid=96,iface=MIXER,name=‘Right PGA Mixer Mic3R Switch’
; type=BOOLEAN,access=rw------,values=1
: values=on

基于imx6ul下调试tlv320aic3x声卡相关推荐

  1. 基于RK3288 平台 Simple card声卡添加及调试

        基于RK3288 平台 Simple card声卡添加及调试 Simple card即简单通用的machine driver, 如果simple-card框架足够满足需求,建议优先使用simp ...

  2. IMX6基于yocto3.14.28移植声卡wm8960

    项目需求,在基于yocto Linux3.14.28的IMX6平台下移植wm8960声卡.硬件部分如下: 声卡驱动在内核代码的sound/soc/codec,和sound/soc/fsl目录下.原代码 ...

  3. imx6ul pwm 调试

    imx6ul pwm 调试 一:imx6ul datasheet pwm 二:设备树修改 三:pwm使能 四:pwm测试 一:imx6ul datasheet pwm 阅读imx6ul datashe ...

  4. aiku基于mini2440下裸机程序开发《概述与SDRAM运行》

    大家好,我是aiku,今天主要跟大家介绍一些 基于mini2440下裸机程序开发<概述与SDRAM运行> 有什么问题:都可以联系我们,谢谢! 我是aiku,本博客主要写一些我们的项目经验与 ...

  5. 基于Starter G120调试

    基于Starter G120调试 新建一个工程,单击 Project- 单击 New- 输入"工程名称",选择"工程路径"-最后单击 OK- 配置PG/PC接口 ...

  6. Linux下调试器工作原理

    Linux下调试器工作原理之一-基础篇 介绍关于Linux下的调试器实现的主要组成部分--ptrace系统调用.本文中出现的代码都在32位的Ubuntu系统上开发.请注意,这里出现的代码是同平台紧密相 ...

  7. 开源RISC-V处理器(蜂鸟E203)学习(五)A100T-FPGA 移植蜂鸟Hbirdv2,实现Centos下调试器USB识别以及程序编译烧写,并进行C语言仿真

    1.简述 最近购买了一块适合做原型验证FPGA板卡,板卡接口和外设比较丰富,十分适合跑一些小型的SOC工程,比如蜂鸟E203:板卡自带FPGA烧写器和软核CPU的JATG调试器,还有USB接口的UAR ...

  8. 深度 | 智慧•城市,基于国际视野下的思考

    来源:智慧城市决策参考 智慧城市的兴起,得益于ICT技术的迅猛发展.经过这些年国内外诸多城市的探索和实践,智慧城市已经从最初的营销概念,逐渐发展成为一种支持城市发展的新理念.然而在实际应用中,智慧城市 ...

  9. 基于SpringMVC下的Rest服务框架搭建【1、集成Swagger】

    基于SpringMVC下的Rest服务框架搭建[1.集成Swagger] 1.需求背景 SpringMVC本身就可以开发出基于rest风格的服务,通过简单的配置,即可快速开发出一个可供客户端调用的re ...

  10. linux下调试core dump方式汇总,工作必备技能

    缘起 调试,是开发流程中一个非常重要的环节.每个程序员都应,具备调试代码的能力,尤其对于从事 Linux 下的开发的读者. 从事 linux 下后台开发,有时候会遇到程序突然崩溃的情况,也没有任何日志 ...

最新文章

  1. Socket通信实例
  2. 使用UrlRewrite时修改form的action属性问题
  3. LeetCode 300. 最长上升子序列(Longest Increasing Subsequence)
  4. CentOS 6.3 下编译cyrus-sasl报错解决
  5. java的mwcellarray_Java 数组
  6. 不实例化图片,获取图片宽高的方法(vb.net)
  7. 手把手教你如何用 TensorFlow 实现基于 DNN 的文本分类
  8. 【Linux】【Services】【Package】编译安装
  9. netty实现gmssl_gmssl国密总结
  10. Cesium开发基础篇 | 03加载矢量数据
  11. 4K \1080P 高质量视频素材网站。
  12. SDCC编译器学习旅之一
  13. 长期吃nmn有副作用吗,nmn产品副作用,真相说明
  14. 数学建模竞赛网站汇总
  15. mysql 手机号省份_根据手机号 判断省份和运营商
  16. node.js基于微信小程序的外卖订餐系统 uniapp 小程序
  17. 有关队列的操作 python
  18. ccs读取dat文件c语言程序,CCS中dat文件的格式
  19. 计算机魅力沈阳一日游教案,沈阳版小学信息技术教案五年级上册全册教案
  20. vs2013 应用程序无法正常启动

热门文章

  1. 显控触摸屏编程手册_深圳显控AKWORKSHOP触摸屏与ALLENBRADLEY通讯手册.pdf
  2. fio与iometer
  3. Fiddler - 快速入门(抓包)
  4. 流程图里的形状符号的代表意义
  5. java流程图平行四边形_编程技巧之流程图
  6. 分层导航and隐藏导航
  7. 惠普传真服务器位置,惠普传真机的使用方法
  8. 饥荒联机 显示服务器小麻烦,饥荒联机版新手从入门到精通教程
  9. JsessionId简介与过滤
  10. vue仿网易云音乐播放器的前端补充