Intel® High Definition Audio Specification: Document Change Notification
Intel® High Definition Audio Specification: Document Change Notification
This DCN provides a set of addition and changes to the HD Audio specification that defines
how the Display Port 1.2 Specification for multi-streaming over single DP port capability is
exposed and control for the Display Port Audio Codec.
New Definitions:
Codec physical address Persist across Dx states, Persist across Single and Codec
(SDI) unless the link has been double FG reset but Link
reset, in which case the Reset will initiate a Codec
Converter Format; All bits Persist across Dx states Reset by POR, persist across Input & Output
[15:0] e.g. Type, Base, Link & FG resets Converters, Digital
Mult, Div, Bits Chan Converter
fields
Converter Stream & Reset to Default; must not Reset to default by all resets Input & Output
Channel settings, all bits assume same stream is in and does not set PS- Converter, Digital
[7:0] e.g. Stream number operation across Dx state SettingsReset to one (1) Converter
in bits [7:4] and Lowest transitions and could cause
Channel number in bits spurious audio to be played
[3:0] if not reset.
Digital Converter Persist across Dx states Reset by POR, persist across Digital Converter
Controls 1 &2, all bits Link & FG resets
Connection Select Index Persist across Dx states Reset by POR, persist across Input converter, Selector
values, all bits [7:0] Link & FG resets and Pin Complex
Device Select Index Persist across Dx states Reset by POR, persist across Digital Display Pin
values, bits [5:0] Link & FG resets Complex
…
7.3.3.14.1 Intrinsic Unsolicited Responses
Intrinsic unsolicited responses are generated as a result of asynchronous hardware events such as presence
detect and hot plug (represented by ELD valid) events. These responses have a predefined sub tag of 0
and are enabled by the Unsolicited Responses Control verb.
Data Structure:
ELDV ELD Data valid: This bit reflects the present state of the Pin Sense – ELD Valid bit when the
unsolicited response is triggered. Software can optionally use the pin sense control verb to
determine the latest pin sense data state.
This bit implementation is only required for digital display pin widget.
For the case of multi stream capable Digital Display Pin Widget, this bit indicate the ELDV bit
of the specific Device Entry.
IA Inactive: This bit reflects the present state of the Pin Sense – IA bit when the unsolicited
response is triggered. Software can optionally use the pin sense control verb to determine the
latest pin sense data state.
This bit implementation is only required for digital display pin widget.
For the case of multi stream capable Digital Display Pin Widget, this bit indicate the IA bit of
the specific Device Entry.
DE Device Entry: Indicate the index of Device Entry (0 - 63) which the UR is generated for a multi
stream capable Digital Display Pin Widget. Not valid for non Digital Display Pin Widget or
Digital Display Pin Widget that is not multi stream capable.
The codec adheres to the following rules for generating unsolicited responses triggered by intrinsic events:
If a second UR is generated while the previous UR is still waiting to be sent then only the new UR is
recommended to be sent, where the previous UR should be collapsed into the second UR. However,
for multi stream capable Digital Display Pin Widget, the UR for different Device Entry should not be
collapsed, but treated as independent UR generation source. Collapsing within each independent UR
generation source is allowed.
In the case of a monitor plug-in event, the ELD content is populated before the presence detect bit has
been set. Setting of the ELD valid bit in this case is recommended will not to generate an (extra) UR,
where UR generation should be because it is gated by PD or IA. In such cases when the PD bit or IA
bit is also set, an Unsolicited Response is generated that contains both PD (or IA) and ELDV bits.
…
7.3.3.15 Pin Sense
The Pin Sense control returns the Presence Detect status, EDID-Like Data (ELD) Valid, and the
impedance measurement of the device attached to the pin.
Some codecs may require that the impedance measurement be triggered by software; in that case, sending
the Execute command will cause the impedance measurement to begin. The “Presence Detect” bit will
always be accurate if that functionality is supported by the widget.
Note that the Pin Complex Widget may support the generation of an Unsolicited Response to indicate that
the Sense Measurement (either the Presence Detect or the Impedance) value has changed, the generation
of which implies that the measurement is complete.
For the case of multi stream capable Digital Display Pin Widget, this verb can be used to read a specific
Device Entry state as reported in Get Device List Entry verb.
Command Options:
Presence Detect is a bit indicating the state of the Presence Detect capability. A 1 indicates that there is
“something” plugged into the jack associated with the Pin Complex. For Digital Display Pin Widget, the
1 also indicates that the pin widget audio capabilities have not been disabled under GFX driver control.
This bit will only be valid if the widget has Presence Detect capability as indicated by the “Presence
Detect Capable” bit of the Pin Capabilities parameter (see Section 7.3.4.9). For the case of multi stream
capable Digital Display Pin Widget, this bit indicate the PD bit of the specific Device Entry.
EDID-Like Data (ELD) Valid is a bit indicating the state of the ELD memory. When the contents are
valid ELD is set to 1 and cleared to zero when not valid. For the case of multi stream capable Digital
Display Pin Widget, this bit indicate the ELDV bit of the specific Device Entry.
Inactive is only applicable for Digital Display Pin Widget. It is to supplement the Present Detect bit
behavior for Digital Display Pin Widget. A 1 indicates that there is “something” plugged into the jack
associated with the Pin Complex, but audio capabilities have been disabled under GFX driver control.
This bit will only be valid if the widget has Presence Detect capability as indicated by the “Presence
Detect Capable” bit of the Pin Capabilities parameter (see Section 7.3.4.9). For the case of multi stream
capable Digital Display Pin Widget, this bit indicate the IA bit of the specific Device Entry. Note that
ELDV may be 0 or 1 when IA = 1, depending on choice of audio codec implementation for exposing the
ELD structure or not when the audio endpoint is inactive.
Figure 73. PD, IA and ELDV unsolicited responses flow for digital display codecs
…
7.3.3.34.1 ELD Memory Structure
…
CEA_SADs indicates up to 15 entries of 3-byte CEA-861 Short Audio Descriptor reported by the sink
device. This field is a “canned” field that would be populated through implementation specific mean of
default programming before the graphic driver is loaded, typically with only one LPCM SAD entry to
indicate the basic LPCM audio support. The bytes orientation is little endian, i.e. the lowest significant
byte is located at the lower byte offset of the ELD memory structure and most significant byte is located
at the higher byte offset of the ELD memory structure. Note that the field is not valid for the case of
inactive audio endpoint (IA = 1, PD = 0) even though ELDV = 1, as this field may be massaged by
graphic driver depending on the active video mode when the audio endpoint become active (IA = 0, PD =
1) later.
…
7.3.3.42 Device Select
For Digital Display Pin Widget that is multi stream capable, the Device Select control determines which
Device Entry is currently selected and accessible by the Pin Widget verbs which are controlling the sink
device operations. This control verb is only required if it is a Digital Display Pin Widget and multi stream
capable.
The index is in relation to the Device List associated with the widget. The index is a zero-based offset
into the Device List. Once the Device Entry is selected by the Set index, all subsequent Pin Widget verbs
controlling the sink device operations will be directed to the selected Device Entry, until the Device Select
verb get updated with a new value. These Pin Widget verbs include:
Connection Select
Get Connection List Entry
Amplifier Gain/Mute
Power State
Pin Widget Control
ELD Data
DIP-Size
DIP-Index
DIP-Data
DIP-XmitCtrl
Content Protection Control
ASP Channel Mapping
If the Device List Length value is 0, the Pin Widget is not multi stream capable since there is only one
sink device connection possible, therefore, there is no Device Select control, and the verb for this control
is not operable on that widget.
If an attempt is made to Set an index value greater than the number of list entries (index is equal to or
greater than the Device List Length property for the widget) the behavior is not predictable.
Note that the Sink Device ID returned in the Device Select Control response is used by the codec
hardware to forward audio stream to the correct sink device on the DP multi-stream connection hierarchy.
To software, this Sink Device ID is only for status information.
Command Options:
Applies to:
Digital Display Pin Complex (multi stream capable)
The requested index n is zero based. n must be a multiple of 8 and 8 Device List Entries will be returned.
Therefore, requesting index 0 will return the values at offset 0 – 7, requesting index 8 will return the
values at offset 8 – 15, etc.
If the number of Device List Entries is not multiple of 8, the number of entries beyond the end of the list
would be reported as 0’s for the verb response of last valid index. For example, if the Device List Length
parameter is read as 0001h, indicating that there are two Device List Entries in the list, requesting the
Device List Entry with n equal to 0 will return List Entry 0 in bits 3:0, List Entry 1 in bits 7:4, and 0’s for
the other list entries.
If an index value of greater than the number of list entries (n is equal to or greater than the Device List
Length property for the widget) the behavior is not predictable.
Command Options:
Get Response:
31:28 ... 11:8 7:4 3:0
Device List ... Device List Device List Device List
Entry n+7 Entry n+2 Entry n+1 Entry n
Figure 82. Get Device List Entry Response Format
Each of the Device List Entry contains 4 bits as defined in Table 141 below. An UR will be generated for
each of the Device Entry PD, ELDV, and IA fields through the Intrinsic Unsolicited Response if enabled,
with the conditions as defined in the section 0. The UR response format will have the DE field indicating
which Device Entry is causing the UR.
Table 141. Device List Entry Definition
Bits Field Definition
0 PD Presence Detect: This bit reflects the Device Entry present state of the Pin Sense –
Presence Detect bit.
1 ELDV ELD Valid: This bit reflects the Device Entry present state of the Pin Sense – ELD Valid
bit.
2 IA IA: This bit reflects the Device Entry present state of the Pin Sense – IA bit.
3 Reserved.
Applies to:
Digital Display Pin Complex (multi stream capable)
…
7.3.4.16 Device List Length
The Device List Length parameter returns the number of sink device that can be connected to this Pin
Widget. This parameter is only required if it is a Digital Display Pin Widget.
31:6 5:0
Reserved Device List Length
Figure 99. Device List Length Response Format
Device List Length is a 0 based integer value indicating the number of sink device that a multi stream
capable Digital Display Pin Widget can support. If Device List Length is value is 0, there is only one sink
device connection possible indicating the Pin Widget is not multi stream capable, and there is no Device
Select control (see Section 7.3.3.42). If the Device List Length value is 1 – 63, it indicates the Pin Widget
is multi stream capable, and 2 – 64 Device Entries are supported in the Pin Widget.
Applies to:
Digital Display Pin Complex
…
7.3.6 Required Parameter and Control Support
Table 145 specifies which parameters are required (R) for each specification-defined node. It also
indicates optional (o) parameters which are used to declare the presence of optional features in the
associated node. A shaded square in the table indicates that the subject parameter is not applicable to the
subject node type. The squares marked with (a) indicate an alternative; the parameter is required in either
the Audio Function Group (AFG), to be used as a default, or else in all of the indicated widgets. If these
parameters are present in the AFG, they are only needed in the individual widgets that have non-default
capabilities. Some parameters are marked with an asterisk (*) for the “Vendor_Specific_Audio_Widget
indicating they are not required by the specification since a vendor specific node may largely define its
own parameters. If, however, the vendor specific node implements features that can be defined by an
existing parameter, then using the standard parameter is preferable to defining a new one.
Required
Pin Complex Widget
Parameter
Mixer (SumAmp)
Beep Generator
(Digital Display)
Selector (Mux)
Support
Power Widget
Volume Knob
Parameter ID
Root Node
Vendor ID 00 R
Revision ID 02 R
Subordinate Node Count 04 R R R R
Function Group Type 05 R R R
Audio Function Group
Capabilities 08 o
Audio Widget
Capabilities 09 R R R R R R R R R R
Sample Size, Rate CAPs 0A A A a *
Stream Formats 0B A A a *
Pin Capabilities 0C R R *
Input Amp Capabilities 0D A a a a a *
Output Amp Capabilities 12 A a a a a a *
Connection List Length 0E R R R R R R *
Supported Power States 0F R R o o o o o o o R *
Processing Capabilities 10 o o o o o *
GPI/O Count 11 o o o
Volume Knob
Capabilities 13 R
HDMI LPCM CAD
(Obsolete) 20 R
Device List Length 15 o
Note that the Audio Function Group Capabilities parameter provides a default delay for the entire AFG to
be used in lieu of adding specific delays listed for each widget in the Audio Widget Capabilities
parameter. This is required if one or more widgets in the AFG opts to not report a correct delay in its
Audio Widget Capabilities parameter; if all widgets do report an accurate delay number, the Audio
Function Group Capabilities parameter is not required.
Table 146 specifies which verbs and controls are required (R) for each specification-defined node. It also
indicates conditional (c) verbs which are required only if the respective optional capability is declared to
be available. Another conditional verb (X) is required when the codec supports multiple SDI signals. A
shaded square in the table indicates that the subject verb is not applicable to the subject node type. Some
parameters are marked with an asterisk (*) for the “Vendor_Specific_Audio_Widget” indicating they are
not required by the specification since a vendor specific node may largely define its own verbs. If,
however, the vendor specific node implements controls that can be accessed with an existing verb, then
using the standard verb is preferable to defining a new one.
Mixer (SumAmp)
Support
Beep Generator
(Digital Display)
Selector (Mux)
Power Widget
Volume Knob
Root Node
Get Code
Set Code
Get Parameter F00 R R R R R R R R R R R R R R
Connection Select F01 701 c c c c *
Get Connection List
Entry F02 R R R R R R R *
Processing State F03 ## c c c c c *
Coefficient Index D- - 5- - c c c c c *
Processing Coefficient C- - 4- - c c c c c *
Amplifier Gain/Mute B- - 3- - c c c c c c c *
Stream Format A- - 2- - R R *
Digital Converter 1 F0D 70D c c *
Digital Converter 2 F0D 70E c c *
Power State F05 705 R R c c c c c c c R c
Channel/Stream ID F06 706 R R *
SDI Select F04 704 X X *
Pin Widget Control F07 707 R R *
Unsolicited Enable F08 708 c c c c c c c c *
Pin Sense F09 709 c c *
EAPD/BTL Enable F0C 70C c *
F10 710
All GPI Controls thru thru c c
F1A 71A
Beep Generation
Control F0A 70A R
Volume Knob Control F0F 70F R
Implementation ID,
Byte 0 F20 720 R R R
Implementation ID,
Byte 1 F20 721 R R R
Implementation ID,
Byte 2 F20 722 R R R
Implementation ID,
Byte 3 F20 723 R R R
Config Default, Byte 0 F1C 71C R R
Config Default, Byte 1 F1C 71D R R
Mixer (SumAmp)
Support
Beep Generator
(Digital Display)
Selector (Mux)
Power Widget
Volume Knob
Root Node
Get Code
Set Code
Config Default, Byte 2 F1C 71E R R
Config Default, Byte 3 F1C 71F R R
Stripe Control F24 724 c
Converter Channel
Count F2D 72D c
DIP-Size F2E R
ELD Data F2F R
DIP-Index F30 730 R
DIP-Data F31 731 R
DIP-XmitCtrl F32 732 R
Content Protection
Control F33 733 c
ASP Channel Mapping F34 734 R
Device Select F35 735 c
Get Device List Entry F36 c
RESET 7FF R R R
Note that the Connection Select control is not required when the Connection List Length Register value is
1 for this node. In that case, there is no Connection Select control. Similarly, the Device Select control is
not required when the Device List Length parameter value is 0 for this node.