AMD Vendor Specific HDA Verbs

Revision 2.0
September 22, 2013
AMD HDA Verbs
© 2013 Advanced Micro Devices, Inc.
Proprietary
1
Revision 2.0
September 22, 2013
Trademarks
AMD, the AMD Arrow logo, Athlon, and combinations thereof, ATI, ATI logo, Radeon, and Crossfire are trademarks of Advanced
Micro Devices, Inc.
Microsoft and Windows are registered trademarks of Microsoft Corporation.
Other product names used in this publication are for identification purposes only and may be trademarks of their respective
companies.
Disclaimer
The contents of this document are provided in connection with Advanced Micro Devices, Inc. ("AMD") products. AMD makes no
representations or warranties with respect to the accuracy or completeness of the contents of this publication and reserves the
right to make changes to specifications and product descriptions at any time without notice. No license, whether express, implied,
arising by estoppel, or otherwise, to any intellectual property rights are granted by this publication. Except as set forth in AMD's
Standard Terms and Conditions of Sale, AMD assumes no liability whatsoever, and disclaims any express or implied warranty,
relating to its products including, but not limited to, the implied warranty of merchantability, fitness for a particular purpose, or
infringement of any intellectual property right. AMD's products are not designed, intended, authorized or warranted for use as
components in systems intended for surgical implant into the body, or in other applications intended to support or sustain life, or
in any other application in which the failure of AMD's product could create a situation where personal injury, death, or severe
property or environmental damage may occur. AMD reserves the right to discontinue or make changes to its products at any time
without notice.
© 2013 Advanced Micro Devices, Inc. All rights reserved.
© 2013 Advanced Micro Devices, Inc.
Proprietary
2
Revision 2.0
September 22, 2013
1.
AUDIO DESCRIPTOR SET AND GET ................................................................................................................. 4
2.
SPEAKER ALLOCATION GET ............................................................................................................................ 5
3.
MULTI-CHANNEL ENABLE SET AND GET ......................................................................................................... 6
4.
CHANNEL ALLOCATION SET AND GET ............................................................................................................ 7
5.
DOWN-MIX INFORMATION SET AND GET ...................................................................................................... 8
6.
MULTI-CHANNEL MODE SET AND GET ........................................................................................................... 9
7.
MULTI-CHANNEL ENABLE SET AND GET ....................................................................................................... 10
8.
HBR COMPRESSED AUDIO PASS-THROUGH (24.576 MBPS) ......................................................................... 11
9.
AUDIO/VIDEO DELAY VERBS (LIPSYNC) ....................................................................................................... 12
10.
AUDIO-VIDEO ASSOCIATION PORT ID AND SINK INFORMATION ............................................................. 13
11.
CONNECTION LIST ENTRY GET ................................................................................................................. 14
12.
DDM AUDIO: SURROUND SOUND USING ONE STREAM AND MULTIPLE CONVERTERS-PINS ................... 15
13.
SILENT STREAM RAMP RATE CONTROL SET AND GET .............................................................................. 18
© 2013 Advanced Micro Devices, Inc.
Proprietary
3
Revision 2.0
September 22, 2013
1. Audio Descriptor Set and Get
Audio Descriptor Set and Get (pin vendor defined verb 776, F76)
Allows accessing the Short audio descriptor for each format in an indirect way.
Only the Audio Format Code (bits [6:3] of Byte 0) is RW, the other formats are RO.
After the Audio format Code is written using the Set function, the Get function will give the audio
descriptor corresponding to the Audio Format Code written.
Byte#
0
bit7
0
1
Rates supported. In the LPCM
case, these are the rates supported
for multi-channel
2
Reserved
3
Rates supported for stereo. Only
applicable in the LPCM case.
© 2013 Advanced Micro Devices, Inc.
Proprietary
bit6
bit5
bit4
bit3
Audio format code (1 to 14)
0: reserved
1:LPCM
2: AC-3
3: MPEG1 (Layers 1 and 2)
4: MP3 (MPEG1 Layer 3)
5: MPEG2 (Multichannel)
6: AAC
7: DTS
8: ATRAC
9: Reserved
10: Dolby Digital +
11: DTS-HD
12: MAT/MLP (Dolby True HD)
13: Reserved
14: WMA Pro
192khz 176.4
96
88.2
kHz
kHz
kHz
BPS capability for LPCM:
 Bit0: 16 bit capable
 Bit1: 20 bit capable
 Bit 2: 24 bit capable
 Bits[7:3] reserved.
