Notas de depuración de audio RK3588-ES8388

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
    inserte la descripción de la imagen aquí

  • 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 指定每个采样点的位数--样本大小
    
    

Supongo que te gusta

Origin blog.csdn.net/weixin_44710103/article/details/128883163
Recomendado
Clasificación