在es8323的驱动上调试es8388

1. sdk-9.0\kernel\arch\arm\configs\rockchip_defconfig

CONFIG_SND_SOC_ES8323=y

2.dts


	sound: sound {
		status = "okay";
		compatible = "simple-audio-card";
		simple-audio-card,format = "i2s";
		simple-audio-card,name = "rockchip,es8323-codec";
		simple-audio-card,mclk-fs = <512>;
		simple-audio-card,widgets =
			"Microphone", "Microphone Jack",
			"Headphone", "Headphone Jack";
		simple-audio-card,routing =
			"MIC1", "Microphone Jack",
			"MIC2", "Microphone Jack",
			"Microphone Jack", "micbias1",
			"Headphone Jack", "HPOL",
			"Headphone Jack", "HPOR";

		simple-audio-card,dai-link@0 {
			format = "i2s";
			cpu {
				sound-dai = <&i2s>;
			};

			codec {
				sound-dai = <&es8323>;
			};
		};

		simple-audio-card,dai-link@1 {
			format = "i2s";
			cpu {
				sound-dai = <&i2s>;
			};

			codec {
				sound-dai = <&hdmi>;
			};
		};
	};

	hdmi_analog_sound: hdmi-analog-sound {
		compatible = "rockchip,rk3288-hdmi-analog",
			     "rockchip,rk3368-hdmi-analog";
		rockchip,model = "rockchip,es8323-codec";
		rockchip,cpu = <&i2s>;
		rockchip,codec = <&es8323>, <&hdmi>;
		rockchip,widgets =
			"Microphone", "Microphone Jack",
			"Headphone", "Headphone Jack";
		rockchip,routing =
			"MIC1", "Microphone Jack",
			"MIC2", "Microphone Jack",
			"Microphone Jack", "micbias1",
			"Headphone Jack", "HPOL",
			"Headphone Jack", "HPOR";
		   status = "disabled"; 
	};
	
3.
console:/ # cat /proc/asound/cards 
 0 [rockchipes8323c]: rockchip_es8323 - rockchip,es8323-codec
                      rockchip,es8323-codec
console:/ # 
4. tinyplay  mnt/media_rw/A63C-9DA6/xxx.wav   指令播放音频,HDMI有声音输出,直接打开APP没有声音输出。
5.\sdk-9.0\hardware\rockchip\audio\tinyalsa_hal\audio_hw.c

static char* SPEAKER_NAME [] =
{
+	"rockchipes8323c",
   "rockchiprk",
   "realtekrt5651co",
   "rockchipes8316c",
   "rockchiprk809co",
   "rockchiprt5640c",
};

........

static bool is_hdmi_out_sound_card(char* buf)
{
    if(buf == NULL)
        return false;

    /*
     * hdmi: diffrent product may have diffrent card name,modify codes here
     * for example: 1 [rockchiphdmi   ]: rockchip-hdmi - rockchip-hdmi
     */
 -   if(strstr(buf,"rockchiphdmi")&& strstr(buf,":")){
 +   if(strstr(buf,"rockchipes8323c")&& strstr(buf,":")){
        return true;
    }
    // for dp
    if(strstr(buf,"rkhdmidpsound") && strstr(buf,":")){
        return true;
    }

    // add codes here

    return false;
}
.......


static char* MIC_NAME [] =
{
+	"rockchipes8323c",
    "rockchiprk",
    "realtekrt5651co",
    "rockchipes8316c",
    "rockchiprk809co",
    "rockchiprt5640c",
};
......

+732 #endif
         -   card = adev->out_card[SND_OUT_SOUND_CARD_HDMI];
         +   card = adev->out_card[SND_OUT_SOUND_CARD_SPEAKER];
            if(card != (int)SND_OUT_SOUND_CARD_UNKNOWN) {
		 +		out->pcm_device = 1;
                out->pcm[SND_OUT_SOUND_CARD_HDMI] = pcm_open(card, out->pcm_device,
                                                    PCM_OUT | PCM_MONOTONIC, &out->config);
                if (out->pcm[SND_OUT_SOUND_CARD_HDMI] &&
                        !pcm_is_ready(out->pcm[SND_OUT_SOUND_CARD_HDMI])) {
                    ALOGE("pcm_open(PCM_CARD_HDMI) failed: %s, card number = %d",
                          pcm_get_error(out->pcm[SND_OUT_SOUND_CARD_HDMI]),card);
                    pcm_close(out->pcm[SND_OUT_SOUND_CARD_HDMI]);
                    return -ENOMEM;
                }

6.耳机有和HDMI同时有声音输出了,麦克风录音有杂音,后续有需求再改。
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YY2065

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值