Format specific for other formats
Reserved 192khz 176.4khz 96khz
88.2
khz
bit2
bit1
bit0
Max Num of channels – 1
48
kHz
44.1
kHz
32
kHz
48khz
44.1khz
32khz
4
Revision 2.0
September 22, 2013
2. Speaker Allocation Get
Speaker Allocation Get (pin vendor defined verb F70)
Byte 0 of the response contains the speaker allocation of the DTV according to its Short Audio Descriptor.
All fields are RO.
Byte
#
0
1
Bit
7
0
bit6
bit5
RLC/RR
C
Rear left
Center
and Rear
Right
center
speakers
present
FLC/FR
RC
C
Rear
Front left center
Center
speake
and
r
Front
present
Right
center
speakers
present
Reserved
2
3
© 2013 Advanced Micro Devices, Inc.
Proprietary
bit4
bit3
bit2
bit1
bit0
RL/RR
Rear
left and
rear
right
speaker
s
present
FC
Front
center
speake
r
present
LFE
Low frequency
speaker present
FL/FR
Front left and Front
right speakers present
DP_CONNECTIO
N
(Only for parts
supporting DP
Audio, for GUI
labeling)
HDMI_CONNECTIO
N
(Only for parts
supporting DP Audio,
for GUI labeling)
0
0
5
Revision 2.0
September 22, 2013
3. Multi-Channel Enable Set and Get
Multi-Channel Enable 01 Set and Get (pin vendor defined verb 777, F77)
Multi-Channel Enable 23 Set and Get (pin vendor defined verb 778, F78)
Multi-Channel Enable 45 Set and Get (pin vendor defined verb 779, F79)
Multi-Channel Enable 67 Set and Get (pin vendor defined verb 77A, F7A)
Allows the audio driver to enable sending multi-channel audio through the pin. OUT_ENABLE enables
the corresponding channel pair of the HDMI/DP multichannel audio data stream. The channel pair selected
are CHANNEL_ID and CHANNEL_ID+1 channels of the controller audio stream.
bit7
bit6
bit5
CHANNEL_ID
bit4
Channels CHANNEL_ID and
CHANNEL_ID+1 of the audio stream are
sent to the corresponding channel pair of the
HDMI/DP.
© 2013 Advanced Micro Devices, Inc.
Proprietary
bit3 bit2
Rsvd
bit1
MUTE
bit0
OUT_ENABLE
Rsvd
(Only for
Codec Rev 3
and higher)
Zeroes the
audio in the
channel pair
Enables sending the stream channels
selected by CHANNEL_ID to the
corresponding channel pair of the
HDMI/DP.
6
Revision 2.0
September 22, 2013
4. Channel Allocation Set and Get
Channel Allocation Set and Get (pin vendor defined verb 771 and F71)
Defines the value to be sent in the Audio InfoFrame data byte 4. Intended to determine how various speaker
location are allocated to transmission channels.
All fields are RW.
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
CA7
CA6
CA5
CA4
CA3
CA2
CA1
CA0
Channel Allocation
0: Channel 0 is Front Left, Channel 1 is Front Right, Other channels not used
1: Channel 0 is Front Left, Channel 1 is Front Right, Channel 2 is Low Freq speaker, Other channels not used
…
0x1F: Channel 0 is Front Left, Channel 1 is Front Right, Channel 2 is Low Freq speaker, Channel 3 is Front Center,
Channel 4 is Rear Left, Channel 5 is Rear Right, Channel 6 is Front Left Center, Channel 7 is Front Right Center.
0x20 to 0xFF: Reserved
© 2013 Advanced Micro Devices, Inc.
Proprietary
7
Revision 2.0
September 22, 2013
5. Down-Mix Information Set and Get
Down-Mix Information Set and Get (pin vendor defined verb 772 and F72)
Defines the value to be sent in the Audio InfoFrame data byte 5. Intended to communicate to the DTV the total
attenuation that the source applied to the audio and if down-mixing is permitted. Also note that the Codec hardware
will swap FC, LFE in order to meet the HDMI/DP requirement. This requires no programming on the audio driver
side. All fields are RW.
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
DM_INH
LSV3
LSV2
LSV1
LSV0
Rsvd
Rsvd
Rsvd
0: Down-mix
permitted or no
information.
1: Down-mix
prohibited.
0: 0dB level shift
1: 1dB Level Shift
…
15: 15 dB level Shift
2.0
3.0
4.0
5.1
6.1
7.1
Channel allocation in system
memory
Corresponding
Channel
Allocatio
n value
to
program
0,1
2,3
4,5
6,7
FL,F
R
FL,F
R
FL,F
R
FL,F
R
FL,F
R
FL,F
R
-
-
-
00
FC,-
-
-
02
SL,SR
-
-
08
FC,
LFE
FC,
LFE
FC,
LFE
SL,S
R
SL,S
R
BL,B
R
-
0B
BC,
SL,S
R
0F
© 2013 Advanced Micro Devices, Inc.
Proprietary
13
Required channel allocation
in HDMI/DP packets
Codec channel crossbar programming
MultiMultiMultiMultiChannel Channel Channel Channel
Enable
Enable
Enable
Enable
01
23
45
67
0, 1
2, 3
4, 5
6, 7
FL,F
R
FL,F
R
FL,F
R
FL,F
R
FL,F
R
FL,F
R
-, -
-,-
-, -
1
0
0
x
0
x
0
x
-, FC
-,-
-, -
1
0
1
2
0
x
0
x
-, -
SL,S
R
SL,S
R
SL,S
R
SL,S
R
-, -
1
0
0
x
1
2
0
x
-, -
1
0
1
2
1
4
0
x
BC,-
1
0
1
2
1
4
1
6
BL,
BR
1
0
1
2
1
6
1
4
LFE,
FC
LFE,
FC
LFE,
FC
OUT_ENAB
LE
CHANNEL_
ID
OUT_ENAB
LE
CHANNEL_
ID
OUT_ENAB
LE
CHANNEL_
ID
OUT_ENAB
LE
CHANNEL_
ID
Multichannel
audio
Format
8
Revision 2.0
September 22, 2013
6. Multi-Channel Mode Set and Get
Multi-Channel Mode Set and Get (pin vendor defined verb 789, F89)
Revision ID 3 and newer only.
Allows use of the single-channel-wise Multi-Channel Enable verbs, which provide higher channel routing
flexibility for single-sink and DDM Audio multi-sink surround sound.
bit7:1
bit0
Rsvd
Rsvd
MULTICHANNEL_MODE
0: channel pair mode (uses only the channel-pair-wise Multi-channel Enable verbs)
1: single channel mode (uses the single-channel-wise Multi-channel Enable verbs)
© 2013 Advanced Micro Devices, Inc.
Proprietary
9
Revision 2.0
September 22, 2013
7. Multi-Channel Enable Set and Get
Multi-Channel Enable 1 Set and Get (pin vendor verb 785, F85)
Multi-Channel Enable 3 Set and Get (pin vendor verb 786, F86)
Multi-Channel Enable 5 Set and Get (pin vendor verb 787, F87)
Multi-Channel Enable 7 Set and Get (pin vendor verb 788, F88)
Multi-Channel Enable 01 Set and Get (pin vendor verb 777, F77) (applies to ch 0 in single
channel mode)
Multi-Channel Enable 23 Set and Get (pin vendor verb 778, F78) (applies to ch 2 in single
channel mode)
Multi-Channel Enable 45 Set and Get (pin vendor verb 779, F79) (applies to ch 4 in single
channel mode)
Multi-Channel Enable 67 Set and Get (pin vendor verb 77A, F7A) (applies to ch 6 in single
channel mode)
When in “Single Channel Mode”, the channel-pair-wise Multi-channel Enable verbs (01, 23, 45 and 67)
apply only to the even channels (0, 2, 4 and 6) and these verbs apply to the odd channels. Besides that, the
format is the same, and the C/LFE swapping is not automatic anymore and has to be explicitly programmed
in these controls.
bit7
bit6
bit5
CHANNEL_ID
bit4
Channel of the audio stream sent to the
corresponding channel of the
HDMI/DP.
© 2013 Advanced Micro Devices, Inc.
Proprietary
bit3 bit2
Rsvd
bit1
MUTE
Rsvd
Zeroes the
audio in the
channel
bit0
OUT_ENABLE
Enables sending the stream channels
selected by CHANNEL_ID to the
corresponding channel of the HDMI/DP.
10
Revision 2.0
September 22, 2013
8. HBR Compressed Audio Pass-Through (24.576 Mbps)
The HBR Control allows for the transmission of compressed audio using the maximum audio channels in the
HDMI/DP link (eight) instead of the regular two channels used for compressed audio. Since compressed audio is
always transmitted at 16 data bits per channel and the maximum transmission rate is 192 kHz, the maximum HBR
compressed audio transmission bit rate is 24.576 Mbps, a fourfold increase respect to the non-HBR 6.144 Mbps
limit for compressed audio transmission. Lossless formats DTS HD Master Audio and Dolby True HD require HBR.
HBR Control Set and Get (pin vendor defined verb 77C and F7C)
Bit7 Bit6
Reserved
Bit5
Bit4
HBR Enable
Enables sending
HBR Compressed
Audio.
This is a RW bit.
Bit3 Bit2
Reserved.
Bit1
Bit0
HBR Capable
Indicates that the Pin can
send HBR Compressed
Audio
This is a RO bit.
Driver recommendations


