0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

I2C3挂载wm8960音频芯片 | 飞凌干货笔记

飞凌嵌入式 2022-08-12 14:20 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

飞凌嵌入式的OKMX8MM-C开发板预留了I2C3和SAI引脚接口,分别位于P18和P7插针引脚上,板载音频芯片挂载到了I2C2和SAI2。今天小编为大家列举并说明如何在I2C3挂载wm8960音频芯片并通过SAI1连接传输音频数据。

设备树和设备树头文件路径如下:

OK8MM-linux-sdk/OK8MM-linux-kernel/arch/arm64/boot/dts/freescale/ok8mm-evk.dts

OK8MM-linux-sdk/OK8MM-linux-kernel/arch/arm64/boot/dts/freescale/fsl-imx8mm.dtsi

1、修改结果

1、打开设备树修改sound节点,驱动从这里获取设备信息。

(1)修改sound节点cpu-dai =<&sai2>,改为cpu-dai= <&sai1>

将wm8960挂载到sai1实现音频数据流的收发,同理也可挂载到sai3,修改硬件连接即可。

(2)修改 hp-det-gpios= <&gpio4 22 0 >, 改为 hp-det-gpios= <&gpio4 22 1 >。

默认使用耳机输出,使插拔检测失效。

31a9a42af0bb4727a8770a21b6a79281~noop.image?_iz=58558&from=article.pc_detail&x-expires=1660887844&x-signature=WIWa5bnfOWT6gyqXhOlrFCY5%2Bmo%3D

2、注释I2C2下的wm8960节点,因为在设备树中不能存在一模一样的设备节点,所以要注释掉原来的wm8960节点。

40bcbb2fffe4464098d9b8c14b566aef~noop.image?_iz=58558&from=article.pc_detail&x-expires=1660887844&x-signature=LsP63K51eZquOTBFJJay0DtAelw%3D

在I2C3下添加wm8960节点,挂载到哪个I2C就把设备节点放到对应I2C下,修改clocks= <&clk IMX8MM_CLK_SAI1_ROOT>,在I2C3下有了设备节点,但是时钟需要改成sai1的。

11753cbdf1fb47de89a96c1c367fb913~noop.image?_iz=58558&from=article.pc_detail&x-expires=1660887844&x-signature=f2GcBMz2eCCWPnBYUGwh%2FaYVc3g%3D

3、修改pinctrl_sai1并注释pinctrl_sai1_dsd,i.MX8MM的默认设备树已经写好了sai1的pinctrl。

b6e47da85e004b5193a9f1498716f20d~noop.image?_iz=58558&from=article.pc_detail&x-expires=1660887844&x-signature=Wh%2BY4QYY7spxE2r1xED44vjtwm8%3D

4、修改SAI1节点,如下图所示,复制SAI2节点替换SAI1,修改成SAI1的参数。

c7aa910806684afcba14e05bcf6d6c4e~noop.image?_iz=58558&from=article.pc_detail&x-expires=1660887844&x-signature=RD6dJV5JfkA%2B1%2BDCky0Tniej3vI%3D

2、修改思路

我们在修改音频芯片挂载路径时的思路是这样的:

1. 屏蔽默认的挂载路径;

2. 将音频设备的节点添加到要挂载的I2C和SAI下;

3. 修改pinctrl引脚复用;

4. 屏蔽默认wm8960的引脚配置。

本文介绍的wm8960挂载方式与板载默认音频芯片属于同一型号,如果需要挂载其他型号音频芯片,则需要在sound节点指定驱动路径。

cpu-dai 表示要使用的SAI通道,默认为SAI2本文使用SAI1就修改成SAI1即可; audio-codec 属性就是I2C3下的wm8960节点。

设备树sound节点:

1496434bf84f420d89b0345bf30cd2ab~noop.image?_iz=58558&from=article.pc_detail&x-expires=1660887844&x-signature=0xBBzerLjrAiXoEPSZ8hYSAJ3J4%3D

imx-wm8960.c驱动文件的.compatible属性:

404b58604a9341c69c33ae72041b8e29~noop.image?_iz=58558&from=article.pc_detail&x-expires=1660887844&x-signature=5p40Jtj2FKpZxNqq5A4%2Bqe0cWQs%3D

3、总结

设备树sound节点下compatible属性对应音频驱动文件imx-wm8960.c里的.compatible,由此设备与驱动便有了联系,驱动就可以在设备节点获取关键字model,cpu-dai等信息。

当换成其他音频芯片时,修改设备树compatible属性值即可修改音频设备的配置也变得简单起来,这也是Linux分离出设备树的主要原因。

