rk3588调试es8388语音编解码IC小结

devtools/2024/10/21 22:54:40/

本次调试es8388语音编解码IC,按照以下思路(如果出现内核崩溃的问题,建议可以同步下rk原厂代码):

1、dts的配置
  &i2c7 {  //i2c总线确认status = "okay";pinctrl-names = "default";pinctrl-0 = <&i2c7m0_xfer>;  //总线IO要配置对es8388: es8388@11 {status = "okay";#sound-dai-cells = <0>;compatible = "everest,es8388", "everest,es8323";reg = <0x11>;clocks = <&cru I2S0_8CH_MCLKOUT>;clock-names = "mclk";//               sda-gpios = <&gpio1 RK_PD1 GPIO_ACTIVE_HIGH>;//               scl-gpios = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;assigned-clock-rates = <12288000>;pinctrl-names = "default";pinctrl-0 = <&i2s0_mclk>;};};
es8388_sound: es8388-sound {status = "okay";compatible = "rockchip,multicodecs-card";rockchip,card-name = "rockchip,es8388";hp-det-gpio = <&gpio1 2 1>;spk-con-gpio = <&gpio1 3 0>;hp-con-gpio = <&gpio0 8 0>;rockchip,format = "i2s";rockchip,mclk-fs = <256>;rockchip,cpu = <&i2s0_8ch>;rockchip,codec = <&es8388>;rockchip,audio-routing ="Headphone", "LOUT1","Headphone", "ROUT1","Speaker", "LOUT2","Speaker", "ROUT2","Headphone", "Headphone Power","Headphone", "Headphone Power","Speaker", "Speaker Power","Speaker", "Speaker Power","LINPUT1", "Main Mic","LINPUT2", "Main Mic","RINPUT1", "Headset Mic","RINPUT2", "Headset Mic";pinctrl-names = "default";pinctrl-0 = <&hp_det>;};
 &i2s0_8ch {  status = "okay";pinctrl-0 = <&i2s0_lrck  //I2S0的pin的配置,注意使用哪个就添加哪个,注意IO不要跟其他配置冲突&i2s0_sclk&i2s0_sdi0&i2s0_sdo0>;
};
2 确认i2s0打开,对应的GPIO没有复用,可以通过以下命令确认(硬件原理方面对应原理图确认):
cat /sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/pinmux-pins
cat /sys/kernel/debug/gpio 
以及查找dts编译后的文件确认:.rk3588-evb3-lp5-v10-linux.dtb.dts.tmp
3、验证过程:

查看声卡设备:
root@VC-RK3588:/# cat /proc/asound/cards
0 [rockchipes8388 ]: rockchip_es8388 - rockchip,es8388
rockchip,es8388
root@VC-RK3588:/#

1、安装工具
① apt-get update
② apt install ffmpeg
③ apt install alsa-utils

ffmpeg -f alsa -i hw:0,0 out.wav //录音
aplay -D hw:0,0 out.wav //放音

如果播放单声道音频文件(mono)要加plug:
aplay -D plughw:0,0 zangyuquli.wav

hw:0,0 声卡0和设备0的确定,使用 aplay -l 查看:
root@VC-RK3588:/# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: rockchipes8388 [rockchip,es8388], device 0: dailink-multicodecs ES8323.7-0011-0 [dailink-multicodecs ES8323.7-0011-0]
Subdevices: 1/1
Subdevice #0: subdevice #0

从上面可以看出我的audio设备是:
card 0: rockchipes8388 [rockchip,es8388], device 0: dailink-multicodecs ES8323.7-0011-0 [dailink-multicodecs ES8323.7-0011-0]
Subdevices: 1/1
Subdevice #0: subdevice #0

声卡id为0(因为是card 0),设备id为0(device 0),所以aplay -D plughw:0,0 xxx.wav 即可。


http://www.ppmy.cn/devtools/125776.html

相关文章

排序算法笔记

1. 冒泡排序&#xff08;Bubble Sort&#xff09; 原理&#xff1a;通过重复遍历数组&#xff0c;每次比较相邻元素并交换它们的位置&#xff0c;使较大的元素逐步“冒泡”到数组的末尾。时间复杂度&#xff1a;O(n)空间复杂度&#xff1a;O(1)稳定性&#xff1a;稳定 2. 选择…

【bug】paddleocr draw_ocr_box_txt ValueError: incorrect coordinate type

【bug】paddleocr draw_ocr_box_txt ValueError: incorrect coordinate type 环境 python 3.10.15pillow 10.4.0 paddleocr 2.8.1错误详情 错误文本 Traceback (most recent call last):....draw_left.polygon(box, fillcolor)ValueError: inco…

unity 调整skinweight (皮肤权重),解决:衣服穿模问题

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、skinweight 是什么&#xff1f;二、代码控制&#xff1a;可根据平台切换1.引入库 总结 前言 最近遇到一个问题&#xff0c;人物模型的衣服穿模&#xff08…

EventSource是什么,和axios区别,以及SSE是什么

EventSource、axios以及SSE&#xff08;Server-Sent Events&#xff09;在Web开发中各自扮演着不同的角色&#xff0c;以下是它们的详细解释及区别&#xff1a; EventSource 定义&#xff1a;EventSource是浏览器提供的用于接收SSE事件的接口。它允许客户端通过HTTP协议与服务…

GaussDB 主备版本8 -数据库对象 学习

1 表空间 1.1 GaussDB自带了两个表空间&#xff1a;pg_default和pg_global 1.1.1 默认表空间pg_default&#xff1a;用来存储非共享系统表、用户表、用户表index、临时表、临时表index、内部临时表的默认表空间。对应存储目录为实例数据目录下的base目录。 1.1.2 共享表空间pg…

OpenCV视频I/O(20)视频写入类VideoWriter之用于将图像帧写入视频文件函数write()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::VideoWriter::write() 函数用于将图像帧写入视频文件。 该函数/方法将指定的图像写入视频文件。图像的大小必须与打开视频编写器时指定的大…

小牛问题(c++)

题目描述 一头刚出生的小母牛&#xff0c;4年后生一头小母牛&#xff0c;即第4年会生一头小母牛&#xff0c;以后每年生一头&#xff0c;现有一头刚出生的小母牛&#xff0c;问n年后共有多少头牛&#xff1f; 输入 输入n 输出 输出共有多少头牛 样例输入 复制 10 样例输…

OpenAI Canvas最新发布,编程和写作迎来全新史诗级加强!

文章目录 零、前言一、GPT-40 with canvas操作指导写作领域加强建议编辑调整长度阅读水平添加最后的润色添加表情 编程领域加强选中代码问问题添加评论&#xff08;添加注释&#xff09;添加日志转换语言代码审查 二、感受 零、前言 最新消息&#xff0c;国庆期间OpenAI有大动…