Declaring Support:
 If the HBR Capable bit is “1” and the Audio Descriptors indicate DTS HD Master Audio or Dolby
True HD is supported, declare support for HBR Compressed Audio transmission with 8 channels,
16 Bits, 192 kHz.
Enabling HBR: Ensure this is the setting before starting the Stream:
 Audio Controller Stream and Audio Codec Converter are set for 8 channels, 16 BPS, 192 kHz
 Multi-channel Enable Codec Pin controls enable all channels with increasing channel IDs.
 HBR Enable bit is set.
© 2013 Advanced Micro Devices, Inc.
Proprietary
11
Revision 2.0
September 22, 2013
9. Audio/Video Delay Verbs (Lipsync)
Lipsync Control Get (pin vendor defined verb F7B)
Byte#
0
1
2
3
Bit7
bit6 bit5 bit4 bit3 bit2 bit1
Video Latency. This is a RO field.
Audio Latency. This is a RO field.
0
0
bit0
Video Latency and Audio Latency indicate the Video and Audio processing latency in the sink in
(milliseconds/2 +1). A value of 0 indicates that the latency is not known.
The Application can read this value and compensate for the difference between Video and Audio latency by
delaying or padding the start of the audio or video stream.
© 2013 Advanced Micro Devices, Inc.
Proprietary
12
Revision 2.0
September 22, 2013
10. Audio-Video Association Port ID and Sink Information
Applicable only to Codec Revision ID 3 and onwards. Used to fill the OS Sink Identification fields.
Sink Information Index Set and Get (pin vendor defined verb 780 and F80)
Bit7:0
Sink Information Index
Sink Information Data Get (pin vendor defined verb F81)
Bit 31:0
Sink Information Index = 0: {16’b0, Manufacturer ID[15:0]}
Sink Information Index = 1: {16’b0, Product ID[15:0]}
Sink Information Index = 2: Sink Description Length
Sink Information Index = 3: Port ID [31:0]
Sink Information Index = 4: Port ID [63:32]
Sink Information Index = 5: {24’b0, Sink Description Byte 0 [7:0]}
Sink Information Index = 6: {24’b0, Sink Description Byte 1 [7:0]}
…
Sink Information Index = 22: {24’b0, Sink Description Byte 17 [7:0]}
© 2013 Advanced Micro Devices, Inc.
Proprietary
13
Revision 2.0
September 22, 2013
11. Connection List Entry Get
Connection List Entry Get (Pin vendor-defined verb F02)
Bit 31:8
Rsvd
Rsvd
Bit 7:0
CONNECTION LIST ENTRY
This is a RO field.
Node number of the Converter connected to the pin:
2 for pin 0 (Node 3)
4 for pin 1 (Node 5)
…
“2*Number Of Output Pins” for pin “Number Of Output Pins -1”
(Node “2*Number Of Output Pins +1”)
© 2013 Advanced Micro Devices, Inc.
Proprietary
14
Revision 2.0
September 22, 2013
12. DDM Audio: Surround sound using one stream and multiple converterspins
Converter synchronization verb
Starting with Revision ID 3, DDM Audio sends a multi-channel stream to multiple converters. In this case it is
recommended that the converters be started in a synchronized fashion using the Converter synchronization verb.
Converter Synchronization Set and Get (Function Group vendor defined verb 770, F70)
Starting with Revision ID 3 Only:
Synchronizes a group of converters
Bit7:0
CONVERTER_SYNCHRONIZATION
Bit 0: Used to synchronize Converter 0
Bit 1: Used to synchronize Converter 1
…
This verb works is a way similar to how stream synchronization is done.
The sequence to start the converters is:
 Set Converter Synchronization “1” for the converters
 Enable the converters one by one
 Release Converter Synchronization (“0”) for the converters in a single verb
