HDMI 1.4/2.0 TX Subsystem
103
PG235 October 4, 2017
Appendix
C:
Application Software Development
°
Callback function registered to
Interrupt type is
called.
7. Video PHY Controller HDMI TX Ready interrupt is received.
°
Callback function registered to
Interrupt type is
called.
8. HDMI TX Stream UP interrupt is received.
°
Callback function registered to
Interrupt
type is called.
Use Case 5: Support Multiple Channels Audio
Define: N = Number of Audio Channel
1. Change the Audio Infoframe by setting the channel count in API
void XV_HdmiTxSs_SendAuxInfoframe(XV_HdmiTxSs *InstancePtr, void *AuxPtr);
/* 2 Channel count. Audio coding type refer to stream */
InstancePtr->HdmiTxPtr->Aux.Data.Byte[1] = N - 1;
2. Set HDMI TX SS audio channels using this API:
void XV_HdmiTxSs_SetAudioChannels(XV_HdmiTxSs *InstancePtr, u8 AudioChannels);
Example:
XV_HdmiTxSs_SetAudioChannels(&HdmiTxSs, N);
3. To demo using example design application software, update the following section of
codes in xhdmi_example.c:
/* Enable 2-channel audio */
XhdmiAudGen_SetEnabChannels(&AudioGen, 2);
XhdmiAudGen_SetPattern(&AudioGen, 1, XAUD_PAT_PING);
XhdmiAudGen_SetPattern(&AudioGen, 2, XAUD_PAT_PING);
Example: To support 8 channel audio:
/* Enable 8-channel audio */
XhdmiAudGen_SetEnabChannels(&AudioGen, 8);
XhdmiAudGen_SetPattern(&AudioGen, 1, XAUD_PAT_PING);
XhdmiAudGen_SetPattern(&AudioGen, 2, XAUD_PAT_PING);
XhdmiAudGen_SetPattern(&AudioGen, 3, XAUD_PAT_PING);
XhdmiAudGen_SetPattern(&AudioGen, 4, XAUD_PAT_PING);
XhdmiAudGen_SetPattern(&AudioGen, 5, XAUD_PAT_PING);
XhdmiAudGen_SetPattern(&AudioGen, 6, XAUD_PAT_PING);
XhdmiAudGen_SetPattern(&AudioGen, 7, XAUD_PAT_PING);
XhdmiAudGen_SetPattern(&AudioGen, 8, XAUD_PAT_PING);
Note:
If you enable 8 channel audio in your design, only 6 out of 8 channels are used to carry
valid audio data. For the unused channels, you must pack the audio data with zeros by muting
them.
XhdmiAudGen_SetPattern(&AudioGen, 7, XAUD_PAT_MUTE);