
R
SATA Programmer’s Reference Manual 3
Contents
1Introduction.......................................................................................................................... 7
1.1 Overview................................................................................................................. 7
2Conventions ........................................................................................................................ 9
2.1 Register Access...................................................................................................... 9
2.2 Keywords ................................................................................................................ 9
3Intel®ICH SATA Controller Basic Attributes...................................................................... 11
3.1 Legacy Sub-Mode................................................................................................. 11
3.2 Native Sub-Mode .................................................................................................. 11
3.3 Host Controller Configurations ............................................................................. 12
4Theory of Operation .......................................................................................................... 13
4.1 Compatible Configuration ..................................................................................... 13
4.1.1 Additional Register Support .................................................................. 14
4.1.1.1 MAP – Address Map Register – Offset 90h......................... 14
4.1.2 Compatible Configuration - Option 1..................................................... 15
4.1.3 Compatible Configuration - Option 2..................................................... 16
4.1.4 Compatible Configuration - Option 3 (Combined)................................. 17
4.2 Enhanced Configuration ....................................................................................... 20
4.2.1 PI - Programming Interface Register – Offset 09h................................ 21
4.2.2 MAP Register Programming ................................................................. 23
4.3 PCS - Port Control and Status Register – Offset 92h........................................... 23
4.3.1.1 Port Enabling/Disabling ....................................................... 24
4.3.1.1.1 BIOS Considerations ........................................... 24
4.3.1.1.2 Enabling/Disabling a SATA Port from an
Operating System Driver ..................................... 25
4.3.1.1.3 Enabling/Disabling a SATA Port from ACPI ........ 25
4.4 Device Presence Detect ....................................................................................... 26
4.4.1 Hardware and Software Considerations ............................................... 26
4.4.2 Device Detection – Software Examples................................................ 28
4.5 ATA Swap Bay Support ........................................................................................ 28
4.6 Implementing the Intel®ICH5 SATA Host Controller in ACPI Namespace .......... 29
Appendix A – Coding Examples ........................................................................................................... 31
A.1 Enabling/Disabling SATA Ports from a WDM Driver ............................................ 31
A.2 Enabling/Disabling SATA Ports in the _PSx Control Method ............................... 33
A.3 Device Presence Check – Using I/O .................................................................... 37
A.4 Device Presence Check – Using ACPI................................................................. 39
A.5 ACPI Control Method (GSPS) .............................................................................. 43
Appendix B – Example ACPI Namespace............................................................................................ 47