DDM Audio Association Information Get (Pin vendor defined verb F93)
Starting with Revision ID 3 Only:
Indicates the suggested channel to play in each speaker of the monitor
It is recommended that the video driver issue a forced unsolicited response in one pin (like pin
0) with payload = 9 after the DDM Audio Association Information values are programmed in all
pins to notify the audio driver of the DDM Audio configuration change request.
Bits[31:28]
Chan
suggested to
play in the
monitor’s
BR Speaker
Bits[27:24]
Chan
suggested to
play in the
monitor’s
BL Speaker
Bits[23:20]
Chan
suggested to
play in the
monitor’s
SR Speaker
© 2013 Advanced Micro Devices, Inc.
Proprietary
Bits[19:16]
Chan
suggested to
play in the
monitor’s SL
Speaker
Bits[15:12]
Chan
suggested to
play in the
monitor’s
LFE
Speaker
Bits[11:8]
Chan
suggested to
play in the
monitor’s FC
Speaker
Bits[7:4]
Chan
suggested to
play in the
monitor’s FR
Speaker
Bits[3:0]
Chan
suggested
to play in
the
monitor’s
FL Speaker
15
Revision 2.0
September 22, 2013
0: FL
1: FR
2: FC
3: LFE
4: SL
5: SR
6: BL
7: BR
8: Silence
9-14: reserved
15: No association (register default)
Setting-up DDM Audio
Some Possible Hearfinity Configurations
(Bird’s eye view)
FL
FR
FL
1x2 or 1x3
(stacked)
Panels
SL
FC FC
FR
2x1 or 2x2
(stacked)
Panels
FL FC FC FR
FL
SR
3x1 or 3x2
(stacked)
Panels
FL
FC FC
FR
SL
FR
SR
4x1 Panels
Requires MULTICHANNEL_MODE =1.
The following table shows only some possible DDM Audio Configurations in order to illustrate the use of the
controls.
Required channel allocation in HDMI/DP
packets (From DDM Audio Association
Information Verb of each pin)
Monitor
Monitor
Monitor
Monitor
Codec channel crossbar programming
Chann
el
Alloca
tion
Code
to
Progra
m in
pins
LPCM
Forma
t
Stereo
Monit
ors
across
sidebyside
Channel allocation in system
memory
© 2013 Advanced Micro Devices, Inc.
Proprietary
Monitor 0 (Pin0)
Monitor 1 (Pin 1)
Monitor 2 (Pin 2)
Monitor 3 (Pin 3)
16
5
F
L
F
R
-
-
-
-
0
0
F
L
F
L
F
R
F
R
1,
0
0
1,
0
0
1,
0
1
1,
0
1
F
L
F
R
-
-
-
-
0
0
F
L
-
-
F
R
1,
0
0
1,
1
x
1,
1
x
1,
0
1
F
L
F
R
F
C
-
-
-
0
0
F
L
F
C
F
C
F
R
1,
0
0
1,
0
2
1,
0
2
1,
0
1
F
L
F
R
F
C
L
F
E
S
L
S
R
0
0
S
L
F
L
F
C
F
C
F
R
S
R
1,
0
4
1,
0
0
1,
0
2
1,
0
2
1,
0
1
1,
0
5
F
L
F
R
F
C
L
F
E
S
L
S
R
0
0
S
L
F
L
F
L
F
C
F
C
F
R
1,
0
4
1,
0
0
1,
0
0
1,
0
2
1,
0
2
1,
0
1
© 2013 Advanced Micro Devices, Inc.
Proprietary
S
R
Multi-Channel
Enable 1
OUT_ENABLE,
MUTE
CHANNEL_ID
Multi-Channel
Enable01
4
OUT_ENABLE,
MUTE
CHANNEL_ID
3
F
R
1
F
R
Multi-Channel
Enable 1
2
OUT_ENABLE,
MUTE
CHANNEL_ID
0
F
L
1
F
R
Multi-Channel
Enable 01
0
F
L
Multi-Channel
Enable 1
1
F
R
Multi-Channel
Enable 01
0
F
L
Multi-Channel
Enable 1
1
F
R
1
OUT_ENABLE,
MUTE
CHANNEL_ID
5.
1
0
F
L
0
OUT_ENABLE,
MUTE
CHANNEL_ID
5.
1
3
(Pin 3)
OUT_ENABLE,
MUTE
CHANNEL_ID
3.
0
2
(Pin 2)
OUT_ENABLE,
MUTE
CHANNEL_ID
2.
0
2
x
1
2
x
1
2
x
1
3
x
1
4
x
1
1
(Pin 1)
OUT_ENABLE,
MUTE
CHANNEL_ID
2.
0
0
(leftmos
t)
(Pin0)
September 22, 2013
Multi-Channel
Enable 01
Revision 2.0
1,
0
1,
0
1
17
5
Revision 2.0
September 22, 2013
13. Silent Stream Ramp Rate Control Set and Get
Silent Stream Ramp Rate Control Set and Get (Converter Vendor-Defined verb 770, F70)
Starting with Revision ID 3 Only
Bit 31:8
Rsvd
Rsvd
Bit 7:0
RAMP RATE
Defines the attenuation rate for silent stream (exponential ramp from last value to zero when stream disable, or from
zero to active value when stream enable).
The actual rate is RAMP RATE / 256. The default is 180/256 ≈ 0.7, which is recommended for LPCM.
A value of zero disables ramping. This is recommended for compressed audio
© 2013 Advanced Micro Devices, Inc.
Proprietary
18