Intel 307017-001 TV Cables User Manual


 
Programmer’s Reference Manual 125
Intel® High Definition Audio BIOS Considerations
4.1.3 Intel
®
High Definition Audio Codec Initialization on S3
Resume
According to Microsoft, the SSID response from the Intel
®
HD Audio codec must be consistent at
any point the OS may read the value. Similarly other codec configuration information must follow
the same rule. Additionally, the assumption of relying on the function driver to ensure such
consistency across different sleep states is not always practical due to the fact that the function
driver can be disabled/unloaded by user (for whatever reason) prior to system power state
transitions.
This requires that any programming of the Intel® Hd Audio codecs that the BIOS performs during
POST must also be performed any time the codec power plane loses power. In particular, this
means that the codec verb table, if programmed into the codec during POST, must be restored by
BIOS on S3 resume if the codec context is not constantly maintained by standby power.
Note that this requirement does not apply to platforms that use the codec’s hardware default
configurations without changing them, or platforms that maintain the codec context in S3 by
standby power.
S3 Resume BIOS Requirement
The BIOS programming on resume is complicated by the need to preserve the wake status
information in the codec, so that the bus driver can determine if a codec (usually a modem) has
‘awoken’ the system. The following programming sequence is therefore recommended during S3
resume:
1. Read the original STATESTS from AZBAR+0Eh[2:0], save it to OldState.
2. Set AZBAR+08h[0] = 1 to take the controller out of reset, wait for about 1ms.
3. Program Verb Tables to codecs as BIOS did during the POST.
4. Write AZBAR+0Eh[2:0]=NOT(OldState) to restore previous STATESTS.
5. Set AZBAR+08h[0] = 0 to put the controller back in reset.
4.2 Intel
®
High Definition Audio Controller
Configuration
Once the Intel® HD Audio codec is determined to be present and Intel® HD Audio controller is
kept enabled via Function Disable register (RCBA+ 3418h[4]=1), BIOS should:
Initialize the configuration space of Intel® HD Audio controller as a regular PCI device
(assign memory and interrupt resources and enable the device using standard PCI command
register 04h).
Initialize SSID/SVID registers at D27:F0:Reg2C-2Fh to OEM-specific IDs. This is similar to
the SSID/SVIDs given to other ICH7 devices such as IDE, SATA, SMBus, USBs, etc.