Specifications

©
2008 Advanced Micro Devices Inc.
A-Link Bridge
AMD SB600 BIOS Developer’s Guide (Public Version) Proprietary
Page 42
Register Indirect Address
AX_INDXC 30h
AX_DATAC 34h
AX_INDXP 38h
AX_DATAP 3Ch
Example: To write to register 21h in the INDXC space with a data of 00, the following steps are
required:
1. Out 30h to AB_INDX. This will prepare to write register from INDXC
2. Out 21h to AB_DATA. This will set register 21h of INDXC
3. Out 34h to AB_INDX. This will prepare to write data to register defined in steps 1
and 2 above
4. Out 00 to AB_DATA. This will write the data to the register defined n steps 1 and 2
above.
11.2 Programming Procedure
Indirect access is required to access both A-Link Express Configuration and A-Link Bridge
Configuration register space. The programming procedure is as follows:
Write:
1. Set the A-Link bridge register access address. This address is set at device 14h,
function 0, register 0F0h. This is an I/O address and needs to be set only once after
power-up. The I/O address must be on a 8-byte boundary (i.e., 3 LS bits must be
zeroes).
Example: To set C80h as an A-Link bridge register access address:
mov dx,0CF8h ; To access device 14h, function 0
mov eax,8000A0F0h ;
out dx,eax
mov dx,0CFCh
mov eax,00000C80h ; A-Link bridge register access address
out dx,eax
Note: Although the 32-bit I/O address is set for the A-Link bridge (e.g., 00000C80h),
the bridge may be accessed by a 16-bit address (i.e., 0C80h). The MS word is set to
00 by default (see the example below).
2. Write the register address in the AB_INDX.
Example: To write to the A-Link Bridge configuration register space at 90h:
mov dx,0c80h ; I/O address index assigned to A-Link