1. Introducción
- Este artículo se basa en la plataforma RK3588, resumen de depuración del chip de audio ES8388.
- Tarjeta de sonido externa: ES8388
2. Depuración de Audio ES8388
2.1 Resumen de depuración, análisis de pasos de depuración
- Paso ① configuración dts
- Paso ② Compilar, programar y depurar
2.2 configuración dts
- Configuración de sonido del sistema:
es8388_sound: es8388-sound { status = "okay"; compatible = "rockchip,multicodecs-card"; rockchip,card-name = "rockchip-es8388"; hp-det-gpio = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>; io-channels = <&saradc 3>; io-channel-names = "adc-detect"; keyup-threshold-microvolt = <1800000>; poll-interval = <100>; spk-con-gpio = <&gpio1 RK_PD3 GPIO_ACTIVE_HIGH>; hp-con-gpio = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>; 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>; play-pause-key { label = "playpause"; linux,code = <KEY_PLAYPAUSE>; press-threshold-microvolt = <2000>; }; };
- Configuración del controlador de dispositivo ES8388
&i2c7 { status = "okay"; es8388: es8388@11 { status = "okay"; #sound-dai-cells = <0>; compatible = "everest,es8388", "everest,es8323"; reg = <0x11>; clocks = <&cru I2S0_8CH_MCLKOUT>; clock-names = "mclk"; assigned-clocks = <&cru I2S0_8CH_MCLKOUT>; assigned-clock-rates = <12288000>; pinctrl-names = "default"; pinctrl-0 = <&i2s0_mclk>; }; };
2.3 Compilar, grabar, depurar
-
Ver comandos de la tarjeta de sonido:
cat /proc/asound/cards
-
Copie el archivo wav a la placa:
adb root adb remount adb push C:\adb\test.wav mnt
-
Reproduce música en RK Android (RK Android SDK viene de serie con la herramienta tiny-alsa):
adb shell cd /mnt tinyplay ./test.wav -D 0 -d 0
-
Grabación de Android RK:
tinycap /sdcard/test.wav 播放录音 cd /sdcard tinyplay ./test.wav -D 0 -d 0
-
RK Linux para reproducir música (RK Linux SDK viene de serie con la herramienta alsa-utils)
aplay test.wav
o
aplay -Dplughw:0,0 test.wav aplay -Dplughw:1,0 test.wav aplay -Dplughw:2,0 test.wav -Dplughw:x 表示指定第几个声卡
o
aplay -D plughw:CARD=rockchipes8388 test.wav
-
Grabación de RK Linux
arecord -D hw:1,0 -d 10 -f cd -r 44100 -c 2 -t wav test.wav -d 10表示录制10秒声音,test.wav是保存的文件名称 -D hw:x 表示指定第几个声卡 -r 指定采样率,-f 指定每个采样点的位数--样本大小