return i;
}
+static void imx_hdmi_audio_avi_set(state_struct *state,
+ u32 channels)
+{
+ struct hdmi_audio_infoframe frame;
+ u8 buf[32];
+ int ret;
+
+ hdmi_audio_infoframe_init(&frame);
+
+ frame.channels = channels;
+ frame.coding_type = HDMI_AUDIO_CODING_TYPE_PCM;
+
+ ret = hdmi_audio_infoframe_pack(&frame, buf + 1, sizeof(buf) - 1);
+ if (ret < 0) {
+ DRM_ERROR("failed to pack audio infoframe: %d\n", ret);
+ return;
+ }
+
+ buf[0] = 0;
+
+ CDN_API_InfoframeSet(state, 1, sizeof(buf),
+ (u32 *)buf, HDMI_INFOFRAME_TYPE_AUDIO);
+}
+
static u32 imx_hdp_audio(struct imx_hdp *hdmi, AUDIO_TYPE type, u32 sample_rate, u32 channels, u32 width)
{
AUDIO_FREQ freq;
hdmi->audio_type,
ncts_n,
AUDIO_MUTE_MODE_UNMUTE);
+
+ if (hdmi->audio_type == CDN_HDMITX_TYPHOON ||
+ hdmi->audio_type == CDN_HDMITX_KIRAN)
+ imx_hdmi_audio_avi_set(state, channels);
return 0;
}