beautypg.com

Avago Technologies LSI53C895A User Manual

Page 85

background image

Alternative SSVID/SSID Loading Mechanism

2-59

An additional register, the

Subsystem ID Access

, is located in the PCI

configuration space at offset 0x48–0x4B. This is a 32-bit write only
register that always reads back a value of 0x00000000. Once enabled
and unlocked using a write of three specific byte values to offset 0x48, a
write to this register is shadowed into the PCI Subsystem register at
offset 0x2C. Any data written to the register cannot be read back through
the register, it always reads back 0x00000000.

To disable the

Subsystem ID Access

, the MAD4 pin must be pulled

HIGH. (Note: There is an internal pull-down on the MAD4 pin.) A logical
zero (0) on this pin will enable the

Subsystem ID Access

register,

allowing it to be unlocked by writing the proper three byte sequence to
offset 0x48. A logical one (1) on this pin will disable the

Subsystem ID

Access

register.

Once the

Subsystem ID Access

register is enabled, a sequence of three

byte writes to offset 0x48 will allow a 32-bit subsystem value to be written
to offset 0x48–0x4B which will then be shadowed into the PCI
Subsystem register at offset 0x2C–0x2F. The three byte values that must
be written are 0x53, 0x59, 0x4D (ASCII) in this order. Once this
sequence is written, the next write to offset 0x48–0x4B is shadowed into
the Subsystem register. At no time can any of the data written to the

Subsystem ID

register be read back. The register always reads back

zeros. In addition, any reads to offset 0x48 between writes of the unlock
code or the actual subsystem value will reset the internal state machine
requiring the sequence be restarted from the beginning. Byte, word, or
Dword writes are allowed during the unlock sequence with the other byte
lanes (0x49, 0x4A, and 0x4B) being don’t cares. Once the subsystem
value is written into the

Subsystem ID Access

register, the register will

again lock itself and the three byte sequence must be repeated to allow
further writes to this register to be shadowed into the Subsystem register
at offset 0x2C–0x2F.

If the

Subsystem ID Access

register writes a new value to the Subsystem

register (0x2C), the Subsystem register retains that value until the
Alternative SSVID/SSID Loading Mechanism is used again to change the
value. Prior to the first unlock of the

Subsystem ID Access

register after

a power-on, the Subsystem register presents the value determined by
the

Subsystem ID

and

Subsystem Vendor ID

described in the section

above. This allows an autodownload from a serial EEPROM to change
the value of the Subsystem register. Additionally, that value may be
overridden by writing to the Subsystem ID Access register. The serial