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

embedded/2024/10/22 7:57:12/

本次调试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/embedded/127651.html

相关文章

【Linux】常见指令(下)

新建会话 本文中所有的指令都会在普通用户中进行介绍&#xff0c;而非root账号&#xff0c;这是由于root账户在进行部分指令的同时并不会出现警告&#xff0c;影响操作。在root账户下新建普通用户的方法在前文中已经有展示&#xff0c;这里不做介绍。 这里首先会介绍如何在xsh…

pikachu靶场总结(三)

五、RCE 1.RCE(remote command/code execute)概述 RCE漏洞&#xff0c;可以让攻击者直接向后台服务器远程注入操作系统命令或者代码&#xff0c;从而控制后台系统。 远程系统命令执行 一般出现这种漏洞&#xff0c;是因为应用系统从设计上需要给用户提供指定的远程命令操作的…

金融壹账通亮相2024东亚保险大会 深度参与粤港澳大湾区保险创新探讨

近日&#xff0c;金融壹账通受邀参加在香港举行的2024东亚保险大会 (EAIC)。该会议自1962年创办至今&#xff0c;已成为亚太地区规模最大的保险行业盛会之一&#xff0c;吸引了全球保险和金融领域的众多领导者&#xff0c;旨在共同探讨数字化转型与创新对行业发展的深远影响。金…

react crash course 2024(4) 番外 使用class创建组件

1.创建 import React from reactexport default class Home extends React.Component{render(){return(<button>点我发送一个action</button>)} } 2.使用

Java微信支付接入(8) - API V3 Native 用户取消订单API

官方文档&#xff1a;https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_3.shtml 实现用户主动取消订单的功能 定义取消订单接口 /*** 用户取消订单* param orderNo* return* throws Exception*/ ApiOperation("用户取消订单") PostMapping("/cance…

HarmonyOS Next元服务开发快速入门案例

项目代码gitee地址&#xff1a; (HarmonyOS Next 元服务开发快速入门: HarmonyOS Next 元服务开发快速入门 - Gitee.com) 开源协议使用&#xff1a;Apache License 2.0 &#xff0c;代码包支持免费使用&#xff0c;可进行二次开发后选择开源或闭源。 一、创建项目 1.创建项目&…

Ubuntu切换root用户

在Ubuntu系统中&#xff0c;切换到root用户可以通过以下方法&#xff1a; 使用sudo -i或sudo -s命令&#xff1a;这将提升您的权限到root用户&#xff0c;但不会直接切换到root用户环境。 使用sudo su命令&#xff1a;这将直接切换到root用户环境。 如果您知道root用户的密码…

点云深度学习方法

深度学习点云数据处理主要涉及&#xff1a; 分类(Classification)、分割(Segmentation)、目标检测&#xff08;Object Detection&#xff09;、实例分割(Panoptic Segmentation)、配准(Registration)、点云重构(Reconstruction)。 论文&#xff1a;Deep Learning for 3D Poin…