本文提供的方法是在屏蔽默认音频设备的前提下进行的,想要实现双路音频输出还需要在其他环节进行配置。以上就是在OKMX8MM-C开发板的I2C3挂载wm8960音频芯片并通过SAI1连接传输音频数据的操作过程,希望能够对屏幕前的各位工程师小伙伴有所帮助。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    135

    文章

    9499

    浏览量

    388663
  • 嵌入式
    +关注

    关注

    5186

    文章

    20145

    浏览量

    328753
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    217949
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    OK-MX9596-C开发板试用】②体验WIFI、蓝牙、音频、视频,为AI应用打下基础

    OK-MX9596-C开发板试用】①开箱图赏、跑分测试、yolo大模型三箭齐发 - 嵌入式 - 电子技术论坛 - 广受欢迎的专业电
    发表于 10-21 18:17

    广州唯创WT2003H录音芯片-高精度ADC/DAC+64mA驱动MP3音频芯片

    一、产品概述:WT2003H系列MP3录音芯片的技术优势1.1芯片定位与市场价值广州唯创电子作为国内领先的语音IC厂家,推出的WT2003H系列MP3
    的头像 发表于 10-16 09:03 226次阅读
    广州唯创WT2003H录音<b class='flag-5'>芯片</b>-高精度ADC/DAC+64mA驱动MP<b class='flag-5'>3</b><b class='flag-5'>音频芯片</b>

    干货】一文带你彻底搞懂I2S协议:从基础信号到主从模式的深度解析

    了可靠方案。一、I2S的诞生与应用场景I2S协议由飞利浦公司率先推出,其核心目标是解决不同厂商音频芯片(IC)间数据传输的"兼容性难题"——避免因时序、格式不统一
    的头像 发表于 10-09 19:35 1141次阅读
    【<b class='flag-5'>干货</b>】一文带你彻底搞懂<b class='flag-5'>I2</b>S协议:从基础信号到主从模式的深度解析

    ESP32P4示例工程中有用的i2c-tools调试工程

    i2c设备引脚,并编译工程,烧录到开发板上。 查看ESP32-P4-Function-EV-Board开发板的原理图,可知音频芯片、显示驱动和摄像头驱动的I2C控制口挂载在同一个
    发表于 05-03 18:25

    杰理科技推出AC706N多功能音频芯片

    音频设备领域,芯片性能直接决定了产品的用户体验。杰理科技最新推出的AC706N多功能音频芯片,凭借技术创新与场景化设计,再次刷新行业标准。该芯片深度融合音箱与话筒功能,以“高集成、低
    的头像 发表于 04-19 10:47 1772次阅读

    使用MIMXRT685-EVK将WM8904连接到RT685的I3C总线,并通过I2C进行控制遇到的几个问题求解

    我使用 MIMXRT685-EVK 将 WM8904 连接到 RT685 的 I3C 总线,并通过 I2C 进行控制。 请告诉我在这种情况下 PUR 的设置和处理。[问题] 1) 是否可以仅
    发表于 04-11 07:22

    i.MX8作为从模式,无声音是怎么回事?

    编解码 WM8960 通过 i2s 和 i2c 连接到 imx8qxp,i2s (SAI1) 连接如下: 编解码器上的 MCLK 引脚具有 24Mhz 振荡器。 当我将设备树
    发表于 04-09 08:19

    国产车载高阶DSP音频芯片量产:支持多达256个音频通道

    电子发烧友网报道(文/吴子鹏)车载 DSP 音频芯片作为专为汽车音响系统打造的数字信号处理器,主要功能在于对音频信号进行数字化处理,进而显著提升音质与音效。借助高品质的车载 DSP 音频芯片,能够
    的头像 发表于 03-26 01:15 5681次阅读
    国产车载高阶DSP<b class='flag-5'>音频芯片</b>量产:支持多达256个<b class='flag-5'>音频</b>通道

    炬芯科技ATS362X 低功耗大算力AI音频芯片

    随着Deepseek掀起的又一波热潮,炬芯科技顺应人工智能从云端到端侧迅速扩展的趋势,作为炬芯科技端侧AI音频芯片系列重要成员, 面向AI娱乐音频设备、专业音频设备及AIoT边缘计算终端
    的头像 发表于 03-10 15:05 1602次阅读
    炬芯科技ATS362X 低功耗大算力AI<b class='flag-5'>音频芯片</b>

    KT1025A蓝牙音频芯片歌名歌词ID3显示芯片的功能说明

    首先所有的蓝牙音频芯片,都是支持歌名、歌词等等信息的获取,当然是来自于手机或者电脑、ipad等等设备里面的app。例如:酷狗、网易云音乐、qq音乐等等平台 profile define
    的头像 发表于 02-16 14:26 1142次阅读
    KT1025A蓝牙<b class='flag-5'>音频芯片</b>歌名歌词ID<b class='flag-5'>3</b>显示<b class='flag-5'>芯片</b>的功能说明

    音频芯片是什么?常见的音频芯片有哪些?

    什么是音频芯片?我们每天都与声音打交道,这些声音有的来自于大自然,有的来自于电子设备。我们将人类耳朵所能感知的声波及频率,即在20赫兹至20千赫兹范围内的声波,包括噪音等,统称为音频。而音频芯片
    的头像 发表于 02-05 17:23 3417次阅读
    <b class='flag-5'>音频芯片</b>是什么?常见的<b class='flag-5'>音频芯片</b>有哪些?

    纳祥科技光纤同轴接收NX8416,低成本高性能替代兼容CS8416 #芯片 #音频芯片 #电子电工

    音频芯片
    深圳市纳祥科技有限公司
    发布于 :2025年01月18日 10:16:53

    TLV320AIC3106音频芯片采样数据或者DA转换时能不能不需要CPU的参与?

    TLV320AIC3106音频芯片采样数据或者DA转换时能不能不需要CPU的参与?比如cpu处理采样回来的数据的同时 音频芯片还可以一直在采样数据。 公司给的例子如下: 按上面这样做的话,DA转换过程中cpu就做不了其他的事了
    发表于 01-16 06:36

    有QFP封装64脚的音频Codec芯片吗?

    我需要带mcasp口的64脚音频芯片最好能和c6745DSP搭配有历程的Codec芯片
    发表于 12-30 08:25

    炬芯科技发布ATS323X系列端侧AI音频芯片

    刚过去不久,炬芯科技宣布全新一代基于模数混合SRAM存内计算(Mixed-mode SRAM based CIM,简称“MMSCIM”)技术的端侧AI音频芯片正式发布,紧接着,炬芯科技正式发布其中
    的头像 发表于 12-12 14:58 1661次阅读