Part Number Hot Search : 
BR100 C1953P ACS27DM R1060 P1701 IRFW614B LHS20TRA 1228S32
Product Description
Full Text Search
 

To Download CS5530A Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  amd geode? CS5530A companion device data book amd geode ? CS5530A companion device data book october 2003 publication id: may 2001, revision 1.1
2 amd geode? CS5530A companion device data book contacts www.amd.com pcs.support@amd.com trademarks amd, the amd arrow logo, and combinations ther eof, geode, virtual system architecture, and xpressaudio are trademarks of advanced micro devices, inc. microsoft, windows, and windows nt are registered trademarks of microsoft corporation in the u.s. and/ or other jurisdictions. other product names used in this publication are fo r identification purposes only and may be trademarks of their respective companies. ? 2003 advanced micro devices, inc. all rights reserved. the contents of this document are pr ovided in connection with advanced micro devices, inc. (?amd?) products. amd make s no representations or warranties with respect to the accuracy or completeness of the contents of this publication and reserves the right to make changes to s pecifications and produ ct descriptions at any time without notice. no license, whet her express, implied, arising by estoppel or otherwise, to any intellectual property rights is granted by this publication. except as set forth in amd?s standard terms and conditions of sale, amd assumes no liability whatsoever, and disclaims any express or implied warranty, relating to its products including, but not limited to, the implied warranty of mer- chantability, fitness for a particular purpose, or infringement of any intellectual property right. amd?s products are not designed, intend ed, authorized or warranted for use as components in systems intended for surgical implant into the body, or in other applications intended to support or sustain life, or in any other application in which the failure of amd?s product could create a situation where personal injury, death, or severe property or environmental damage may occur. amd reserves the right to discontinue or make changes to its products at any time without notice.
amd geode? CS5530A companion device data book 3 contents revision 1.1 contents list of figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 list of tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.0 amd geode? CS5530A companion de vice . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.1 general description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.2 features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.0 architecture overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.1 processor support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2 pci bus interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3 isa bus interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.4 at compatibility logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.5 ide controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.6 power management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.7 xpressaudio? subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 2.8 display subsystem extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.9 clock generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.10 universal serial bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.0 signal definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.1 pin assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2 signal descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.0 functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.1 processor interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.2 pci bus interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.3 resets and clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.4 power management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.5 pc/at compatibility logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 4.6 ide controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 4.7 xpressaudio? subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 18 4.8 display subsystem extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 4.9 universal serial bus support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
4 amd geode? CS5530A companion device data book contents revision 1.1 5.0 register descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 5.1 pci configuration space and access methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 5.2 register summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 5.3 chipset register space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 5.4 usb registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 5.5 isa legacy i/o register space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 5.6 v-acpi i/o register space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 6.0 electrical specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 6.1 electrical connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 6.2 absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 6.3 operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 6.4 dc characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 6.5 ac characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 6.6 display characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 7.0 test mode information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 7.1 nand tree test mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 7.2 i/o test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 8.0 physical dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 appendix a support documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 a.1 revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
amd geode? CS5530A companion device data book 5 list of figures revision 1.1 list of figures figure 1-1. block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 figure 2-1. example system block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 figure 2-2. ac97 codec signal connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 figure 2-3. 8-bit display subsystem extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 figure 2-4. CS5530A clock generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 figure 3-1. CS5530A signal groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 figure 3-2. 352 pbga pin assignment diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 figure 4-1. processor signal connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 figure 4-2. portable/desktop display subsyst em configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 figure 4-3. pixel signal connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 figure 4-4. subtractive decoding timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 figure 4-5. CS5530A reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 figure 4-6. system clock distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 figure 4-7. general purpose timer and udef trap smi tree example . . . . . . . . . . . . . . . . . . . . . . . . . 83 figure 4-8. non-posted pci-to-isa access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 figure 4-9. pci to isa cycles with delayed transaction enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 figure 4-10. limited isa mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 figure 4-11. isa master mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 figure 4-12. isa dma read from pci memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 figure 4-13. isa dma write to pci memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 figure 4-14. pit timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 figure 4-15. pic interrupt controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 figure 4-16. pci and irq interrupt mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 figure 4-17. smi generation for nmi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 figure 4-18. external rtc interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 figure 4-19. CS5530A and ide channel connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 figure 4-20. prd table example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 figure 4-21. ac97 signal connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 figure 4-22. audio smi tree example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 figure 4-23. 8-bit display subsystem extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 figure 4-24. video port protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 figure 6-1. test measurements for ac characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 0 figure 6-2. test circuit for ac characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 figure 6-3. pci rising edge (t lh ) test circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 figure 6-4. pci falling edge (thl) test circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 figure 6-5. pci slew rate test circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 figure 6-6. 3.3v pciclk waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 figure 6-7. cpu interface timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 figure 6-8. audio interface timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 figure 6-9. usb timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 figure 6-10. usb test circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 figure 6-11. display tft/tv outputs delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 figure 6-12. mpeg timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 figure 6-13. typical video connection diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 figure 7-1. example: nand tree output waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 figure 8-1. 352 pbga mechanical package outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
6 amd geode? CS5530A companion device data book list of figures revision 1.1
amd geode? CS5530A companion device data book 7 list of tables revision 1.1 list of tables table 3-1. pin type definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 table 3-2. 352 pbga pin assignments - sorted by pin number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 table 3-3. 352 pbga pin assignments - sorted alphabetically by signal name . . . . . . . . . . . . . . . . . . 25 table 4-1. gx1 processor serial packet register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50 table 4-2. pci command register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 table 4-3. pci command encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 table 4-4. subtractive decoding related bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 table 4-5. perr#/serr# associated register bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 table 4-6. pci interrupt steering registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 table 4-7. delay transaction programming bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54 table 4-8. isaclk divider bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 table 4-9. dclk configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 table 4-10. f4bar+memory offset 24h[22:12] decode (value of ?n?) . . . . . . . . . . . . . . . . . . . . . . . . . . 59 table 4-11. base address register (f1bar) for smi status and acpi timer support . . . . . . . . . . . . . . 60 table 4-12. suspend configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 table 4-13. clock stop control register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 table 4-14. suspend modulation related registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64 table 4-15. power management shadow registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 table 4-16. apm support registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 table 4-17. power management global enabling bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 8 table 4-18. keyboard/mouse idle timer and trap related registers . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 table 4-19. parallel/serial idle timer and trap related registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 table 4-20. floppy disk idle timer and trap related registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 table 4-21. primary hard disk idle timer and trap related registers . . . . . . . . . . . . . . . . . . . . . . . . . . 71 table 4-22. secondary hard disk idle timer and trap related registers . . . . . . . . . . . . . . . . . . . . . . . . 72 table 4-23. user defined device 1 (udef1) idle timer and trap related registers . . . . . . . . . . . . . . . 73 table 4-24. user defined device 2 (udef2) idle timer and trap related registers . . . . . . . . . . . . . . . 74 table 4-25. user defined device 3 (udef3) idle timer and trap related registers . . . . . . . . . . . . . . . 75 table 4-26. video idle timer and trap related registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 table 4-27. vga timer related registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 table 4-28. general purpose timers and control registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 table 4-29. acpi timer related registers/bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 table 4-30. v-acpi i/o register space summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79 table 4-31. gpio pin function selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 table 4-32. gpio pin configuration/control registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80 table 4-33. top level smi status register (read to clear) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4 table 4-34. second level pwr mgmnt smi status reporting registers (read to clear) . . . . . . . . . . . . . 85 table 4-35. device power management programming summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 table 4-36. cycle configuration bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 table 4-37. signal assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 table 4-38. i/o recovery programming register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 table 4-39. rom interface related bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 table 4-40. dma shadow register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 table 4-41. pit control and i/o port 061h associated register bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 table 4-42. pit shadow register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
8 amd geode? CS5530A companion device data book list of tables revision 1.1 table 4-43. pic interrupt mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 table 4-44. pci inta cycle disable/enable bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 table 4-45. pic shadow register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 table 4-46. pci interrupt steering registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 table 4-47. interrupt edge/level select registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 table 4-48. i/o ports 061h and 092h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 table 4-49. i/o port 092h decode enable bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 table 4-50. decode control registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 table 4-51. external keyboard controller registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 table 4-52. a20 associated programming bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 table 4-53. real-time clock registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 table 4-54. ide reset bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 table 4-55. base address register (f2bar) for ide support registers . . . . . . . . . . . . . . . . . . . . . . . . 111 table 4-56. pio programming registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 table 4-57. ide bus master prd table address registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 table 4-58. ide bus master command and status registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 table 4-59. physical region descriptor format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 table 4-60. ultra dma/33 signal definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 table 4-61. mdma/udma control registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 table 4-62. base address register (f3bar) for xpre ssaudio? subsystem support registers . . . . 118 table 4-63. generic bit formats for audio bus master configuration registers . . . . . . . . . . . . . . . . . . 119 table 4-64. audio bus master configuration register summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 table 4-65. physical region descriptor format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 table 4-66. codec configuration/control registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 table 4-67. second level smi status reporting registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 table 4-68. third level smi status reporting registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 29 table 4-69. sound card i/o trap and fast path enable registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 table 4-70. irq configuration registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 table 4-71. base address register (f4bar) for video controller support registers . . . . . . . . . . . . . . 133 table 4-72. video input format bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 table 4-73. video scale register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 table 4-74. video x and y position registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 table 4-75. video color registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 table 4-76. display configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 table 4-77. usb pci configuration registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 table 4-78. usb controller registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 table 5-1. pci configuration address register (0cf8h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 table 5-2. function 0: pci header and bridge configuration registers summary . . . . . . . . . . . . . . . 145 table 5-3. function 1: pci header registers for smi status and acpi timer summary . . . . . . . . . . 147 table 5-4. f1bar: smi status and acpi timer registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . 147 table 5-5. function 2: pci header registers for ide controller summary . . . . . . . . . . . . . . . . . . . . . 148 table 5-6. f2bar: ide controller configuration registers summary . . . . . . . . . . . . . . . . . . . . . . . . . 148 table 5-7. function 3: pci header registers for xpressaudio? subsystem summary . . . . . . . . . . 149 table 5-8. f3bar: xpressaudio? sub system configuration registers summ ary . . . . . . . . . . . . . . 149 table 5-9. function 4: pci header registers for video controller summary . . . . . . . . . . . . . . . . . . . . 150 table 5-10. f4bar: video controller configuration registers summary . . . . . . . . . . . . . . . . . . . . . . . . 150 table 5-11. usb pci configuration registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 table 5-12. usb bar: usb controller registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 table 5-13. isa legacy i/o registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 table 5-14. v-acpi i/o register space summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 54 table 5-15. f0 index xxh: pci header and bridge configuration registers . . . . . . . . . . . . . . . . . . . . . . 155 table 5-16. f1 index xxh: pci header registers for smi status and acpi timer . . . . . . . . . . . . . . . . . 180 table 5-17. f1bar+memory offset xxh: smi status and acpi timer registers . . . . . . . . . . . . . . . . . . 181 table 5-18. f2 index xxh: pci header registers for ide configuration . . . . . . . . . . . . . . . . . . . . . . . . . 184 table 5-19. f2bar+i/o offset xxh: ide configuration registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
amd geode? CS5530A companion device data book 9 list of tables revision 1.1 table 5-20. f3 index xxh: pci header registers for xpressaudio? subsystem . . . . . . . . . . . . . . . . 188 table 5-21. f3bar+memory offset xxh: xpressaudio? subsystem configuration registers . . . . . . 189 table 5-22. f4 index xxh: pci header registers for video controller configuration . . . . . . . . . . . . . . . 198 table 5-23. f4bar+memory offset xxh: video controller configuration registers . . . . . . . . . . . . . . . . 199 table 5-24. f4bar+memory offset 24h[22:12] decode (value of ?n?) . . . . . . . . . . . . . . . . . . . . . . . . . 204 table 5-25. usb index xxh: usb pci configuration registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 table 5-26. usb bar+memory offset xxh: usb controller registers . . . . . . . . . . . . . . . . . . . . . . . . . . 208 table 5-27. dma channel control registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 table 5-28. dma page registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 table 5-29. programmable interval timer registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 table 5-30. programmable interrupt controller registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 0 table 5-31. keyboard controller registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 table 5-32. real-time clock registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 table 5-33. miscellaneous registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 table 5-34. v-acpi registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 table 5-35. setup_idx values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 table 5-36. gpio mapping (0x10-0x17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 table 5-37. irq wakeup status mapping (0x30-0x3f) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 table 5-38. commands (0x41-0x43, and 0x50) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 table 5-39. signature/length block for 0x43 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 table 5-40. i/o block for 0x43 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 table 5-41. audio soft smi emulation (0x60-0x63) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 table 5-42. audio power control (0x64) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 table 6-1. pins with weak internal pull-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 table 6-2. absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 table 6-3. operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 table 6-4. dc characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 table 6-5. system conditions used to determine CS5530A?s current used during the ?on? state . . 237 table 6-6. dc characteristics during power states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 38 table 6-7. drive level and measurement points for ac characteristics . . . . . . . . . . . . . . . . . . . . . . . 239 table 6-8. ac characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 table 6-9. clock and reset specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 table 6-10. dclk pll specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 table 6-11. cpu interface timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 table 6-12. audio interface timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 table 6-13. usb timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 table 6-14. crt display recommended operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 table 6-15. crt display analog (dac) characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 6 table 6-16. display miscellaneous characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 table 6-17. crt, tft/tv and mpeg display timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 table 7-1. nand tree test selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 table 7-2. nand tree test mode pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 table 7-3. i/o test selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 table 7-4. i/o test sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 table a-1. revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 table a-2. edits to create revision 1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
10 amd geode? CS5530A companion device data book list of tables revision 1.1
amd geode? CS5530A companion device data book 11 amd geode? CS5530A companion device revision 1.1 1.0 amd geode? CS5530A companion device 1.1 general description the amd geode? CS5530A companion device is designed to work in conjunction with an amd geode? gx1 processor. together, the geode gx1 processor and CS5530A companion device pr ovide a system-level solu- tion well suited for the high performance needs of a host of devices which include digital set-top boxes and thin client devices. due to the low power consumption of the gx1 processor, this solution satisfies the needs of battery pow- ered devices such as amd? s webpad system, and thermal design is eased a llowing for fanless system design. the CS5530A is a pci-to-isa bridge (south bridge), acpi- compliant chipset that provides at/isa style functionality. the device contains stat e-of-the-art power management that enables systems, especi ally battery powered systems, to significantly reduce power consumption. audio is supported through pci bus master engines that connect to an ac97 compatible codec. if industry standard audio is required, a combination of hardware and software called virtual system archit ecture? (vsa) technology is provided. the geode gx1 processor?s graphics/video output is con- nected to the CS5530A. t he CS5530A graphics/video sup- port includes a pll that generates the dot clock for the gx1 processor (where the graphics controller is located), video acceleration hardware, gamma ram plus three dacs for rgb output to crt, and digital rgb that can be directly connected to tft panels or ntsc/pal encoders. figure 1-1. block diagram x-bus isa bus pci bus usb pci to x-bus / x-bus to pci bridge pci to usb macro active decode address mapper audio/codec/mpu interface pwr mgmt, traps, events, and timers ide interface display interface mpeg, dot clock csc and scl rgb/fp interface at compatibility logic isa bus interface at ports, isa megacells tft/crt pci configuration registers graphics and video from cpu x-bus arbiter CS5530A support gpios ide ac97 codec ultra dma/33 joystick / game port joystick gpcs
12 amd geode? CS5530A companion device data book amd geode? CS5530A companion device revision 1.1 two bus mastering ide controllers are included for support of up to four ata-compliant devices. a two-port universal serial bus (usb) provides high speed, plug & play expan- sion for a variety of consumer peripheral devices such as a keyboard, mouse, printer, and digital camera. if additional functions are required like real-time clock, floppy disk, ps2 keyboard, and ps2 mouse, a superi/o device can be eas- ily connected to the CS5530A. 1.2 features general features designed for use with amd?s geode gx1 processor 352 pbga (plastic ball grid array) package 3.3v or 5.0v pci bus compatible 5.0v tolerant on all inputs 3.3v core pci-to-isa bridge pci 2.1 compliant supports pci initiator-to-isa and isa master-to-pci cycle translations pci master for audio i/o and ide controllers subtractive agent for unclaimed transactions pci-to-isa interrupt mapper/translator at compatibility two 8259a-equivalent interrupt controllers 8254-equivalent timer two 8237-equivalent dma controllers boot rom and keyboard chip select extended rom to 16 mb bus mastering ide controllers two controllers with support for up to four ide devices independent timing for master and slave devices for both channels pci bus master burst reads and writes ultra dma/33 (ata-4) support multiword dma support programmed i/o (pio) modes 0-4 support power management intelligent system controller supports multiple power management standards: ? full acpi and legacy (apm) support ? directly manages all gx1 processor?s power states (including automatic suspend modulation for optimal performance/thermal balancing) i/o traps and idle timers for peripheral power management up to eight gpios for system control: ? all eight are configurable as external wakeup events dedicated inputs for keyboard and mouse wakeup events xpressaudio? subsystem provides "back-end" hardware support via six buffered pci bus masters ac97 codec interface: ? specification revision 1.3, 2.0, and 2.1 compliant interface. note that the codec must have src (sample rate conversion) support display subsystem extensions complements the gx1 processor?s graphics and video capabilities: ? three independent line buffers for accelerating video data streams ? handles asynchronous video and graphics data streams concurrently from the processor ? yuv to rgb conversion hardware ? arbitrary x & y interpolative scaling ? color keying for graphics/video overlay vdacs / display interface: ? three integrated dacs ?gamma ram: ? provides gamma correction for graphics data streams ? provides brightness/contrast correction for video data streams ? integrated dot clock generator ? digital rgb interface drives tft panels or standard ntsc/pal encoders ? up to 1280x1024 @ 85 hz universal serial bus two independent usb interfaces: ? open host controller interface (openhci) specification compliant ? second generation proven core design
amd geode? CS5530A companion device data book 13 architecture overview revision 1.1 2.0 architecture overview the geode CS5530A can be described as providing the functional blocks as shown in figure 1-1 on page 11.  processor support  pci bus master/slave interface  isa bus interface  at compatibility logic  ide controllers  power management: ? gpio interfaces ? traps, events, timers  joystick/game port interface  virtual audio support hardware  video display, which includes mpeg accelerator, ramdac, and video ports  usb controller 2.1 processor support the traditional south bridge functionality included in the CS5530A companion device has been designed to support the gx1processor. when combined with a gx1 processor, the CS5530A provides a bridge which supports a standard isa bus and system rom. as pa rt of the video subsystem, the CS5530A provides mpeg video acceleration and a digital rgb interface, to allow direct connection to tft lcd panels. this chip also integrates a gamma ram and three dacs, allowing for direct connection of a crt moni- tor. figure 2-1 shows a typical system block diagram. for detailed information regarding processor signal con- nections refer to section 4.1 "processor interface" on page 48. figure 2-1. example system block diagram yuv port (video) rgb port pci interface memory memory data bus pci bus amd geode? CS5530A graphics data video data analog rgb digital rgb crt tft flat panel usb (2 ports) ac97 codec speakers cd rom audio micro- phone gpios port (graphics) amd geode? ide devices superi/o bios isa bus ultra dma/33 ide bus memory serial packet dc-dc & battery clocks or tv ntsc/pal encoder gx1 processor companion device
14 amd geode? CS5530A companion device data book architecture overview revision 1.1 2.2 pci bus interface the CS5530A provides a pci bus interface that is both a slave for pci cycles initiated by the cpu or other pci mas- ter devices, and a non-preemptable master for dma trans- fer cycles. the chip also is a standard pci master for the ide controllers and audio i/o logic. the CS5530A supports positive decode for configurable memory and i/o regions and implements a subtractive decode option for unclaimed pci accesses. the CS5530A also generates address and data parity and performs parity checking. the CS5530A does not include the pci bus arbiter, which is located in the processor. configuration registers are accessed through the pci inter- face using the pci bus type 1 configuration mechanism as described in the pci 2.1 specification. 2.3 isa bus interface the CS5530A provides an isa bus interface for unclaimed memory and i/o cycles on pci. the CS5530A is the default subtractive decoding agent and forwards all unclaimed memory and i/o cycles to the isa interface; however, the CS5530A may be configured to ignore either i/o, memory, or all unclaim ed cycles (subtractive decode disabled). the CS5530A supports two modes on the isa interface. the default mode, limited isa mode, supports the full memory and i/o address range without isa mastering. the address and data buses are multiplexed together, requiring an external latch to latch the lower 16 bits of address of the isa cycle. the signal sa_la tch is genera ted when the data on the sa/sd bus is a valid address. additionally, the upper four address bits, sa[23:20], are multiplexed on gpio[7:4]. the second mode, isa master mode, supports isa bus masters and requires no external circuitry. when the CS5530A is placed in isa master mode, a large number of pins are redefined. in this mode, the CS5530A cannot sup- port tft flat panels or tv controllers since most of the sig- nals used to support these functions have been redefined. this mode is required if isa slots or isa masters are used. isa master cycles are only pa ssed to the pci bus if they access memory. i/o accesses ar e left to complete on the isa bus. for further information regarding mode selection and oper- ational details refer to sectio n 4.5.2.2 "limited isa and isa master modes" on page 92. 2.4 at compatibility logic the CS5530A integrates:  two 8237-equivalent dma controllers with full 32-bit addressing  two 8259-equivalent interrupt controllers providing 13 individually programmable external interrupts  an 8254-equivalent timer for refresh, timer, and speaker logic  nmi control and generation for pci system errors and all parity errors  support for standard at keyboard controllers  positive decode for the at i/o register space  reset control 2.4.1 dma controller the CS5530A supports the i ndustry standard dma archi- tecture using two 8237-compatible dma controllers in cas- caded configuration. cs5 530a-supported dma functions include:  standard seven-channel dma support  32-bit address range support via high page registers  iochrdy extended cycles for compatible timing transfers  isa bus master device support using cascade mode 2.4.2 programmable interval timer the CS5530A contains an 8254-equivalent programmable interval timer. this device has three timers, each with an input frequency of 1.193 mhz. 2.4.3 programmable interrupt controller the CS5530A contains two 8259-equivalent programmable interrupt controllers (pics), with eight interrupt request lines each, for a total of 16 interrupts. the two controllers are cascaded internally, and two of the interrupt request inputs are connected to the internal circuitry. this allows a total of 13 externally available interrupt requests. each CS5530A irq signal can be individually selected as edge- or level-sensitive. the pci interrupt signals are routed internally to the pics irqs.
amd geode? CS5530A companion device data book 15 architecture overview revision 1.1 2.5 ide controllers the CS5530A integrates two pci bus mastering, ata-4 compatible ide controllers. these controllers support ultra dma/33 (enabled in microsoft ? windows 95 and windows nt ? by using a driver provided by amd), multiword dma, and programmed i/o (pio) modes. two devices are sup- ported on each controller. the data-transfer speed for each device on each controller can be independently pro- grammed. this allows high-speed ide peripherals to coex- ist on the same channel as lower speed devices. faster devices must be ata-4 compatible. 2.6 power management the CS5530A integrates advanced power management features including:  idle timers for common system peripherals  address trap registers for programmable address ranges for i/o or memory accesses  up to eight programmable gpios  clock throttling with automatic speedup for the cpu clock  software cpu stop clock  save-to-disk/ram with peripheral shadow registers  dedicated serial bus to/from the gx1 processor providing cpu power management status the CS5530A is an acpi (advanced control and power interface) compliant chipset. an acpi compliant system is one whose underlying bios, device drivers, chipset and peripherals conform to revision 1.0 or newer of the acpi specification. the ?fixed feat ure? and ?general purpose? registers are virtual. they are emulated by the smi han- dling code rather than existing in physical hardware. to the acpi compliant operating syst em, the smi-base virtualiza- tion is transparent; however, to eliminate unnecessary latencies, the acpi timer exists in physical hardware. the CS5530A v-acpi (virtual acpi) solution provides the following support:  cpu states ? c1, c2  sleep states ? s1, s2, s4, s4bios, s5  embedded controller (optional) ? sci and swi event inputs.  general purpose events ? fully programmable gpe0 event block registers. 2.6.1 gpio interface eight gpio pins are provided for general usage in the sys- tem. gpio[3:0] are dedicated pins and can be configured as inputs or outputs. gpio[7:4] can be configured as the upper addresses of the isa bus, sa[23:20]. all gpios can also be configured to generate an smi on input edge tran- sitions. 2.7 xpressaudio? subsystem xpressaudio? architecture in the CS5530A offers a com- bined hardware/software support solution to meet industry standard audio requirements. xpressaudio architecture uses vsa technology along with additional hardware fea- tures to provide the necessary support for industry stan- dard 16-bit stereo synthesis and opl3 emulation. the hardware portion of the xpressaudio subsystem can broadly be divided into two categories. hardware for:  transporting streaming audi o data to/from the system memory and an ac97 codec.  vsa technology support. 2.7.1 ac97 codec interface the CS5530A provides an ac97 specification revision 1.3, 2.0, and 2.1 compatible interface. any ac97 codec which supports an independent input and output sample rate conversion interface can be used with the CS5530A. this type of codec allows for a design which meets the requirements for pc97 and pc98-compliant audio as defined by microsoft corporation. figure 2-2 shows the codec and CS5530A signal connections. for specifics on the serial interface, refer to the appropriate codec manufac- turer?s data sheet. low latency audio i/o is accomplished by a buffered pci bus mastering controller. figure 2-2. ac97 codec signal connections 2.7.2 vsa technology support hardware the CS5530A companion device incorporates the required hardware in order to suppor t vsa technology for the cap- ture and playback of audio using an external codec. this eliminates much of the hardware traditionally associated with industry standard audio functions. xpressaudio software provides 16-bit compatible sound. this software is available to oems for incorporation into the system bios rom. bitclk pc_beep sdat_i sdat_o pc_beep sdata_in sdata_out ac97 geode? bit_clk 24.576 mhz sync sync codec external source CS5530A
16 amd geode? CS5530A companion device data book architecture overview revision 1.1 2.8 display subsystem extensions the CS5530A incorporates extensions to the gx1 proces- sor?s display subsystem. these include:  video accelerator ? buffers and formats input yuv video data from the processor ? 8-bit interface to the processor ? x & y scaler with bilinear filter ? color space converter (yuv to rgb)  video overlay logic ? color key ? data switch for graphics and video data  gamma ram ? brightness and contrast control  display interface ? integrated rgb video dacs ? vesa ddc2b/dpms support ? flat panel interface figure 2-3 shows the data path of the display subsystem extensions. figure 2-3. 8-bit display subsystem extensions vid_data[7:0] 8 input buffer 0 (3x360x32 bit) buffer 1 buffer 2 formatter / scaler ver tical filter horizontal filter color space converter formatter 24 color key color compare 24 pixel[23:0] bypass gamma ram 24 video dither 24 8 each dac rgb to crt fp_data 18 24 24 enable gamma correction register 24 24 register
amd geode? CS5530A companion device data book 17 architecture overview revision 1.1 2.9 clock generation in a CS5530A/gx1 processor based system, the CS5530A generates only the video dot clock (dclk) for the cpu and the isa clock. all other clocks are generated by an external clock chip. the isaclk is created by dividing the pciclk. for isa compatibility, the isaclk nomin ally runs at 8.33 mhz or less. the isaclk dividers are programmed via f0 index 50h[2:0]. dclk is generated from the 14.31818 mhz input (clk_14mhz). a combination of a phase locked loop (pll), linear feedback shift register (lfsr) and divisors are used to generate the desired frequencies for the dclk. the divisors and lfsr are configurable through the f4bar+memory offset 24h. for applications that do not use the gx1 processor?s graphics subsystem, this is an available clock for general purpose use. figure 2-4 shows a block diagram for clock generation within the CS5530A. figure 2-4. CS5530A clock generation 2.10 universal serial bus the CS5530A provides two complete, independent usb ports. each port has a data ??? and a data ?+? pin. the usb controller is a compliant open host controller interface (openhci). the openhci specification provides a register-level description for a host controller, as well as a common industry hardware/software interface and drivers (see openhci specification, revision 1.0, for description). dclk dclk pll n tvclk clk_14mhz isaclk pciclk m u x
18 amd geode? CS5530A companion device data book architecture overview revision 1.1
amd geode? CS5530A companion device data book 19 signal definitions revision 1.1 3.0 signal definitions this section defines the signals and describes the external interface of the geode cs553 0a. figure 3-1 shows the pins organized by their functional groupings (internal test and electrical pins are not shown). figure 3-1. CS5530A signal groups ad[31:0] c/be[3:0]# pa r hold_req# frame# trdy# stop# lock# devsel# req# gnt# serr# inta#-intd# irq13 intr smi# ide_dack1# ide_iordy0 rom interface pci bus cpu interface pserial susp# suspa# kbromcs# irdy# perr# susp_3v ide_iow1# ide_iow0# ide_ior0# ide_ior1# amd geode? ide_data[15:0] ide_addr[2:0] ide_rst# ide_cs0# ide_cs1# ide_dreq1 ide_dack0# ide_dreq0 ide_iordy1 tvclk dclk pciclk isaclk clocks clk_32k clk14_mhz reset pci_rst# por# cpu_rst usbclk d+_port1 d?_port1 d+_port2 d?_port2 usb power_en over_cur# sdata_out sdata_in sync bit_clk pc_beep audio interface CS5530A pclk pixel[23:0] display: pixel ena_disp port note: pins that change function when isa master mode is invoked are repre- sented with the isa mas- ter mode function signal name in parenthesis. ide controller companion device
20 amd geode? CS5530A companion device data book signal definitions revision 1.1 figure 3-1. CS5530A signal groups (continued) 3.1 pin assignments the tables in this section use several common abbrevia- tions. table 3-1 lists the mnemonics and their meanings. figure 3-2 shows the pin assignment for the CS5530A with tables 3-2 and 3-3 listing the pin assignments sorted by pin number and alphabetically by signal name, respectively. in section 3.2 "signal descriptions" on page 29 a descrip- tion of each signal within its associated functional group is provided. in the signal definitions, references to f0-f4, f1bar, f2bar, f3bar, f4bar, and pciusb are made. these terms relate to designated register spaces. refer to table 5-1 "pci configuration addre ss register (0cf8h)" on page 144 for details regarding these register spaces and their access mechanisms. extvrefin ioutg ioutb av ss1-5 ioutr av dd1-3 hsync_out hsync vsync fp_data17 (master#) fp_clk (no function) display: crt vsync_out ddc_scl ddc_sda fp_hsync_out (smemw#) fp_clk_even (no function) fp_vsync_out (smemr#) iref fp_disp_ena_out (no function) fp_ena_vdd (no function) fp_ena_bkl (no function) fp_hsync (no function) fp_vsync (no function) analog display: mpeg plldvd pllvaa dclkpll analog pllagd plldgn vid_rdy vid_val vid_clk vid_data[7:0] sa[19:16] (sa_dir) sa_latch sbhe# bale iochrdy zerows# ior# iow# memcs16# memr# memw# aen drq[7:5], [3:0] dack#[7:5], [3:0] tc irq[15:14], [12:9], [7:3], 1 isa bus irq8# iocs16# (sd[15:0]) sa[15:0]/sd[15:0] gpcs# gport_cs# (sa[23:20]) gpio[7:4]/sa[23:20] gpio[3:2] gpio1/sdata_in2 gpio0 game port/ gpio smemw#/rtccs# smemr#/rtcale fp_data16 (sa_oe#) fp_data[15:0] (sa[15:0]) external rtc display: tft/tv table 3-1. pin type definitions mnemonic definition i input pin 1 1. all buffers are 5 volt tolerant. i/o bidirectional pin 1 , 2 2. all digital bidirectional and output pins can be tri-state sig- nals unless a weak pull-up is enabled. o output pin 1 , 2 od open-drain output structure that allows multiple devices to share the pin in a wired-or configura- tion pu pull-up resistor smt schmitt trigger vdd (pwr) power pin vss (gnd) ground pin # the ?#? symbol at the end of a signal name indi- cates that the active, or asserted state occurs when the signal is at a low voltage level. when ?#? is not present after the signal name, the sig- nal is asserted when at a high voltage level.
amd geode? CS5530A companion device data book 21 signal definitions revision 1.1 figure 3-2. 352 pbga pin assignment diagram order number: CS5530A-uce 1234567891011121314151617181920 21 22 23 24 25 26 a b c d e f g h j k l m n p r t u v w y aa ab ac ad ae af index mark pix0 pix1 pix2 pix7 pix10 vclk pix12 pix16 pix19 dclk vdat0 vdat5 pclk inta# ad0 ad7 ad9 ad12 ad10 ad15 par serr# dvsl# c/be2# ad17 ad16 enadisp tvclk pix4 pix5 vsync pix8 vdval pix15 pix18 vdrdy pix22 vdat6 vdat2 intd# ad3 ad5 ad6 c/be0# ad11 ad14 c/be1# perr# trdy# irdy# ad18 ad19 fpvsy fphsy v dd pix3 pix11 hsyn pix14 pix17 pix21 pix23 vdat3 vdat7 vdat1 prst# intc# ad2 ad4 v ss v dd ad13 v ss lock# fram# v dd ad21 ad22 fpd11 nc test v ss pix6 pix9 pix13 v ss pix20 v dd vdat4 v ss v ss ad1 intb# v ss v dd ad8 v ss v ss v dd v ss v ss gnt# ad26 c/be3# fphsyo fpd10 fpvsyo v ss v ss ad20 ad23 stop# fpd9 fpdiseno fpd17 v dd v ss v dd ad24 ad27 fpd8 fpd5 fpd7 fpd6 v ss ad25 ad28 ad29 fpd4 fpd15 fpd16 v ss v ss v dd ad31 hdrq# fpd3 fpd1 fpd2 fpenbkl v ss ad30 req# pciclk fpd14 fpd13 fpd0 v ss v ss por# cpurst susp# fpd12 fpevdd fpckev v dd v dd susp3v suspa# pserl fpclk ddcscl v ss ddcsda pldvd v ss plvaa nc hsyno vsyno v ss av dd3 plltest nc plagd pldgn av ss4 av ss5 ioutr ioutg v ss 14mhz smi# intr ioutb av ss1 iref av ss2 irq13 diow0# dior1# dior0# nc xvrefi av dd2 av ss3 v dd ddck1# diow1# ddck0# av dd1 v dd _usb sync sdati ided7 ided6 idea0 idea1 sdato bitclk pcbeep pwren v ss ided8 ided10 dcs0# usbclk nc ovrcur# v ss v ss idea2 drst# ided5 d?pt1 d+pt1 nc v ss v dd ided11 ided9 dcs1# d?pt2 d+pt2 nc av ss _usb v ss ided1ided12ided4 nc nc nc av dd _usb ided15 ided2 ided13 ided3 nc nc nc v ss v ss sa3 dck7# dck1# v ss v dd iow# v ss v ss irq3 mcs16# v ss irq14 v ss v dd sa10 gpio5 gpio0 v ss dreq1 ided14 ided0 nc nc nc smemr# sa5 isaclk dck6# dck0# sa2 sa19 sa16 drq1 drq3 irq7 sltch v dd irq15 drq5 sa9 v ss gptcs# gpio4 v dd sa14 iordy0 dreq0 nc nc 32k krmcs# irq9 sa1 dck5# aen sa0 drq2 sa18 ior# irq5 irq8# irq4 irq10 sbhe# drq0 memr# drq6 sa12 sa13 gpio6 gpio1 sa15 iordy1 nc nc smemw# sa7 sa6 sa4 dck3# dck2# bale 0ws# chrdy sa17 irq1 irq6 tc cs16# irq12 irq11 sa8 memw# sa11 drq7 gpio7 gpio3 gpio2 gpcs# 1234567891011121314151617181920 21 22 23 24 25 26 a b c d e f g h j k l m n p r t u v w y aa ab ac ad ae af note: signal names have been abbreviated in this figure due to space constraints. = gnd terminal = pwr terminal = multiplexed signal = changes function in isa master mode CS5530A (top view: marking orientation is as shown)
22 amd geode? CS5530A companion device data book signal definitions revision 1.1 table 3-2. 352 pbga pin assignments - sorted by pin number pin no. signal name limited isa mode isa master mode a1 pixel0 a2 pixel1 a3 pixel2 a4 pixel7 a5 pixel10 a6 vid_clk a7 pixel12 a8 pixel16 a9 pixel19 a10 dclk a11 vid_data0 a12 vid_data5 a13 pclk a14 inta# a15 ad0 a16 ad7 a17 ad9 a18 ad12 a19 ad10 a20 ad15 a21 par a22 serr# a23 devsel# a24 c/be2# a25 ad17 a26 ad16 b1 ena_disp b2 tvclk b3 pixel4 b4 pixel5 b5 vsync b6 pixel8 b7 vid_val b8 pixel15 b9 pixel18 b10 vid_rdy b11 pixel22 b12 vid_data6 b13 vid_data2 b14 intd# b15 ad3 b16 ad5 b17 ad6 b18 c/be0# b19 ad11 b20 ad14 b21 c/be1# b22 perr# b23 trdy# b24 irdy# b25 ad18 b26 ad19 c1 fp_vsync no function c2 fp_hsync no function c3 v dd c4 pixel3 c5 pixel11 c6 hsync c7 pixel14 c8 pixel17 c9 pixel21 c10 pixel23 c11 vid_data3 c12 vid_data7 c13 vid_data1 c14 pci_rst# c15 intc# c16 ad2 c17 ad4 c18 v ss c19 v dd c20 ad13 c21 v ss c22 lock# c23 frame# c24 v dd c25 ad21 c26 ad22 d1 fp_data11 sa11 d2 nc d3 test d4 v ss d5 pixel6 d6 pixel9 d7 pixel13 d8 v ss d9 pixel20 d10 v dd d11 vid_data4 d12 v ss d13 v ss d14 ad1 d15 intb# d16 v ss d17 v dd d18 ad8 d19 v ss d20 v ss d21 v dd d22 v ss d23 v ss d24 gnt# pin no. signal name limited isa mode isa master mode d25 ad26 d26 c/be3# e1 fp_hsync_out smemw# e2 fp_data10 sa10 e3 fp_vsync_out smemr# e4 v ss e23 v ss e24 ad20 e25 ad23 e26 stop# f1 fp_data9 sa9 f2 fp_disp_ena_out no function f3 fp_data17 master# f4 v dd f23 v ss f24 v dd f25 ad24 f26 ad27 g1 fp_data8 sa8 g2 fp_data5 sa5 g3 fp_data7 sa7 g4 fp_data6 sa6 g23 v ss g24 ad25 g25 ad28 g26 ad29 h1 fp_data4 sa4 h2 fp_data15 sa15 h3 fp_data16 sa_oe# h4 v ss h23 v ss h24 v dd h25 ad31 h26 hold_req# j1 fp_data3 sa3 j2 fp_data1 sa1 j3 fp_data2 sa2 j4 fp_ena_bkl no function j23 v ss j24 ad30 j25 req# j26 pciclk k1 fp_data14 sa14 k2 fp_data13 sa13 k3 fp_data0 sa0 k4 v ss k23 v ss k24 por# k25 cpu_rst k26 susp# l1 fp_data12 sa12 pin no. signal name limited isa mode isa master mode
amd geode? CS5530A companion device data book 23 signal definitions revision 1.1 l2 fp_ena_vdd no function l3 fp_clk_even no function l4 v dd l23 v dd l24 susp_3v l25 suspa# l26 pserial m1 fp_clk no function m2 ddc_scl m3 v ss m4 ddc_sda m23 plldvd m24 v ss m25 pllvaa m26 nc n1 hsync_out n2 vsync_out n3 v ss n4 av dd3 (dac) n23 plltest n24 nc n25 pllagd n26 plldgn p1 av ss4 (icap) p2 av ss5 (dac) p3 ioutr p4 ioutg p23 v ss p24 clk_14mhz p25 smi# p26 intr r1 ioutb r2 av ss1 (dac) r3 iref r4 av ss2 (icap) r23 irq13 r24 ide_iow0# r25 ide_ior1# r26 ide_ior0# t1 nc t2 extvrefin t3 av dd2 (vref) t4 av ss3 (vref) t23 v dd t24 ide_dack1# t25 ide_iow1# t26 ide_dack0# u1 av dd1 (dac) u2 v dd _usb u3 sync u4 sdata_in pin no. signal name limited isa mode isa master mode u23 ide_data7 u24 ide_data6 u25 ide_addr0 u26 ide_addr1 v1 sdata_out v2 bit_clk v3 pc_beep v4 power_en v23 v ss v24 ide_data8 v25 ide_data10 v26 ide_cs0# w1 usbclk w2 nc w3 over_cur# w4 v ss w23 v ss w24 ide_addr2 w25 ide_rst# w26 ide_data5 y1 d?_port1 y2 d+_port1 y3 nc y4 v ss y23 v dd y24 ide_data11 y25 ide_data9 y26 ide_cs1# aa1 d?_port2 aa2 d+_port2 aa3 nc aa4 av ss _usb aa23 v ss aa24 ide_data1 aa25 ide_data12 aa26 ide_data4 ab1 nc ab2 nc ab3 nc ab4 av dd _usb ab23 ide_data15 ab24 ide_data2 ab25 ide_data13 ab26 ide_data3 ac1 nc ac2 nc ac3 nc ac4 v ss ac5 v ss ac6 sa3/sd3 sd3 ac7 dack7# pin no. signal name limited isa mode isa master mode ac8 dack1# ac9 v ss ac10 v dd ac11 iow# ac12 v ss ac13 v ss ac14 irq3 ac15 memcs16# ac16 v ss ac17 irq14 ac18 v ss ac19 v dd ac20 sa10/sd10 sd10 ac21 gpio5/sa21 sa21 ac22 gpio0 ac23 v ss ac24 ide_dreq1 ac25 ide_data14 ac26 ide_data0 ad1 nc ad2 nc ad3 nc ad4 smemr#/rtcale ad5 sa5/sd5 sd5 ad6 isaclk ad7 dack6# ad8 dack0# ad9 sa2/sd2 sd2 ad10 sa19 ad11 sa16 ad12 drq1 ad13 drq3 ad14 irq7 ad15 sa_latch sa_dir ad16 v dd ad17 irq15 ad18 drq5 ad19 sa9/sd9 sd9 ad20 v ss ad21 gport_cs# ad22 gpio4/sa20 sa20 ad23 v dd ad24 sa14/sd14 sd14 ad25 ide_iordy0 ad26 ide_dreq0 ae1 nc ae2 nc ae3 clk_32k ae4 kbromcs# ae5 irq9 ae6 sa1/sd1 sd1 pin no. signal name limited isa mode isa master mode table 3-2. 352 pbga pin assignments - sorted by pin number (continued)
24 amd geode? CS5530A companion device data book signal definitions revision 1.1 ae7 dack5# ae8 aen ae9 sa0/sd0 sd0 ae10 drq2 ae11 sa18 ae12 ior# ae13 irq5 ae14 irq8# ae15 irq4 ae16 irq10 ae17 sbhe# ae18 drq0 ae19 memr# ae20 drq6 ae21 sa12/sd12 sd12 ae22 sa13/sd13 sd13 pin no. signal name limited isa mode isa master mode ae23 gpio6/sa22 sd22 ae24 gpio1/sdata_in2 ae25 sa15/sd15 sd15 ae26 ide_iordy1 af1 nc af2 nc af3 smemw#/rtccs# af4 sa7/sd7 sd7 af5 sa6/sd6 sd6 af6 sa4/sd4 sd4 af7 dack3# af8 dack2# af9 bale af10 zerows# af11 iochrdy af12 sa17 pin no. signal name limited isa mode isa master mode af13 irq1 af14 irq6 af15 tc af16 iocs16# af17 irq12 af18 irq11 af19 sa8/sd8 sd8 af20 memw# af21 sa11/sd11 sd11 af22 drq7 af23 gpio7/sa23 sa23 af24 gpio3 af25 gpio2 af26 gpcs# pin no. signal name limited isa mode isa master mode table 3-2. 352 pbga pin assignments - sorted by pin number (continued)
amd geode? CS5530A companion device data book 25 signal definitions revision 1.1 table 3-3. 352 pbga pin assignments - sorted alphabetically by signal name signal name pin type 1 buffer type 2 pin no. limited isa mode isa master mode ad0 i/o pci a15 ad1 i/o pci d14 ad2 i/o pci c16 ad3 i/o pci b15 ad4 i/o pci c17 ad5 i/o pci b16 ad6 i/o pci b17 ad7 i/o pci a16 ad8 i/o pci d18 ad9 i/o pci a17 ad10 i/o pci a19 ad11 i/o pci b19 ad12 i/o pci a18 ad13 i/o pci c20 ad14 i/o pci b20 ad15 i/o pci a20 ad16 i/o pci a26 ad17 i/o pci a25 ad18 i/o pci b25 ad19 i/o pci b26 ad20 i/o pci e24 ad21 i/o pci c25 ad22 i/o pci c26 ad23 i/o pci e25 ad24 i/o pci f25 ad25 i/o pci g24 ad26 i/o pci d25 ad27 i/o pci f26 ad28 i/o pci g25 ad29 i/o pci g26 ad30 i/o pci j24 ad31 i/o pci h25 aen o 8 ma ae8 av dd1 (dac) i, analog -- u1 av dd2 (vref) i, analog -- t3 av dd3 (dac) i, analog -- n4 av dd _usb pwr -- ab4 av ss1 (dac) i, analog -- r2 av ss2 (icap) i, analog -- r4 av ss3 (vref) i, analog -- t4 av ss4 (icap) i, analog -- p1 av ss5 (dac) i, analog -- p2 av ss _usb gnd -- aa4 bale o 8 ma af9 bit_clk i 8 ma v2 c/be0# i/o pci b18 c/be1# i/o pci b21 c/be2# i/o pci a24 c/be3# i/o pci d26 clk_14mhz i (smt) clk p24 clk_32k i/o 8 ma ae3 cpu_rst o 8 ma k25 dack0# o 8 ma ad8 dack1# o 8 ma ac8 dack2# o 8 ma af8 dack3# o 8 ma af7 dack5# o 8 ma ae7 dack6# o 8 ma ad7 dack7# o 8 ma ac7 dclk o dotclk a10 ddc_scl o 8 ma m2 ddc_sda i/o 8 ma m4 devsel# i/o pci a23 d?_port1 i/o usb y1 d+_port1 i/o usb y2 d?_port2 i/o usb aa1 d+_port2 i/o usb aa2 drq0 i 8 ma ae18 drq1 i 8 ma ad1 2 drq2 i 8 ma ae10 drq3 i 8 ma ad1 3 drq5 i 8 ma ad1 8 drq6 i 8 ma ae20 drq7 i 8 ma af22 ena_disp i 8 ma b1 extvrefin i, analog -- t2 fp_clk no function o fp_clk m1 fp_clk_even no function o 8 ma l3 fp_data0 sa0 i/o 8 ma k3 fp_data1 sa1 i/o 8 ma j2 fp_data2 sa2 i/o 8 ma j3 fp_data3 sa3 i/o 8 ma j1 fp_data4 sa4 i/o 8 ma h1 fp_data5 sa5 i/o 8 ma g2 fp_data6 sa6 i/o 8 ma g4 fp_data7 sa7 i/o 8 ma g3 fp_data8 sa8 i/o 8 ma g1 fp_data9 sa9 i/o 8 ma f1 fp_data10 sa10 i/o 8 ma e2 fp_data11 sa11 i/o 8 ma d1 fp_data12 sa12 i/o 8 ma l1 fp_data13 sa13 i/o 8 ma k2 fp_data14 sa14 i/o 8 ma k1 fp_data15 sa15 i/o 8 ma h2 fp_data16 sa_oe# o 8 ma h3 fp_data17 master# i/o 8 ma f3 fp_disp_ena_out no function o 8 ma f2 fp_ena_bkl no function o 8 ma j4 fp_ena_vdd no function o 8 ma l2 fp_hsync no function i 8 ma c2 fp_hsync_out smemw# o 8 ma e1 fp_vsync no function i 8 ma c1 signal name pin type 1 buffer type 2 pin no. limited isa mode isa master mode
26 amd geode? CS5530A companion device data book signal definitions revision 1.1 fp_vsync_out smemr# o 8 ma e3 frame# i/o pci c23 gnt# i pci d24 gpcs# o 8 ma af26 gpio0 i/o 8 ma ac2 2 gpio1/sdata_in2 i/o 8 ma ae24 gpio2 i/o 8 ma af25 gpio3 i/o 8 ma af24 gpio4/sa20 sa20 i/o 8 ma ad2 2 gpio5/sa21 sa21 i/o 8 ma ac2 1 gpio6/sa22 sa22 i/o 8 ma ae23 gpio7/sa23 sa23 i/o 8 ma af23 gport_cs# o 8 ma ad2 1 hold_req# (strap pin) i/o pci h26 hsync i 8 ma c6 hsync_out o 8 ma n1 ide_addr0 o ide u25 ide_addr1 o ide u26 ide_addr2 o ide w24 ide_cs0# o ide v26 ide_cs1# o ide y26 ide_dack0# o ide t26 ide_dack1# o ide t24 ide_data0 i/o ide ac2 6 ide_data1 i/o ide aa24 ide_data2 i/o ide ab24 ide_data3 i/o ide ab26 ide_data4 i/o ide aa26 ide_data5 i/o ide w26 ide_data6 i/o ide u24 ide_data7 i/o ide u23 ide_data8 i/o ide v24 ide_data9 i/o ide y25 ide_data10 i/o ide v25 ide_data11 i/o ide y24 ide_data12 i/o ide aa25 ide_data13 i/o ide ab25 ide_data14 i/o ide ac2 5 ide_data15 i/o ide ab23 ide_dreq0 i ide ad2 6 ide_dreq1 i ide ac2 4 ide_ior0# o ide r26 ide_ior1# o ide r25 ide_iordy0 i ide ad2 5 ide_iordy1 i ide ae26 signal name pin type 1 buffer type 2 pin no. limited isa mode isa master mode ide_iow0# o ide r24 ide_iow1# o ide t25 ide_rst# o ide w25 inta# i pci a14 intb# i pci d15 intc# i pci c15 intd# i pci b14 intr (strap pin) i/o 8 ma p26 iochrdy i/o, od 8 ma af11 iocs16# i 8 ma af16 ior# i/o (pu) 8 ma ae12 ioutb o, ana- log -- r1 ioutr o, ana- log -- p3 ioutg o, ana- log -- p4 iow# i/o (pu) 8 ma ac1 1 irdy# i/o pci b24 iref i, analog -- r3 irq1 i 8 ma af13 irq3 i 8 ma ac1 4 irq4 i 8 ma ae15 irq5 i 8 ma ae13 irq6 i 8 ma af14 irq7 i 8 ma ad1 4 irq8# i 8 ma ae14 irq9 i 8 ma ae5 irq10 i 8 ma ae16 irq11 i 8 ma af18 irq12 i 8 ma af17 irq13 i 8 ma r23 irq14 i 8 ma ac1 7 irq15 i 8 ma ad1 7 isaclk o 8 ma ad6 kbromcs# o 8 ma ae4 lock# i/o pci c22 memcs16# i/o, od 8 ma ac1 5 memr# i/o (pu) 8 ma ae19 memw# i/o (pu) 8 ma af20 nc -- -- aa3 nc -- -- ab1 nc -- -- ab2 nc -- -- ab3 nc -- -- ac1 nc -- -- ac2 nc -- -- ac3 nc -- -- ad1 signal name pin type 1 buffer type 2 pin no. limited isa mode isa master mode table 3-3. 352 pbga pin assignments - sorted alphabetically by signal name (continued)
amd geode? CS5530A companion device data book 27 signal definitions revision 1.1 nc -- -- ad2 nc -- -- ad3 nc -- -- ae1 nc -- -- ae2 nc -- -- af1 nc -- -- af2 nc -- -- d2 nc -- -- m26 nc -- -- n24 nc -- -- t1 nc -- -- w2 nc -- -- y3 over_cur# i 8 ma w3 pa r i / o p c i a 2 1 pc_beep o 8 ma v3 pciclk i (smt) clk j26 pci_rst# o 8 ma c14 pclk i 8 ma a13 perr# i/o pci b22 pixel0 i 8 ma a1 pixel1 i 8 ma a2 pixel2 i 8 ma a3 pixel3 i 8 ma c4 pixel4 i 8 ma b3 pixel5 i 8 ma b4 pixel6 i 8 ma d5 pixel7 i 8 ma a4 pixel8 i 8 ma b6 pixel9 i 8 ma d6 pixel10 i 8 ma a5 pixel11 i 8 ma c5 pixel12 i 8 ma a7 pixel13 i 8 ma d7 pixel14 i 8 ma c7 pixel15 i 8 ma b8 pixel16 i 8 ma a8 pixel17 i 8 ma c8 pixel18 i 8 ma b9 pixel19 i 8 ma a9 pixel20 i 8 ma d9 pixel21 i 8 ma c9 pixel22 i 8 ma b11 pixel23 i 8 ma c10 pllagd i, analog -- n25 plldgn i, analog -- n26 plldvd i, analog -- m23 plltest -- -- n23 pllvaa i, analog -- m25 por# i 8 ma k24 power_en o 8 ma v4 pserial i 8 ma l26 signal name pin type 1 buffer type 2 pin no. limited isa mode isa master mode req# o pci j25 sa0/sd0 sd0 i/o (pu) 8 ma ae9 sa1/sd1 sd1 i/o (pu) 8 ma ae6 sa2/sd2 sd2 i/o (pu) 8 ma ad9 sa3/sd3 sd3 i/o (pu) 8 ma ac6 sa4/sd4 sd4 i/o (pu) 8 ma af6 sa5/sd5 sd5 i/o (pu) 8 ma ad5 sa6/sd6 sd6 i/o (pu) 8 ma af5 sa7/sd7 sd7 i/o (pu) 8 ma af4 sa8/sd8 sd8 i/o (pu) 8 ma af19 sa9/sd9 sd9 i/o (pu) 8 ma ad1 9 sa10/sd10 sd10 i/o (pu) 8 ma ac2 0 sa11/sd11 sd11 i/o (pu) 8 ma af21 sa12/sd12 sd12 i/o (pu) 8 ma ae21 sa13/sd13 sd13 i/o (pu) 8 ma ae22 sa14/sd14 sd14 i/o (pu) 8 ma ad2 4 sa15/sd15 sd15 i/o (pu) 8 ma ae25 sa16 i/o (pu) 8 ma ad1 1 sa17 i/o (pu) 8 ma af12 sa18 i/o (pu) 8 ma ae11 sa19 i/o (pu) 8 ma ad1 0 sa_latch sa_dir o 8 ma ad1 5 sbhe# i/o (pu) 8 ma ae17 sdata_in i 8 ma u4 sdata_out o 8 ma v1 serr# i/o, od pci a22 smemr#/rtcale o 8 ma ad4 smemw#/rtccs# o 8 ma af3 smi# i/o 8 ma p25 stop# i/o pci e26 susp# o 8 ma k26 suspa# i 8 ma l25 susp_3v i/o 8 ma l24 sync o 8 ma u3 tc o 8 ma af15 test i 8 ma d3 trdy# i/o pci b23 tvclk i 8 ma b2 usbclk i (smt) clk w1 v dd pwr -- d10 v dd pwr -- d17 v dd pwr -- ac1 0 v dd pwr -- ac1 9 v dd pwr -- ad1 6 v dd pwr -- ad2 3 signal name pin type 1 buffer type 2 pin no. limited isa mode isa master mode table 3-3. 352 pbga pin assignments - sorted alphabetically by signal name (continued)
28 amd geode? CS5530A companion device data book signal definitions revision 1.1 v dd pwr -- c19 v dd pwr -- c24 v dd pwr -- c3 v dd pwr -- d21 v dd pwr -- f24 v dd pwr -- f4 v dd pwr -- h24 v dd pwr -- l23 v dd pwr -- l4 v dd pwr -- t23 v dd pwr -- y23 v dd _usb pwr -- u2 vid_clk i 8 ma a6 vid_data0 i 8 ma a11 vid_data1 i 8 ma c13 vid_data2 i 8 ma b13 vid_data3 i 8 ma c11 vid_data4 i 8 ma d11 vid_data5 i 8 ma a12 vid_data6 i 8 ma b12 vid_data7 i 8 ma c12 vid_rdy o 8 ma b10 vid_val i 8 ma b7 v ss gnd -- d12 v ss gnd -- d13 v ss gnd -- d16 v ss gnd -- aa23 v ss gnd -- ac1 2 v ss gnd -- ac1 3 v ss gnd -- ac1 6 v ss gnd -- ac1 8 v ss gnd -- ac2 3 v ss gnd -- ac4 v ss gnd -- ac5 v ss gnd -- ac9 v ss gnd -- ad2 0 v ss gnd -- c18 v ss gnd -- c21 v ss gnd -- d19 v ss gnd -- d20 v ss gnd -- d22 v ss gnd -- d23 v ss gnd -- d4 v ss gnd -- d8 v ss gnd -- e23 v ss gnd -- e4 v ss gnd -- f23 signal name pin type 1 buffer type 2 pin no. limited isa mode isa master mode v ss gnd -- g23 v ss gnd -- h23 v ss gnd -- h4 v ss gnd -- j23 v ss gnd -- k23 v ss gnd -- k4 v ss gnd -- m24 v ss gnd -- m3 v ss gnd -- n3 v ss gnd -- p23 v ss gnd -- v23 v ss gnd -- w23 v ss gnd -- w4 v ss gnd -- y4 vsync i 8 ma b5 vsync_out o 8 ma n2 zerows# i 8 ma af10 1. see table 3-1 "pin type definitions" on page 20 for pin type definitions. 2. see table 6-4 "dc characteristics" on page 235 and table 6- 8 "ac characteristics" on page 239 for more information on buffer types. note that some bi directional buffers are used as input only, indicated by an "i" in the pin type column. signal name pin type 1 buffer type 2 pin no. limited isa mode isa master mode table 3-3. 352 pbga pin assignments - sorted alphabetically by signal name (continued)
amd geode? CS5530A companion device data book 29 signal definitions revision 1.1 3.2 signal descriptions 3.2.1 reset interface signal name pin no. pin type description pci_rst# c14 o pci reset pci_rst# resets the pci bus and is asserted while por# is asserted, and for approximately 9 ms following the deassertion of por#. por# k24 i power on reset por# is the system reset signal generat ed from the power supply to indi- cate that the system should be reset. cpu_rst k25 o cpu reset cpu_rst resets the cpu and is asserted while por# is asserted, and for approximately 9 ms following the deassertion of por#. clk_14mhz is used to generate this signal. 3.2.2 clock interface signal name pin no. pin type description pciclk j26 i (smt) pci clock the pci clock is used to drive most circuitry of the CS5530A. tvclk b2 i television clock the tvclk is an input from a digital ntsc/pal converter which is option- ally re-driven back out onto the dclk signal under software program con- trol. this is only used if interfacing to a compatible digital ntsc/pal encoder device. dclk a10 o dot clock dot clock is generated by the CS5530A and typically connects to the pro- cessor to create the cl ock used by the graphi cs subsystem. the minimum frequency of dclk is 10 mhz and the maximum is 200 mhz. however, when dclk is used as the graphics subsystem clock, the geode processor determines the maximum dclk frequency. isaclk ad6 o isa bus clock isaclk is derived from pciclk and is typically programmed for approxi- mately 8 mhz. f0 index 50h[2:0] are us ed to program the isa clock divisor. clk_14mhz p24 i (smt) 14.31818 mhz clock this clock is used to generate cpu_rst to the geode processor. dot clock (dclk) is also derived from this clock. usbclk w1 i (smt) usbclk this input is used as the clock source for the usb. in this mode, a 48 mhz clock source input is required. clk_32k ae3 i/o 32 khz clock clk_32k is a 32.768 khz clock used to generate reset signals, as well as to maintain power management functionality. it should be active when power is applied to the CS5530A. clk_32k can be an input or an output. as an output clk_32k is internally derived from clk_14mhz. f0 index 4 4h[5:4] are used to program this pin.
30 amd geode? CS5530A companion device data book signal definitions revision 1.1 3.2.3 cpu interface signal name pin no. pin type description intr p26 strap option pin o cpu interrupt request intr is the level output from the integrated 8259 pics and is asserted if an unmasked interrupt request (irq n ) is sampled active. i strap option select pin pin p26 is a strap option select pin. it is used to select whether the CS5530A operates in limited isa or isa master mode. isa limited mode?strap pin p26 low through a 10-kohm resistor. isa master mode?strap pin p26 high through a 10-kohm resistor. smi# p25 i/o system management interrupt smi# is a level-sensitive interrupt to the cpu that can be configured to assert on a number of different syst em events. after an smi# assertion, system management mode (smm) is entered, and program execution begins at the base of smm address space. once asserted, smi# remains active until all smi sources are cleared. irq13 r23 i irq13 irq13 is an input from the processor indicating that a floating point error was detected and that intr should be asserted. pserial l26 i power management serial interface pserial is the unidirectional serial data link between the gx1 processor and the CS5530A. an 8-bit serial data packet carries status on power man- agement events within the cpu. data is clocked synchronous to the pci- clk input clock. susp# k26 o cpu suspend susp# asserted requests that the cpu enters suspend mode and the cpu asserts suspa# after completion. t he susp# pin is deasserted if susp# has gone active and any speedup or resume event has occurred, including expiration of the suspend modulation on timer, which is loaded from f0 index 95h. if the susp# /suspa# handshake is co nfigured as a system 3 volt suspend, the deassertion of su sp# is delayed by an interval pro- grammed in f0 index bch[ 7:4] to allow the system clock chip and the pro- cessor to stabilize. the susp#/suspa# handshake occurs as a result of a write to the sus- pend notebook command register (f0 index afh), or expiration of the sus- pend modulation off timer (loaded from f0 index 94h) when suspend modulation is enabled. suspend modulation is enabled via f0 index 96h[0]. if suspa# is asserted as a result of a halt instruction, susp# does not deassert when the suspend modulation on timer (loaded from f0 index 95h) expires. suspa# l25 i cpu suspend acknowledge suspa# is a level input from the processor. when asserted it indicates the cpu is in suspend mode as a result of susp# assertion or execution of a halt instruction.
amd geode? CS5530A companion device data book 31 signal definitions revision 1.1 susp_3v l24 i/o suspend 3 volt active susp_3v can be connected to the output enable (oe) of a clock synthesis or buffer chip to stop the clocks to the system. susp_3v is asserted after the susp#/suspa# handshake that follo ws a write to the suspend note- book command register (f0 index afh) with bit 0 set in the clock stop control register (f0 index bch). as an input, susp_3v is sampled during power-on-reset to determine the inactive state. this allows the system designer to match th e active state of susp_3v to the inactive state for a clock driver output enabled with a pull- up/down 10-kohm resistor. if pulled down, susp_3v is active high. if pulled up, susp_3v is active low. 3.2.3 cpu interface (continued) signal name pin no. pin type description 3.2.4 pci interface signal name pin no. pin type description ad[31:0] refer to table 3-3 i/o pci address/data ad[31:0] is a physical address during the first clock of a pci transaction; it is the data during subsequent clocks. when the CS5530A is a pci master, ad[31:0] are out puts during the address and write data phases, and are inputs during the read data phase of a transaction. when the CS5530A is a pci slave, ad[31:0] are inputs during the address and write data phases, and are outputs during the read data phase of a transaction. c/be[3:0]# d26, a24, b21, b18 i/o pci bus command and byte enables during the address phase of a pci tr ansaction, c/be[3:0]# define the bus command. during the data phase of a tr ansaction, c/be[3: 0]# are the data byte enables. c/be[3:0]# are outputs when the CS5530A is a pci master and inputs when it is a pci slave. inta#, intb#, intc#, intd# a14, d15, c15, b14 i pci interrupt pins the CS5530A provides inputs for the optional ?level-sensitive? pci interrupts (also known in industry terms as pirq x#). these interrupts may be mapped to irqs of the internal 8259s using pci interrupt steering registers 1 and 2 (f0 index 5ch and 5dh). the usb controller uses inta# as its output signal. refer to pciusb index 3dh. req# j25 o pci bus request the CS5530A asserts req# in respon se to a dma request or isa master request to gain ownership of the pci bus. the req# and gnt# signals are used to arbitrate for the pci bus. req# should connect to the req0# of the gx1 processor and function as the highest-priority pci master.
32 amd geode? CS5530A companion device data book signal definitions revision 1.1 gnt# d24 i pci bus grant gnt# is asserted by an arbiter that indicates to the CS5530A that access to the pci bus has been granted. gnt# should connect to gnt0# of the gx1 processor and function as the highest-priority pci master. hold_req# h26 strap option pin o pci bus hold request this pin?s function as hold_req# is no longer applicable. i strap option select pin pin h26 is a strap option select pin. it allows selection of which address bits are used as the idsel. strap pin h26 low: idsel = ad28 (chipset register space) and ad29 (usb register space) strap pin h26 high: idsel = ad26 (chipset register space) and ad27 (usb register space) frame# c23 i/o pci cycle frame frame# is asserted to indicate the star t and duration of a transaction. it is deasserted on the final data phase. frame# is an input when the CS5530A is a pci slave. irdy# b24 i/o pci initiator ready irdy# is driven by the master to indicate valid data on a write transaction, or that it is ready to receive data on a read transaction. when the CS5530A is a pci slave, irdy# is an input that can delay the beginning of a write transaction or the completion of a read transaction. wait cycles are inserted until both irdy# and trdy# are asserted together. trdy# b23 i/o pci target ready trdy# is asserted by a pci slave to indicate it is ready to complete the cur- rent data transfer. trdy# is an input that indicates a pci slave has driven valid data on a read or a pci slave is ready to accept data from the CS5530A on a write. trdy# is an output that indicates the CS5530A has placed valid data on ad[31:0] during a read or is ready to accept the data from a pci master on a write. wait cycles are inserted until both irdy# and trdy# are asserted together. stop# e26 i/o pci stop as an input, stop# indicates that a pci slave wants to terminate the current transfer. the transfer is either aborted or retried. stop# is also used to end a burst. as an output, stop# is asserted with trdy# to indicate a target discon- nect, or without trdy# to indicate a target retry. the CS5530A asserts stop# during any cache line crossings if in single transfer dma mode or if busy. 3.2.4 pci interface (continued) signal name pin no. pin type description
amd geode? CS5530A companion device data book 33 signal definitions revision 1.1 lock# c22 i/o pci lock lock# indicates an atomic operation t hat may require multiple transactions to complete. if the CS5530A is currently the target of a locked transaction, any other pci master request with the CS5530A as the target is forced to retry the transfer. the CS5530A does not generate locked transactions. devsel# a23 i/o pci device select devsel# is asserted by a pci slave, to indicate to a pci master and sub- tractive decoder that it is the target of the current transaction. as an input, devsel# indicates a pc i slave has respond ed to the current address. as an output, devsel# is asserted one cycle after the assertion of frame# and remains asserted to the end of a transaction as the result of a positive decode. devsel# is asserted fo ur cycles after the assertion of frame# if devsel# has not been asserted by another pci device when the CS5530A is programmed to be the subtractive decode agent. the sub- tractive decode sample point is config ured in f0 index 41h[2:1]. subtractive decode cycles are passed to the isa bus. pa r a 2 1 i / o pci parity par is the parity signal driven to maintain even parity across ad[31:0] and c/be[3:0]#. the CS5530A drives par one clock after the address phase and one clock after each completed data phase of write transactions as a pci master. it also drives par one clock after each completed data phase of read transac- tions as a pci slave. perr# b22 i/o pci parity error perr# is pulsed by a pci device to indicate that a parity error was detected. if a parity error was detected, perr# is asserted by a pci slave during a write data phase and by a pci master during a read data phase. when the CS5530A is a pci master, perr# is an output during read trans- fers and an input during write transfers. when the CS5530A is a pci slave, perr# is an input during read transfers and an output during write trans- fers. parity detection is enabled through f0 in dex 04h[6]. an nmi is generated if i/ o port 061h[2] is set. perr# can asse rt serr# if f0 index 41h[5] is set. serr# a22 i/o od pci system error serr# is pulsed by a pci device to indicate an address parity error, data parity error on a special cycle command, or other fatal system errors. serr# is an open-drain output reporting an error condition, and an input indicating that the CS5530A should gen erate an nmi. as an input, serr# is asserted for a single clock by the slave reporting the error. system error detection is enabled with f0 index 04h[8]. an nmi is generated if i/o port 061h[2] is set. perr# can as sert serr# if f0 index 41h[5] is set. 3.2.4 pci interface (continued) signal name pin no. pin type description
34 amd geode? CS5530A companion device data book signal definitions revision 1.1 3.2.5 isa bus interface signal name pin no. pin type description sa_latch/ sa_dir ad15 o limited isa mode: system address latch this signal is used to latch the destin ation address, which is multiplexed on bits [15:0] of the sa/sd bus. isa master mode: system address direction controls the direction of the external 5. 0v tolerant transceiver on bits [15:0] of the sa bus. when low, the sa bus is driven out. when high, the sa bus is driven into the CS5530A by the external transceiver. sa_oe#/ fp_data16 h3 o limited isa mode: flat panel data port line 16 refer to section 3.2.11 "display interface" on page 40 for this signal?s defini- tion. o isa master mode: system addr ess transceiver output enable enables the external transceiver on bits [15:0] of the sa bus. master#/ fp_data17 f3 o limited isa mode: flat panel data port line 17 refer to section 3.2.11 "display interface" on page 40 for this signal?s defini- tion. i isa master mode: master the master# input asserted indicates an isa bus master is driving the isa bus. sa23/gpio7 af23 i/o limited isa mode: system address bus lines 23 through 20 or general purpose i/os 7 through 4 these pins can function either as the upper four bits of the sa bus or as general purpose i/os. programming is done through f0 index 43h, bits 6 and 2. refer to section 3.2.9 "game port and general purpose i/o interface" on page 39 for further details when used as gpios. sa22/gpio6 ae23 sa21/gpio5 ac21 sa20/gpio4 ad22 isa master mode: system ad dress bus lines 23 through 20 the pins function only as the four m sb (most significant bits) of the sa bus. sa[19:16] ad10, ae11, af12, ad11 i/o (pu) system address bus lines 19 through 16 refer to sa[15:0] signal description. sa[15:0]/sd[15:0] refer to ta bl e 3-3 i/o (pu) limited isa mode: system address bus / system data bus this bus carries both the addresses and data for all isa cycles. initially, the address is placed on the bus and then sa_latch is asserted in order for external latches to latch the address. at some time later, the data is put on the bus, for a read, or the bus direction is changed to an input, for a write. pins designated as sa/sd[15:0] are in ternally connected to a 20-kohm pull- up resistor. isa master mode: system data bus these pins perform only as sd[15:0] and pins fp_data[15:0] take on the functions of sa[15:0]. pins designated as sa/sd[15:0] are in ternally connected to a 20-kohm pull- up resistor.
amd geode? CS5530A companion device data book 35 signal definitions revision 1.1 smemw#/ fp_hsync_out e1 o limited isa mode: flat panel horizontal sync output refer to section 3.2.11 "display interface" on page 40 for this signal?s defini- tion. note that if limited isa mode of operat ion is selected, smemw# is available on pin af3 (multiplexed with rtccs#). isa master mode: sy stem memory write smemw# is asserted for any memory write accesses below 1 mb (i.e., a23:a20 set to 0). this enables 8-bit memory slaves to decode the memory address on sa[19:0]. smemr#/ fp_vsync_out e3 o limited isa mode: flat panel vertical sync output refer to section 3.2.11 "display interface" on page 40 for this signal?s defini- tion. note that if limited isa mode of operation is selected, smemr# is available on pin ad4 (multiplexed with rtcale). isa master mode: system memory read smemr# is asserted for memory read accesses below 1 mb (i.e., a23:a20 set to 0). this enables 8-bit memory slaves to decode the memory address on sa[19:0]. smemw#/ rtccs# af3 o system memory write / real-time clock chip select if limited isa mode of operation has been selected, then smemw# can be output on this pin. smemw# is asserted for any memory write accesses below 1 mb (i.e., a23:a20 set to 0). this enables 8-bit memory slaves to decode the memory address on sa[19:0]. rtccs# is a chip select to an external real-time clock chip. this signal is activated on reads or writes to i/o port 071h. function selection is made through f0 index 53h[2]: 0 = smemw#, 1 = rtccs#. smemr#/ rtcale ad4 o system memory read / real-time clock address latch enable if limited isa mode of operation has been selected, then smemr# can be output on this pin. smemr# is asserted for memory read accesses below 1 mb (i.e., a23:a20 set to 0). this enables 8-bit memory slaves to decode the memory address on sa[19:0]. rtcale is a signal telling an external real-time clock chip to latch the address, which is on the sd bus. function selection is made through f0 index 53h[2]: 0 = smemr#, 1 = rtcale. sbhe# ae17 i/o (pu) system bus high enable the CS5530A or isa master asserts sbhe# to indicate that sd[15:8] will be used to transfer a byte at an odd address. sbhe# is an output during non-isa master dma operations. it is driven as the inversion of ad0 during 8-bit dma cycl es. it is forced low for all 16-bit dma cycles. sbhe# is an input during isa master operations. this pin is internally connected to a 20-kohm pull-up resistor. bale af9 o buffered address latch enable bale indicates when sa[23:0] and sbhe# are valid and may be latched. for dma transfers, bale remains assert ed until the transfer is complete. 3.2.5 isa bus interface (continued) signal name pin no. pin type description
36 amd geode? CS5530A companion device data book signal definitions revision 1.1 iochrdy af11 i/o od i/o channel ready iochrdy deasserted indicates that an isa slave requires additional wait states. when the CS5530A is an isa slave, iochrdy is an output indicating addi- tional wait states are required. zerows# af10 i zero wait states zerows# asserted indicates that an isa 8- or 16-bit memory slave can shorten the current cycle. the CS5530A samples this signal in the phase after bale is asserted. if a sserted, it shortens 8-bit cycles to three isaclks and 16-bit cycles to two isaclks. iocs16# af16 i i/o chip select 16 iocs16# is asserted by 16-bit isa i/o devices based on an asynchronous decode of sa[15:0] to indicate that sd [15:0] will be used to transfer data. 8-bit isa i/o devices only use sd[7:0]. ior# ae12 i/o (pu) i/o read ior# is asserted to request an isa i/o slave to drive data onto the data bus. this pin is internally connected to a 20-kohm pull-up resistor. iow# ac11 i/o (pu) i/o write iow# is asserted to request an isa i/o slave to accept data from the data bus. this pin is internally connected to a 20-kohm pull-up resistor. memcs16# ac15 i/o od memory chip select 16 memcs16# is asserted by 16-bit isa memory devices based on an asyn- chronous decode of sa[23:17] to indicate that sd[15:0] will be used to trans- fer data. 8-bit isa memory devices only use sd[7:0]. memr# ae19 i/o (pu) memory read memr# is asserted for any memory re ad accesses. it enables 16-bit mem- ory slaves to decode the memory address on sa[23:0]. this pin is internally connected to a 20-kohm pull-up resistor. memw# af20 i/o (pu) memory write memw# is asserted for any memory wr ite accesses. it enables 16-bit mem- ory slaves to decode the memory address on sa[23:0]. this pin is internally connected to a 20-kohm pull-up resistor. aen ae8 o address enable aen asserted indicates th at a dma transfer is in progress, informing i/o devices to ignore the i/o cycle. irq[15:14], [12:9], [7:3], 1 refer to ta bl e 3-3 i isa bus interrupt request irq inputs indicate isa devices or other devices requesting a cpu interrupt service. irq8# ae14 i real-time clock interrupt irq8# is the (active-low) interrupt th at comes from the external rtc chip and indicates a date/time update has completed. 3.2.5 isa bus interface (continued) signal name pin no. pin type description
amd geode? CS5530A companion device data book 37 signal definitions revision 1.1 drq[7:5], drq[3:0] refer to ta bl e 3-3 i dma request - channels 7 through 5 and 3 through 0 drq inputs are asserted by isa dma devices to request a dma transfer. the request must remain asserted until the corresponding dack is asserted. dack[7:5]#, dack[3:0]# refer to ta bl e 3-3 o dma acknowledge - channels 7 through 5 and 3 through 0 dack outputs are asserted to indicate when a drq is granted and the start of a dma cycle. tc af15 o terminal count tc signals the final data transfer of a dma transfer. 3.2.5 isa bus interface (continued) signal name pin no. pin type description 3.2.6 rom interface signal name pin no. pin type description kbromcs# ae4 o keyboard/rom chip select kbromcs# is the enable pin for the bios rom and for the keyboard con- troller. for rom accesses, kbromc s# is asserted for isa memory accesses programmed at f0 index 52h[2:0]. for keyboard controller accesses, kbromcs# is as serted for i/o accesses to i/o ports 060h, 062h, 064h, and 066h.
38 amd geode? CS5530A companion device data book signal definitions revision 1.1 3.2.7 ide interface signal name pin no. pin type description ide_rst# w25 o ide reset this signal resets all the devices that are attached to the ide interface. ide_addr[2:0] w24, u26, u25 o ide address bits these address bits are used to access a register or data port in a device on the ide bus. ide_data[15:0] refer to ta bl e 3-3 i/o ide data lines ide_data[15:0] transfers data to/from the ide devices. ide_ior0# r26 o ide i/o read for channels 0 and 1 ide_ior0# is the read signal for channel 0, and ide_ior1# is the read sig- nal for channel 1. each signal is asserted on read accesses to the corre- sponding ide port addresses. when in ultra dma/33 mode, these signals are redefined: read cycle ? dmardy0# and dmardy1# write cycle ? strobe0 and strobe1 ide_ior1# r25 o ide_iow0# r24 o ide i/o write for channels 0 and 1 ide_iow0# is the write signal for channel 0, and ide_iow1# is the read signal for channel 1. each signal is asserted on write accesses to corre- sponding ide port addresses. when in ultra dma/33 mode, these signals are redefined: read cycle ? stop0 and stop1 write cycle ? stop0 and stop1 ide_iow1# t25 o ide_cs0# v26 o ide chip selects the chip select signals are used to select the command block registers in an ide device. ide_cs1# y26 o ide_iordy0 ad25 i i/o ready channels 0 and 1 when deasserted, these si gnals extend the transfer cycle of any host regis- ter access when the device is not ready to respond to the data transfer request. when in ultra dma/33 mode, these signals are redefined: read cycle ? strobe0 and strobe1 write cycle ? dmardy0# and dmardy1# ide_iordy1 ae26 i ide_dreq0 ad26 i dma request channels 0 and 1 the dreq is used to request a dma tr ansfer from the CS5530A. the direc- tion of the transfers are determined by the ide_ior/iow signals. ide_dreq1 ac24 i ide_dack0# t26 o dma acknowledge channels 0 and 1 the dack# acknowledges the dreq request to initiate dma transfers. ide_dack1# t24 o
amd geode? CS5530A companion device data book 39 signal definitions revision 1.1 3.2.8 usb interface signal name pin no. pin type description power_en v4 o power enable this pin enables the power to a self-powered usb hub. over_cur# w3 i over current this pin indicates the usb hub has detected an overcurrent on the usb. d+_port1 y2 i/o usb port 1 data positive this pin is the universal serial bus data positive for port 1. d?_port1 y1 i/o usb port 1 data minus this pin is the universal serial bus data minus for port 1. d+_port2 aa2 i/o usb port 2 data positive this pin is the universal serial bus data positive for port 2. d?_port2 aa1 i/o usb port 2 data minus this pin is the universal serial bus data minus for port 2. v dd _usb u2 pwr power for usb av dd _usb ab4 i analog analog power for usb av ss _usb aa4 i analog analog ground for usb 3.2.9 game port and general purpose i/o interface signal name pin no. pin type description gport_cs# ad21 o game port chip select gport_cs# is asserted upon any i/o reads or i/o writes to i/o port 200h and 201h. gpcs# af26 o general purpose chip select gpcs# is asserted upon any i/o access that matches the i/o address in the general purpose chip select base address register (f0 index 70h) and the conditions set in the general purpose chip select control register (f0 index 72h). gpio7/sa23 af23 i/o limited isa mode: general purpose i/os 7 through 4 or system address bus lines 23 through 20 these pins can function either as gene ral purpose i/os or as the upper four bits of the sa bus. selection is done through f0 index 43h[6,2]. refer to gpio[3:2] signal description for gpio function description. gpio6/sa22 ae23 gpio5/sa21 ac21 gpio4/sa20 ad22 isa master mode: system ad dress bus lines 23 through 20 these pins function as the four msb (most significant bits) of the sa bus. gpio3 af24 i/o general purpose i/os 3 and 2 gpios can be programmed to operate as inputs or outputs via f0 index 90h. as an input, the gpio can be configured to generate an external smi. additional configuration can select if the smi# is generated on the rising or falling edge. gpio external smi generation/edge selection is done in f0 index 92h and 97h. gpio2 af25 i/o
40 amd geode? CS5530A companion device data book signal definitions revision 1.1 gpio1/ sdata_in2 ae24 i/o general purpose i/o 1 or serial data input 2 this pin can function either as a general purpose i/o or as a second serial data input pin if two code cs are used in the system. in order for this pin to function as sdata_in2, it must first be configured as an input (f0 index 90h[1] = 0). then setting f3bar+memory offset 08h[21] = 1 selects the pin to function as sdata_in2. refer to gpio[3:2] signal description for gpio function description. gpio0 ac22 i/o general purpose i/o 0 refer to gpio[3:2] signal description for gpio function description. 3.2.9 game port and general purpose i/o interface (continued) signal name pin no. pin type description 3.2.10 audio interface signal name pin no. pin type description bit_clk v2 i audio bit clock the serial bit clock from the codec. sdata_out v1 o serial data i/o this output transmits audio serial data to the codec. sdata_in u4 i serial data input this input receives serial data from the codec. sync u3 o serial bus synchronization this bit is asserted to synchronize the transfer of data between the CS5530A and the ac97 codec. pc_beep v3 o pc beep legacy pc/at speaker output. 3.2.11 display interface signal name pin no. pin type description pixel port pclk a13 i pixel clock this clock is used to sample data on the pixel input port. it runs at the graphics dot clock (dclk) rate. pixel[23:0] refer to ta bl e 3-3 i pixel data port this is the input pixel data from the processor?s display controller. if f4bar+memory offset 00h[29] is reset, the data is sent in rgb 8:8:8 for- mat. otherwise, the pixel data is sent in rgb 5:6:5 format which has been dithered by the processor. the other eight bits are used in conjunction with vid_data[7:0] to provide 16-bit video data. this bus is sampled by the pclk input.
amd geode? CS5530A companion device data book 41 signal definitions revision 1.1 ena_disp b1 i display enable input this signal qualifies active data on the pixel input port. it is used to qualify active pixel data for all display modes and configurations a nd is not specific to flat panel display. display crt hsync c6 i horizontal sync input this is the crt horizontal sync input from the processor?s display controller. it is used to indicate the start of a new video line. this signal is pipelined for the appropriate number of clock stages to remain in sync with the pixel data. a separate output (hsync_out) is prov ided to re-drive the crt and flat panel interfaces. hsync_out n1 o horizontal sync output this is the horizontal sync output to the crt. it represents a delayed version of the input horizontal sync signal with the appropriate pipeline delay relative to the pixel data. the pipeline delay and polarity of this signal are program- mable. vsync b5 i vertical sync input this is the crt vertical sync input from the processor?s display controller. it is used to indicate the start of a new frame. this signal is pipelined for the appropriate number of clock stages to remain in sync with the pixel data. a separate output (vsync_out) is provided to re-drive the crt and flat panel interfaces. vsync_out n2 o vertical sync output this is the vertical sync output to the crt. it represents a delayed version of the input vertical sync signal with the appropriate pipeline delay relative to the pixel data. the pipeline delay and po larity of this signal are programma- ble. ddc_scl m2 o ddc serial clock this is the serial clock for the vesa display data channel interface. it is used for monitoring communications. the ddc2b standard is supported by this interface. ddc_sda m4 i/o ddc serial data this is the bidirectional serial data signal for the vesa display data chan- nel interface. it is used to monitor communications. the ddc2b standard is supported by this interface. the direction of this pin can be configured through f4bar+memory offset 04h[24]: 0 = input; 1 = output. iref (video dac) r3 i analog vdac current reference input connect a 680 ohm resistor between this pin and av ss (analog ground for video dac). extvrefin (video dac) t2 i analog external voltage reference pin connect this pin to a 1.235v voltage reference. 3.2.11 display interface (continued) signal name pin no. pin type description
42 amd geode? CS5530A companion device data book signal definitions revision 1.1 av dd1 (dac) u1 i analog analog power for video dac these pins provide power to the analog portions of the video dac. a 47 f capacitor should be connected between the dac analog power and dac analog ground. analog power is av dd1 (pin u1) and av dd3 (pin n4). analog ground is av ss1 (pin r2) and av ss5 (pin p2). av dd2 (vref) t3 av dd3 (dac) n4 av ss1 (dac) r2 i analog analog ground for video dac these pins provide the ground plane connections to the analog portions of the video dac. a 47 f capacitor should be connected between the dac analog power and dac analog ground. analog power is av dd1 (pin u1) and av dd3 (pin n4). analog ground is av ss1 (pin r2) and av ss5 (pin p2). av ss2 (icap) r4 av ss3 (vref) t4 av ss4 (icap) p1 av ss5 (dac) p2 ioutr (video dac) p3 o analog red dac output red analog output. ioutg (video dac) p4 o analog green dac output green analog output. ioutb (video dac) r1 o analog blue dac output blue analog output. display tft/tv fp_data17/ master# f3 o limited isa mode: flat panel data port line 17 refer to fp_data[15:0] signal description. i isa master mode: master refer to section 3.2.5 "isa bus interface" on page 34 for this signal?s defini- tion. fp_data16/ sa_oe# h3 o limited isa mode: flat panel data port line 16 refer to fp_data[15:0] signal description. o isa master mode: system addr ess transceiver output enable refer to section 3.2.5 "isa bus interface" on page 34 for this signal?s defini- tion. fp_data[15:0]/ sa[15:0] refer to ta bl e 3-3 o limited isa mode: flat panel data port lines 15 through 0 this is the data port to an attached active matrix tft panel. this port may optionally be tied to a dstn formatter chip, lvds transmitter, or digital ntsc/pal encoder. f4bar+memory offset 04h[7] enable s the flat panel data bus: 0 = fp_data[17:0] is forced low 1 = fp_data[17:0] is driven bas ed upon power sequence control i/o isa master mode: system ad dress bus lines 15 through 0 these pins function as sa[15:0] and the pins designat ed as sa/sd[15:0] function only as sd[15:0]. note that sa[19:16] are dedicated address pins and gpio[7:4] function as sa[23:20] only. 3.2.11 display interface (continued) signal name pin no. pin type description
amd geode? CS5530A companion device data book 43 signal definitions revision 1.1 fp_clk m1 o limited isa mode: flat panel clock this is the clock for the flat panel interface. -- isa master mode: no function in the isa master mode of operation , the CS5530A cannot support tft flat panels or tv controllers. fp_clk_even l3 o limited isa mode: flat panel even clock this is an optional output clock for a set of external latches used to de-multi- plex the flat panel data bus into two channels (odd/even). typically this would be used to interface to a pair of lvds transmitters driving an xga resolution flat panel. f4bar+memory offset 04h[12] enabl es the fp_clk_even output: 0 = standard flat panel 1 = xga flat panel -- isa master mode: no function in the isa master mode of operation, the CS5530A can not support tft flat panels or tv controllers. fp_hsync c2 i limited isa mode: flat panel horizontal sync input this is the horizontal sync input reference from the processor?s display con- troller. the timing of this signal is independent of the standard (crt) hori- zontal sync input to allow a different timing relationship between the flat panel and an attached crt. -- isa master mode: no function in the isa master mode of operation, the CS5530A can not support tft flat panels or tv controllers. fp_hsync_out /smemw# e1 o limited isa mode: flat panel horizontal sync output this is the horizontal sync for an attached active matrix tft flat panel. this represents a delayed version of the input flat panel horizontal sync signal with the appropriate pipeline delay relative to the pixel data. isa master mode: sy stem memory write refer to section 3.2.5 "isa bus interface" on page 34 for this signal?s defini- tion. fp_vsync c1 i limited isa mode: flat panel vertical sync input this is the vertical sync input referenc e from the processor?s display control- ler. the timing of this signal is in dependent of the standard (crt) vertical sync input to allow a different timing relationship between the flat panel and an attached crt. -- isa master mode: no function in the isa master mode of operation, the CS5530A can not support tft flat panels or tv controllers. fp_vsync_out /smemr# e3 o limited isa mode: flat panel vertical sync output this is the vertical sync for an attach ed active matrix tft flat panel. this represents a delayed version of the input flat panel vertical sync signal with the appropriate pipeline delay relative to the pixel data. isa master mode: system memory read refer to section 3.2.5 "isa bus interfac e" on page 34 on for this signal?s def- inition. 3.2.11 display interface (continued) signal name pin no. pin type description
44 amd geode? CS5530A companion device data book signal definitions revision 1.1 fp_disp_ ena_out f2 o flat panel display enable output this is the display enable for an attached active matrix tft flat panel. this signal qualifies active pixel data on the flat panel interface. -- isa master mode: no function in the isa master mode of operation, the CS5530A can not support tft flat panels or tv controllers. fp_ena_vdd l2 o flat panel vdd enable this is the enable signal for the v dd supply to an attached flat panel. it is under the control of power sequence contro l logic. a transition on bit 6 of the display configuration register (f4 bar+memory offset 04h) initiates a power-up/down sequence. -- isa master mode: no function in the isa master mode of operation, the CS5530A can not support tft flat panels or tv controllers. fp_ena_bkl j4 o flat panel backlight enable output this is the enable signal for the backlight power supply to an attached flat panel. it is under control of the power sequence control logic. -- isa master mode: no function in the isa master mode of operation, the CS5530A can not support tft flat panels or tv controllers. display mpeg vid_data[7:0] c12, b12, a12, d11, c11, b13, c13, a11 i video data port this is the input data for a video (mpeg) or graphics overlay in its native form. for video overlay, this data is in an interleaved yuv 4:2:2 format. for graphics overlay, the data is in rgb 5:6:5 format. this port operates at the vid_clk rate. vid_clk a6 i video clock this is the clock for the video port. this clock is completely asynchronous to the input pixel clock rate. vid_val b7 i video valid this signal indicates that valid vi deo data is being presented on the vid_data input port. if the vid_rdy signal is also asserted, the data will advance. vid_rdy b10 o video ready this signal indicates that the CS5530A is ready to receive the next piece of video data on the vid_data port. if the vid_val signal is also asserted, the data will advance. 3.2.11 display interface (continued) signal name pin no. pin type description
amd geode? CS5530A companion device data book 45 signal definitions revision 1.1 3.2.12 dclk pll signal name pin no. pin type description plltest n23 -- plltest internal test pin. this pin should not be connected for normal operation. pllvaa m25 i analog analog pll power (v dd ) pllvaa is the analog positive rail power connection to the pll. pllagd n25 i analog analog pll ground (v ss ) pllagd is the analog ground rail connection to the pll. plldvd m23 i analog digital pll power (v dd ) this pin is the digital v dd power connection for the pll. plldgn n26 i analog digital pll ground (v ss ) this pin is the digital ground (v ss ) connection for the pll. 3.2.13 power, ground, and no connects signal na me pin no. pin type description v dd refer to table 3-3 (total of 17) pwr 3.3v (nominal) power connection note that the usb power (v dd _usb, av dd _usb) connections are listed in section 3.2.8 "usb interface" on page 39. v ss refer to table 3-3 (total of 38) gnd ground connection note that the usb ground (av ss _usb) connection is listed in section 3.2.8 "usb interface" on page 39. nc refer to table 3-3 (total of 20) -- no connection these lines should be left disconnected. connecting a pull-up/-down resistor or to an active signal could cause unexpected results and pos- sible malfunctions. 3.2.14 internal test and measurement signal name pin no. pin type description test d3 i test mode test should be tied low for normal operation.
46 amd geode? CS5530A companion device data book signal definitions revision 1.1
amd geode? CS5530A companion device data book 47 functional description revision 1.1 4.0 functional description the amd geode? CS5530A companion device provides many support functions for a gx1 processor. this chapter discusses the detailed operations of the CS5530A in two categories: system-level activities and operations/program- ming of the major functional blocks. the system-level discussion topics revolve around events that affect the device as a whole unit and as an interface with other chips (e.g., processor): topics include:  processor interface ? display subsyst em connections ? pserial pin interface  pci bus interface ? pci initiator ? pci target ? special bus cycles?shutdown/halt ?pci bus parity ? pci interrupt routing support ? delayed transactions  resets and clocks ? resets ? isa clock ? dot clock  power management ? cpu power management ? apm support ? peripheral power management all of the major functional blocks interact with the processor through the pci bus, or via its own direct interface. the major functional blocks are divided out as:  pc/at compatibility logic ? isa subtractive decode ? isa bus interface ? rom interface ? megacells ? i/o ports 092h and 061h system control ? keyboard interface function ? external real-time clock interface  ide controller ? ide interface signals ? ide configuration registers  xpressaudio? subsystem ? subsystem data transport hardware ? vsa technology support hardware  display subsystem extensions ? video interface configuration registers ? video accelerator ? video overlay ?gamma ram ? display interface  universal serial bus support ? usb pci controller ? usb host controller ? usb power management note that this functional de scription section of the data book describes many of the registers used for configuration of the CS5530A; however, not all registers are reported in detail. some tables in the following subsections show only the bits (not the entire regi ster) associated with a specific function being discussed. for access, register, and bit information regarding all CS5530A registers refer to sec- tion 5.0 "register descriptions" on page 143.
48 amd geode? CS5530A companion device data book processor interface revision 1.1 4.1 processor interface the CS5530A interface to the gx1 processor consists of seven miscellaneous connections, the pci bus interface signals, plus the display controller connections. figure 4-1 shows the interface requirements. note that the pc/at leg- acy pins nmi, wm_rst, and a20m are all virtual functions executed in smm (system management mode) by the bios.  pserial is a one-way serial bus from the processor to the CS5530A used to communicate power management states and vsync information for vga emulation.  irq13 is an input from the processor indicating that a floating point error was detected and that intr should be asserted.  intr is the level output from the integrated 8259 pics and is asserted if an unmask ed interrupt r equest (irqn) is sampled active.  smi# is a level-sensitive inte rrupt to the processor that can be configured to assert on a number of different system events. after an smi# assertion, smm is entered and program execution begins at the base of the smm address space. once assert ed, smi# remains active until the smi source is cleared.  susp# and suspa# are handshake pins for imple- menting cpu clock stop and clock throttling.  cpu_rst resets the cpu and is asserted for approxi- mately 9 ms after the negation of por#.  pci bus interface signals.  display subsystem interface connections. figure 4-1. processor signal connections serialp irq13 smi# intr susp# suspa# ad[31:0] c/be[3:0]# pa r frame# irdy# trdy# stop# lock# devsel# perr# serr# req0# pserial irq13 smi# cpu_rst intr susp# suspa# ad[31:0] c/be[3:0]# pa r frame# irdy# trdy# stop# lock# devsel# perr# serr# req# gnt# gnt0# amd geode? amd geode? reset pclk crt_hsync crt_vsync pixel[17:0] fp_hsync fp_vsync ena_disp vid_val vid_clk vid_data[7:0] vid_rdy pclk hsync vsync pixel[23:0] fp_hsync fp_vsync ena_disp vid_val vid_clk vid_data[7:0] vid_rdy dclk dclk CS5530A gx1 note: refer to figure 4-3 on page 50 for correct interconnection of pixel li nes with the processor. note companion device processor
amd geode? CS5530A companion device data book 49 processor interface revision 1.1 4.1.1 display subsystem connections when a gx1 processor is used in a system with the CS5530A, the need for an external ramdac is eliminated. the CS5530A contains the dacs, a video accelerator engine, and the tft interface. the CS5530A also supports both portable and desktop configurations. figure 4-2 shows the signal connections for both types of systems. figure 4-3 on page 50 details how pixel[17:0] on the pro- cessor connects with pixel[23:0] of the CS5530A. figure 4-2. portable/desktop display subsystem configurations dclk pclk fp_hsync fp_vsync ena_disp vid_rdy vid_clk vid_data[7:0] pixel[17:12] pixel[11:6] hsync vsync r[5:0] g[5:0] b[5:0] clk v dd 12vbkl pin 13 pin 14 pin 3 pin 2 pin 1 pwr cntrl enab vga pin 15 pin 12 amd geode? CS5530A dclk pclk fp_hsync fp_vsync ena_disp vid_rdy vid_clk vid_data[7:0] pixel[23:18] pixel[15:10] pixel[5:0] vid_val crt_hsync crt_vsync pixel[7:2] vid_val hsync vsync fp_ena_vdd fp_ena_bkl fp_disp_ena_out fp_hsync_out fp_vsync_out fp_clk fp_data[17:12] fp_data[11:6] fp_data[5:0] logic hsync_out vsync_out ioutr ioutg ioutb ddc_scl ddc_sda note: connect pixel[17:16] pixel[9:8], and pixel[1:0] on the CS5530A to ground. see figure 4-3 "pixel signal connections" on page 50. port portable configuration tft flat r[5:0] g[5:0] b[5:0] hsync vsync clk tv ntsc/pal encoder panel amd geode? processor gx1 note companion device
50 amd geode? CS5530A companion device data book processor interface revision 1.1 figure 4-3. pixel signal connections 4.1.2 pserial pin interface the majority of the system power management logic is implemented in the CS5530A, but a minimal amount of logic is contained within the gx1 processor to provide information that is not externally visible (e.g., graphics con- troller). the processor implements a simple serial communications mechanism to transmit the cpu status to the CS5530A. the processor accumulates cpu events in an 8-bit register (defined in table 4-1) which it transmits serially every 1 to 10 s. the packet transmitter holds the serial output pin (pse- rial) low until the transmission interval timer has elapsed. once the timer has elapsed, the pserial pin is held high for two clocks to indicate th e start of packet transmission. the contents of the serial pa cket register are then shifted out starting from bit 7 down to bit 0. the pserial pin is held high for one clock to indicate the end of packet trans- mission and then remains low until the next transmission interval. after the packet transmission is complete, the pro- cessor?s serial packet register?s contents are cleared. the processor?s input clock is used as the clock reference for the serial packet transmitter. once a bit in the register is se t, it remains set until the com- pletion of the next packet transmission. successive events of the same type that occur between packet transmissions are ignored. multiple unique events between packet trans- missions accumulate in this register. the processor trans- mits the contents of the serial packet only when a bit in the serial packet register is set and the interval timer has elapsed. for more information on the serial packet register refer- enced in table 4-1, refer to the amd geode? gx1 proces- sor data book . the CS5530A decodes the serial packet after each trans- mission and performs the power management tasks related to video retrace. 4.1.2.1 video re trace interrupt bit 7 of the ?serial packet? can be used to generate an smi whenever a video retrace occurs within the processor. this function is normally not used for power management but for softvga routines. setting f0 index 83h[2] = 1 (bit details on page 164) enables this function. a read onl y status register located at f1bar+memory offset 00h[5] (bit details on page 181) can be read to see if the smi was caused by a video retrace event. pixel17 pixel16 pixel15 pixel14 pixel13 pixel12 pixel11 pixel10 pixel9 pixel8 pixel7 pixel6 pixel5 pixel4 pixel3 pixel2 pixel1 amd geode? amd geode? pixel0 pixel23 pixel22 pixel21 pixel20 pixel19 pixel18 pixel17 pixel16 pixel15 pixel14 pixel13 pixel12 pixel11 pixel10 pixel9 pixel8 pixel7 pixel6 pixel5 pixel4 pixel3 pixel2 pixel1 pixel0 gx1 CS5530A companion processor device table 4-1. gx1 processor serial packet register bit description 7 video irq: this bit indicates the occurrence of a video vertical sync pulse. this bit is set at the same time that the vint (vertical interrupt) bit gets set in the dc_timing_cfg register. the vint bit has a corre- sponding enable bit (vien) in the dc_tim_cfg regis- ter. 6 cpu activity: this bit indicates the occurrence of a level 1 cache miss that was not a result of an instruc- tion fetch. this bit has a corresponding enable bit in the pm_cntl_ten register. 5:2 reserved 1 programmable address decode: this bit indicates the occurrence of a programmable memory address decode. the bit is set based on the values of the pm_base register and the pm_mask register. the pm_base register can be initialized to any address in the full cpu address range. 0 video decode: this bit indicates that the cpu has accessed either the display c ontroller registers or the graphics memory region. this bit has a corresponding enable bit in the pm_cntrl_ten.
amd geode? CS5530A companion device data book 51 pci bus interface revision 1.1 4.2 pci bus interface the pci bus interface is compliant with the pci bus speci- fication rev. 2.1. the CS5530A acts as a pci target for pci cycles initiated by the processor or other pci master devices, or as an initi- ator for dma, isa, ide, and audio master transfer cycles. it supports positive decode for memory and i/o regions and is the subtractive decode agent on the pci bus. the CS5530A also generates address and data parity and per- forms parity checking. a pci bus arbiter is not part of the CS5530A; however, one is included in the gx1 processor. the pci command register, located at f0 index 04h (table 4-2), provides the basic control over the CS5530A?s ability to respond and perform pci bus accesses. 4.2.1 pci initiator the CS5530A acts as a pci bus master on behalf of the dma controller or isa, ide, and audio interfaces. the req# and gnt# signals are used to arbitrate for the pci bus. note: in a gx1 processor based system, the req#/ gnt# signals of the CS5530A must connect to the req0#/gnt0# of the proc essor. this configura- tion ensures that the CS5530A is treated as a non- preemptable pci master by the processor. the CS5530A asserts req# in response to a bus master- ing or dma request for ownership of the pci bus. gnt# is asserted by the pci arbiter (i.e., processor) to indicate that access to the pci bus has been granted to the CS5530A. the CS5530A then issues a grant to the dma controller. this mechanism prevents any deadlock situations across the bridge. once granted the pci bus, the isa master or dma transfer commences. if an isa master executes an i/o access, that cycle remains on the isa bus and is not forwarded to the pci bus. the CS5530A performs only single transfers on the pci bus for legacy dma cycles. table 4-2. pci command register bit description f0 index 04h-05h pci command register (r/w) reset value = 000fh 15:10 reserved: set to 0. 9 fast back-to-back enable (read only): this function is not supported when the CS5530A is a master. it is always disabled (always reads 0). 8 serr#: allow serr# assertion on detection of special errors. 0 = disable (default) ; 1 = enable. 7 wait cycle control (read only): this function is not supported in the CS5530A. it is always disabled (always reads 0). 6 parity error: allow the CS5530A to check for parity errors on pci cyc les for which it is a target, and to assert perr# when a parity error is detected. 0 = disable (default) ; 1 = enable. 5 vga palette snoop enable (read only): this function is not supported in the CS5530A. it is always disabled (always reads 0). 4 memory write and invalidate: allow the CS5530A to do memory write and invalidate cycles, if the pci cache line size register (f0 index 0ch) is set to 16 bytes (04h). 0 = disable (default) ; 1 = enable. 3 special cycles: allow the CS5530A to respond to special cycles. 0 = disable; 1 = enable (default) . this bit must be enabled to allow the cpu warm reset inte rnal signal to be triggered from a cpu shutdown cycle. 2 bus master: allow the CS5530A bus mastering capabilities. 0 = disable; 1 = enable (default) . this bit must be set to 1. 1 memory space: allow the CS5530A to respond to memory cycles from the pci bus. 0 = disable; 1 = enable (default) . 0 i/o space: allow the CS5530A to respond to i/o cycles from the pci bus. 0 = disable; 1 = enable (default) .
52 amd geode? CS5530A companion device data book pci bus interface revision 1.1 4.2.2 pci target the CS5530A positively decodes pci transactions intended for any internal registers, the rom address range, and several peripheral and user-defined address ranges. for positive-decoded transactions, the CS5530A is a medium responder. table 4-3 lists the valid c/be# encod- ing for pci target transactions. the CS5530A acts as the subtractive agent in the system since it contains the isa brid ge functionality. subtractive decoding ensures that all accesses not positively claimed by pci devices are forwarded to the isa bus. the subtrac- tive-decoding sample point can be configured as slow, default, or disabled via f0 index 41h[2:1]. table 4-4 shows these programming bits. figure 4-4 shows the timing for subtractive decoding. note: i/o accesses that are mis-aligned so as to include address 0ffffh and at least one byte beyond will ?wrap? around to i/o address 0000h. figure 4-4. subtractive decoding timing table 4-3. pci command encoding c/be[3:0]# command type 0000 interrupt acknowledge 0001 special cycles: shutdown, ad[15:0] = 0000 special cycles: halt , ad[15:0] = 0001 0010 i/o read 0011 i/o write 010x reserved 0110 memory read 0111 memory write 100x reserved 1010 configuration read 1011 configuration write 1100 memory read multiple (memory read only) 1101 reserved 1110 memory read line (memory read only) 1111 memory write, invalidate (memory write) table 4-4. subtractive decoding related bits bit description f0 index 41h pci function control register 2 (r/w) reset value = 10h 2:1 subtractive decode: these bits determine the point at which the CS5530A accepts cycles that are not claimed by another device. the CS5530A defaults to taking subtractive decode cycl es in the default cycle clock, but can be moved up to the slow decode cycle point if all other pci devices decode in the fast or medium clocks. disabling subtractive decode must be done with care, as all isa and ro m cycles are decoded subtractively. 00 = default sample (4th clock from frame# active) 01 = slow sample (3rd clock from frame# active) 1x = no subtractive decode pci_clk frame# irdy# trdy# devsel# fast med slow sub
amd geode? CS5530A companion device data book 53 pci bus interface revision 1.1 4.2.3 special bus cycles?shutdown/halt the pci interface does not pass special bus cycles to the isa interface, since special cycles by definition have no destination. however, the pci interface monitors the pci bus for shutdown and halt special bus cycles. upon detection of a shutdown special bus cycle, a wm_rst smi is generated after a delay of three pci clock cycles. pci shutdown special cycles are detected when c/be[3:0]# = 0001 during the address phase and ad[31:0] = xxxx0000h during the data phase. c/be[3:0]# are also properly asserted during the data phase. upon detection of a halt special bus cycle, the CS5530A completes the cycle by asserti ng trdy#. pci halt special bus cycles are detected when cbe[3:0]# = 0001 during the address phase and ad[31:0] = xxxx 0001h during the data phase of a halt cycle. cbe[3:0]# are also properly asserted during the data phase. 4.2.4 pci bus parity when the CS5530A is the pci initiator, it generates address parity for read and write cycles. it checks data par- ity for read cycles and it generates data parity for write cycles. the par signal is an even-parity bit that is calcu- lated across 36 bits of ad[31:0] plus c/be[3:0]#. by default, the CS5530A does not report parity errors. however, the CS5530A detects parity errors during the data phase if f0 index 04h[6] is set to 1. if enabled and a data parity error is detected, the CS5530A asserts perr#. it also asserts serr# if f0 in dex 41h[5] is set to 1. this allows nmi generation. the CS5530A also detects parity errors during the address phase if f0 index 04h[6] is set. when parity errors are detected during the address phase, serr# is asserted internally. parity errors are reported to the cpu by enabling the serr# source in i/o port 061h (port b) control regis- ter. the CS5530A sets the corresponding error bits in the pci status register (f0 in dex 06h[15:14]). table 4-5 shows these programming bits. if the CS5530A is the pci master for a cycle and detects perr# asserted, it generates serr# internally. table 4-5. perr#/serr# associated register bits bit description f0 index 04h-05h pci command register (r/w) reset value = 000fh 6 parity error: allow the CS5530A to check for parity errors on pci cycle s for which it is a target, and to assert perr# when a parity error is detected. 0 = disable (default) ; 1 = enable. f0 index 06h-07h pci status register (r/w) reset value = 0280h 15 detected parity error: this bit is set whenever a parity error is detected. write 1 to clear. 14 signaled system error: this bit is set whenever the CS5530A asserts serr# active. write 1 to clear. f0 index 41h pci function control register 2 (r/w) reset value = 10h 5 perr# signals serr#: assert serr# any time that perr# is asse rted or detected active by the CS5530A (allows perr# assertion to be cascaded to nmi (smi) generation in the system). 0 = disable; 1 = enable.
54 amd geode? CS5530A companion device data book pci bus interface revision 1.1 4.2.5 pci interrupt routing support the CS5530A allows the pci interrupt signals inta#, intb#, intc#, and intd# (also know in industry terms as pirqx#) to be mapped internally to any irq signal via reg- ister programming (shown in table 4-6). further details are supplied in section 4.5.4.4 "pci compatible interrupts" on page 103 regarding edge/level sensitivity selection. 4.2.6 delayed transactions the CS5530A supports delayed transactions to prevent slow pci cycles from occupy ing too much bandwidth and allows access for other pci traffic. note: for systems which have only the gx1 processor and CS5530A on the pci bus, system perfor- mance is improved if delayed transactions are dis- abled. f0 index 42h[5] and f0 index 43h[1] are used to program this function. table 4-7 shows these bit formats. table 4-6. pci interrupt steering registers bit description f0 index 5ch pci interrupt steering register 1 (r/w) reset value = 00h 7:4 intb# target interrupt: selects target interrupt for intb#. 0000 = disable 0100 = irq4 1000 = rsvd 1100 = irq12 0001 = irq1 0101 = irq5 1001 = irq9 1101 = rsvd 0010 = rsvd 0110 = irq6 1010 = irq10 1110 = irq14 0011 = irq3 0111 = irq7 1011 = irq11 1111 = irq15 3:0 inta# target interrupt: selects target interrupt for inta#. 0000 = disable 0100 = irq4 1000 = rsvd ? 1100 = irq12 0001 = irq1 0101 = irq5 1001 = irq9 1101 = rsvd 0010 = rsvd 0110 = irq6 1010 = irq10 1110 = irq14 0011 = irq3 0111 = irq7 1011 = irq11 1111 = irq15 note: the target interrupt must first be configur ed as level sensitive via i/o port 4d0h and 4d1h in order to maintain pci interrupt compatibility. f0 index 5dh pci interrupt steering register 2 (r/w) reset value = 00h 7:4 intd# target interrupt: selects target interrupt for intd#. 0000 = disable 0100 = irq4 1000 = rsvd 1100 = irq12 0001 = irq1 0101 = irq5 1001 = irq9 1101 = rsvd 0010 = rsvd 0110 = irq6 1010 = irq10 1110 = irq14 0011 = irq3 0111 = irq7 1011 = irq11 1111 = irq15 3:0 intc# target interrupt: selects target interrupt for intc#. 0000 = disable 0100 = irq4 1000 = rsvd 1100 = irq12 0001 = irq1 0101 = irq5 1001 = irq9 1101 = rsvd 0010 = rsvd 0110 = irq6 1010 = irq10 1110 = irq14 0011 = irq3 0111 = irq7 1011 = irq11 1111 = irq15 note: the target interrupt must first be configur ed as level sensitive via i/o port 4d0h and 4d1h in order to maintain pci interrupt compatibility. table 4-7. delay transaction programming bits bit description f0 index 42h pci function control register 3 (r/w) reset value = ach 5 delayed transactions: allow delayed transactions on the pci bus. 0 = disable; 1 = enable. also see f0 index 43h[1]. f0 index 43h usb shadow register (r/w) reset value = 03h 1 pci retry cycles: when the CS5530A is a pci target and the pci buffer is not empty, allow the pci bus to retry cycles. 0 = disable; 1 = enable. this bit works in conjunction with pci bus delayed transacti ons bit. f0 index 42h[5] must = 1 for this bit to be valid.
amd geode? CS5530A companion device data book 55 resets and clocks revision 1.1 4.3 resets and clocks the operations of resets and clocks in the CS5530A are described in this section of the functional description. 4.3.1 resets the CS5530A generates two reset signals, pci_rst# to the pci bus and cpu_rst to the gx1 processor. these resets are generated after approximately 100 s delay from por# active as depicted in figure 4-5. at any state, power-on/resume/reset, the 14.31818 mhz oscillator must be active for the resets to function. 4.3.2 isa clock the CS5530A creates the isac lk from dividing the pci- clk. for isa compatibility, t he isaclk nominally runs at 8.33 mhz or less. the isaclk dividers are programmed via f0 index 50h[2:0] as shown in table 4-8. figure 4-5. CS5530A reset table 4-8. isaclk divider bits bit description f0 index 50h pit control/isa clk divider (r/w) reset value = 7bh 2:0 isa clock divisor: determines the divisor of the pci clock used to ma ke the isa clock, which is typically programmed for approximately 8 mhz. 000 = reserved 100 = divide by five 001 = divide by two 101 = divide by six 010 = divide by three 110 = divide by seven 011 = divide by four 111 = divide by eight if 25 mhz pci clock, use setting of 010 (divide by 3). if 30 or 33 mhz pci clock, use a setting of 011 (divide by 4). por# cpu_rst pci_rst# 100 s por# minimum pulse width for CS5530A only (i.e., not a syst em specification) = 100 s and 14 mhz must be running. 9 ms
56 amd geode? CS5530A companion device data book resets and clocks revision 1.1 4.3.3 dot clock the dot clock (dclk) is generated from the 14.31818 mhz input (clk_14mhz). a combination of a phase locked loop (pll), linear feedback shift register (lfsr) and divi- sors are used to generate the desired frequencies for the dot clock. the divisors and lfsr are configurable through the f4bar+memory offset 24h. the minimum fre- quency of dclk is 10 mhz and the maximum is 200 mhz. however, system constraints limit dclk to 150 mhz when dclk is used as the graphics subsystem clock. for applications that do not use the gx1 processor?s graphics subsystem, this is an available clock for general purpose use. the system clock distributi on for a CS5530A/gx1 based system is shown in figure 4-6. figure 4-6. system clock distribution dclk to gx1 processor m u x dclk pll n tvclk from tv controller clock amd geode? CS5530A 48 mhz clock to usb of CS5530A pciclk to gx1 processor pciclk pciclk to pci related device pciclk to pci bus amd geode? sdramclk to sdram sdramclk to sdram sdramclk to sdram sdramclk to sdram 14 mhz clock to super i/o 14.318 mhz crystal 32 khz for reset and power management 14 mhz clock to tv controller isaclk to isa bus susp_3v oe# from CS5530A 24.576 mhz clock to ac97 codec gx1 generator 14 mhz clock companion device processor
amd geode? CS5530A companion device data book 57 resets and clocks revision 1.1 4.3.3.1 dclk programming the pll contains an input di vider (id), feedback divider (fd) and a post divider (pd). the programming of the dividers is through f4bar+memory offset 24h (see table 4-9 on page 58). the maximum output frequency is 300 mhz. the output frequency is given by equation #1: equation #1: dclk = [clk_14mhz * fd] [pd *id] condition: 140 mhz < [dclk * pd] < 300 mhz where: clk_14mhz is pin p24 fd is derived from n see equation #2 and #3: pd is derived from bits [28:24] id is derived from bits [2:0] equation #2 : if fd is an odd number then: fd = 2*n +1 equation #3: if fd is an even number then: fd = 2*n +0 where: n is derived from bits [22:12] +1 is achieved by setting bit 23 to 1. +0 is achieved by clearing bit 23 to 0. example define target frequency: target frequency = 135 mhz satisfy the ?condition?: (140 mhz < [dclk * pd] < 300 mhz) 140 mhz < [135 mhz * 2] < 300 mhz therefore pd = 2 solve equation #1: dclk = [clk_14mhz * fd] [pd *id] 135 = [14.31818 * fd] [2 * id] 135 = [7.159 * fd] id 18.86 = fd id guess: id = 7, solve for fd fd = 132.02 solve equation #2 or #3: fd = 2*n +1 for odd fd fd = 2*n +0 for even fd fd is 132, therefore even 132 = 2*n +0 n = 66 summarize: pd = 2: bits [28:24] = 00111 id = 7: bits [2:0] = 101 n = 66: bits [22:12] = 073h (found in table 4-10), clear bit 23 result: dclk = 135 the bios has been provided with a complete table of divi- sor values for supported graphics clock frequencies. many combinations of divider values and vco frequencies are possible to achieve a certain output clock frequency. these bios values may be adjusted from time to time to meet system frequency accuracy and jitter requirements. for applications that do not use the gx1 processor?s graphics subsystem, this is an available clock for general purpose use. the transition from one dclk frequency to another is not guaranteed to be smooth or bounded; therefore, new divider coefficients should only be programmed while the pll is off line in a situation where the transition character- istics of the clock are ?don't care?. the steps below describe (in order) how to change the dclk frequency. 1) program the new clock frequency. 2) program feedback reset (bit 31) high and bypass pll (bit 8) high. 3) wait at least 500 s for pll to settle. 4) program feedback reset (bit 31) low. 5) program bypass pll (bit 8) low.
58 amd geode? CS5530A companion device data book resets and clocks revision 1.1 table 4-9. dclk configuration register bit description f4bar+memory offset 24h-27h dot clock configuration register (r/w) reset value = 00000000h 31 feedback reset: reset the pll postscaler and feedback divider. 0 = normal operation; 1 = reset. a more comprehensive reset description is provided in bit 8. 30 half clock: 0 = enable; 1 = disable. for odd post divisors, half clock enables the falling edge of the vc o clock to be used to generate the falling edge of the post divider output to more closely appr oximate a 50% output duty cycle. 29 reserved: set to 0. 28:24 5-bit dclk pll post divisor (pd) value: selects value of 1 to 31. 00000 = pd divisor of 8 01000 = pd divisor of 10 10000 = pd divisor of 9 11000 = pd divisor of 11 00001 = pd divisor of 6 01001 = pd divisor of 20 10001 = pd divisor of 7 11001 = pd divisor of 21 00010 = pd divisor of 18 01010 = pd divisor of 14 10010 = pd divisor of 19 11010 = pd divisor of 15 00011 = pd divisor of 4 01011 = pd divisor of 26 10011 = pd divisor of 5 11011 = pd divisor of 27 00100 = pd divisor of 12 01100 = pd divisor of 22 10100 = pd divisor of 13 11100 = pd divisor of 23 00101 = pd divisor of 16 01101 = pd divisor of 28 10101 = pd divisor of 17 11101 = pd divisor of 29 00110 = pd divisor of 24 01110 = pd divisor of 30 10110 = pd divisor of 25 11110 = pd divisor of 31 00111 = pd divisor of 2 01111 = pd divisor of 1 * 10111 = pd divisor of 3 11111 = reserved * see bit 11 description. 23 plus 1 (+1): adds 1 or 0 to fd (dclk pll vco feedback divisor) parameter in equation (see note). 0 = add 0 to fd; 1 = add 1 to fd. 22:12 n: this bit represents ?n? in the equation (see note). it is us ed to solve the value of fd (dclk pll vco feedback divisor). n can be a value of 1 to 400. for all values of n, refer to table 4-10 on page 59. 11 clk_on: 0 = pll disable; 1 = pll enable. if pd = 1 (i.e., bits [28:24] = 01111) the pll is always enabled and cannot be disabled by this bit. 10 dot clock select: 0 = dclk; 1 = tv_clk. 9 reserved: set to 0 8 bypass pll: connects the input of the pll directly to the outpu t of the pll. 0 = normal operation; 1 = bypass pll. if this bit is set to 1, the input of the pll bypasses the p ll and resets the vco control voltage, which in turn powers down the pll. allow 0.5 ms for the control voltage to be driven to 0v. 7:6 reserved: set to 0. 5 reserved (read only): write as read 4:3 reserved: set to 0. 2:0 pll input divide (id) value: selects value of 2 to 9 (see note). 000 = id divisor of 2 100 = id divisor of 6 001 = id divisor of 3 101 = id divisor of 7 010 = id divisor of 4 110 = id divisor of 8 011 = id divisor of 5 111 = id divisor of 9 note: to calculate dclk output frequency: equation #1: dclk = [clk_14mhz * fd] [pd *id] condition: 140 mhz < [dclk * pd] < 300 mhz where: clk_14mhz is pin p24 fd is derived from n see equation #2 and #3 pd is derived from bits [28:24] id is derived from bits [2:0] equation #2: if fd is an odd number then: fd = 2*n +1 equation #3: if fd is an even number then: fd = 2*n +0 where: n is derived from bits [22:12] +1 is achieved by setting bit 23 to 1. +0 is achieved by clearing bit 23 to 0.
amd geode? CS5530A companion device data book 59 resets and clocks revision 1.1 table 4-10. f4bar+memory offset 24h[22:12] decode (value of ?n?) n reg. value 400 33a 399 674 398 4e8 397 1d0 396 3a0 395 740 394 681 393 502 392 205 391 40b 390 16 389 2d 388 5b 387 b7 386 16f 385 2de 384 5bd 383 37b 382 6f6 381 5ec 380 3d9 379 7b2 378 765 377 6cb 376 596 375 32d 374 65a 373 4b4 372 168 371 2d0 370 5a1 369 343 368 686 367 50c 366 219 365 433 364 66 363 cd 362 19b 361 336 360 66c 359 4d8 358 1b0 357 360 356 6c0 355 580 354 301 353 602 352 404 351 8 350 11 349 23 348 47 347 8f 346 11f 345 23e 344 47d 343 fa 342 1f5 341 3ea 340 7d4 339 7a9 338 753 337 6a7 336 54e 335 29d 334 53b 333 277 332 4ef 331 1de 330 3bc 329 778 328 6f1 327 5e2 326 3c5 325 78a 324 715 323 62b 322 456 321 ac 320 159 319 2b2 318 565 317 2cb 316 597 315 32f 314 65e 313 4bc 312 178 311 2f0 310 5e1 309 3c3 308 786 307 70d 306 61b 305 436 304 6c 303 d9 302 1b3 301 366 300 6cc 299 598 n reg. value 298 331 297 662 296 4c4 295 188 294 310 293 620 292 440 291 80 290 101 289 202 288 405 287 a 286 15 285 2b 284 57 283 af 282 15f 281 2be 280 57d 279 2fb 278 5f7 277 3ef 276 7de 275 7bd 274 77b 273 6f7 272 5ee 271 3dd 270 7ba 269 775 268 6eb 267 5d6 266 3ad 265 75a 264 6b5 263 56a 262 2d5 261 5ab 260 357 259 6ae 258 55c 257 2b9 256 573 255 2e7 254 5cf 253 39f 252 73e 251 67d 250 4fa 249 1f4 248 3e8 n reg. value 247 7d0 246 7a1 245 743 244 687 243 50e 242 21d 241 43b 240 76 239 ed 238 1db 237 3b6 236 76c 235 6d9 234 5b2 233 365 232 6ca 231 594 230 329 229 652 228 4a4 227 148 226 290 225 521 224 243 223 487 222 10e 221 21c 220 439 219 72 218 e5 217 1cb 216 396 215 72c 214 659 213 4b2 212 164 211 2c8 210 591 209 323 208 646 207 48c 206 118 205 230 204 461 203 c2 202 185 201 30a 200 614 199 428 198 50 197 a1 n reg. value 196 143 195 286 194 50d 193 21b 192 437 191 6e 190 dd 189 1bb 188 376 187 6ec 186 5d8 185 3b1 184 762 183 6c5 182 58a 181 315 180 62a 179 454 178 a8 177 151 176 2a2 175 545 174 28b 173 517 172 22f 171 45f 170 be 169 17d 168 2fa 167 5f5 166 3eb 165 7d6 164 7ad 163 75b 162 6b7 161 56e 160 2dd 159 5bb 158 377 157 6ee 156 5dc 155 3b9 154 772 153 6e5 152 5ca 151 395 150 72a 149 655 148 4aa 147 154 146 2a8 n reg. value 145 551 144 2a3 143 547 142 28f 141 51f 140 23f 139 47f 138 fe 137 1fd 136 3fa 135 7f4 134 7e9 133 7d3 132 7a7 131 74f 130 69f 129 53e 128 27d 127 4fb 126 1f6 125 3ec 124 7d8 123 7b1 122 763 121 6c7 120 58e 119 31d 118 63a 117 474 116 e8 115 1d1 114 3a2 113 744 112 689 111 512 110 225 109 44b 108 96 107 12d 106 25a 105 4b5 104 16a 103 2d4 102 5a9 101 353 100 6a6 99 54c 98 299 97 533 96 267 95 4cf n reg. value 94 19e 93 33c 92 678 91 4f0 90 1e0 89 3c0 88 780 87 701 86 603 85 406 84 c 83 19 82 33 81 67 80 cf 79 19f 78 33e 77 67c 76 4f8 75 1f0 74 3e0 73 7c0 72 781 71 703 70 607 69 40e 68 1c 67 39 66 73 65 e7 64 1cf 63 39e 62 73c 61 679 60 4f2 59 1e4 58 3c8 57 790 56 721 55 643 54 486 53 10c 52 218 51 431 50 62 49 c5 48 18b 47 316 46 62c 45 458 44 b0 n reg. value 43 161 42 2c2 41 585 40 30b 39 616 38 42c 37 58 36 b1 35 163 34 2c6 33 58d 32 31b 31 636 30 46c 29 d8 28 1b1 27 362 26 6c4 25 588 24 311 23 622 22 444 21 88 20 111 19 222 18 445 17 8a 16 115 15 22a 14 455 13 aa 12 155 11 2aa 10 555 92ab 8 557 72af 655f 52bf 457f 32ff 25ff 13ff n reg. value
60 amd geode? CS5530A companion device data book power management revision 1.1 4.4 power management the hardware resources provided by a combined CS5530A/gx1 based system support a full-featured power management implementation. th e extent to which these resources are employed depends on the application and the discretion of the system designer. power management resources can be grouped according to the function they enable or support. the major functions are as follows:  cpu power management ?on ?active idle ? suspend ? 3 volt suspend ?off ? save-to-disk/save-to-ram ? suspend modulation  apm support  peripheral power management ? device idle timers and traps ? general purpose timers ? acpi timer register ? general purpose i/o pins ? power management smi status reporting registers ? device power management register programming summary included in the following subsections are details regarding the registers used for configuring power management fea- tures. the majority of these registers are directly accessed through the pci configuration register space designated as function 0 (f0). however, included in the discussions are references to f1bar+memory offset 10h. this refers to the registers accessed through a base address register in function 1 (f1) at index 1 0h (f1bar). f1bar sets the base address for the smi status and acpi timer support registers as shown in table 3-11. 4.4.1 cpu power management the three greatest power consumers in a system are the display, hard drive, and cpu. the power management of the first two is relatively stra ightforward and is discussed in section 4.4.3 "peripheral power management" on page 67. cpu power management is supported through several mechanisms resulting in fi ve defined system power condi- tions:  on  active idle  suspend  3 volt suspend  off there are also three derivative power conditions defined:  suspend modulation ? combination of on and suspend  save-to-disk ? off with the ability to return back to the exact system condition without rebooting  save-to-ram ? extreme 3 volt suspend with only the contents of ram still powered 4.4.1.1 on system is running and the cpu is actively executing code. table 4-11. base address register (f1bar) for smi status and acpi timer support bit description f1 index 10h-13h base address register ? f1bar (r/w) reset value = 00000000h this register sets the base address of t he memory mapped smi status and acpi timer related registers. bits [7:0] are read only (00h), indicating a 256-byte memory address range. refer to table 5-16 for the smi status and acpi timer registers bit formats and res et val- ues. the upper 16 bytes are always mapped to the acpi timer, and are always memory mapped. note: the acpi timer count register is accessible through f1bar+memory offset 1ch and i/o port 121ch. 31:8 smi status/power management base address 7:0 address range (read only)
amd geode? CS5530A companion device data book 61 power management revision 1.1 4.4.1.2 active idle this state is the most powe rful power management state because it is an operational state. the cpu has executed a hlt instruction and has asserted the suspa# signal. the operating system has control of the entry of this state because the os has either executed the hlt or made a bios call to indicate idle, and the bios executed the hlt instruction. the display refresh subsystem is still active but the cpu is not executing code. the clock is stopped to the processing core in this state and considerable power is saved in the processor. the CS5530A takes advantage of this power state by stopping the clock to some of the inter- nal circuitry. this power saving mode can be enabled/dis- abled by programming f0 index 96h[4] (see table 4-12). the CS5530A can still make bus master requests for ide, audio, usb, and isa from this state. when the CS5530A or any other device on the pc i bus asserts req#, the cpu deasserts suspa# for the duration of req# activity. once req# has gone inac tive and all pci cycles have stopped, the cpu reasserts suspa#. suspa# remains active until the cpu receives an intr or smi event which ends the cpu halt condition. 4.4.1.3 suspend this state is similar to the acti ve idle state except that the cpu enters this state bec ause the CS5530A asserted susp#. the CS5530A deasserts susp# when an intr or smi event occurs. the suspend configuration register is shown in table 4-12, however, also see the tables listed below for a more complete understanding on configuring the suspend state.  f0 index bch in table 4-13 "clock stop control register" on page 62.  related registers in table 4-14 "suspend modulation related registers" on page 64.  f0 index aeh in table 4-16 "apm support registers" on page 67. table 4-12. suspend configuration register bit description f0 index 96h suspend configuration register (r/w) reset value = 00h 7:5 reserved: set to 0. 4 power savings mode: 0 = enable; 1 = disable. 3 include isa clock in power savings mode: 0 = isa clock not included; 1 = isa clock included. 2 suspend mode configuration: ?special 3 volt suspend? mode to support powering down a gx1 processor during sus- pend. 0 = disable; 1 = enable. 1 smi speedup configuration: selects how suspend modulation f unction reacts when an smi occurs. 0 = use the irq speedup timer count register (f0 index 8ch) to temporarily disable suspend modulation when an smi occurs. 1 = disable suspend modulation when an smi occurs until a read to the smi speedup disable register (f1bar+memory offset 08h). the purpose of this bit is to disable suspend modulation wh ile the cpu is in the system management mode so that vsa technology and power management operations occur at full speed. two methods for accomplishing this are either to map the smi into the irq speedup timer count register (f0 index 8ch), or to have the smi disable suspend modulation until the smi handler reads the smi speedup disa ble register (f1bar+memory offset 08h) . the latter is the preferred method. the irq speedup method is provided for software compatibility with earlier revisions of the CS5530A. this bit has no effect if the suspend modulation featur e is disabled (bit 0 = 0). 0 suspend modulation feature: 0 = disable; 1 = enable. when enabled, the susp# pin will be asserted and deassert ed for the durations programmed in the suspend modulation off/on count registers (f0 index 94h/95h).
62 amd geode? CS5530A companion device data book power management revision 1.1 4.4.1.4 3 volt suspend this state is a non-operational state. to enter this state the display must have been previously turned off. this state is usually used to put the system into a deep sleep to con- serve power and still allow the user to resume where they left off. the CS5530A supports the st opping of the cpu and sys- tem clocks for a 3 volt suspend state. if appropriately con- figured, via the clock stop cont rol register (f0 index bch, see table 4-13), the CS5530A asserts the susp_3v pin after it has gone through the susp#/suspa# handshake. the susp_3v pin is a state indicator, indicating that the system is in a low-activity state. this indicator can be used to put the system into a low-power state (the system clock can be turned off). the susp_3v pin is intended to be connected to the out- put enable of a clock generator or buffer chip, so that the clocks to the cpu and the CS5530A (and most other sys- tem devices) are stopped. the CS5530A continues to dec- rement all of its device timers and respond to external smi interrupts after the input clock has been stopped, as long as the 32 khz clock continues to oscillate. any smi event or unmasked interrupt pin c auses the CS5530A to deas- sert the susp_3v pin, restar ting the system clocks. as the cpu or other device might include a pll, the CS5530A holds susp# active for a pre-programmed period of delay (the pll re-sync delay) that varies from 0 to 15 ms. after this period has expired, the CS5530A deasserts susp#, stopping suspend. smi# is held active for the entire period, so that the cpu reenter s smm when the clocks are restarted. note: the susp_3v pin can be active either high or low. the pin is an input during por, and is sampled to determine its inactive state. this allows a designer to match the active state of susp_3v to the inac- tive state for a clock driver output enable with a pull-up or pull-down resistor. 4.4.1.5 off the system is off and there is no power being consumed by the processor or the CS5530A. table 4-13. clock stop control register bit description f0 index bch clock stop control register (r/w) reset value = 00h 7:4 pll delay: the programmed value in this field sets the delay (in milliseconds) after a break ev ent occurs before the susp# pin is deasserted to the cpu. this delay is designed to allow t he clock chip and cpu pll to stabilize before starting execu- tion. this delay is only invoked if the stp_clk bit (bit 0) was set. the four-bit field allows values from 0 to 15 ms. 0000 = 0 ms 0100 = 4 ms 1000 = 8 ms 1100 = 12 ms 0001 = 1 ms 0101 = 5 ms 1001 = 9 ms 1101 = 13 ms 0010 = 2 ms 0110 = 6 ms 1010 = 10 ms 1110 = 14 ms 0011 = 3 ms 0111 = 7 ms 1011 = 11 ms 1111 = 15 ms 3:1 reserved: set to 0. 0 cpu clock stop: 0 = normal susp#/ suspa# handshake; 1 = full system suspend. note: this register configures the CS5530A to support a 3 volt suspend. setting bit 0 causes the susp_3v pin to assert after the appropriate conditions, stopping the system clocks. a delay of 0 to 15 ms is programmable (bits 7:4) to allow for a delay for t he clock chip and cpu pll to stabilize when an event resumes the system. a write to the cpu suspend command register (f0 index aeh) with bit 0 written as: 0 = susp#/suspa# handshake occurs. the cpu is put into a low-power state, and the system clocks are not stopped. when a break/resume event occurs, it re leases the cpu halt condition. 1 = susp#/suspa# handshake occurs and the susp_3v pin is asserted, thus invoking a full system suspend (both cpu and system clocks are stopped). when a break event occurs, the susp_3v pin will deassert, the pll delay programmed in bits [7:4] will be invoked which allows the clock chip and cp u pll to stabilize before deasserting the susp# pin.
amd geode? CS5530A companion device data book 63 power management revision 1.1 4.4.1.6 suspend modulation suspend modulation is a derivat ive of the on and suspend states and works by asserting and de-asserting the susp# pin to the cpu for a configurable period and duty cycle. by modulating the susp# pin, an effective reduction in fre- quency is achieved. suspend modulation is the system power management choice of last resort. however, it is an excellent choice for therma l management. if the system is expected to operate in a thermal environment where the processor could overheat, t hen suspend modulation could be used to reduce power consumption in the overheated condition and thus reduce the processor?s temperature. when used as a power management state, suspend mod- ulation works by assuming that the processor is idle unless external activity indicates otherwise. this approach effec- tively slows down the processor until external activity indi- cates a need to run at full speed, thereby reducing power consumption. suspend modulation serves as the primary cpu power management mechanism when apm or some other power management software strategy is not present. it can also act as a backup for situations where the power manage- ment scheme does not correctly detect an idle condition in the system. in order to provide high-speed performance when needed, the susp# pin modulation can be temporarily disabled any time system activity is dete cted. when this happens, the processor is ?instantly? converted to full speed for a pro- grammed duration. system activities in the CS5530A are defined in hardware as: any unmasked irq, accessing port 061h, smi, and/or accessing the graphics controller. since the graphics controller is integrated in the gx1 pro- cessor, the indication of gra phics activity is sent to the CS5530A via the serial link (see section 4.1.2 "pserial pin interface" on page 50 for more information on serial link) and is automatically decoded. graphics activity is defined as any access to the vga register space, the vga frame buffer, the graphics accelerator control registers and the configured graphics frame buffer. the automatic speedup events (irq, smi, and/or graphics) for suspend modulation should be used together with soft- ware-controlled speedup registers for major i/o events such as any access to the floppy disk controller, hard disk drive, or parallel/serial ports, since these are indications of major system activities. when major i/o events occur, sus- pend modulation can be temporarily disabled using the procedures described in the following subsections. bus master internal (ultra dma/33, audio, usb, or isa) or external requests do not directly affect the suspend modu- lation programming. configuring suspend modulation control of the suspend modulation feature is accomplished using the suspend modulation off count register, the suspend modulation on count register, and the suspend configuration register (f0 index 94h, 95h, and 96h, respectively). the power management enable register 1 (f0 index 80h) contains the enables for the individual activity speedup tim- ers. bit 0 of the suspend configuration register (f0 index 96h) enables the suspend modulation feature. bit 1 controls how smi events affect the suspend modulation feature. in general this bit should be set to a 1, which causes smis to disable suspend modulation until it is re-enabled by the smi handler. the suspend modulation off and on count registers (f0 index 94h and 95h) control two 8-bit counters that rep- resent the number of 32 s intervals that the susp# pin is asserted and then deasserted to the processor. these counters define a ratio which is the effective frequency of operation of the system while suspend modulation is enabled. the irq and video speedup timer count registers (f0 index 8ch and 8dh) configure the amount of time which suspend modulation is disabled when the respective events occur. smi speedup disable if the suspend modulation feature is being used for cpu power management, the occurrence of an smi disables the suspend modulation function so that the system operates at full speed while in smm. there are two methods used to invoke this via bit 1 of the suspend configuration register. if f0 index 96h[1] = 0: use the irq speedup timer (f0 index 8ch) to temporarily disable suspend modulation when an smi occurs. if f0 index 96h[1] = 1: disable suspend modulation when an smi occurs until a read to the smi speedup disable register (f1bar+memory offset 08h). the smi speedup disable register prevents vsa technol- ogy software from entering suspend modulation while operating in smm. the data read from this register can be ignored. if the suspend modulation feature is disabled, reading this i/o loca tion has no effect. table 4-14 shows the bit formats of the suspend modula- tion related registers. f eff = f gx86 x off count on count + off count
64 amd geode? CS5530A companion device data book power management revision 1.1 table 4-14. suspend modulation related registers bit description f0 index 80h power management enable register 1 (r/w) reset value = 00h 4 video speedup: any video activity, as decoded from the serial connecti on (pserial register, bit 0) from the gx1 proces- sor disables clock throttling (via susp#/suspa# handshake) fo r a configurable duration when the system is power man- aged using cpu suspend modulation. 0 = disable; 1 = enable. the duration of the speedup is configured in the video spe edup timer count register (f0 index 8dh). detection of an external vga access (3bxh, 3cxh, 3dxh and a000h-b7ffh) on the pci bus is also supported. this configuration is non- standard, but it does allow the power management routines to support an external vga chip. 3 irq speedup: any unmasked irq (per i/o port 021h/0a1h) or sm i disables clock throttling (via susp#/suspa# hand- shake) for a configurable duration when the sy stem is power managed using cpu suspend modulation. 0 = disable; 1 = enable. the duration of the speedup is configured in the irq speedup timer count register (f0 index 8ch). f0 index 8ch irq speedup timer count register (r/w) reset value = 00h 7:0 irq speedup timer count: this register holds the load value for the irq speedup timer. it is loaded into the timer when suspend modulation is enabled (f0 index 96h[0] = 1) and an intr or an access to i/o port 061h occurs. when the event occurs, the suspend modulation logic is inhibited, permitting full performance operation of the cpu. upon expiration, no smi is generated; the suspend modulation begins agai n. the irq speedup timer?s timebase is 1 ms. this speedup mechanism allows instantaneous response to system interrupts for full-speed interrupt processing. a typical value here would be 2 to 4 ms. f0 index 8dh video speedup timer count register (r/w) reset value = 00h 7:0 video speedup timer count: this register holds the load value for the video speedup timer. it is loaded into the timer when suspend modulation is enabled (f0 index 96h[0] = 1) and an y access to the graphics cont roller occurs. when a video access occurs, the suspend modulation logi c is inhibited, permitting full-performance operation of the cpu. upon expira- tion, no smi is generated; the suspend modulation begi ns again. the video speedup timer?s timebase is 1 ms. this speedup mechanism allows instantaneous response to video activity for fu ll speed during video processing calcula- tions. a typical value here would be 50 to 100 ms. index 94h suspend modulation off count register (r/w) reset value = 00h 7:0 suspend signal deasserted count: this 8-bit value represents the number of 32 s intervals that the susp# pin will be deasserted to the gx1 processor. this timer, together with the suspend modulation on count register (f0 index 95h), per- form the suspend modulation function for cpu power managemen t. the ratio of the on-to-off count sets up an effective (emulated) clock frequency, allowing the powe r manager to reduce cpu power consumption. this timer is prematurely reset if an enabled speedup event occurs. the speedup events are irq speedups and video speedups. index 95h suspend modulation on count register (r/w) reset value = 00h 7:0 suspend signal asserted count: this 8-bit value represents the number of 32 s intervals that the susp# pin will be asserted. this timer, together with the suspend modulation off count register (f0 inde x 94h), perform the suspend mod- ulation function for cpu power management. the ratio of the on -to-off count sets up an effective (emulated) clock fre- quency, allowing the power manager to reduce cpu power consumption. this timer is prematurely reset if an enabled speedup event occurs. the speedup events are irq speedups and video speedups.
amd geode? CS5530A companion device data book 65 power management revision 1.1 index 96h suspend configuration register (r/w) reset value = 00h 7:5 reserved: set to 0. 4 power savings: 0 = enable; 1 = disable. 3 include isa clock in power savings mode: 0 = isa clock not included; 1 = isa clock included. 2 suspend mode configuration: ?special 3 volt suspend? mode to support powering down a gx1 processor during sus- pend. 0 = disable; 1 = enable. 1 smi speedup configuration: selects how suspend modulation f unction reacts when an smi occurs. 0 = use the irq speedup timer count register (f0 index 8ch) to temporarily disable suspend modulation when an smi occurs. 1 = disable suspend modulation when an smi occurs until a read to the smi speedup disable register (f1bar+memory offset 08h). the purpose of this bit is to disable suspend modulation wh ile the cpu is in the system management mode so that vsa technology and power management operations occur at full speed. two methods for accomplishing this are either to map the smi into the irq speedup timer count register (f0 index 8ch), or to have the smi disable suspend modulation until the smi handler reads the smi speedup disa ble register (f1bar+memory offset 08h) . the latter is the preferred method. the irq speedup method is provided for software compatibility with earlier revisions of the CS5530A. this bit has no effect if the suspend modulation featur e is disabled (bit 0 = 0). 0 suspend modulation feature: 0 = disable; 1 = enable. when enabled, the susp# pin will be asserted and deassert ed for the durations programmed in the suspend modulation off/on count registers (f0 index 94h/95h). f0 index a8h-a9h video overflow count register (r/w) reset value = 0000h 15:0 video overflow count: each time the video speedup timer (f0 index 8dh) is triggered, a 100 ms timer is started. if the 100 ms timer expires before the video speedup timer lapses , the video overflow count register increments and the 100 ms timer re-triggers. software clears the overflow register w hen new evaluations are to begin. the count contained in this register may be combined with other data to determi ne the type of video accesses present in the system. f1bar+memory offset 08h-09h smi speedup disable register (read to enable) reset value = 0000h 15:0 smi speedup disable: if bit 1 in the suspend configuration register is set (f0 index 96h[1] = 1), a read of this register invokes the smi handler to re-enable suspend modulation. the data read from this register can be ignored. if the suspend modulation feature is disabled, reading this i/o location has no effect. table 4-14. suspend modulation related registers (continued) bit description
66 amd geode? CS5530A companion device data book power management revision 1.1 4.4.1.7 save-to-disk/save-to-ram this is a derivative of the of f state. the processor and the CS5530A have the capability to save their complete state. this state information can be saved to a hard disk or to ram and the system can be turned off. when powered back on, the system can be returned exactly back to the state it was in when the save process began. this means that the system does not have to be rebooted in the tradi- tional sense. in both cases, precautions must be taken in the system design to make su re that there is sufficient space on the hard drive or ram to store the information. in the case of the ram, it must also be powered at all times and can not be corrupted when the system is powered off and back on. the pc/at compatible floppy port is not part of the CS5530A. if a floppy is attached on the isa bus in a superi/o or by some other means, some of the fdc regis- ters are shadowed in the CS5530A because they cannot be safely read. the fdc regi sters are shown in table 4-15. additional shadow registers for other functions are described in:  table 4-40 "dma shadow register" on page 98  table 4-42 "pit shadow register" on page 100  table 4-45 "pic shadow register" on page 102  table 4-53 "real-time clock registers" on page 109 table 4-15. power management shadow registers bit description f0 index b4h floppy port 3f2h shadow register (ro) reset value = xxh 7:0 floppy port 3f2h shadow (read only): last written value of i/o port 3f2h. required for support of fdc power on/off and save-to-disk/ram coherency. this register is a copy of an i/o register which cannot safely be directly read. value in register is not deterministic of when the register is being read. it is provided here to assist in a save-to-disk operation. f0 index b5h floppy port 3f7h shadow register (ro) reset value = xxh 7:0 floppy port 3f7h shadow (read only): last written value of i/o port 3f7h. required for support of fdc power on/off and save-to-disk/ram coherency. this register is a copy of an i/o register which cannot safely be directly read. value in register is not deterministic of when the register is being read. it is provided here to assist in a save-to-disk operation. f0 index b6h floppy port 1f2h shadow register (ro) reset value = xxh 7:0 floppy port 1f2h shadow (read only): last written value of i/o port 1f2h. required for support of fdc power on/off and save-to-disk/ram coherency. this register is a copy of an i/o register which cannot safely be directly read. value in register is not deterministic of when the register is being read. it is provided here to assist in a save-to-disk operation. f0 index b7h floppy port 1f7h shadow register (ro) reset value = xxh 7:0 floppy port 1f7h shadow (read only): last written value of i/o port 1f7h. required for support of fdc power on/off and save-to-disk/ram coherency. this register is a copy of an i/o register which cannot safely be directly read. value in register is not deterministic of when the register is being read. it is provided here to assist in a save-to-disk operation.
amd geode? CS5530A companion device data book 67 power management revision 1.1 4.4.2 apm support some ia systems rely solely on an apm (advanced power management) driver for enabling the operating system to power-manage the cpu. apm provides several services which enhance the system po wer management and is the- oretically the best approach; but in its current form, apm is imperfect for the following reasons:  apm is an os-specific driver, and may not be available for some operating systems.  application support is inconsistent. some applications in foreground may prevent idle calls.  apm does not help with suspend determination or peripheral power management. the CS5530A provides two entry points for apm support:  software cpu suspend control via the cpu suspend command register (f0 index aeh)  software smi entry via the software smi register (f0 index d0h). this allows the apm bios to be part of the smi handler. these registers are shown in table 4-16. 4.4.3 peripheral power management the CS5530A provides peripheral power management using a combination of device idle timers, address traps, and general purpose i/o pins. idle timers are used in con- junction with traps to support powering down peripheral devices. eight programmable gpio (general purpose i/o) pins are included for external device power control as well as other functions. all i/o addresses are decoded in 16 bits. all memory addresses are decoded in 32 bits. 4.4.3.1 device idle timers and traps idle timers are used to power manage a peripheral by determining when the peripheral has been inactive for a specified period of time, and removing power from the peripheral at the end of that time period. idle timers are provided for the commonly-used peripherals (fdc, ide, parallel/serial ports, and mouse/keyboard). in addition, there are three use r-defined timers that can be configured for either i/o or memory ranges. the power management enable bit (f0 index 80h[1]) enables and dis- ables the power management idle timers. the trap bit in the same register (f0 index 80h[2]) enables and disables device i/o traps. the idle timers are 16-bit countdown timers with a 1 sec- ond time base, providing a time-out range of 1 to 65536 seconds (1092 minutes) (18 hours). general purpose tim- ers can be programmed to count milliseconds instead of seconds (see section 4.4.3.2 on page 77 for further infor- mation on general purpose timers). when the idle timers are enabled, the timers are loaded from the timer count registers and start to decrement at the next timebase clock, but cannot trigger an interrupt on that cycle. if an idle timer is initia lly set to 1, it decrements to 0 on the first cycle and continues counting with 65535 on the next cycle. starting at 2 gives 1 on the first cycle, and 0 on the second cycle, generating the interrupt. since the time- base is one second, the minimum interval before the next interrupt from this timer is variable, from one to two sec- onds with a setting of two. the idle timers continue to decrement until one of two pos- sibilities occurs: a bus cycle o ccurs at that i/o or memory range, or the timer decrements to zero. when a bus cycle occurs, the idle timer is reloaded with its starting value. it then continues to decrement. table 4-16. apm support registers bit description f0 index aeh cpu suspend command register (wo) reset value = 00h 7:0 software cpu suspend command (write only): if bit 0 in the clock stop control register is set low (f0 index bch[0] = 0) and all smi status bits are 0, a write to this register causes a susp#/suspa# handshake wi th the cpu, placing the cpu in a low-power state. the data written is irrelevant. once in this state, any unmasked irq or smi releases the cpu halt con- dition. if f0 index bch[0] = 1, writing to this register invokes a full system suspend. in this case, the susp_3v pin is asserted after the susp#/suspa# halt. upon a resume event (see note), the pll delay programmed in the f0 index bch[7:4] is invoked, allowing the clock chip and cpu pll to stabilize before deasserting the susp# pin. note: if the clocks are stopped, the external irq4 and irq3 pins , when enabled (f3bar+memory offset 1ah[4:3]), are the only irq pins that can be used as a resume event. if gp io2, gpio1, and gpio0 are enabled as an external smi source (f0 index 92h[2:0]), they too can be used as a re sume event. no other CS5530A pins can be used to wake- up the system from suspend when the clocks are stopped. as l ong as the 32 khz clock remains active, internal smi events are also resume events. f0 index d0h software smi register (wo) reset value = 00h 7:0 software smi (write only): a write to this location generates an smi. the data written is irrelevant. this register allows software entry into smm via normal bus access instructions.
68 amd geode? CS5530A companion device data book power management revision 1.1 when the timer decrements to zero, if power management is enabled (f0 index 80h[0] = 1), the timer generates an smi. (f0 index 80h[0] = 0 does not disable these timers from running, but only from generating smi.) when an idle timer generates an smi, the smi handler manages the peripheral power, disables the timer, and enables the trap. the next time an event occurs, the trap generates an smi. this time, the smi handler applies power to the peripheral, enables the timer (thus reloading its starting value), and disables the trap. tables 4-17 through 4-25 show the device associated idle timers and traps programming bits. table 4-17. power management global enabling bits bit description f0 index 80h power management enable register 1 (r/w) reset value = 00h 2 traps: globally enable all power management devi ce i/o traps. 0 = disable; 1 = enable. this excludes the audio i/o traps. they are enabled at f3bar+memory offset 18h. 1 idle timers: globally enable all power management device idle timers. 0 = disable; 1 = enable. note, disable at this level does not reload the timers on the enable. the timers are disabled at their current counts. this bit has no effect on the suspend modulation off/on time rs (f0 index 94h/95h), nor on the general purpose (udefx) timers (f0 index 88h-8bh). this bit must be set for the co mmand to trigger the susp#/suspa# feature to function (see f0 index aeh). 0 power management: global power management. 0 = disable; 1 = enabled. this bit must be set (1) immediately after post for some po wer management resources to func tion. until this is done, the command to trigger the susp#/suspa# feature is disabled (see f0 index aeh) and all smi# trigger events listed for f0 index 84h-87h are disabled. a ?0? in this bit does not stop the id le timers if bit 1 of this register is a ?1?, but only pre vents them from generating an smi# interrupt. it also has no effect on the udef traps. table 4-18. keyboard/mouse idle timer and trap related registers bit description f0 index 81h power management enable register 2 (r/w) reset value = 00h 3 keyboard/mouse idle timer enable: load timer from keyboard/mouse idle timer count register (f0 index 9eh) and gen- erate an smi when the timer expires. 0 = disable; 1 = enable. if an access occurs in the address ranges (listed bel ow) the timer is reloaded with the programmed count. keyboard controller: i/o ports 060h/064h com1: i/o port 3f8h-3ffh (if f0 index 93h[1:0] = 10 this range is included) com2: i/o port 2f8h-2ffh (if f0 index 93h[1:0] = 11 this range is included) top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[3]. f0 index 82h power management enable register 3 (r/w) reset value = 00h 3 keyboard/mouse trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs in the address ranges (listed below) an smi is generated. keyboard controller: i/o ports 060h/064h com1: i/o port 3f8h-3ffh (if f0 index 93h[1:0] = 10 this range is included) com2: i/o port 2f8h-2ffh (if f0 index 93h[1:0] = 11 this range is included) top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 86h/f6h[3]. f0 index 93h miscellaneous device control register (r/w) reset value = 00h 1 mouse on serial enable: mouse is present on a serial port. 0 = no; 1 = yes. (note) 0 mouse port select: selects which serial port the mouse is attached to. 0 = com1; 1 = com2. (note) note: bits 1 and 0 - if a mouse is attached to a serial port (bit 1 = 1) , that port is removed from the serial device list being used to monitor serial port access for power management purposes and added to the keyboard/mouse decode. this is done because a mouse, along with the keyboard, is c onsidered an input device and is used only to determine when to blank the screen. these bits determine the decode used for t he keyboard/mouse idle timer count register (f0 index 9eh) as well as the parallel/ serial port idle timer count register (f0 index 9ch).
amd geode? CS5530A companion device data book 69 power management revision 1.1 f0 index 9eh-9fh keyboard / mouse idle timer count register (r/w) reset value = 0000h 15:0 keyboard / mouse idle timer count: the idle timer loaded from this regist er determines when the keyboard and mouse are not in use so that the lcd screen can be blanked. the 16- bit value programmed here represen ts the period of inactivity for these ports after which the system is alerted via an smi. t he timer is automatically reloaded with the count value when- ever an access occurs to either the keyboard or mouse i/o address spaces, including the mouse serial port address space when a mouse is enabled on a serial por t. the timer uses a 1 second timebase. to enable this timer set f0 index 81h[3] = 1. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[3]. table 4-18. keyboard/mouse idle timer and trap related registers (continued) bit description table 4-19. parallel/serial idle timer and trap related registers bit description f0 index 81h power management enable register 2 (r/w) reset value = 00h 2 parallel/serial idle timer enable: load timer from parallel/serial port idle timer count register (f0 index 9ch) and gen- erate an smi when the timer expires. 0 = disable; 1 = enable. if an access occurs in the address ranges (listed bel ow) the timer is reloaded with the programmed count. lpt1: i/o port 378h-37fh, 778h-77ah lpt2: i/o port 278h-27fh, 678h-67ah com1: i/o port 3f8h-3ffh (if f0 index 93h[1:0] = 10 this range is excluded) com2: i/o port 2f8h-2ffh (if f0 index 93h[1:0] = 11 this range is excluded) com3: i/o port 3e8h-3efh com4: i/o port 2e8h-2efh top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[2]. f0 index 82h power management enable register 3 (r/w) reset value = 00h 2 parallel/serial trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs in the address ranges (listed below) an smi is generated. lpt1: i/o port 378h-37fh, 778h-77ah lpt2: i/o port 278h-27fh, 678h-67ah com1: i/o port 3f8h-3ffh (if f0 index 93h[1:0] = 10 this range is excluded) com2: i/o port 2f8h-2ffh (if f0 index 93h[1:0] = 11 this range is excluded) com3: i/o port 3e8h-3efh com4: i/o port 2e8h-2efh top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 86h/f6h[2]. f0 index 93h miscellaneous device control register (r/w) reset value = 00h 1 mouse on serial enable: mouse is present on a serial port. 0 = no; 1 = yes. (note) 0 mouse port select: selects which serial port the mouse is attached to. 0 = com1; 1 = com2. (note) note: bits 1 and 0 - if a mouse is attached to a serial port (bit 1 = 1) , that port is removed from the serial device list being used to monitor serial port access for power management purposes and added to the keyboard/mouse decode. this is done because a mouse, along with the keyboard, is c onsidered an input device and is used only to determine when to blank the screen. these bits determine the decode used for t he keyboard/mouse idle timer count register (f0 index 9eh) as well as the parallel/ serial port idle timer count register (f0 index 9ch). f0 index 9ch-9dh parallel / serial idle timer count register (r/w) reset value = 0000h 15:0 parallel / serial idle timer count: the idle timer loaded from this register is used to determine when the parallel and serial ports are not in use so that the ports can be power managed. the 16-bit value programmed her e represents the period of inactivity for these ports afte r which the system is alerted via an smi. the ti mer is automatically reloaded with the count value whenever an access occurs to the parallel (lpt) or se rial (com) i/o address spaces. if the mouse is enabled on a serial port, that port is not considered here. the timer uses a 1 second timebase. to enable this timer set f0 index 81h[2] = 1. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[2].
70 amd geode? CS5530A companion device data book power management revision 1.1 table 4-20. floppy disk idle timer and trap related registers bit description f0 index 81h power management enable register 2 (r/w) reset value = 00h 1 floppy disk idle timer enable: load timer from floppy disk idle timer count register (f0 index 9ah) and generate an smi when the timer expires. 0 = disable; 1 = enable. if an access occurs in the address ranges (listed bel ow) the timer is reloaded with the programmed count. primary floppy disk: i/o port 3f2h, 3f4h, 3f5h, and 3f7 secondary floppy disk: i/o port 372h, 373h, 375h, and 377h top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[1]. f0 index 82h power management enable register 3 (r/w) reset value = 00h 1 floppy disk trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs in t he address ranges (listed below) an smi is generated. primary floppy disk: i/o port 3f2h, 3f4h, 3f5h, or 3f7 secondary floppy disk: i/o port 372h, 373h, 375h, or 377h top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 86h/f6h[1]. f0 index 93h miscellaneous device control register (r/w) reset value = 00h 7 floppy drive port select: all system resources used to power manage the floppy drive use the primary or secondary fdc addresses for decode. 0 = primary; 1 = primary and secondary. f0 index 9ah-9bh floppy disk idle timer count register (r/w) reset value = 0000h 15:0 floppy disk idle timer count: the idle timer loaded from this register is used to determine when the floppy disk drive is not in use so that it can be powered down. the 16-bit val ue programmed here represents the period of floppy disk drive inactivity after which the system is al erted via an smi. the timer is automatically reloaded with the count value whenever an access occurs to any of i/o ports 3f2h, 3f4h, 3f5h, and 3f7h (primary) or 372h, 374h, 375h, and 377h (secondary). the timer uses a 1 second timebase. to enable this timer set f0 index 81h[1] = 1. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[1].
amd geode? CS5530A companion device data book 71 power management revision 1.1 table 4-21. primary hard disk idle timer and trap related registers bit description f0 index 81h power management enable register 2 (r/w) reset value = 00h 0 primary hard disk idle timer enable: load timer from primary hard disk idle timer count register (f0 index 98h) and generate an smi when the timer expires. 0 = disable; 1 = enable. if an access occurs in the address ranges selected in f0 index 93h[5], the timer is reloaded with the programmed count. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[0]. f0 index 82h power management enable register 3 (r/w) reset value = 00h 0 primary hard disk trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs in the address ranges selected in f0 index 93h[5], an smi is generated. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 86h/f6h[0]. f0 index 93h miscellaneous device control register (r/w) reset value = 00h 5 partial primary hard disk decode: this bit is used to restrict the addr esses which are decoded as primary hard disk accesses. 0 = power management monitors all reads and writes i/o port 1f0h-1f7h, 3f6h 1 = power management monitors only writes to i/o port 1f6h and 1f7h f0 index 98h-99h primary hard disk idle timer count register (r/w) reset value = 0000h 15:0 primary hard disk idle timer count: the idle timer loaded from this register is used to determine when the primary hard disk is not in use so that it can be powered down. the 16- bit value programmed here repres ents the period of primary hard disk inactivity after which the system is alerted via an smi. the timer is automat ically reloaded with the count value when- ever an access occurs to the configur ed primary hard disk?s data port (configured in f0 index 93h[5]). the timer uses a 1 second timebase. to enable this timer set f0 index 81h[0] = 1. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[0].
72 amd geode? CS5530A companion device data book power management revision 1.1 table 4-22. secondary hard disk idle timer and trap related registers bit description f0 index 83h power management enable register 4 (r/w) reset value = 00h 7 secondary hard disk idle timer enable: load timer from secondary hard disk idle timer count register (f0 index ach) and generate an smi when the timer expires. 0 = disable; 1 = enable. if an access occurs in the address ranges selected in f0 index 93h[4], the timer is reloaded with the programmed count. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 86h/f6h[4]. 6 secondary hard disk trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs in the address ranges selected in f0 index 93h[4], an smi is generated. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 86h/f6h[5]. f0 index 93h miscellaneous device control register (r/w) reset value = 00h 4 partial secondary hard disk decode: this bit is used to restrict the addresses which are decoded as secondary hard disk accesses. 0 = power management monitors all reads and writes i/o port 170h-177h, 376h 1 = power management monitors only writes to i/o port 176h and 177h f0 index ach-adh secondary hard disk idle timer count register (r/w) reset value = 0000h 15:0 secondary hard disk idle timer count: the idle timer loaded from this register is used to determine when the secondary hard disk is not in use so that it can be powered down. the 16-bit value programmed here represents the period of second- ary hard disk inactivity after which the system is alerted via an smi. the timer is automatically reloaded with the count value whenever an access occurs to the configured secondary hard disk?s data port (configured in f0 index 93h[4]). the timer uses a 1 second timebase. to enable this timer set f0 index 83h[7] = 1. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 86h/f6h[4].
amd geode? CS5530A companion device data book 73 power management revision 1.1 table 4-23. user defined device 1 (udef1) idle timer and trap related registers bit description f0 index 81h power management enable register 4 (r/w) reset value = 00h 4 user defined device 1 (udef1) idle timer enable: load timer from udef1 idle timer count register (f0 index a0h) and generate an smi when the timer expires. 0 = disable; 1 = enable. if an access occurs in the programmed address range the timer is reloaded with the programmed count. udef1 address programming is at f0 index c0h ( base address register) and cch (control register). top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[4]. f0 index 82h power management enable register 3 (r/w) reset value = 00h 4 user defined device 1 (udef1) trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs in the pr ogrammed address range an smi is generated. udef1 address programming is at f0 index c0h (base addre ss register), and cch (control register). top level smi status is reported at f1bar+memory offset 00h/02h[9]. second level smi status is reported at f1bar+memory offset 04h/06h[2]. index a0h-a1h user defined device 1 idle ti mer count register (r/w) reset value = 0000h 15:0 user defined device 1 (udef1) idle timer count: the idle timer loaded from this r egister determines when the device configured as udef1 is not in use so that it can be po wer managed. the 16-bit value programmed here represents the period of inactivity for this device afte r which the system is alerted via an smi. the timer is automatically reloaded with the count value whenever an access occurs to memory or i/o a ddress space configured at f0 index c0h (base address regis- ter) and f0 index cch (control register ). the timer uses a 1 second timebase. to enable this timer set f0 index 81h[4] = 1. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[4]. f0 index c0h-c3h user defined device 1 base address register (r/w) reset value = 00000000h 31:0 user defined device 1 (udef1) base address [31:0]: this 32-bit register supports power management (trap and idle timer resources) for a pcmcia slot or some other device in the system. th e value written is used as the address compara- tor for the device trap/timer logic. the device can be memory or i/o mapped (configured in f0 index cch). f0 index cch user defined device 1 control register (r/w) reset value = 00h 7 memory or i/o mapped: user defined device 1 is: 0 = i/o; 1 = memory. 6:0 mask if bit 7 = 0 (i/o): bit 6 0 = disable write cycle tracking 1 = enable write cycle tracking bit 5 0 = disable read cycle tracking 1 = enable read cycle tracking bits 4:0 mask for address bits a[4:0] if bit 7 = 1 (m/io): bits 6:0 mask for address memory bits a[15:9] (512 bytes min. and 64 kb max.) and a[8:0] are ignored. note: a ?1? in a mask bit means that the address bit is ignored for comparison.
74 amd geode? CS5530A companion device data book power management revision 1.1 table 4-24. user defined device 2 (udef2) idle timer and trap related registers bit description f0 index 81h power management enable register 4 (r/w) reset value = 00h 5 user defined device 2 (udef2) idle timer enable: load timer from udef2 idle timer count register (f0 index a2h) and generate an smi when the timer expires. 0 = disable; 1 = enable. if an access occurs in the programmed address range the timer is reloaded with the programmed count. udef2 address programming is at f0 index c4h ( base address register) and cdh (control register). top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[5]. f0 index 82h power management enable register 3 (r/w) reset value = 00h 5 user defined device 2 (udef2) trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs in the pr ogrammed address range an smi is generated. udef2 address programming is at f0 index c4h (base addre ss register) and cdh (control register). top level smi status is reported at f1bar+memory offset 00h/02h[9]. second level smi status is reported at f1bar+memory offset 04h/06h[3]. f0 index a2h-a3h user defined device 2 idle timer count register (r/w) reset value = 0000h 15:0 user defined device 2 (udef2) idle timer count: the idle timer loaded from this r egister determines when the device configured as udef2 is not in use so that it can be po wer managed. the 16-bit value programmed here represents the period of inactivity for this device afte r which the system is alerted via an smi. the timer is automatically reloaded with the count value whenever an access occurs to memory or i/o a ddress space configured at f0 index c4h (base address regis- ter) and f0 index cdh (control register ). the timer uses a 1 second timebase. to enable this timer set f0 index 81h[5] = 1. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[5]. f0 index c4h-c7h user defined device 2 base address register (r/w) reset value = 00000000h 31:0 user defined device 2 (udef2) base address [31:0]: this 32-bit register supports power management (trap and idle timer resources) for a pcmcia slot or some other device in the system. th e value written is used as the address compara- tor for the device trap/timer logic. the device can be memory or i/o mapped (configured in f0 index cdh). f0 index cdh user defined device 2 control register (r/w) reset value = 00h 7 memory or i/o mapped: user defined device 2 is: 0 = i/o; 1 = memory. 6:0 mask if bit 7 = 0 (i/o): bit 6 0 = disable write cycle tracking 1 = enable write cycle tracking bit 5 0 = disable read cycle tracking 1 = enable read cycle tracking bits 4:0 mask for address bits a[4:0] if bit 7 = 1 (m/io): bits 6:0 mask for address memory bits a[15:9] (512 bytes min. and 64 kb max.) and a[8:0] are ignored. note: a ?1? in a mask bit means that the address bit is ignored for comparison.
amd geode? CS5530A companion device data book 75 power management revision 1.1 table 4-25. user defined device 3 (udef3) idle timer and trap related registers bit description f0 index 81h power management enable register 4 (r/w) reset value = 00h 6 user defined device 3 (udef3) idle timer enable: load timer from udef3 idle timer count register (f0 index a4h) and generate an smi when the timer expires. 0 = disable; 1 = enable. if an access occurs in the programmed address range the timer is reloaded with the programmed count. udef3 address programming is at f0 index c8h ( base address register) and ceh (control register). top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[6]. f0 index 82h power management enable register 3 (r/w) reset value = 00h 6 user defined device 3 (udef3) trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs in the pr ogrammed address range an smi is generated. udef3 address programming is at f0 index c8h (base addr ess register) and ce h (control register). top level smi status is reported at f1bar+memory offset 00h/02h[9]. second level smi status is reported at f1bar+memory offset 04h/06h[4]. f0 index a4h-a5h user defined device 3 idle timer count register (r/w) reset value = 0000h 15:0 user defined device 3 (udef3) idle timer count: the idle timer loaded from this r egister determines when the device configured as udef3 is not in use so that it can be po wer managed. the 16-bit value programmed here represents the period of inactivity for this device afte r which the system is alerted via an smi. the timer is automatically reloaded with the count value whenever an access occurs to memory or i/o a ddress space configured at f0 index c8h (base address regis- ter) and f0 index ceh (control register). the timer uses a 1 second timebase. to enable this timer set f0 index 81h[6] = 1. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[6]. f0 index c8h-cbh user defined device 3 base address register (r/w) reset value = 00000000h 31:0 user defined device 3 (udef3) base address [31:0]: this 32-bit register supports power management (trap and idle timer resources) for a pcmcia slot or some other device in the system. th e value written is used as the address compara- tor for the device trap/timer logic. the device can be memory or i/o mapped (configured in f0 index ceh). f0 index ceh user defined device 3 control register (r/w) reset value = 00h 7 memory or i/o mapped: user defined device 3 is: 0 = i/o; 1 = memory. 6:0 mask if bit 7 = 0 (i/o): bit 6 0 = disable write cycle tracking 1 = enable write cycle tracking bit 5 0 = disable read cycle tracking 1 = enable read cycle tracking bits 4:0 mask for address bits a[4:0] if bit 7 = 1 (m/io): bits 6:0 mask for address memory bits a[15:9] (512 bytes min. and 64 kb max.) and a[8:0] are ignored. note: a ?1? in a mask bit means that the address bit is ignored for comparison.
76 amd geode? CS5530A companion device data book power management revision 1.1 although not considered as device idle timers, two addi- tional timers are provided by the CS5530A. the video idle timer used for suspend determination and the vga timer used for softvga. these timers and their associated programming bits are listed in tables 4-26 and 4-27. table 4-26. video idle timer and trap related registers bit description f0 index 81h power management enable register 2 (r/w) reset value = 00h 7 video access idle timer enable: load timer from video idle timer count register (f0 index a6h) and generate an smi when the timer expires. 0 = disable; 1 = enable. if an access occurs in the video address range (sets bit 0 of the gx1 processor?s pserial register) the timer is reloaded with the programmed count. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[7]. f0 index 82h power management enable register 3 (r/w) reset value = 00h 7 video access trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs in the video address range (sets bit 0 of the gx1 processor?s pserial register) an smi is generated. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 86h/f6h[7]. f0 index a6h-a7h video idle timer count register (r/w) reset value = 0000h 15:0 video idle timer count: the idle timer loaded from this register deter mines when the graphics s ubsystem has been idle as part of the suspend determination algorithm. the 16-bit va lue programmed here represents the period of video inactivity after which the system is alerted via an smi. the count in this timer is automatically reset whenever an access occurs to the graphics controller space. the timer uses a 1 second timebase. in a gx1 processor based system the graphics controller is embedded in the cpu, so video activity is communicated to the CS5530A via the serial connection (pserial register, bit 0) fr om the processor. the CS5530A also detects accesses to standard vga space on pci (3bxh, 3cxh, 3dxh and a000h-b7ffh) in the event an external vga controller is being used. to enable this timer set f0 index 81h[7] = 1. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[7]. table 4-27. vga timer related registers bit description f0 index 83h power management enable register 4 (r/w) reset value = 00h 3 vga timer enable: turn on vga timer and generate an smi when the timer reaches 0. 0 = disable; 1 = enable. vga timer programming is at f0 index 8eh and f0 index 8bh[6]. to reload the count in the vga timer, disable it, optionally change the count value in f0 index 8eh[7:0], and reenable it before enabling power management. smi status reporting is at f1bar+memory offset 00h/02h[6] (only). although grouped with the power management idle timers, the vga timer is not a power management function. the vga timer counts whether power management is enabled or disabled. f0 index 8bh general purpose timer 2 control register (r/w) reset value = 00h 6 vga timer base: selects timebase for vga timer register (f0 index 8eh). 0 = 1 ms; 1 = 32 s. f0 index 8eh vga timer count register 7:0 vga timer load value: this register holds the load value for the vga timer. the value is loaded into the timer when the timer is enabled (f0 index 83h[3] = 1). the timer is decr emented with each clock of the configured timebase (f0 index 8bh[6]). upon expiration of the timer, an smi is generated and the status is reported in f1bar+memory offset 00h/02h[6] (only). once expired, th is timer must be re-initialized by disabling it (f0 index 83h[3] = 0) and then enabling it (f0 index 83h[3] = 1). when the count value is changed in this register, the timer must be re-initialized in order for the new value to b e loaded. this timer?s timebase is selectable as 1 ms (default) or 32 s. (f0 index 8bh). note: although grouped with the power management idle timers, the vga timer is not a power management function. it is not affected by the global power management enable setting at f0 index 80h[0].
amd geode? CS5530A companion device data book 77 power management revision 1.1 4.4.3.2 general purpose timers the CS5530A contains two general purpose timers, gen- eral purpose timer 1 (f0 index 88h) and general purpose timer 2 (f0 index 8ah). these two timers are similar to the device idle timers in that they count down to zero unless re-triggered, and generate an smi when they reach zero. however, these are 8-bit timers instead of 16 bits, they have a programmable timebase, they are not enabled or disabled by global power management bits f0 index 80h[1:0], and the events which reload these timers are con- figurable. these timers are typically used for an indication of system inactivity fo r suspend de termination. general purpose timer 1 can be re-triggered by activity to any of the configured user defined devices, keyboard and mouse, parallel and serial, floppy disk, or hard disk. general purpose timer 2 can be re-triggered by a transi- tion on the gpio7 pin (if gpio 7 is properly configured). configuration of the gpio7 is explained in section 4.4.3.4 "general purpose i/o pins" on page 80. the timebase for both general purpose timers can be con- figured as either 1 second ( default) or 1 millisecond. the registers at f0 index 89h and 8bh are the control registers for the general purpose timers. table 4-28 show the bit for- mats for these registers. after a general purpose timer is enabled or after an event reloads the timer, the timer is loaded with the configured count value. upon expiration of the timer an smi is gener- ated and a status flag is set. once expired, this timer must be re-initialized by disabling and enabling it. the general purpose timer is not loaded immediately, but when the free-running timebase counter reaches its maxi- mum value. depending on the count at the time, this could be on the next 32 khz clock (clk_32k), or after a full count of 32, or 32,768 clocks (approximately 1 msec, or exactly 1 sec). the general purpose timer cannot trigger an interrupt until after the first count. thus, the minimum time before the next smi from the timer can be either from 1- 2 msec or 1-2 sec with a setting of 02h. table 4-28. general purpose timers and control registers bit description f0 index 88h general purpose timer 1 count register (r/w) reset value = 00h 7:0 general purpose timer 1 count: this register holds the load value for gp ti mer 1. this value can represent either an 8- bit or 16-bit timer (selected at f0 inde x 8bh[4]). it is loaded into the timer when the timer is enabled (f0 index 83h[0] =1). once enabled, an enabled event (configured in f0 index 89h[6:0]) reloads the timer. the timer is decremented with each clock of the configured ti mebase. upon expiration of the timer, an smi is generated and the top level smi status is reported at f1bar+memory offs et 00h/02h[9]. the second level smi status is reported at f1bar+memory offset 04h/06h[0]). once expired, this timer must be re-i nitialized by either disabling and enabli ng it, or writing a new count value here. this timer?s timebase can be configured as 1 msec or 1 sec at f0 index 89h[7]. f0 index 89h general purpose timer 1 control register (r/w) reset value = 00h 7 timebase for general purpose timer 1: selects timebase for gp timer 1 (f0 index 88h). 0 = 1 sec; 1 = 1 msec. 6 re-trigger general purpose timer 1 on user defined device 3 (udef3) activity: 0 = disable; 1 = enable. any access to the configured (mem ory or i/o) address range for udef3 re loads gp timer 1. udef3 address programming is at f0 index c8h (base addr ess register) and ce h (control register). 5 re-trigger general purpose timer 1 on user defined device 2 (udef2) activity: 0 = disable; 1 = enable. any access to the configured (mem ory or i/o) address range for udef2 re loads gp timer 1. udef2 address programming is at f0 index c4h (base addre ss register) and cdh (control register). 4 re-trigger general purpose timer 1 on user defined device 1 (udef1) activity: 0 = disable; 1 = enable. any access to the configured (mem ory or i/o) address range for udef1 re loads gp timer 1. udef1 address programming is at f0 index c0h (base addre ss register) and cch (control register) 3 re-trigger general purpose timer 1 on keyboard or mouse activity: 0 = disable; 1 = enable any access to the keyboard or mouse i/o addr ess range (listed below) reloads gp timer 1. keyboard controller: i/o ports 060h/064h com1: i/o port 3f8h-3ffh (if f0 index 93h[1:0] = 10 this range is included) com2: i/o port 2f8h-2ffh (if f0 index 93h[1:0] = 11 this range is included) 2 re-trigger general purpose timer 1 on parallel/serial port activity: 0 = disable; 1 = enable. any access to the parallel or serial port i/o ad dress range (listed below) reloads the gp timer 1. lpt1: i/o port 378h-37fh, 778h-77ah lpt2: i/o port 278h-27fh, 678h-67ah com1: i/o port 3f8h-3ffh (if f0 index 93h[1:0] = 10 this range is excluded) com2: i/o port 2f8h-2ffh (if f0 index 93h[1:0] = 11 this range is excluded) com3: i/o port 3e8h-3efh com4: i/o port 2e8h-2efh
78 amd geode? CS5530A companion device data book power management revision 1.1 1 re-trigger general purpose timer 1 on floppy disk activity: 0 = disable; 1 = enable. any access to the floppy disk drive addre ss ranges (listed below) reloads gp timer 1. primary floppy disk: i/o port 3f2h, 3f4h, 3f5h, and 3f7 secondary floppy disk: i/o port 372h, 373h, 375h, and 377h the active floppy drive is configured via f0 index 93h[7]. 0 re-trigger general purpose timer 1 on primary hard disk activity: 0 = disable; 1 = enable. any access to the primary hard disk drive address range selected in f0 index 93h[5] reloads gp timer 1. f0 index 8ah general purpose timer 2 count register (r/w) reset value = 00h 7:0 general purpose timer 2 count: this register holds the load value for gp ti mer 2. this value can represent either an 8- bit or 16-bit timer (configured in f0 index 8bh[5]). it is lo aded into the timer when the timer is enabled (f0 index 83h[1] = 1 ). once the timer is enabled and a transition occurs on gpio7, the timer is re-loaded. the timer is decremented with each clock of the configured ti mebase. upon expiration of the timer, an smi is generated and the top level of status is f1bar+memory offset 00h/02h[9] and the second level of status is reported in f1bar+memory offset 04h/06h[1]). once expired, this timer must be re-i nitialized by either disabling and enabli ng it, or writing a new count value here. for gpio7 to act as the reload for this timer, it must be ena bled as such (f0 index 8bh[2]) and be configured as an input (f0 index 90h[7]). this timer?s timebase can be configured as 1 msec or 1 sec in f0 index 8bh[3]. f0 index 8bh general purpose timer 2 control register (r/w) reset value = 00h 7 re-trigger general purpose timer 1 on secondary hard disk activity: 0 = disable; 1 = enable. any access to the secondary hard disk drive address range selected in f0 index 93h[4] reloads gp timer 1. 6 vga timer base: selects timebase for vga timer register (f0 index 8eh). 0 = 1 ms; 1 = 32 s. 5 general purpose timer 2 shift: gp timer 2 is treated as an 8-bit or 16-bit timer. 0 = 8-bit; 1 = 16-bit. as an 8-bit timer, the count value is loaded into gp timer 2 count register (f0 index 8ah). as a 16-bit timer, the value loaded into gp timer 2 count regist er is shifted left by eight bi ts, the lower eight bits become zero, and this 16-bit value is used as the count for gp timer 2. 4 general purpose timer 1 shift: gp timer 1 is treated as an 8-bit or 16-bit timer. 0 = 8-bit; 1 = 16-bit. as an 8-bit timer, the count value is that loaded into gp timer 1 count register (f0 index 88h). as a 16-bit timer, the value loaded into gp timer 1 count regi ster is shifted left by eight bit, the lower eight bits become zero, and this 16-bit value is used as the count for gp timer 1. 3 timebase for general purpose timer 2: selects timebase for gp timer 2 (f0 index 8ah). 0 = 1 sec; 1 = 1 msec. 2 re-trigger general purpose timer 2 on gpio7 pin transition: a configured transition on the gpio7 pin reloads gp timer 2 (f0 index 8ah). 0 = disable; 1 = enable. f0 index 92h[7] selects whether a rising- or a falling-edge transit ion acts as a reload. for gpio7 to work here, it must first be configured as an input (f0 index 90h[7] = 0). 1:0 reserved: set to 0. table 4-28. general purpose timers and control registers (continued) bit description
amd geode? CS5530A companion device data book 79 power management revision 1.1 4.4.3.3 acpi timer register the acpi timer count register (f1bar+memory offset 1ch or a fixed i/o port at 121ch) provides the current value of the acpi timer. the timer counts at 14.31818/4 mhz (3.579545 mhz). if smi generat ion is enabled (f0 index 83h[5] = 1), an smi is generated when bit 23 toggles. table 4-29 shows the acpi timer count register and the acpi timer smi enable bit. v-acpi i/o register space the register space designated as v-acpi (virtualized acpi) i/o does not physically exist in the CS5530A. acpi is supported in the CS5530A by virtualizing this register space. in order for acpi to be supported, the v-acpi mod- ule must be included in the bios. the register descriptions that follow are supplied here for reference only. fixed feature space registers are required to be imple- mented by all acpi-compatible hardware. the fixed fea- ture registers in the v-acpi solution are mapped to normal i/o space starting at offset ac00h. however, the designer can relocate this register space at compile time, hereafter referred to as acpi_base. re gisters within the v-acpi i/o space must only be accessed on their defined boundaries. for example, byte aligned registers must not be accessed via word i/o instructions, word aligned regis- ters must not be accessed as dword i/o instructions, etc. table 4-29 summarizes the registers available in the v- acpi i/o register space. the ?reference? column gives the table and page number where the bit formats for the registers are located. table 4-29. acpi timer re lated registers/bits bit description f1bar+memory offset 1ch-1fh (note) acpi timer count register (ro) reset value = 00fffffch acpi_count (read only): this read-only register provides the current value of the acpi timer. the timer counts at 14.31818/4 mhz (3.579545 mhz). if smi generation is enabled via f0 index 83h[5], an smi is generated when the msb toggles. the msb toggles eve ry 2.343 seconds. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 87h/f7h[0]. 31:24 reserved: always returns 0. 23:0 counter note: the acpi timer count register is also accessible through i/o port 121ch. f0 index 83h power management enable register 4 (r/w) reset value = 00h 5 acpi timer smi: allow smi generation for msb toggles on the acpi timer (f1bar+memory offset 1ch or i/o port 121ch). 0 = disable; 1 = enable. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 87h/f7h[0]. table 4-30. v-acpi i/o register space summary acpi_ base type align length name reset value reference (table 5-34) 00h-03h r/w 4 4 p_cnt: processor control register 00000000h page 224 04h ro 1 1 p_lvl2: enter c2 power state register 00h page 224 05h -- 1 1 reserved 00h page 224 06h r/w 1 1 smi_cmd: os/bios requests register (acpi enable/ disable port) 00h page 224 07h -- 1 1 reserved 00h page 225 08h-09h r/w 2 2 pm1a_sts: pm1a status register 0000h page 225 0ah-0bh r/w 2 2 pm1a_en: pm1a enable register 0000h page 225 0ch-0dh r/w 4 2 pm1a_cnt: pm1a control register 0000h page 225 0eh-0fh r/w 2 2 setup_idx: setup index register (v-acpi internal index register) 0000h page 226 10h-11h r/w 2 2 gpe0_sts: general purpose event 0 status register 0000h page 226 12h-13h r/w 2 2 gpe0_en: general purpose event 0 enable register 0000h page 226 14h-17h r/w 4 4 setup_data: setup data register (v-acpi internal data register) 00000000h page 227 18h-1fh -- 8 reserved: for future v-acpi implementations -- page 227
80 amd geode? CS5530A companion device data book power management revision 1.1 4.4.3.4 general purpose i/o pins the CS5530A provides up to eight gpio (general purpose i/o) pins. five of the pins (gpio[7:4] and gpio1) have alternate functions. table 4-31 shows the bits used for gpio pin function selection. each gpio pin can be configured as an input or output. gpio[7:0] can be independently configured to act as edge- sensitive smi events. each pin can be enabled and config- ured to be either positive-edge sensitive or negative-edge sensitive. these pins then cause an smi to be generated when an appropriate edge c ondition is detected. the power management status regi sters indicate that a gpio external smi event has occurred. the gpio pin direction register 1 (f0 index 90h) selects whether the gpio pin is an input or output. the gpio pin data register 1 (f0 index 91h) contains the direct values of the gpio pins. write operations are valid only for bits defined as outputs. reads from this register read the last written value if the pin is an output. gpio control register 1 (f0 index 92h) configures the operation of the gpio pins fo r their various alternate func- tions. bits [5:3] set the edge sensitivity for generating an smi on the gpio[2:0] (input) pi ns respectively. bits [2:0] enable the generation of an smi. bit 6 enables gpio6 to act as the lid switch input. bit 7 determines which edge transition will cause general purpose timer 2 (f0 index 8ah) to reload. table 4-32 shows the bit formats for the gpio pin configu- ration and control registers. table 4-31. gpio pin function selection bit description f0 index 43h usb shadow register (r/w) reset value = 03h 6 enable sa20: pin ad22 configuration: 0 = gpio4; 1 = sa20. if f0 inde x 43h bit 6 or bit 2 is set to 1, then pin ad22 = sa20. 2 enable sa[23:20]: pins af23, ae23, ac21, and ad22 configuration: 0 = gpio[7:4]; 1 = sa[23:20]. if f0 index 43h bit 6 or bit 2 is set to 1, then pin ad22 = sa20. f3bar+memory offset 08h-0bh codec stat us register (r/w) reset value = 00000000h 21 enable sdata_in2: pin ae24 functions as: 0 = gpio1; 1 = sdata_in2. for this pin to function as sdata_in2, it must first be configured as an input (f0 index 90h[1] = 0). table 4-32. gpio pin confi guration/control registers bit description f0 index 90h gpio pin direction register 1 (r/w) reset value = 00h 7 gpio7 direction: selects if gpio7 is an input or output: 0 = input; 1 = output. 6 gpio6 direction: selects if gpio6 is an input or output: 0 = input; 1 = output. 5 gpio5 direction: selects if gpio5 is an input or output: 0 = input; 1 = output. 4 gpio4 direction: selects if gpio4 is an input or output: 0 = input; 1 = output. 3 gpio3 direction: selects if gpio3 is an input or output: 0 = input; 1 = output. 2 gpio2 direction: selects if gpio2 is an input or output: 0 = input; 1 = output. 1 gpio1 direction: selects if gpio1 is an input or output: 0 = input; 1 = output. 0 gpio0 direction: selects if gpio0 is an input or output: 0 = input; 1 = output. note: several of these pins have specific alternate functions. the direction configured here must be co nsistent with the pins? use as the alternate function. f0 index 91h gpio pin data register 1 (r/w) reset value = 00h 7 gpio7 data: reflects the level of gpio7: 0 = low; 1 = high. 6 gpio6 data: reflects the level of gpio6: 0 = low; 1 = high. 5 gpio5 data: reflects the level of gpio5: 0 = low; 1 = high. 4 gpio4 data: reflects the level of gpio4: 0 = low; 1 = high. 3 gpio3 data: reflects the level of gpio3: 0 = low; 1 = high. 2 gpio2 data: reflects the level of gpio2: 0 = low; 1 = high. 1 gpio1 data: reflects the level of gpio1: 0 = low; 1 = high. 0 gpio0 data: reflects the level of gpio0: 0 = low; 1 = high. note: this register contains the direct values of gpio[7:0] pins. write operations are va lid only for bits defined as output. reads f rom this register will read the last written va lue if the pin is an output. the pins are configured as inputs or outputs in f0 inde x 90h.
amd geode? CS5530A companion device data book 81 power management revision 1.1 f0 index 92h gpio control register 1 (r/w) reset value = 00h 7 gpio7 edge sense for reload of general purpose timer 2: selects which edge transition of gpio7 causes gp timer 2 to reload. 0 = rising; 1 = falling (note 2). 6 gpio6 enabled as lid switch: allow gpio6 to act as the lid swit ch input. 0 = gpio6; 1 = lid switch. when enabled, every transition of th e gpio6 pin causes the lid switch status to toggle and generate an smi. the top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 87h/f7h[3]. if gpio6 is enabled as the lid switch, f0 index 87h/f7h[ 4] reports the current status of the lid?s position. 5 gpio2 edge sense for smi: selects which edge transition of the gpio2 pi n generates an smi. 0 = rising; 1 = falling. bit 2 must be set to enable this bit. 4 gpio1 edge sense for smi: selects which edge transition of the gpio1 pi n generates an smi. 0 = rising; 1 = falling. bit 1 must be set to enable this bit. 3 gpio0 edge sense for smi: selects which edge transition of the gpio0 pi n generates an smi. 0 = rising; 1 = falling. bit 1 must be set to enable this bit. 2 enable gpio2 as an external smi source: allow gpio2 to be an external smi source and generate an smi on either a rising or falling edge transition (depends upon setting of bit 5). 0 = disable; 1 = enable (note 3). top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status reporting is at f0 index 87h/f7h[7]. 1 enable gpio1 as an external smi source: allow gpio1 to be an external smi source and generate an smi on either a rising- or falling-edge transiti on (depends upon setting of bit 4). 0 = disable; 1 = enable (note 3). top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status reporting is at f0 index 87h/f7h[6]. 0 enable gpio0 as an external smi source: allow gpio0 to be an external smi source and generate an smi on either a rising or falling edge transition (depends upon setting of bit 3). 0 = disable; 1 = enable (note 3) top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status reporting is at f0 index 87h/f7h[5]. notes: 1) for any of the above bits to function properly, the respec tive gpio pin must be configured as an input (f0 index 90h). 2) gpio7 can generate an smi (f0 index 97h[3]) or re-trigger general purpose timer 2 (f0 index 8bh[2]) or both. 3) if gpio[2:0] are enabled as external smi sources, they are the only gpios that can be used as smi sources to wake-up the system from suspend when the clocks are stopped. f0 index 97h gpio control register 2 (r/w) reset value = 00h 7 gpio7 edge sense for smi: selects which edge transition of the gpio7 pi n generates an smi. 0 = rising; 1 = falling. bit 3 must be set to enable this bit. 6 gpio5 edge sense for smi: selects which edge transition of the gpio5 pi n generates an smi. 0 = rising; 1 = falling. bit 2 must be set to enable this bit. 5 gpio4 edge sense for smi: selects which edge transition of the gpio4 pi n generates an smi. 0 = rising; 1 = falling. bit 1 must be set to enable this bit. 4 gpio3 edge sense for smi: selects which edge transition of the gpio3 pi n generates an smi. 0 = rising; 1 = falling. bit 0 must be set to enable this bit. 3 enable gpio7 as an external smi source: allow gpio7 to be an external smi source and to generate an smi on either a rising or falling edge transition (depends upon setti ng of bit 7). 0 = disable; 1 = enable. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status reporting is at f0 index 84h/f4h[3]. 2 enable gpio5 as an external smi source: allow gpio5 to be an external smi source and to generate an smi on either a rising or falling edge transition (depends upon setti ng of bit 6). 0 = disable; 1 = enable. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status reporting is at f0 index 84h/f4h[2]. 1 enable gpio4 as an external smi source: allow gpio4 to be an external smi source and to generate an smi on either a rising- or falling-edge transition (depends upon se tting of bit 5). 0 = disable; 1 = enable. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status reporting is at f0 index 84h/f4h[1]. table 4-32. gpio pin configuration/control registers (continued) bit description
82 amd geode? CS5530A companion device data book power management revision 1.1 4.4.3.5 power management smi status reporting registers the CS5530A updates status registers to reflect the smi sources. power management smi sources are the device idle timers, address traps, and general purpose i/o pins. power management events are reported to the processor through the smi# pin. it is active low. when an smi is initi- ated, the smi# pin is asserted low and is held low until all smi sources are cleared. at that time, smi# is deasserted. all smi sources report to the top level smi status regis- ter (f1bar+memory offset 02h) and the top level smi status mirror register (f1bar+memory offset 00h). the top smi status and status mirror registers are the top level of hierarchy for the smi handler in determining the source of an smi. these two registers are identical except that reading the register at f1bar+memory offset 02h clears the status. since all smi sources report to the top level smi status register, many of its bits combine a large number of events requiring a second level of sm i status reporting. the sec- ond level of smi status reporting is set up very much like the top level. there are two st atus reporting registers, one ?read only? (mirror) and one ?read to clear?. the data returned by reading either offset is the same, the difference between the two being that the smi can not be cleared by reading the mirror register. figure 4-7 on page 83 shows an example smi tree for checking and clearing the source of general purpose timer and the user defined trap generated smis. table 4-33 on page 84 shows the bit formats of the read to clear top level smi status register (f1bar+memory off- set 02h). table 4-34 starting on page 85 shows the bit for- mats of the read to clear second level smi status registers. for information regarding the location of the corresponding mirror register, refer to the note in the footer of the register description. keep in mind, all smi sources in the CS5530A are reported into the top level smi status registers (f1bar+memory offset 00h/02h); however, this discussion is regarding power management smis. for details regarding audio smi events/reporting, refer to section 4.7.2.2 "audio smi related registers" on page 125. 0 enable gpio3 as an external smi source: allow gpio3 to be an external smi source and to generate an smi on either a rising or falling edge transition (depends upon setti ng of bit 4) 0 = disable; 1 = enable. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status reporting is at f0 index 84h/f4h[0]. note: for any of the above bits to function properly, the respecti ve gpio pin must be configured as an input (f0 index 90h). table 4-32. gpio pin configuration/control registers (continued) bit description
amd geode? CS5530A companion device data book 83 power management revision 1.1 figure 4-7. general purpose timer and udef trap smi tree example smi# asserted smm software reads smi header if bit x = 0 (internal smi) if bit x = 1 (external smi) call internal smi handler to take appropriate action amd geode? f1bar+memory read to clear to determine top-level source of smi f1bar+memory offset 06h read to clear bits [15:10] bits [8:0] bit 9 gtmr_trp_smi offset 02h amd geode? to determine second-level source of smi bit 5 pci_trp_smi bit 4 udef3_trp_smi bit 3 udef2_trp_smi bit 2 udef1_trp_smi bit 1 gpt2_smi bit 0 gpt1_smi take appropriate action other_smi other_smi if bit 9 = 1, source of smi is gp timer or udef trap bits 15:6 rsvd top level second level smi deasserted after all smi sources are cleared (i.e., top and second levels - note so me sources may have a third level) gx1 processor CS5530A companion
84 amd geode? CS5530A companion device data book power management revision 1.1 table 4-33. top level smi status register (read to clear) bit description f1bar+memory offset 02h-03h top level smi status register (rc) reset value = 0000h 15 suspend modulation enable mirror (read to clear): this bit mirrors the suspend mode configuration bit (f0 index 96h[0]). it is used by the smi handler to determine if the smi speedup disable register (f1bar+memory offset 08h) must be cleared on exit. 14 smi source is usb (read to clear): smi was caused by usb activity? 0 = no; 1 = yes. smi generation is configured in f0 index 42h[7:6]. 13 smi source is warm reset command (read to clear): smi was caused by warm reset command? 0 = no; 1 = yes. 12 smi source is nmi (read to clear): smi was caused by nmi activity? 0 = no; 1 = yes. 11:10 reserved (read to clear): always reads 0. 9 smi source is general purpose timers/user defined device traps/register space trap (read to clear): smi was caused by expiration of gp timer 1/2; trapped access to udef3/2/1; trapped access to f1-f4 or isa legacy register space? 0 = no; 1 = yes. the next level of status is found at f1bar+memory offset 04h/06h. 8 smi source is software generated (read to clear): smi was caused by software? 0 = no; 1 = yes. 7 smi on an a20m# toggle (read to clear): smi was caused by an access to either port 092h or the keyboard command which initiates an a20m# smi? 0 = no; 1 = yes. this method of controlling the internal a20m# in the gx1 processor is used instead of a pin. smi generation enabling is at f0 index 53h[0]. 6 smi source is a vga timer event (read to clear): smi was caused by the expiration of the vga timer (f0 index 8eh)? 0 = no; 1 = yes. smi generation enabling is at f0 index 83h[3]. 5 smi source is video retrace (irq2) (read to clear): smi was caused by a video retrace event as decoded from the serial connection (pserial register, bit 7) from the gx1 processor? 0 = no; 1 = yes. smi generation enabling is at f0 index 83h[2]. 4:2 reserved (read to clear): always reads 0. 1 smi source is audio interface (read to clear): smi was caused by the audio interface? 0 = no; 1 = yes. the next level smi status registers is found in f3bar+memory offset 10h/12h. 0 smi source is power management event (read to clear): smi was caused by one of the power management resources? 0 = no; 1 = yes. the next level of status is found at f0 index 84h-87h/f4h-f7h. note: the status for the general purpose timers and the user device defined traps are checked separately in bit 9. note: reading this register clears all the smi stat us bits. note that bits 9, 1, and 0 ha ve another level (second) of status reportin g. a read-only ?mirror? version of this register exists at f1bar+memory offset 00h. if the value of the register must be read with out clearing the smi source (and cons equently deasserting smi), the mirr or register may be read instead.
amd geode? CS5530A companion device data book 85 power management revision 1.1 table 4-34. second level pwr mgmnt smi status reporting registers (read to clear) bit description f1bar+memory offset 06h-07h second level gen. traps/ti mers smi status register (rc) reset value = 0000h 15:6 reserved (read to clear) 5 pci function trap (read to clear): smi was caused by a trapped configuration cycle (listed below)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[9]. trapped access to f0 pci header registers other than index 40h-43h; smi generation enabling is at f0 index 41h[0]. trapped access to f1 pci header registers; sm i generation enabling is at f0 index 41h[3]. trapped access to f2 pci header registers; sm i generation enabling is at f0 index 41h[6]. trapped access to f3 pci header registers; sm i generation enabling is at f0 index 42h[0]. trapped access to f4 pci header registers; sm i generation enabling is at f0 index 42h[1]. 4 smi source is trapped access to user defined device 3 (read to clear): smi was caused by a trapped i/o or memory access to the user defined device 3 (f0 index c8h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[9]. smi generation enabling is at f0 index 82h[6]. 3 smi source is trapped access to user defined device 2 (read to clear): smi was caused by a trapped i/o or memory access to the user defined device 2 (f0 index c4h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[9]. smi generation enabling is at f0 index 82h[5]. 2 smi source is trapped access to user defined device 1 (read to clear): smi was caused by a trapped i/o or memory access to the user defined device 1 (f0 index c0h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[9]. smi generation enabling is at f0 index 82h[4]. 1 smi source is expired general purpose timer 2 (read to clear): smi was caused by the expiration of general purpose timer 2 (f0 index 8ah)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[9]. smi generation enabling is at f0 index 83h[1]. 0 smi source is expired general purpose timer 1 (read to clear): smi was caused by the expiration of general purpose timer 1 (f0 index 88h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[9]. smi generation enabling is at f0 index 83h[0]. note: reading this register clears all the smi status bits. a read-only ?mirror? version of this register exists at f1bar+memory offset 04h. if the value of the register must be read with out clearing the smi source (and cons equently deasserting smi), the mirr or register may be read instead. f0 index f4h second level power management status register 1 (rc) reset value = 84h 7:5 reserved 4 game port smi status (read to clear): smi was caused by a r/w access to game port (i/o port 200h and 201h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. game port read smi generation enabling is at f0 index 83h[4]. game port write smi generation enabling is at f0 index 53h[3]. 3 gpio7 smi status (read to clear): smi was caused by transition on (proper ly-configured) gpio7 pin? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 97h[3]. 2 gpio5 smi status (read to clear): smi was caused by transition on (proper ly-configured) gpio5 pin? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 97h[2]. 1 gpio4 smi status (read to clear): smi was caused by transition on (proper ly-configured) gpio4 pin? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 97h[1]. 0 gpio3 smi status (read to clear): smi was caused by transition on (proper ly-configured) gpio3 pin? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 97h[0].
86 amd geode? CS5530A companion device data book power management revision 1.1 note: properly-configured means that the gpio pin must be enabled as a gpio, an input, and to cause an smi. this register provides status on various power-management smi events. reading this r egister clears the smi status bits. a read- only (mirror) version of this register exists at f0 index 84h. f0 index f5h second level power management status register 2 (rc) reset value = 00h 7 video idle timer smi status (read to clear): smi was caused by expiration of the video idle timer count register (f0 index a6h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[7]. 6 user defined device 3 (udef3) idle timer smi status (read to clear): smi was caused by expiration of the udef3 idle timer count register (f0 index a4h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[6]. 5 user defined device 2 (udef2) idle timer smi status (read to clear): smi was caused by expiration of the udef2 idle timer count register (f0 index a2h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[5]. 4 user defined device 1 (udef1) idle timer smi status (read to clear): smi was caused by expiration of the udef1 idle timer count register (f0 index a0h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[4]. 3 keyboard/mouse idle timer smi status (read to clear): smi was caused by expiration of the keyboard/mouse idle timer count register (f0 index 9eh)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[3]. 2 parallel/serial idle timer smi status (read to clear): smi was caused by expiration of the parallel/serial port idle timer count register (f0 index 9ch)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[2]. 1 floppy disk idle timer smi status (read to clear): smi was caused by expiration of the floppy disk idle timer count register (f0 index 9ah)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[1]. 0 primary hard disk idle timer smi status (read to clear): smi was caused by expiration of the primary hard disk idle timer count register (f0 index 98h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[0]. note: this register provides status on the device idle timers to t he smi handler. a bit set here indicates that the device was idle f or the duration configured in the idle timer count register for that device, causing an smi. reading this register clears the smi stat us bits. a read-only (mirror) version of this register exists at f0 index 85h. if the va lue of the register must be read without c learing the smi source (and consequently deasserti ng smi), f0 index 85h may be read instead. f0 index f6h second level power management status register 3 (rc) reset value = 00h 7 video access trap smi status (read to clear): smi was caused by a trapped i/o access to the video i/o trap? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 82h[7]. 6 reserved (read only) 5 secondary hard disk access trap smi status (read to clear): smi was caused by a trapped i/o access to the secondary hard disk? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 83h[6]. table 4-34. second level pwr mgmnt smi status reporting registers (read to clear) (continued) bit description
amd geode? CS5530A companion device data book 87 power management revision 1.1 4 secondary hard disk idle timer smi status (read to clear): smi was caused by expiration of the hard disk idle timer count register (f0 index ach)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 83h[7]. 3 keyboard/mouse access trap smi status (read to clear): smi was caused by a trapped i/o access to the keyboard or mouse? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 82h[3]. 2 parallel/serial access trap smi status (read to clear): smi was caused by a trapped i/o access to either the serial or parallel ports? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 82h[2]. 1 floppy disk access trap smi status (read to clear): smi was caused by a trapped i/o access to the floppy disk? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 82h[1]. 0 primary hard disk access trap smi status (read to clear): smi was caused by a trapped i/o access to the primary hard disk? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 82h[0]. note: this register provides status on the device traps to the sm i handler. a bit set here indicates that an access occurred to the device while the trap was enabled, causing an smi. reading this regi ster clears the smi status bi ts. a read-only (mirror) versi on of this register exists at f0 index 86h. if the value of the register must be read without cl earing the smi s ource (and consequ ently deasserting smi), f0 index 86h may be read instead. f0 index f7h second level power management status register 4 (ro/rc) reset value = 00h 7 gpio2 smi status (read to clear): smi was caused by transition on (proper ly-configured) gpio2 pin? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 92h[2]. 6 gpio1 smi status (read to clear): smi was caused by transition on (proper ly-configured) gpio1 pin? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 92h[1]. 5 gpio0 smi status (read to clear): smi was caused by transition on (proper ly-configured) gpio0 pin? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 92h[0]. 4 lid position (read only): this bit maintains the current status of the lid position. if the gpio6 pin is configured as the lid switch indicator, this bit reflects the state of the pin. 3 lid switch smi status (read to clear): smi was caused by a transition on the gp io6 (lid switch) pin? 0 = no; 1 = yes. for this to happen, the gpio6 pin must be configured both as an input (f0 index 90h[6] = 0) and as the lid switch (f0 index 92h[6] =1). 2 codec sdata_in smi status (read to clear): smi was caused by an ac97 co dec producing a positive edge on sdata_in? 0 = no; 1 = yes. this is the second level of status is reporting. the top level status is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 80h[5]. 1 rtc alarm (irq8) smi status (read to clear): smi was caused by an rtc interrupt? 0 = no; 1 = yes. this smi event can only occur while in 3v suspend and rtc interrupt occurs. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. 0 acpi timer smi status (read to clear): smi was caused by an acpi timer msb toggle? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation configuration is at f0 index 83h[5]. note: properly-configured means that the gpio pin must be enabled as a gpio, an input, and to cause an smi. this register provides status on severa l miscellaneous power management events that generate smis, as well as the status of the lid switch. reading this register clears the smi status bi ts. a read-only (mirror) version of this register exists at f0 index 87h. table 4-34. second level pwr mgmnt smi status reporting registers (read to clear) (continued) bit description
88 amd geode? CS5530A companion device data book power management revision 1.1 4.4.3.6 device power management register pro- gramming summary table 4-35 provides a programming register summary of the device idle timers, address traps, and general purpose i/o pins. for complete bit information regarding the regis- ters listed in table 4-35, refer to section 5.3.1 "bridge con- figuration registers - function 0" on page 155 and section 5.3.2 "smi status and acpi timer registers - function 1" on page 180. table 4-35. device power management programming summary device power management resource located at f0 index xxh unless otherwise noted enable configuration second level smi status/no clear second level smi status/with clear global timer enable 80h[1] n/a n/a n/a keyboard / mouse idle timer 81h[3] 93h[1:0] 85h[3] f5h[3] parallel / serial idle timer 81h[2] 93h[1:0] 85h[2] f5h[2] floppy disk idle timer 81h[1] 9ah[15:0], 93h[7] 85h[1] f5h[1] video idle timer ( note 1 ) 81h[7] a6h[15:0] 85h[7] f5h[7] vga timer ( note 2 ) 83h[3] 8eh[7:0] f1bar+memory offset 00h[6] f1bar+memory offset 02h[6] primary hard disk idle timer 81h[0] 98h[15:0], 93h[5] 85h[0] f5h[0] secondary hard disk idle timer 83h[7] ach[15:0], 93h[4] 86h[4] f6h[4] user defined device 1 idle timer 81h[4] a0h[15:0], c0h[31:0], cch[7:0] 85h[4] f5h[4] user defined device 2 idle timer 81h[5] a2h[15:0], c4h[31:0], cdh[7:0] 85h[5] f5h[5] user defined device 3 idle timer 81h[6] a4h[15:0], c8h[31:0], ceh[7:0] 85h[6] f5h[6] global trap enable 80h[2] n/a n/a n/a keyboard / mouse trap 82h[3] 9eh[15:0] 93h[1:0] 86h[3] f6h[3] parallel / serial trap 82h[2] 9ch[15:0], 93h[1:0] 86h[2] f6h[2] floppy disk trap 82h[1] 93h[7] 86h[1] f6h[1] video access trap 82h[7] n/a 86h[7] f6h[7] primary hard disk trap 82h[0] 93h[5] 86h[0] f6h[0] secondary hard disk trap 83h[6] 93h[4] 86h[5] f6h[5] user defined device 1 trap 82h[4] c0h[31:0], cch[7:0] f1bar+memory offset 04h[2] f1bar+memory offset 06h[2] user defined device 2 trap 82h[5] c4h[31:0], cdh[7:0] f1bar+memory offset 04h[3] f1bar+memory offset 06h[3] user defined device 3 trap 82h[6] c8h[31:0], ceh[7:0] f1bar+memory offset 04h[4] f1bar+memory offset 06h[4] general purpose timer 1 83h[0] 88h[7:0], 89h[7:0], 8bh[4] f1bar+memory offset 04h[0] f1bar+memory offset 06h[0] general purpose timer 2 83h[1] 8ah[7:0], 8bh[5,3,2] f1bar+memory offset 04h[1] f1bar+memory offset 06h[1] gpio7 pin n/a 90h[7], 91h[7], 92h[7], 97h[7,3] 91h[7] n/a gpio6 pin n/a 90h[6], 91h[6], 92h[6] 87h[4,3], 91h[6] f7h[4,3] gpio5 pin n/a 90h[5], 91h[5], 97h[6,2] 91h[5] n/a gpio4 pin n/a 90h[4], 91h[4], 97h[5,1] 91h[4] n/a gpio3 pin n/a 90h[3], 91h[3], 97h[4,0] 91h[3] n/a gpio2 pin n/a 90h[2], 91h[2], 92h[5,2] 87h[7], 91h[2] f7h[7] gpio1 pin n/a 90h[1], 91h[1] 92h[4,1] 87h[6], 91h[1] f7h[6] gpio0 pin n/a 90h[0], 91h[0], 92h[3,0] 87h[5], 91h[0] f7h[5] suspend modulation off/on video speedup irq speedup 96h[0] 80h[4] 80h[3] 94h[7:0]/95h[7:0] 8dh[7:0] 8ch[7:0] n/a a8h[15:0] n/a n/a n/a n/a note: 1. this function is used for suspend determination. 2. this function is used for softvga, not power management. it is not affected by global power enable.
amd geode? CS5530A companion device data book 89 pc/at compatibility logic revision 1.1 4.5 pc/at compatibility logic the CS5530A?s pc/at compatibility logic provides support for the standard pc architectu re. this subsystem also pro- vides legacy support for existing hardware and software. support functions for the gx1 processor provided by these subsystems include:  isa subtractive decode  isa bus interface ? delayed pci transactions ? limited isa and isa master modes  rom interface  megacells ? direct memory access (dma) ? programmable interval timer ? programmable interrupt controller ? pci compatible interrupts  i/o ports 092h and 061h system control ? i/o port 092h system control ? i/o port 061h system control ? smi generation for nmi  keyboard interface function ? fast keyboard gate address 20 and cpu reset  external real-time clock interface the following subsections give a detailed description for each of these functions. 4.5.1 isa subtractive decode the CS5530A provides an isa bus controller. the CS5530A is the default subtractive-decoding agent, and forwards all unclaimed memory and i/o cycles to the isa interface. for reads and writes in the first 1 mb of memory (i.e., a23:a20 set to 0), memr# or memw# respectively will be asserted. however, the CS5530A can be configured using f0 index 04h[1:0] to igno re either i/o, memory, or all unclaimed cycles (subtractive decode disabled, f0 index 41h[2:1] = 1x). table 4-36 shows these programming bits. table 4-36. cycle configuration bits bit description f0 index 04h-05h pci command register (r/w) reset value = 000fh 1 memory space: allow the CS5530A to respond to memory cycles from the pci bus. 0 = disable; 1 = enable (default) . 0 i/o space: allow the CS5530A to respond to i/o cycles from the pci bus. 0 = disable; 1 = enable (default) . f0 index 41h pci function control register 2 (r/w) reset value = 10h 2:1 subtractive decode: these bits determine the point at which the CS5530A accepts cycles that are not claimed by another device. the CS5530A defaults to taking subtractive decode cycl es in the default cycle clock, but can be moved up to the slow decode cycle point if all other pci devices decode in the fast or medium clocks. disabling subtractive decode must be done with care, as all isa and ro m cycles are decoded subtractively. 00 = default sample (4th clock from frame# active) 01 = slow sample (3rd clock from frame# active) 1x = no subtractive decode
90 amd geode? CS5530A companion device data book pc/at compatibility logic revision 1.1 4.5.2 isa bus interface the isa bus controller issues multiple isa cycles to satisfy pci transactions that are larger than 16 bits. a full 32-bit read or write results in two 16-bit isa transactions or four 8- bit isa transactions. the isa controller gathers the data from multiple isa read cycles and returns trdy# only after all of the data can be presented to the pci bus at the same time. sa[23:0] are a concatenation of isa la[23:17] and sa[19:0] and perform equivalent functionality at a reduced pin count. figure 4-8 shows the relation ship between a pci cycle and the corresponding isa cycle generated. figure 4-8. non-posted pci-to-isa access pci_clk isaclk frame# irdy# trdy# ad[31:0] (read) ior#/iow# ad[31:0] (write) bale stop# memr#/memw#
amd geode? CS5530A companion device data book 91 pc/at compatibility logic revision 1.1 4.5.2.1 delayed pci transactions if pci delayed transactions are enabled (f0 index 42h[5] = 1) multiple pci cycles occur fo r every slower isa cycle. fig- ure 4-9 shows the relationship of pci cycles to an isa cycle with pci delayed transactions enabled. see section 4.2.6 "delayed transactions" on page 54 for additional information. figure 4-9. pci to isa cycles with delayed transaction enabled req# gnt# frame# irdy# trdy# stop# ior# bale pci 1 1 1 1 1 - delay 2 3 2 - ide bus master - starts and completes 3 - end of isa cycle isa
92 amd geode? CS5530A companion device data book pc/at compatibility logic revision 1.1 4.5.2.2 limited isa and isa master modes the CS5530A supports two modes on the isa interface. the default mode of the isa bus is a fully functional isa mode, but it does not support isa masters, as shown in figure 4-10 "limited isa mode". when in this mode, the address and data buses are multiplexed together, requiring an external latch to latch the lower 16 bits of address of the isa cycle. the signal sa_la tch is genera ted when the data on the sa/sd bus is a valid address. additionally, the upper four address bits, sa[23:20], are multiplexed on gpio[7:4]. the second mode of the isa interface supports isa bus masters, as shown in figure 4-11. when the CS5530A is placed in the isa master mode, a large number of pins are redefined as shown in table 4-37. in this mode of operation, the CS5530A cannot support tft flat panels or tv controllers, since most of the signals used to support these functions have been redefined. this mode is required if isa slots or isa masters are used. isa master cycles are only pass ed to the pci bus if they access memory. i/o accesses ar e left to complete on the isa bus. the mode of operation is selected by the strapping of pin p26 (intr):  isa limited mode ? strap pin p26 (intr) low through a 10-kohm resistor.  isa master mode ? strap pin p26 (intr) high through a 10-kohm resistor. f0 index 44h[7] (bit details on page 158) reports the strap value of the intr pin (pin p26) during por: 0 = isa lim- ited; 1 = isa master. this bit can be written after por# deassertion to change the isa mode selected. writing to this bit is not recom- mended due to the actual strapping done on the board. isa memory and isa refresh cycles are not supported by the CS5530A, although , the refresh toggle bit in i/o port 061h still exists for software compatibility reasons. note: if limited isa mode of operation has been selected, smemw# and smemr# can be output on these pins by programming f0 index 53[2] = 0 (bit details on page 159). table 4-37. signal assignments pin no. limited isa mode isa master mode ad15 sa_latch sa_dir ae25, ad24, ae22, ae21, af21, ac20, ad19, af19, af4, af5, ad5, af6, ac6, ad9, ae6, ae9 sa[15:0]/sd[15:0] sd[15:0] h2, k1, k2, l1, d1, e2, f1, g1, g3, g4, g2, h1, j1, j3, j2, k3 fp_data[15:0] sa[15:0] h3 fp_data[16] sa_oe# f3 fp_data[17] master# e1 fp_hsync_out smemw# e3 fp_vsync_out smemr# af3 ( note ) smemw# rtccs# ad4 ( note ) smemr# rtcale af23, ae23, ac21, ad22 gpio[7:4] sa[23:20] sa[23:20]
amd geode? CS5530A companion device data book 93 pc/at compatibility logic revision 1.1 figure 4-10. limited isa mode figure 4-11. isa master mode notes: 1. f0 index 43h[2] controls gpio[7:4]/sa[23:20]. 2. these signals are: memw#, memr#, ior#, iow#, tc, aen, dreq[7:5, 3:0], dack[7:5, 3:0]#, memcs16#, zerows#, sbhe#, iocs16#, iochrdy, isaclk. 3. this resistor is used at boot time to determine the mode of the isa bus. q d isa control 2 sd[15:0] sa[23:20] sa[19:16] sa[15:0] 1 gpio[7:4]/sa[23:20] sa[19:16] sa[15:0]/sd[15:0] sa_latch/sa_dir 10k 3 74f373x2 g oc isa device geode? intr CS5530A isa control 2 smemw# master# sa[23:20] sa[19:16] fp_vsync_out/smemr# 1 gpio[7:4]/sa[23:20] sa[19:16] 10k 3 isa master smemr# fp_hsync_out/smemw# fp_data17/master# fp_data[15:0]/sa[15:0] sa[15:0] sa[15:0]_sd[15:0]/sd[15:0] sd[15:0] geode? notes: 1. when strapped for isa master mode, gpio[7:4]/sa[23:20] are se t to sa[23:20] and the settings in f0 index 43h[2] are invalid. 2. these signals are: memw#, memr#, ior#, iow#, tc, aen, dreq[7:5, 3:0], dack[7:5, 3:0]#, memcs16#, zerows#, sbhe#, iocs16#, iochrdy, isaclk. 3. this resistor is used at boot time to determine the mode of the isa bus. intr 5.0v 3.3v/5v 330 ? CS5530A
94 amd geode? CS5530A companion device data book pc/at compatibility logic revision 1.1 4.5.2.3 isa bus data steering the CS5530A performs all of the required data steering from sd[7:0] to sd[15:0] dur ing normal 8-bit isa cycles, as well as during dma and isa master cycles. it handles data transfers between the 32-bit pci data bus and the isa bus. 8/16-bit devices can reside on the isa bus. various pc- compatible i/o registers, dma controller registers, interrupt controller registers, and count registers (for loading timers) lie on the on-chip i/o data bu s. either the pci bus master or the dma controllers can become the bus owner. when the pci bus master is the bus owner, the CS5530A data steering logic provides data conversion necessary for 8/16/32-bit transfers to and fr om 8/16-bit devices on either the isa bus or the 8-bit registers on the on-chip i/o data bus. when pci data bus drivers of the CS5530A are tristated, data transfers be tween the pci bus master and pci bus devices are handled directly via the pci data bus. when the dma requestor is the bus owner, the CS5530A allows 8/16-bit data transfer between the isa bus and the pci data bus. 4.5.2.4 i/o recovery delays in normal operation, the CS5530A inserts a delay between back-to-back isa i/o cycles th at originate on the pci bus. the default delay is four is aclk cycles. thus, the second of consecutive i/o cycles is he ld in the isa bus controller until this delay count has ex pired. the delay is measured between the rising edge of ior#/iow# and the falling edge of bale. this delay can be adjusted to a greater delay through the isa i/o recovery control register (f0 index 51h, see table 4-38). note: this delay is not inserted for a 16-bit isa i/o access that is split into two 8-bit i/o accesses. table 4-38. i/o recovery programming register bit description f0 index 51h isa i/o recovery control register (r/w) reset value = 40h 7:4 8-bit i/o recovery: these bits determine the number of isa bus cloc ks between back-to-back 8-bit i/o read cycles. this count is in addition to a preset one-cl ock delay built into the controller. 0000 = 1 isa clock 0100 = 5 isa clocks 1000 = 9 isa clocks 1100 = 13 isa clocks 0001 = 2 isa clocks 0101 = 6 isa clocks 1001 = 10 isa clocks 1101 = 14 isa clocks 0010 = 3 isa clocks 0110 = 7 isa clocks 1010 = 11 isa clocks 1110 = 15 isa clocks 0011 = 4 isa clocks 0111 = 8 isa clocks 1011 = 12 isa clocks 1111 = 16 isa clocks 3:0 16-bit i/o recovery: these bits determine the number of isa bus cl ocks between back-to-back 16-bit i/o cycles. this count is in addition to a preset one-cl ock delay built into the controller. 0000 = 1 isa clock 0100 = 5 isa clocks 1000 = 9 isa clocks 1100 = 13 isa clocks 0001 = 2 isa clocks 0101 = 6 isa clocks 1001 = 10 isa clocks 1101 = 14 isa clocks 0010 = 3 isa clocks 0110 = 7 isa clocks 1010 = 11 isa clocks 1110 = 15 isa clocks 0011 = 4 isa clocks 0111 = 8 isa clocks 1011 = 12 isa clocks 1111 = 16 isa clocks
amd geode? CS5530A companion device data book 95 pc/at compatibility logic revision 1.1 4.5.2.5 isa dma dma transfers occur between isa i/o peripherals and sys- tem memory. the data width can be either 8 or 16 bits. out of the seven dma channels available, four are used for 8- bit transfers while the remaining three are used for 16-bit transfers. one byte or word is transferred in each dma cycle. note: the CS5530A does not support dma transfers to isa memory. the isa dma device initiates a dma request by asserting one of the drq[7:5, 3:0] signals. when the CS5530A receives this request, it sends a bus grant request to the pci arbiter. after the pci bus has been granted, the respective dack# is driven active. the CS5530A generates pci memory read or write cycles in response to a dma cycle. figures 4-12 and 4-13 are examples of dma memory read and memory write cycles. upon detection of the dma controller?s memr# or memw# active, the CS5530A starts the pci cycle, asserts frame#, and negates an internal iochrdy. this assures the dma cycle does not comple te before the pci cycle has provided or accepted the data. iochrdy is internally asserted when irdy# and trdy# are sampled active. figure 4-12. isa dma read from pci memory figure 4-13. isa dma write to pci memory pciclk isaclk memr# iow# frame# ad[31:0] irdy# trdy# sd[15:0] iochrdy pciclk isaclk memw# ior# frame# ad[31:0] irdy# trdy# sd[15:0] iochrdy
96 amd geode? CS5530A companion device data book pc/at compatibility logic revision 1.1 4.5.3 rom interface the CS5530A positively decodes memory addresses 000f0000h-000fffffh (6 4 kb) and fffc0000h- ffffffffh (256 kb) at re set. these memory cycles cause the CS5530A to clai m the cycle, and generate an isa bus memory cycle with kbromcs# asserted. the CS5530A can also be configured to respond to memory addresses ff000000h-ffffffffh (16 mb) and 000e0000h-000fffffh (128 kb). flash rom is supported in the CS5530A by enabling the kbromcs# signal on write accesses to the rom region. normally only read cycles are passed to the isa bus, and the kbromcs# signal is suppressed. when the rom write enable bit (f0 index 52h[1]) is set, a write access to the rom address region causes an 8-bit write cycle to occur with memw# and kbromcs# asserted. table 4-39 shows the rom interface related programming bits. 4.5.4 megacells the CS5530A core logic integrates:  two 8237-equivalent dma controllers (dmac) with full 32-bit addressing for dma transfers.  two 8259-equivalent interrupt controllers providing 13 individually programmable external interrupts.  an 8254-equivalent timer for refresh, timer, and speaker logic.  nmi control and generation for pci system errors and all parity errors.  support for standard at keyboard controllers, reset control, and vsa technology audio. table 4-39. rom interface related bits bit description f0 index 52h rom/at logic control register (r/w) reset value = f8h 2 upper rom address range: kbromcs# is asserted for isa memory read accesses. 0 = fffc0000h-ffffffffh (256 kb, default ); 1 = ff000000h-ffffffffh (16 mb) note: pci positive decoding for the rom space is enabled at f0 index 5bh[5]). 1 rom write enable: assert kbromcs# during writes to config ured rom space (configured in bits 2 and 0), allowing flash programming. 0 = disable; 1 = enable. 0 lower rom address range: kbromcs# is asserted for isa memory read accesses. 0 = 000f0000h-000fffffh (64 kb, default ); 1 = 000e0000h-000fffffh (128 kb). note: pci positive decoding for the rom space is enabled at f0 index 5bh[5]). f0 index 5bh decode control register 2 (r/w) reset value = 20h 5 bios rom positive decode: selects pci positive or subtractive decodi ng for accesses to the configured rom space. 0 = subtractive; 1 = positive. rom configuration is at f0 index 52h[2:0].
amd geode? CS5530A companion device data book 97 pc/at compatibility logic revision 1.1 4.5.4.1 direct memory access (dma) the 8237-compatible dma controllers in the CS5530A control transfers between isa i/o devices and system memory. they generate a bus request to the pci bus when an i/o device requests a dma operation. once they are granted the bus, the dma transfer cycle occurs. dma transfers can occur over the entire 32-bit address range of the pci bus. software dma is not supported. the CS5530A contains registers for driving the high address bits (high page) and registers for generating the middle address bits (low page) output by the 8237 control- ler. dma controllers the CS5530A supports seven dma channels using two standard 8237-equivalent controllers. dma controller 1 contains channels 0 through 3 and supports 8-bit i/o adapters. these channels are used to transfer data between 8-bit peripherals and pci memory or 8/16-bit isa memory. using the high and low page address registers, a full 32-bit pci address is output for each channel so they can all transfer data throughout the entire 4 gb system address space. each channel can transfer data in 64 kb pages. dma controller 2 contains channels 4 through 7. channel 4 is used to cascade dma controller 1, so it is not available externally. channels 5 through 7 support 16-bit i/o adapt- ers to transfer data between 16-bit i/o adapters and 16-bit system memory. using the high and low page address reg- isters, a full 32-bit pci address is output for each channel so they can all transfer data throughout the entire 4 gb system address space. each channel can transfer data in 128 kb pages. channels 5, 6, and 7 transfer 16-bit words on even byte boundaries only. dma transfer modes each dma channel can be programmed for single, block, demand or cascade transfer modes. in the most commonly used mode, single transfer mode, one dma cycle occurs per drq and the pci bus is released after every cycle. this allows the CS5530A to timeshare the pci bus with the cpu. this is imperative, especially in cases involving large data transfers, so that the cpu does not get locked out for too long. in block transfer mode, the dma controller executes all of its transfers consecutively without releasing the pci bus. in demand transfer mode, dma transfer cycles continue to occur as long as drq is high or terminal count is not reached. in this mode, the dma controller continues to exe- cute transfer cycles until the i/ o device drops drq to indi- cate its inability to continue providing data. for this case, the pci bus is held by the CS5530A until a break in the transfers occurs. in cascade mode, the channel is connected to another dma controller or to an isa bus master, rather than to an i/ o device. in the CS5530A, one of the 8237 controllers is designated as the master and t he other as the slave. the hold output of the slave is ti ed to the drq0 input of the master (channel 4), and the master?s dack0# output is tied to the slave?s hlda input. in each of these modes, the dma controller can be pro- grammed for read, write, or verify transfers. both dma controllers are rese t at power on reset (por) to fixed priority. since master channel 0 is actually con- nected to the slave dma controller, the slave?s four dma channels have the highest priority, with channel 0 as high- est and channel 3 as the lowest. immediately following slave channel 3, master channel 1 (channel 5) is the next highest, followed by channels 6 and 7. dma controller registers the dma controller can be programmed with standard i/o cycles to the standard register space for dma. the i/o addresses of all registers for the dma controller are listed in table 5-27 "dma channel control registers" on page 215. addresses under master are for the 16-bit dma channels, and slave corresponds to the 8-bit channels. when writing to a channel's address or word-count register, the data is written into both the base re gister and the current register simultaneously. when reading a channel address or word count register, only the current address or word count can be read. the base address and base word count are not accessible for reading. dma transfer types each of the seven dma channels may be programmed to perform one of three types of transfers: read, write, or ver- ify. the transfer type selected defines the method used to transfer a byte or word during one dma bus cycle. for read transfer types, the CS5530A reads data from memory and writes it to the i/o device associated with the dma channel. for write transfer types, the CS5530A reads data from the i/o device associated with the dma channel and writes to the memory. the verify transfer type causes the CS5530A to execute dma transfer bus cycles, including generation of memory addresses, but neither the read nor write command lines are activated. this transfer type was used by dma channel 0 to implement dram refresh in the original ibm pc/xt. dma priority the dma controller may be programmed for two types of priority schemes: fixed and rotate (i/o ports 008h[4] and 0d0h[4]), as shown in table 5-27 "dma channel control registers" on page 215. in fixed priority, the channels are fixed in priority order based on the descending values of their numbers. thus, channel 0 has the highest priority. in rotate priority, the last channel to get service becomes the lowest-priority channel with the priority of the others rotating accordingly. this pre- vents a channel from dominating the system.
98 amd geode? CS5530A companion device data book pc/at compatibility logic revision 1.1 the address and word count registers for each channel are 16-bit registers. the value on the data bus is written into the upper byte or lower byte, depending on the state of the internal addressing byte pointer. this pointer can be cleared by the clear byte pointer command. after this com- mand, the first read/write to an address or word count reg- ister will read/write to the low byte of the 16-bit register and the byte pointer will point to the high byte. the next read/ write to an address or word-coun t register will read or write to the high byte of the 16-bit register and the byte pointer will point back to the low byte. when programming the 16-bit channels (channels 5, 6, and 7), the address which is written to the base address register must be the real address divided by two. also, the base word count for the 16-bit channels is the number of 16-bit words to be transferred, not the number of bytes as is the case for the 8-bit channels. the dma controller allows the user to program the active level (low or high) of the drq and dack# signals. since the two controllers are cascaded together internally on the chip, these signals should always be programmed with the drq signal active high and the dack# signal active low. dma shadow registers the CS5530A contains a shad ow register located at f0 index b8h (table 4-40) for reading the configuration of the dma controllers. this read-only register can sequence to read through all of the dma registers. dma addressing capability dma transfers occur over the entire 32-bit address range of the pci bus. this is accomplished by using the dma con- troller?s 16-bit memory address registers in conjunction with an 8-bit dma low page register and an 8-bit dma high page register. these registers, associated with each channel, provide the 32-bit memory address capability. a write to the low page register clears the high page regis- ter, for backward compatib ility with the pc/at standard. the starting address for the dma transfer must be pro- grammed into the dma controller registers and the chan- nel?s respective low and high page registers prior to beginning the dma transfer. dma page registers and extended addressing the dma page registers provide the upper address bits during dma cycles. dma addresses do not increment or decrement across page boundaries. page boundaries for the 8-bit channels (channels 0 through 3) are every 64 kb and page boundaries for the 16-bit channels (channels 5, 6, and 7) are every 128 kb. before any dma operations are performed, the page reg- isters must be written at the i/o port addresses shown in table 5-28 "dma page registers" on page 218 to select the correct page for each dma channel. the other address locations between 080h and 08fh and 480h and 48fh are not used by the dma channels, but can be read or written by a pci bus master. these registers are reset to zero at por. a write to the low page register clears the high page register, for backward compatibility with the pc/at standard. for most dma transfers, the high page register is set to zeros and is driven onto pci address bits ad[31:24] during dma cycles. this mode is bac kward compatible with the pc/at standard. for dma extended transfers, the high page register is programmed and the values are driven onto the pci addresses ad [31:24] during dma cycles to allow access to the full 4 gb pci address space. dma address generation the dma addresses are formed such that there is an upper address, a middle address, and a lower address por- tion. the upper address portion, which selects a specific page, is generated by the page registers. the page registers for each channel must be set up by the system before a dma operation. the dma page register values are driven on pci address bits ad[31:16] for 8-bit channels and ad[31:17] for 16-bit channels. table 4-40. dma shadow register bit description f0 index b8h dma shadow register (ro) reset value = xxh 7:0 dma shadow (read only): this 8-bit port sequences through the following list of shadowed dma controller registers. at power on, a pointer starts at the first r egister in the list and consecutively reads incrementally through it. a write to this reg- ister resets the read sequence to the first register. each shadow register in the sequence contains the last data written to that location. the read sequence for this register is: 1. dma channel 0 mode register 2. dma channel 1 mode register 3. dma channel 2 mode register 4. dma channel 3 mode register 5. dma channel 4 mode register 6. dma channel 5 mode register 7. dma channel 6 mode register 8. dma channel 7 mode register 9. dma channel mask register (bit 0 is channel 0 mask, etc.) 10. dma busy register (bit 0 or 1 means a dma occurred within last 1 ms , all other bits are 0)
amd geode? CS5530A companion device data book 99 pc/at compatibility logic revision 1.1 the middle address portion, which selects a block within the page, is generated by t he dma controller at the begin- ning of a dma operation and any time the dma address increments or decrements through a block boundary. block sizes are 256 bytes for 8-bit channels (channels 0 through 3) and 512 bytes for 16-bit channels (channels 5, 6, and 7). the middle address bits are driven on pci address bits ad[15:8] for 8-bit channels and ad[16:9] for 16-bit chan- nels. the lower address portion is generated directly by the dma controller during dma operations. the lower address bits are output on pci address bits ad[7:0] for 8-bit channels and ad[8:1] for 16-bit channels. sbhe# is configured as an output during all dma opera- tions. it is driven as the inversion of ad0 during 8-bit dma cycles and forced low for all 16-bit dma cycles. 4.5.4.2 programmable interval timer the CS5530A contains an 8254-equivalent programmable interval timer (pit) configured as shown in figure 4-14. the pit has three timers/counters, each with an input fre- quency of 1.19318 mhz (osc divided by 12), and individu- ally programmable to different modes. the gates of counter 0 and 1 are usually enabled, how- ever, they can be controlled via f0 index 50h (see table 4- 41). the gate of counter 2 is connected to i/o port 061h[0]. the output of counter 0 is c onnected internally to irq0. this timer is typically configured in mode 3 (square wave output), and used to generate irq0 at a periodic rate to be used as a system timer functi on. the output of counter 1 is connected to i/o port 061h[4]. the reset state of i/o port 061h[4] is 0 and every falling edge of counter 1 output causes i/o port 061h[4] to flip states. the output of counter 2 is brought out to the pc_beep output. this out- put is gated with i/o port 061h[1]. figure 4-14. pit timer table 4-41. pit control and i/o port 061h associated register bits bit description f0 index 50h pit control/isa clk divider (r/w) reset value = 7bh 7 pit software reset: 0 = disable; 1 = enable. 6 pit counter 1: 0 = forces counter 1 output (out1) to zero; 1 = allows counter 1 output (out1) to pass to i/o port 061h[4]. 5 pit counter 1 enable: 0 = sets gate1 input low; 1 = sets gate1 input high. 4 pit counter 0: 0 = forces counter 0 output (out0) to zero; 1 = allows counter 0 output (out0) to pass to irq0. 3 pit counter 0 enable: 0 = sets gate0 input low; 1 = sets gate0 input high. i/o port 061h port b control register (r/w) reset value = 00x01100b 5 pit out2 state (read only): this bit reflects the current status of the pit counter 2 (out2). 4 toggle (read only): this bit toggles on every falling edge of counter 1 (out1). 1 pit counter2 (spkr): 0 = forces counter 2 output (out2) to zero; 1 = allows counter 2 output (out2) to pass to the speaker. 0 pit counter2 enable: 0 = sets gate2 input low; 1 = sets gate2 input high. clk0 clk1 clk2 gate0 gate1 gate2 xd[7:0] a[1:0] iow# ior# i/o port 061h[1] i/o port 061h[0] irq0 i/o port 061h[4] pc_beep 1.19318 mhz wr# rd# out0 out1 out2 f0 index 50h[4] f0 index 50h[6] f0 index 50h[3] f0 index 50h[5]
100 amd geode? CS5530A companion device data book pc/at compatibility logic revision 1.1 pit registers the pit registers are summarized and bit formats are in table 5-29 "programmable interval timer registers" on page 219. pit shadow register the pit registers are shadowed to allow for save-to-disk/ ram to save/restore the pit state by reading the pit?s counter and write-only registers. the read sequence for the shadow register is listed in f0 index bah, table 4-42. 4.5.4.3 programmable interrupt controller the CS5530A includes an at-compatible programmable interrupt controller (pic) configuration with two 8259- equivalent interrupt controllers in a master/slave configura- tion (figure 4-15). these pic devices support all x86 modes of operation except special fully nested mode. figure 4-15. pic interrupt controllers ir0 ir1 ir2 ir3 ir4 ir5 ir6 ir7 irq0 irq1 irq2 irq3 irq4 irq5 irq6 irq7 intr coprocessor 8254 timer 0 rtc_irq# intr ir0 ir1 ir2 ir3 ir4 ir5 ir6 ir7 irq8 irq9 irq10 irq11 irq12 irq13 irq14 irq15 table 4-42. pit shadow register bit description f0 index bah pit shadow register (ro) reset value = xxh 7:0 pit shadow (read only): this 8-bit port sequences through the followi ng list of shadowed programmable interval timer registers. at power on, a pointer starts at the first register in the list and cons ecutively reads to increment through it. a w rite to this register resets the read sequence to the first register. each shadow register in the sequence contains the last data written to that location. the read sequence for this register is: 1. counter 0 lsb (least significant byte) 2. counter 0 msb 3. counter 1 lsb 4. counter 1 msb 5. counter 2 lsb 6. counter 2 msb 7. counter 0 command word 8. counter 1 command word 9. counter 2 command word note: the lsb/msb of the count is the counter base value, not the current value. bits [7:6] of the command words are not used.
amd geode? CS5530A companion device data book 101 pc/at compatibility logic revision 1.1 of the 16 irqs, four are mapped as shown in table 4-43, leaving 12 external interrupts. the two controllers are cas- caded through irq2. the internal 8254 pit connects to irq0. the real-time clock interface chip (see figure 4-18 "external rtc interface" on page 109) and the external coprocessor interface (see figure 4-1 "processor signal connections" on page 48) connect to irq8# and irq13 respectively. the CS5530A allows the pci interrupt signals inta#- intd# (also known in indust ry terms as pirqx#) to be routed internally to any irq signal. the routing can be modified through the CS5530A?s configuration registers. if this is done, the irq input must be configured to be level- rather than edge-sensitive. irq inputs may be individually programmed to be active low, level-sensitive with the inter- rupt sensitivity configuration registers at i/o address space 4d0h and 4d1h. pci interrupt configuration is discussed in further detail in section 4.5.4.4 "pci compatible interrupts" on page 103. pic interrupt sequence a typical at-compatible interrupt sequence is as follows. any unmasked interrupt generates the intr signal to the cpu. the interrupt controller then responds to the interrupt acknowledge (inta) cycles from the cpu. on the first inta cycle the cascading priority is resolved to determine which of the two 8259 controllers out put the interrupt vector onto the data bus. on the second inta cycle the appropriate 8259 controller drives the data bus with the correct inter- rupt vector for the highest priority interrupt. by default, the CS5530A responds to pci inta cycles because the system interrupt controller is located within the CS5530A. this may be disabled with f0 index 40h[7] (see table 4-44). when the CS5530A responds to a pci inta cycle, it holds the pci bus and internally generates the two inta cycles to obtain the co rrect interrupt vector. it then asserts trdy# and returns the interrupt vector. pic i/o registers each pic contains register s located in the standard i/o address locations, as shown in table 5-30 "programmable interrupt controller registers" on page 220. an initialization sequence must be followed to program the interrupt controllers. the sequence is started by writing ini- tialization command word 1 (icw1). after icw1 has been written, the controller expects the next writes to follow in the sequence icw2, icw3, and icw4 if it is needed. the operation control words (ocw) can be written after initial- ization. the pic must be programmed before operation begins. since the controllers are operating in cascade mode, icw3 of the master controller s hould be programmed with a value indicating that irq2 input of the master interrupt con- troller is connected to the sl ave interrupt controller rather than an i/o device as part of the system initialization code. in addition, icw3 of the slave interrupt controller should be programmed with the value 02h (slave id) and corresponds to the input on the master controller. table 4-43. pic interrupt mapping master irq# mapping irq0 connected to the out0 (system timer) of the internal 8254 pit. irq2 connected to the slave?s intr for a cascaded configuration. irq8# connected to external real-time clock. irq13 connected to the coprocessor interface. irq[15:14, 12:9, 7:3, 1] external interrupts. table 4-44. pci inta cycle disable/enable bit bit description f0 index 40h pci function control register 1 (r/w) reset value = 89h 7 pci interrupt acknowledge cycle response: allow the CS5530A responds to pci interrupt acknowledge cycles. 0 = disable; 1 = enable.
102 amd geode? CS5530A companion device data book pc/at compatibility logic revision 1.1 pic shadow register the pic registers are shadowed to allow for save-to-disk/ ram to save/restore the pic state by reading the pic?s write-only registers. a write to this register resets the read sequence to the first register. the read sequence for the shadow register is listed in f0 index b9h (table 4-45). table 4-45. pic shadow register bit description f0 index b9h pic shadow register (ro) reset value = xxh 7:0 pic shadow (read only): this 8-bit port sequences through the following list of shadowed programmable interrupt con- troller registers. at power on, a pointer starts at the first register in the list and consecut ively reads incrementally throug h it. a write to this register resets the read sequence to the first register. each shadow register in the sequence contains the last data written to that location. the read sequence for this register is: 1. pic1 icw1 2. pic1 icw2 3. pic1 icw3 4. pic1 icw4 - bits [7:5] of icw4 are always 0 5. pic1 ocw2 - bits [6:3] of ocw2 are always 0 (note) 6. pic1 ocw3 - bits [7, 4] are 0 and bit [6, 3] are 1 7. pic2 icw1 8. pic2 icw2 9. pic2 icw3 10. pic2 icw4 - bits [7:5] of icw4 are always 0 11. pic2 ocw2 - bits [6:3] of ocw2 are always 0 (note) 12. pic2 ocw3 - bits [7, 4] are 0 and bit [6, 3] are 1 note: to restore ocw2 to shadow register value, write the appropria te address twice. first with the shadow register value, then with the shadow regist er value ored with c0h.
amd geode? CS5530A companion device data book 103 pc/at compatibility logic revision 1.1 4.5.4.4 pci compat ible interrupts the CS5530A allows the pci interrupt signals inta#, intb#, intc#, and intd# (also known in industry terms as pirqx#) to be mapped internally to any irq signal with the pci interrupt steering registers 1 and 2, f0 index 5ch and 5dh (table 4-46). this reassignment does not disable the corresponding irq pin. two interrupt signals may not be assigned to the same irq. pci interrupts are low-level sensitive, whereas pc/at inter- rupts are positive-edge sensitive; therefore, the pci inter- rupts are inverted before being connected to the 8259. although the controllers def ault to the pc/at-compatible mode (positive-edge sensitive), each irq may be individu- ally programmed to be edge or level sensitive using the interrupt edge/level sensitivity registers in i/o port 4d0h and 4d1h, as shown in table 4-47. however, if the control- lers are programmed to be level-sensitive via icw1, all interrupts must be level-sensitive. figure 4-16 shows the pci interrupt mapping for the master/slave 8259 interrupt controller. figure 4-16. pci and irq interrupt mapping pci inta#-intd# irq[15:14,12:9,7:3,1] steering registers f0 index 5ch,5dh icw1 4d0h/4d1h 16 1 12 12 4 master/slave 8259 pic intr irq[13,8,0] 3 level/edge irq3 irq4 irq15 sensitivity table 4-46. pci interrupt steering registers bit description f0 index 5ch pci interrupt steering register 1 (r/w) reset value = 00h 7:4 intb# target interrupt: selects target interrupt for intb#. 0000 = disable 0100 = irq4 1000 = rsvd 1100 = irq12 0001 = irq1 0101 = irq5 1001 = irq9 1101 = rsvd 0010 = rsvd 0110 = irq6 1010 = irq10 1110 = irq14 0011 = irq3 0111 = irq7 1011 = irq11 1111 = irq15 3:0 inta# target interrupt: selects target interrupt for inta#. 0000 = disable 0100 = irq4 1000 = rsvd ? 1100 = irq12 0001 = irq1 0101 = irq5 1001 = irq9 1101 = rsvd 0010 = rsvd 0110 = irq6 1010 = irq10 1110 = irq14 0011 = irq3 0111 = irq7 1011 = irq11 1111 = irq15 note: the target interrupt must first be configur ed as level sensitive via i/o port 4d0h and 4d1h in order to maintain pci interrupt compatibility. f0 index 5dh pci interrupt steering register 2 (r/w) reset value = 00h 7:4 intd# target interrupt: selects target interrupt for intd#. 0000 = disable 0100 = irq4 1000 = rsvd 1100 = irq12 0001 = irq1 0101 = irq5 1001 = irq9 1101 = rsvd 0010 = rsvd 0110 = irq6 1010 = irq10 1110 = irq14 0011 = irq3 0111 = irq7 1011 = irq11 1111 = irq15 3:0 intc# target interrupt: selects target interrupt for intc#. 0000 = disable 0100 = irq4 1000 = rsvd 1100 = irq12 0001 = irq1 0101 = irq5 1001 = irq9 1101 = rsvd 0010 = rsvd 0110 = irq6 1010 = irq10 1110 = irq14 0011 = irq3 0111 = irq7 1011 = irq11 1111 = irq15 note: the target interrupt must first be configur ed as level sensitive via i/o port 4d0h and 4d1h in order to maintain pci interrupt compatibility.
104 amd geode? CS5530A companion device data book pc/at compatibility logic revision 1.1 table 4-47. interrupt edge/level select registers bit description i/o port 4d0h interrupt edge/level select register 1 (r/w) reset value = 00h 7 irq7 edge or level select: selects pic irq7 sensitivity configuration. 0 = edge; 1 = level. (notes 1 and 2) 6 irq6 edge or level select: selects pic irq6 sensitivity configuration. 0 = edge; 1 = level. (notes 1 and 2) 5 irq5 edge or level select: selects pic irq5 sensitivity configuration. 0 = edge; 1 = level. (notes 1 and 2) 4 irq4 edge or level select: selects pic irq4 sensitivity configuration. 0 = edge; 1 = level. (notes 1 and 2) 3 irq3 edge or level select: selects pic irq3 sensitivity configuration. 0 = edge; 1 = level. (notes 1 and 2) 2 reserved: set to 0. 1 irq1 edge or level select: selects pic irq1 sensitivity configuration. 0 = edge; 1 = level. (notes 1 and 2) 0 reserved: set to 0. notes: 1. if icw1 - bit 3 in the pic is set as level, it overrides this setting. 2. this bit is provided to configure a pci interrupt mapped to irq[x] on the pic as level-sensitive (shared). i/o port 4d1h interrupt edge/level select register 2 (r/w) reset value = 00h 7 irq15 edge or level select: selects pic irq15 sensitivity configurat ion. 0 = edge; 1 = level. (notes 1 and 2) 6 irq14 edge or level select: selects pic irq14 sensitivity configurat ion. 0 = edge; 1 = level. (notes 1 and 2) 5 reserved: set to 0. 4 irq12 edge or level select: selects pic irq12 sensitivity configurat ion. 0 = edge; 1 = level. (notes 1 and 2) 3 irq11 edge or level select: selects pic irq11 sensitivity configurat ion. 0 = edge; 1 = level. (notes 1 and 2) 2 irq10 edge or level select: selects pic irq10 sensitivity configurat ion. 0 = edge; 1 = level. (notes 1 and 2) 1 irq9 edge or level select: selects pic irq9 sensitivity configuration. 0 = edge; 1 = level. (notes 1 and 2) 0 reserved: set to 0. notes: 1. if icw1 - bit 3 in the pic is set as level, it overrides this setting. 2. this bit is provided to configure a pci interrupt mapped to irq[x] on the pic as level-sensitive (shared).
amd geode? CS5530A companion device data book 105 pc/at compatibility logic revision 1.1 4.5.5 i/o ports 092h and 061h system control the CS5530A supports control functions of i/o ports 092h (port a) and 061h (port b) for ps/2 compatibility. i/o port 092h allows a fast assertion of the a20m# or cpu_rst. i/ o port 061h controls nmi generation and reports system status. table 4-48 shows these register bit formats. the CS5530A does not use a pin to control a20 mask when used together with a gx1 processor. instead, it gen- erates an smi for every internal change of the a20m# state and the smi handler sets the a20m# state inside the cpu. this method is used for both the port 092h (ps/2) and port 061h (keyboard) methods of controlling a20m#. table 4-48. i/o ports 061h and 092h bit description i/o port 061h port b control register (r/w) reset value = 00x01100b 7 perr#/serr# status (read only): was a pci bus error (perr#/serr#) asserted by a pci device or by the CS5530A? 0 = no; 1 = yes. this bit can only be set if err_en (bit 2) is set 0. this bit is set 0 after a write to err_en with a 1 or after reset. 6 iochk# status (read only): is an i/o device reporting an error to the CS5530A? 0 = no; 1 = yes. this bit can only be set if iochk_en (bit 3) is set 0. this bit is set 0 after a write to iochk_en with a 1 or after reset. 5 pit out2 state (read only): this bit reflects the current status of the pit counter 2 (out2). 4 toggle (read only): this bit toggles on every falling edge of counter 1 (out1). 3 iochk enable: 0 = generates an nmi if iochk# is driven low by an i/o devi ce to report an error. note that nmi is under smi control. 1 = ignores the iochk# input signal and does not generate nmi. 2 perr#/serr# enable: generates an nmi if perr#/serr# is driven active to report an error. 0 = enable; 1 = disable 1 pit counter2 (spkr): 0 = forces counter 2 output (out2) to zero; 1 = allows counter 2 output (out2) to pass to the speaker. 0 pit counter2 enable: 0 = sets gate2 input low; 1 = sets gate2 input high. i/o port 092h port a control register (r/w) reset value = 02h 7:2 reserved: set to 0. 1 a20m# smi assertion: assert a20m#. 0 = enable mask; 1 = disable mask. 0 fast cpu reset: wm_rst smi is asserted to the bios. 0 = disable; 1 = enable. this bit must be cleared before the generation of another reset.
106 amd geode? CS5530A companion device data book pc/at compatibility logic revision 1.1 4.5.5.1 i/o port 092h system control i/o port 092h allows for a fast keyboard assertion of an a20# smi and a fast keyboard cpu reset. decoding for this register may be disabled via f0 index 52h[3] (table 4-49). the assertion of a fast keyboard a20# smi is controlled by either i/o port 092h or by monitoring for the keyboard com- mand sequence (see section 4. 5.6.1 "fast keyboard gate address 20 and cpu reset" on page 108). if bit 1 of i/o port 092h is cleared, the CS5530A internally asserts an a20m# smi, which in turn causes an smi to the processor. if bit 1 is set, a20m# smi is internally deasserted again causing an smi. the assertion of a fast keyb oard reset (wm_rst smi) is controlled by bit 0 in i/o port 092h or by monitoring for the keyboard command sequence. if bit 0 is changed from a 0 to a 1, the CS5530A generates a reset to the processor by generating a wm_rst smi. when the wm_rst smi occurs, the bios jumps to the warm reset vector. this bit remains set until the CS5530A is externally reset, or this bit is cleared by program control. note that warm reset is not a pin; it is under smi control. 4.5.5.2 i/o port 061 h system control through i/o port 061h, the speaker output can be enabled, nmi from iochk# or serr# can be enabled, the status of iochk# and serr# can be read, and the state of the speaker data (timer2 output) and refresh toggle (timer1 output) can be read back. note that nmi is under smi con- trol. even though the hardware is present, the iochk# pin does not exist so an nmi from iochk# can not happen. 4.5.5.3 smi generation for nmi figure 4-17 shows how the CS5530A can generate an smi for an nmi. note that nmi is not a pin. figure 4-17. smi generation for nmi table 4-49. i/o port 092h decode enable bit bit description f0 index 52h rom/at logic control register (r/w) reset value = f8h 3 enable i/o port 092h decode (port a): i/o port 092h decode and the logical functions. 0 = disable; 1 = enable. perr# iochk# f0 index 04h[6] serr# f0 index 04h[8] f0 index 41h[5] i/o port 061h[2] i/o port 061h[3] i/o port 070h[7] parity errors and system errors nmi nmi smi f0 index 04h: pci command register bit 6 = pe (parity error enable) bit 8 = serr# (serr# enable) f0 index 41h: pci function control register 2 bit 5 = pes (perr# signals serr#) i/o port 061h: port b bit 2 = err_en (perr#/serr# enable) bit 3 = iochk_en (iochk enable) i/o port 070h: rtc index register (wo) bit 7 = nmi (nmi enable) and and and and or and or
amd geode? CS5530A companion device data book 107 pc/at compatibility logic revision 1.1 4.5.6 keyboard interface function the CS5530A actively decodes the keyboard controller i/o ports 060h and 064h, and generate an isa i/o cycle with kbromcs# asserted. access to i/o ports 062h and 066h must be enabled for kbromcs# to be asserted. the CS5530A also actively decodes the keyboard controller i/o ports 062h and 066h if f0 index 5bh[7] is set. keyboard positive decoding can be disabled if f0 index 5ah[1] is cleared. table 4-50 shows these two decoding bits. table 4-51 lists the standard keyboard control i/o registers and their bit formats. . table 4-50. decode control registers bit description f0 index 5ah decode control register 1 (r/w) reset value = 03h 1 keyboard controller positive decode: selects pci positive or subtractive decoding for accesses to i/o port 060h and 064h (and 062h/066h if enabled). 0 = subtractive; 1 = positive. note: positive decoding by the CS5530A speeds up the i/o cycle time. these i/o ports do not exist in the CS5530A. it is assumed that if positive decode is enabled, the port exists on the isa bus. f0 index 5bh decode control register 2 (r/w) reset value = 20h 7 keyboard i/o port 062h/066h decode: this alternate port to the keyboard contro ller is provided in support of the 8051sl notebook keyboard controller mailbox . 0 = disable; 1 = enable. note: positive decoding by the CS5530A speeds up the i/o cycle time. the keyboard, lpt3, lpt2, and lpt1 i/o ports do not exist in the CS5530A. it is assumed that if positive dec ode is enabled, the port exists on the isa bus. table 4-51. external keyboard controller registers bit description i/o port 060h (r/w) external keyboard controller data register keyboard controller data register: all accesses to this port are passed to the i sa bus. if the fast keyboard gate a20 and reset fea- tures are enabled through bit 7 of the rom/at logic control regist er (f0 index 52h[7]), the respective sequences of writes to t his port assert the a20m# pin or cause a warm cpu reset. i/o port 062h (r/w) external keyboard controller mailbox register keyboard controller mailbox register: accesses to this port will assert kbromcs # if the port 062h/066h decode is enabled through bit 7 of the decode control register 2 (f0 index 5bh[7]). i/o port 064h (r/w) external keyboard controller command register keyboard controller command register: all accesses to this port are passed to the isa bus. if the fast keyboard gate a20 and reset features are enabled through bit 7 of the rom/at logic control regist er (f0 index 52h[7]), the respective sequences of writes t o this port assert the a20m# pin or cause a warm cpu reset. i/o port 066h (r/w) external keyboard controller mailbox register keyboard controller mailbox register: accesses to this port will assert kbromcs# if the port 062h/066h decode is enabled through bit 7 of the decode control register 2 (f0 index 5bh[7]).
108 amd geode? CS5530A companion device data book pc/at compatibility logic revision 1.1 4.5.6.1 fast keyboard gate address 20 and cpu reset the CS5530A monitors the keyboard i/o ports 064h and 060h for the fast keyboard a20m# and cpu reset control sequences. if a write to i/o port 060h[1] = 1 after a write takes place to i/o port 064h with data of d1h, then the CS5530A asserts the a20m# signal. a20m# remains asserted until cleared by: (1) a write to bit 1 of i/o port 092h, (2) a cpu reset of some kind, or (3) write to i/o port 060h[1] = 0 after a write takes place to i/o port 064h with data of d1h. the CS5530A also monitors the keyboard ports for the cpu reset control sequence. if a write to i/o port 060h with data bit 0 set occurs after a write to i/o port 064h with data of d1h, the CS5530A asserts a wm_rst smi. the fast keyboard a20m# and cpu reset can be disabled through f0 index 52h[7]. by default, bit 7 is cleared, and the fast keyboard a20m# and cpu reset monitor logic is active. if bit 7 is clear, the CS5530A forwards the com- mands to the keyboard controller. by default, the CS5530A forc es the deassertion of a20m# during a warm reset. this action may be disabled if f0 index 52h[4] is cleared. table 4-52. a20 associated programming bits bit description f0 index 52h rom/at logic control register (r/w) reset value = f8h 7 snoop fast keyboard gate a20 and fast reset: enables the snoop logic associated with keyboard commands for a20 mask and reset. 0 = disable; 1 = enable (snooping). if disabled, the keyboard controller handles the commands. 4 enable a20m# deassertion on warm reset: force a20m# high during a warm re set (guarantees that a20m# is deas- serted regardless of the state of a20). 0 = disable; 1 = enable.
amd geode? CS5530A companion device data book 109 pc/at compatibility logic revision 1.1 4.5.7 external real-time clock interface i/o ports 070h and 071h decodes are provided to interface to an external real-time clock controller. i/o port 070h, a write only port, is used to set up the address of the desired data in the controller. this causes the address to be placed on the isa data bus, and the rtcale signal to be trig- gered. a read of i/o port 071h causes an isa i/o read cycle to be performed while asserting the rtccs# signal. a write to i/o port 071h causes an isa i/o write cycle to be performed with the desired data being placed on the isa bus and the rtccs# signal to be asserted. rtccs#/ smemw# and rtcale/smemr# are multiplexed pins. the function selection is made through f0 index 53h[2]. the connection between the CS5530A and an external real-time clock is shown in figure 4-18. the CS5530A also provides the rtc index shadow regis- ter (f0 index bbh) to store the last write to i/o port 070h. table 4-53 shows the bit formats for the associated regis- ters for interfacing with an external real-time clock. figure 4-18. external rtc interface sd[7:0] rtcale/smemr# ior# iow# rtc rtccs#/smemw# irq8 # table 4-53. real-time clock registers bit description i/o port 070h (wo) rtc address register 7 nmi mask: 0 = enable; 1 = mask. 6:0 rtc register index: a write of this register sends the data out on the isa bus and also causes rtcale to be triggered. note: this register is shadowed within the CS5530A and is read through the rtc shadow register (f0 index bbh). i/o port 071h (r/w) rtc data register a read of this register returns the value of the register indexed by the rtc address register plus initiates a rtccs#. a write of this register sets the value into the register indexed by the rtc address register plus initiates a rtccs#. f0 index bbh rtc index shadow register (ro) reset value = xxh 7:0 rtc index shadow (read only): the rtc shadow register contains the last written value of the rtc index register (i/o port 070h). f0 index 53h alternate cpu support register (r/w) reset value = 00h 2 rtc enable/rtc pin configuration: 0 = smemw# (pin af3) and smemr# (pin ad4), rtc decode disabled; 1 = rtccs# (pin af3) and rtcale (pin ad4), rtc decode enabled. note: the rtc index shadow register (f0 index bbh) is independent of the setting of this bit.
110 amd geode? CS5530A companion device data book ide controller revision 1.1 4.6 ide controller the CS5530A integrates a fully-buffered, 32-bit, ansi ata- 4-compliant (ultra dma33) ide interface. the ide interface supports two channels, primary and secondary, each sup- porting two devices that can operate in pio modes 1, 2, 3, 4, multiword dma, or ultra dma/133. the ide interface provides a va riety of features to optimize system performance, including 32-bit disk access, post write buffers, bus master, multiword dma, look-ahead read buffer, and prefetch mechanism for each channel respec- tively. the ide interface timing is completely programmable. tim- ing control covers the command active and recover pulse widths, and command block register accesses. the ide data-transfer speed for each device on each channel can be independently programmed allowing high-speed ide peripherals to coexist on the same channel as older, com- patible devices. the CS5530A also provides a software-accessible buffered reset signal to the ide drive, f0 index 44h[3:2] (table 4- 54). the ide_rst# signal is driven low during reset to the CS5530A and can be driven low or high as needed for device-power-off conditions. 4.6.1 ide interface signals the CS5530A has two completely separate ide control signals, however, the ide_rst#, ide_addr[2:0] and ide_data[15:0] are shared. the connections between the CS5530A and ide devices are shown as figure 4-19. figure 4-19. CS5530A and ide channel connections table 4-54. ide reset bits bit description f0 index 44h reset control register (r/w) reset value = xx000000b 3 ide controller reset: reset both of the CS5530A ide controllers? internal state machines. 0 = run; 1 = reset. this bit is level-sensitive and must be expl icitly cleared to 0 to remove the reset. 2 ide reset: reset ide bus. 0 = deassert ide bus reset signal; 1 = assert ide bus reset signal. this bit is level-sensitive and must be expl icitly cleared to 0 to remove the reset. ide_addr[2:0] irq14 irq15 ide_data[15:0] primary channel secondary channel ide_rst# ide_cs0#, ide_dreq0, ide_dack0#, ide_iordy0, ide_ior0#, ide_iow0# ide_cs1#, ide_dreq1, ide_dack1#, ide_iordy1, ide_ior1#, ide_iow1#
amd geode? CS5530A companion device data book 111 ide controller revision 1.1 4.6.2 ide configuration registers registers for configuring the ide interface are accessed through f2 index 20h, the base address register (f2bar) in function 2. f2bar sets the base address for the ide controllers configuration registers as shown in table 4- 55. for complete bit informati on, refer to section 5.3.3 "ide controller registers - function 2" on page 184. the following subsections discuss CS5530A operational/ programming details concerning pio, bus master, and ultra dma/33 modes. 4.6.2.1 pio mode the ide data port transaction latency consists of address latency, asserted latency and recovery latency. address latency occurs when a pci master cycle targeting the ide data port is decoded, and the ide_addr[2:0] and ide_cs# lines are not set up. address latency provides the setup time for the ide_addr[2:0] and ide_cs# lines prior to ide_ior# and ide_iow#. asserted latency consists of the i/o command strobe assertion length and recovery time. recovery time is pro- vided so that transactions may occur back-to-back on the ide interface without violating minimum cycle periods for the ide interface. if ide_iordy is asserted when the initial sample point is reached, no wait states ar e added to the command strobe assertion length. if ide_iordy is negated when the initial sample point is reached, additional wait states are added. recovery latency occurs after the ide data port transac- tions have completed. it provides hold time on the ide_addr[2:0] and ide_cs# lines with respect to the read and write strobes (ide_ior# and ide_iow#). the pio portion of the ide registers is enabled through:  channel 0 drive 0 programmed i/o register (f2bar+i/ o offset 20h)  channel 0 drive 1 programmed i/o register (f2bar+i/ o offset 28h)  channel 1 drive 0 programmed i/o register (f2bar+i/ o offset 30h)  channel 1 drive 1 programmed i/o register (f2bar+i/ o offset 38h) the ide channels and devices can be individually pro- grammed to select the proper address setup time, asserted time, and recovery time. the bit formats for these registers are shown in table 4-56. note that there are different bit formats for each of the pio programming registers depending on the operating format selected: format 0 or format 1. f2bar+i/o offset 24h[31] (channel 0 drive 0 ? dma control register) sets the format of the pio register. if bit 31 = 0, format 0 is used and it selects the slowest pio- mode (bits [19:16]) per channel for commands. if bit 31 = 1, format 1 is used and it allows independent control of command and data. also listed in the bit formats are recommended values for the different pio modes. note: these are only recommended settings and are not 100% tested. table 4-55. base address register (f2bar) for ide support registers bit description f2 index 20h-23h base address register - f2bar (r/w) reset value = 00000001h this register sets the base address of the i/o mapped bus mastering ide and controlle r registers. bits [6:0] are read only (000 0 001), indicating a 128-byte i/o address range. refer to table 5-19 for the ide configuration registers bit formats and reset values. 31:7 bus mastering ide base address 6:0 address range (read only)
112 amd geode? CS5530A companion device data book ide controller revision 1.1 table 4-56. pio programming registers bit description f2bar+i/o offset 20h-23h channel 0 drive 0 pi o register (r/w) reset value = 0000e132h (note) if offset 24h[31] = 0, format 0: selects slowest piomode per channel for commands. format 0 settings for: pio mode 0 = 00009172h pio mode 1 = 00012171h pio mode 2 = 00020080h pio mode 3 = 00032010h pio mode 4 = 00040010h 31:20 reserved: set to 0. 19:16 piomode: pio mode 15:12 t2i: recovery time (value + 1 cycle) 11:8 t3: ide_iow# data setup time (value + 1 cycle) 7:4 t2w: ide_iow# width minus t3 (value + 1 cycle) 3:0 t1: address setup time (value + 1 cycle) if offset 24h[31] = 1 , format 1: allows independent control of command and data. format 1 settings for: pio mode 0 = 9172d132h pio mode 1 = 21717121h pio mode 2 = 00803020h pio mode 3 = 20102010h pio mode 4 = 00100010h 31:28 t2ic: command cycle recovery time (value + 1 cycle) 27:24 t3c: command cycle ide_iow# data setup (value + 1 cycle) 23:20 t2wc: command cycle ide_iow# pulse width minus t3 (value + 1 cycle) 19:16 t1c: command cycle address setu p time (value + 1 cycle) 15:12 t2id: data cycle recovery time (value + 1 cycle) 11:8 t3d: data cycle ide_iow# data setup (value + 1 cycle) 7:4 t2wd: data cycle ide_iow# pulse wi dth minus t3 (value + 1 cycle) 3:0 t1d: data cycle address setup time (value + 1 cycle) note: the reset value of this register is not a valid pio mode. offset 28h-2bh channel 0 drive 1 pio register (r/w) reset value = 0000e132h channel 0 drive 1 programmed i/o control register: refer to f2bar+i/o offset 20h for bit descriptions. offset 30h-33h channel 1 drive 0 pio register (r/w) reset value = 0000e132h channel 1 drive 0 programmed i/o control register: refer to f2bar+i/o offset 20h for bit descriptions. offset 38h-3bh channel 1 drive 1 pio register (r/w) reset value = 0000e132h channel 1 drive 1 programmed i/o control register: refer to f2bar+i/o offset 20h for bit descriptions.
amd geode? CS5530A companion device data book 113 ide controller revision 1.1 4.6.2.2 bus master mode two ide bus masters are provided to perform the data transfers for the primary and secondary channels. the CS5530A off-loads the cpu and improves system perfor- mance in multitasking environments. the bus master mode programming interface is an exten- sion of the standard ide programming model. this means that devices can always be dealt with using the standard ide programming model, with th e master mode functional- ity used when the appropriate driver and devices are present. master operation is designed to work with any ide device that supports dma transfers on the ide bus. devices that work in pio mode can only use the standard ide programming model. the ide bus masters use a simple scatter/gather mecha- nism allowing large transfer blocks to be scattered to or gathered from memory. this cuts down on the number of interrupts to and interactions with the cpu. physical region descriptor table address before the controller starts a ma ster transfer it is given a pointer (shown in table 4-57) to a physical region descrip- tor table. this pointer sets the starting memory location of the physical region descriptors (prds). the prds describe the areas of memory that are used in the data transfer. the prds must be aligned on a 4-byte boundary and the table cannot cross a 64 kb boundary in memory. primary and secondary id e bus master registers the ide bus master registers for each channel (primary and secondary) have an ide bus master command regis- ter and bus master status r egister. these registers must be accessed individually; a 32-bit dword access attempt- ing to include both the command and status registers may not operate correctly. bit formats of these registers are given in table 4-58. table 4-57. ide bus master prd table address registers bit description f2bar+i/o offset 04h-07h ide bus master 0 prd table address ? primary (r/w) reset value = 00000000h 31:2 pointer to the physical region descriptor table: this register is a prd table pointer for ide bus master 0. when written, this register points to the first entry in a prd table. once ide bus master 0 is enabled (command register bit 0 = 1], it loads the pointer and updates this register to the next prd by adding 08h. when read, this register points to the next prd. 1:0 reserved: set to 0. f2bar+i/o offset 0ch-0fh ide bus master 1 prd table address ? secondary (r/w) reset value = 00000000h 31:2 pointer to the physical region descriptor table: this register is a prd table pointer for ide bus master 1. when written, this register points to the first entry in a prd table. once ide bus master 1 is enabled (command register bit 0 = 1], it loads the pointer and updates this register to the next prd by adding 08h. when read, this register points to the next prd. 1:0 reserved: set to 0.
114 amd geode? CS5530A companion device data book ide controller revision 1.1 table 4-58. ide bus master command and status registers bit description f2bar+i/o offset 00h ide bus master 0 comman d register ? primary (r/w) reset value = 00h 7:4 reserved: set to 0. must return 0 on reads. 3 read or write control: sets the direction of bus master transfers. 0 = pci reads performed; 1 = pci writes performed. this bit should not be changed when the bus master is active. 2:1 reserved: set to 0. must return 0 on reads. 0 bus master control: controls the state of the bus master. 0 = disable master; 1 = enable master. bus master operations can be halted by setting bit 0 to 0. once an operation has been halted, it can not be resumed. if bit 0 is set to 0 while a bus master operation is active, the co mmand is aborted and the data trans ferred from the drive is dis- carded. this bit should be reset after completion of data transfer. f2bar+i/o offset 02h ide bus master 0 status register ? primary (r/w) reset value = 00h 7 simplex mode (read only): can both the primary and secondary channel operate independently? 0 = yes; 1 = no (simplex mode). 6 drive 1 dma capable: allow drive 1 to be capable of dma transfers. 0 = disable; 1 = enable. 5 drive 0 dma capable: allow drive 0 to be capable of dma transfers. 0 = disable; 1 = enable. 4:3 reserved: set to 0. must return 0 on reads. 2 bus master interrupt: has the bus master detected an interrupt? 0 = no; 1 = yes. write 1 to clear. 1 bus master error: has the bus master detected an error during data transfer? 0 = no; 1 = yes. write 1 to clear. 0 bus master active (read only): is the bus master active? 0 = no; 1 = yes. f2bar+i/o offset 04h-07h ide bus master 0 prd table address ? primary (r/w) reset value = 00000000h 31:2 pointer to the physical region descriptor table: this register is a prd table pointer for ide bus master 0. when written, this register points to the first entry in a prd table. once ide bus master 0 is enabled (command register bit 0 = 1], it loads the pointer and updates this register to the next prd by adding 08h. when read, this register points to the next prd. 1:0 reserved: set to 0. f2bar+i/o offset 08h ide bus master 1 comman d register ? secondary (r/w) reset value = 00h 7:4 reserved: set to 0. must return 0 on reads. 3 read or write control: sets the direction of bus master transfers. 0 = pci reads performed; 1 = pci writes performed. this bit should not be changed when the bus master is active. 2:1 reserved: set to 0. must return 0 on reads. 0 bus master control: controls the state of the bus master. 0 = disable master; 1 = enable master. bus master operations can be halted by setting bit 0 = 0. once an operation has been halted, it can not be resumed. if bit 0 is set to 0 while a bus master operation is active, the co mmand is aborted and the data trans ferred from the drive is dis- carded. this bit should be reset after completion of data transfer. f2bar+i/o offset 0ah ide bus master 1 status register ? secondary (r/w) reset value = 00h 7 simplex mode (read only): can both the primary and secondary channel operate independently? 0 = yes; 1 = no (simplex mode). 6 drive 1 dma capable: allow drive 1 to be capable of dma transfers. 0 = disable; 1 = enable. 5 drive 0 dma capable: allow drive 0 to be capable of dma transfers. 0 = disable; 1 = enable. 4:3 reserved: set to 0. must return 0 on reads. 2 bus master interrupt: has the bus master detected an interrupt? 0 = no; 1 = yes. write 1 to clear. 1 bus master error: has the bus master detected an error during data transfer? 0 = no; 1 = yes. write 1 to clear. 0 bus master active (read only): is the bus master active? 0 = no; 1 = yes.
amd geode? CS5530A companion device data book 115 ide controller revision 1.1 physical region descriptor format each physical memory region to be transferred is described by a physical region descriptor (prd) as illus- trated in table 4-59. when the bus master is enabled (command register bit 0 = 1), data transfer proceeds until each prd in the prd table has been transferred. the bus master does not cache prds. the prd table consists of two dwords. the first dword contains a 32-bit pointer to a buffer to be transferred. this pointer must be 16-byte al igned. the second dword con- tains the size (16 bits) of the buffer and the eot flag. the size must be in multiples of 16 bytes. the eot bit (bit 31) must be set to indicate the last prd in the prd table. programming model the following steps explain how to initiate and maintain a bus master transfer between memory and an ide device. 1) software creates a prd table in system memory. each prd entry is 8 bytes long, consisting of a base address pointer and buffer size. the maximum data that can be transferred from a prd entry is 64 kb. a prd table must be aligned on a 4-byte boundary. the last prd in a prd table must have the eot bit set. 2) software loads the starting address of the prd table by programming the prd table address register. 3) software must fill the buffers pointed to by the prds with ide data. 4) write 1 to the bus master interrupt bit and bus master error (status register bits 2 and 1) to clear the bits. 5) set the correct direction to the read or write control bit (command register bit 3). 6) engage the bus master by writing a ?1? to the bus master control bit (command register bit 0). 7) the bus master reads the prd entry pointed to by the prd table address register and increments the address by 08h to point to the next prd. the transfer begins. 8) the bus master transfers data to/from memory responding to bus master requests from the ide device. at the completion of each prd, the bus mas- ter?s next response depends on the settings of the eot flag in the prd. if the eot bit is set, then the ide bus master clears the bus master active bit (status register bit 0) and stops. if any errors occurred during the transfer, the bus master sets the bus master error bit (status register bit 1). table 4-59. physical region descriptor format dword byte 3 byte 2 byte 1 byte 0 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 memory region physical base address [31:4] (ide data buffer) 0 0 0 0 1e o t reserved size [15:4] 0 0 0 0
116 amd geode? CS5530A companion device data book ide controller revision 1.1 4.6.2.3 ultra dma/33 mode the CS5530A supports ultra dm a/33. it utilizes the stan- dard ide bus master functionality to interface, initiate, and control the transfer. ultra dma/33 definition also incorpo- rates a cyclic redundancy check (crc) error checking protocol to detect errors. the ultra dma/33 protocol requires no extra signal pins on the ide connector. the CS5530A redefines three standard ide control signals when in ultra dma/33 mode. these definitions are shown in table 4-60. all other signals on the ide connector retain their func- tional definitions during the ultra dma/33 operation. ide_iow# is defined as stop for both read and write transfers to request to stop a transaction. ide_ior# is redefined as dmardy# for transferring data from the ide device to the CS5530A. it is used by the CS5530A to signal when it is ready to transfer data and to add wait states to the current transaction. ide_ior# signal is defined as strobe for transferring data from the CS5530A to the ide device. it is the data strobe signal driven by the CS5530A on which data is transferred during each rising and falling edge transition. ide_iordy is redefined as strobe for transferring data from the ide device to the CS5530A during a read cycle. it is the data strobe signal driven by the ide device on which data is transferred during each rising and falling edge tran- sition. ide_iordy is defined as dmardy# during a write cycle for transferring data from the CS5530A to the ide device. it is used by the ide device to signal when it is ready to transfer data and to add wait states to the current transaction. ultra dma/33 data transfer consis ts of three phases, a star- tup phase, a data transfer phase and a burst termination phase. the ide device begins the startup phase by asserting ide_dreq. when ready to begin the transfer, the CS5530A asserts ide_dack#. when ide_dack# is asserted, the CS5530A drives ide_cs0# and ide_cs1# asserted, and ide_addr[2:0] low. for write cycles, the CS5530A negates stop, waits for the ide device to assert dmardy#, and then drives the first data word and strobe signal. for read cycles, the CS5530A negates stop, and asserts dmardy#. the ide device then sends the first data word and asserts strobe. the data transfer phase continues the burst transfers with the CS5530A and the ide via providing data, toggling strobe and dmardy#. ide_data[15:0] is latched by the receiver on each rising and falling edge of strobe. the transmitter can pause the burst cycle by holding strobe high or low, and resume the burst cycle by again toggling strobe. the receiver can pause the burst cycle by negating dmardy# and resumes the burst cycle by asserting dmardy#. the current burst cycle can be terminated by either the transmitter or the receiver. a burst cycle must first be paused as described above before it can be terminated. the CS5530A can then stop the burst cycle by asserting stop, with the ide device acknowledging by negating ide_dreq. the ide device stops the burst cycle by negat- ing ide_dreq and the CS5530A acknowledges by assert- ing stop. the transmitter then drives the strobe signal to a high level. the CS5530A then puts the result of the crc calculation onto ide_data[15:0] while deasserting ide_dack#. the ide device latches the crc value on the rising edge of ide_dack#. the crc value is used for error checking on ultra dma/33 transfers. the crc value is calculated for all data by both the CS5530A and the ide devi ce during the ultra dma/33 burst transfer cycles. this result of the crc calculation is based on all data transferred with a valid strobe edge while ide_dack# is asserted. at the end of the burst transfer, the CS5530A drives the result of the crc calcula- tion onto ide_data[15:0] which is then strobed by the deassertion of ide_dack#. the ide device compares the crc result of the CS5530A to its own and reports an error if there is a mismatch. the timings for ultra dma/33 are programmed into the dma control registers:  channel 0 drive 0 dma control register (f2bar+i/o offset 24h)  channel 0 drive 1 dma control register (f2bar+i/o offset 2ch)  channel 1 drive 0 dma control register (f2bar+i/o offset 34h)  channel 1 drive 1 dma control register (f2bar+i/o offset 3ch) the bit formats for these registers are given in table 4-61. note that f2bar+i/o offset 24h[ 20] is used to select either multiword or ultra dma mode. bit 20 = 0 selects multiword dma mode. if bit 20 = 1, then ultra dma/33 mode is selected. once mode selection is made using this bit, the remaining dma control registers also operate in the selected mode. also listed in the bit formats are recommended values for both multiword dma modes 0-2 and ultra dma/33 modes 0-2. note: these are only recommended settings and are not 100% tested. table 4-60. ultra dma/33 signal definitions CS5530A ide channel signal ultra dma/33 read cycle ultra dma/33 write cycle ide_iow# stop stop ide_ior# dmardy# strobe ide_iordy strobe dmardy#
amd geode? CS5530A companion device data book 117 ide controller revision 1.1 table 4-61. mdma/udma control registers bit description f2bar+i/o offset 24h-27h channel 0 drive 0 dma control register (r/w) reset value = 00077771h if bit 20 = 0 , multiword dma settings for: multiword dma mode 0 = 00077771h multiword dma mode 1 = 00012121h multiword dma mode 2 = 00002020h 31 pio mode format: 0 = format 0; 1 = format 1. 30:21 reserved: set to 0. 20 dma operation: 0 = multiword dma; 1 = ultra dma. 19:16 tkr: ide_ior# recovery time (4-bit) (value + 1 cycle) 15:12 tdr: ide_ior# pulse width (value + 1 cycle) 11:8 tkw: ide_iow# recovery time (4-bit) (value + 1 cycle) 7:4 tdw: ide_iow# pulse width (value + 1 cycle) 3:0 tm: ide_cs0#/cs1# to ide_ior#/iow# setup; ide_cs0#/cs1# setup to ide_dack0#/dack1# if bit 20 = 1 , ultra dma settings for: ultra dma mode 0 = 00921250h ultra dma mode 1 = 00911140h ultra dma mode 2 = 00911030h 31 pio mode format: 0 = format 0; 1 = format 1. 30:21 reserved: set to 0. 20 dma operation: 0 = multiword dma, 1 = ultra dma. 19:16 tcrc: crc setup udma in ide_dack# (value + 1 cycle) (for host terminate crc setup = tmli + tss) 15:12 tss: udma out (value + 1 cycle) 11:8 tcyc: data setup and cycle time udma out (value + 2 cycles) 7:4 trp: ready to pause time (value + 1 cycle). note: trfs + 1 trp on next clock. 3:0 tack: ide_cs0#/cs1# setup to ide_dack0#/dack1# (value + 1 cycle) offset 2ch-2fh channel 0 drive 1 dma co ntrol register (r/w) reset value = 00017771h channel 0 drive 1 mdma/udma control register: refer to f2bar+i/o offset 24h for bit descriptions. note: once the pio mode format is selected in f2bar+i/o offset 24h[31 ], bit 31 of this register is defined as reserved, read only. offset 34h-37h channel 1 drive 0 dma co ntrol register (r/w) reset value = 00017771h channel 1 drive 0 mdma/udma control register: refer to f2bar+i/o offset 24h for bit descriptions. note: once the pio mode format is selected in f2bar+i/o offset 24h[31 ], bit 31 of this register is defined as reserved, read only. offset 3ch-3fh channel 1 drive 1 dma co ntrol register (r/w) reset value = 00017771h channel 1 drive 1 mdma/udma control register: refer to f2bar+i/o offset 24h for bit descriptions. note: once the pio mode format is selected in f2bar+i/o offset 24h[31 ], bit 31 of this register is defined as reserved, read only.
118 amd geode? CS5530A companion device data book xpressaudio? subsystem revision 1.1 4.7 xpressaudio? subsystem through xpressaudio? archit ecture, the CS5530A offers a combined hardware/software support solution to meet industry standard audio requirements. the xpressaudio architecture uses virtual system architecture? (vsa) technology along with additional hardware features to pro- vide the necessary support for industry standard 16-bit ste- reo synthesis and opl3 emulation. the hardware portion of t he xpressaudio subsystem is for transporting streaming audio data to/from the system memory and an ac97 codec. this hardware includes:  six (three inbound/three outbound) buffered pci bus mastering engines that drive specific ac97 interface slots.  interfaces to ac97 codecs for audio input/output. additional hardware provides the necessary functionality for vsa technology. this hard ware includes the ability to:  generate an smi to alert software to update required data. an smi is generated when either audio buffer is half empty or full. if the buffers become completely empty or full, the empty bit is asserted.  generate an smi on i/o traps.  trap accesses for sound card compatibility at either i/o port 220h-22fh, 240h-24fh, 260h-26fh, or 280h-28fh.  trap accesses for fm compatibility at i/o port 388h- 38bh.  trap accesses for midi uart interface at i/o port 300h- 301h or 330h-331h.  trap accesses for serial input and output at com2 (i/o port 2f8h-2ffh) or com4 (i/o port 2e8h-2efh).  support trapping for low (i/o port 00h-0fh) and/or high (i/o port c0h-dfh) dma accesses.  support hardware status register reads in CS5530A, minimizing smi overhead.  support is provided for software-generated irqs on irq 2, 3, 5, 7, 10, 11, 12, 13, 14, and 15. included in the following subsections are details regarding the registers used for configuring the audio interface. the registers are accessed through f3 index 10h, the base address register (f3bar) in function 3. f3bar sets the base address for xpressaud io subsystem support regis- ters as shown in table 4-62. 4.7.1 subsystem data transport hardware the data transport hardware can be broadly divided into two sections: bus mastering and the codec interface. 4.7.1.1 audio bus masters the CS5530A audio hardware includes six pci bus mas- ters (three for input and three for output) for transferring digitized audio between memory and the external codec. with these bus master engines, the CS5530A off-loads the cpu and improves system performance. the programming interface defines a simple scatter/gather mechanism allowing large transfer blocks to be scattered to or gathered from memory. this cuts down on the number of interrupts to and interactions with the cpu. table 4-62. base address register (f3bar) for xpressaudio? subsystem support registers bit description f3 index 10h-13h base address register - f3bar (r/w) reset value = 00000000h this register sets the base address of t he memory mapped audio interface control regist er block. this is a 128-byte block of re gisters used to control the audio fifo and codec interf ace, as well as to support smis produced by vsa technology. bits [6:0] are read only (0000 0000), indicating a 128-byte memory address range. refer to table 5-21 for the bit formats and reset values of the xpress audio subsystem support registers. 31:7 audio interface base address 6:0 address range (read only)
amd geode? CS5530A companion device data book 119 xpressaudio? subsystem revision 1.1 the six bus masters that directly drive specific slots on the ac97 interface:  audio bus master 0 ? output to codec ?pci read ? 32-bit ? left and right channels ? slots 3 and 4  audio bus master 1 ? input from codec ? pci write ? 32-bit ? left and right channels ? slots 3 and 4  audio bus master 2 ? output to codec ?pci read ? 16-bit ?slot 5  audio bus master 3 ? input from codec ? pci write ? 16-bit ?slot 5  audio bus master 4 ? output to codec ?pci read ?16-bit ? slot 6 or 11 (f3bar+memory offset 08h[19] selects slot)  audio bus master 5 - input from codec ? pci write ?16-bit ? slot 6 or 11 (f3bar+memory offset 08h[20] selects slot) bus master audio conf iguration registers the format for the bus master audio configuration registers is similar in that each bus master has a command regis- ter, an smi status register and a prd table address reg- ister. programming of the bus masters is generic in many ways, although specific programming is required of bit 3 in the command register. this bit selects read or write con- trol and is dependent upon which audio bus master is being programmed. for example, audio bus master 0 is defined as an output only, so bit 3 of audio bus master 0 command register (f3bar+memory offset 20h[3]) must always be set to 1. table 4-63. generic bit formats for audi o bus master configuration registers bit description command register (r/w) 7:4 reserved: set to 0. must return 0 on reads. 3 read or write control: set the transfer direction of audio bus master x: 0 = memory reads performed (output to codec); 1 = memory writes performed (input from codec). this bit should not be changed when the bus master is ac tive. the setting of this bit is dependent upon the assigned bus master. 2:1 reserved: set to 0. must return 0 on reads. 0 bus master control: controls the state of the audio bus master x: 0 = disable; 1 = enable. setting this bit to 1 enables the bus master to begin data transfers . when writing this bit to 0, the bus master must either be paused or have reached eot. writing this bit to 0 while the bu s master is operating results in unpredictable behavior includ- ing the possibility of the bus master state machine crashing. the only recovery from this condition is a pci reset. note: this register must be read and written as a byte. smi status register (rc) 7:2 reserved (read to clear) 1 bus master error (read to clear): hardware encountered a second eop (end of page) before software has cleared the first? 0 = no; 1 = yes. if hardware encounters a second eop before so ftware has cleared the first, it causes the bus master to pause until this reg- ister is read to clear the error. must be r/w as a byte. 0 end of page (read to clear ): bus master transferred data which is marked by eop bit in the prd table (bit 30)? 0 = no; 1 = yes. note: must be read and written as a byte. prd table address (r/w) 31:2 pointer to the physical region descriptor table: this register is a prd table pointer for audio bus master x. when written, this register point s to the first entry in a prd table. once audio bus master x is enabled (command register bit 0 = 1], it loads the pointer and updates this register to the next prd by adding 08h. when read, this register points to the next prd. 1:0 reserved: set to 0.
120 amd geode? CS5530A companion device data book xpressaudio? subsystem revision 1.1 table 4-63 on page 119 explains the generic format for the six audio bus masters. table 4-64 gives the register loca- tions, reset values and specific programming information of bit 3, read or write control, in the command register for the audio bus masters. table 4-64. audio bus master configuration register summary bit description audio bus master 0: output to codec; 32-bit; left and right channels; slots 3 and 4. f3bar+memory offset 20h command register (r/w) reset value = 00h f3bar+memory offset 21h smi status register (rc) reset value = 00h f3bar+memory offset 22h-23h reserved reset value = xxh f3bar+memory offset 24h-27h prd ta ble address (r/w) reset value = 00000000h refer to table 4-63 on page 119 for bit descriptions. note: bit 3 of the command register must be se t to 0 (memory read) for correct operation. audio bus master 1: input from codec; 32- bit; left and right channels; slots 3 and 4. f3bar+memory offset 28h command register (r/w) reset value = 00h f3bar+memory offset 29h smi status register (rc) reset value = 00h f3bar+memory offset 2ah-2bh reserved reset value = xxh f3bar+memory offset 2ch-2fh prd table address (r/w) reset value = 00000000h refer to table 4-63 on page 119 for bit descriptions. note: bit 3 of the command register must be set to 1 (memory write) for correct operation. audio bus master 2: output to codec; 16-bit; slot 5. f3bar+memory offset 30h command register (r/w) reset value = 00h f3bar+memory offset 31h smi status register (rc) reset value = 00h f3bar+memory offset 32h-33h reserved reset value = xxh f3bar+memory offset 34h-37h prd ta ble address (r/w) reset value = 00000000h refer to table 4-63 on page 119 for bit descriptions. note: bit 3 of the command register must be se t to 0 (memory read) for correct operation. audio bus master 3: input from codec; 16-bit; slot 5. f3bar+memory offset 38h command register (r/w) reset value = 00h f3bar+memory offset 39h smi status register (rc) reset value = 00h f3bar+memory offset 3ah-3bh reserved reset value = xxh f3bar+memory offset 3ch-3fh prd table address (r/w) reset value = 00000000h refer to table 4-63 for bit descriptions. note: bit 3 of the command register must be set to 1 (memory write) for correct operation. audio bus master 4: output to codec; 16-bit; slot 6 or 11 (f3bar+memory offset 08h[19] selects slot). f3bar+memory offset 40h command register (r/w) reset value = 00h f3bar+memory offset 41h smi status register (rc) reset value = 00h f3bar+memory offset 42h-43h reserved reset value = xxh f3bar+memory offset 44h-47h prd ta ble address (r/w) reset value = 00000000h refer to table 4-63 on page 119 for bit descriptions. note: bit 3 of the command register must be se t to 0 (memory read) for correct operation. audio bus master 5: input from codec; 16-bit; slot 6 or 11 (f3bar+memory offset 08h[20] selects slot). f3bar+memory offset 48h command register (r/w) reset value = 00h f3bar+memory offset 49h smi status register (rc) reset value = 00h f3bar+memory offset 4ah-4bh reserved reset value = xxh f3bar+memory offset 4ch-4fh prd table address (r/w) reset value = 00000000h refer to table 4-63 on page 119 for bit descriptions. note: bit 3 of the command register must be set to 1 (memory write) for correct operation.
amd geode? CS5530A companion device data book 121 xpressaudio? subsystem revision 1.1 4.7.1.2 physical region descriptor table address before the bus master starts a master transfer it must be programmed with a pointer (prd table address register) to a physical region descriptor table. this pointer sets the starting memory location of the physical region descrip- tors (prds). the prds descri be the areas of memory that are used in the data transfer. the descriptor table entries must be aligned on a 4-byte boundary and the table cannot cross a 64 kb boundary in memory. 4.7.1.3 physical region descriptor format each physical memory region to be transferred is described by a physical region descriptor (prd) as illus- trated in table 4-65. when the bus master is enabled (command register bit 0 = 1), data transfer proceeds until each prd in the prd table has been transferred. the bus master does not cache prds. the prd table consists of two dwords. the first dword contains a 32-bit pointer to a buffer to be transferred. the second dword contains the size (16 bits) of the buffer and flags (eot, eop, jmp). the description of the flags are as follows:  eot bit - if set in a prd, this bit indicates the last entry in the prd table (bit 31). the last entry in a prd table must have either the eot bit or the jmp bit set. a prd can not have both the jmp and eot bits set.  eop bit - if set in a prd and the bus master has completed the prd?s transfer, the end of page bit is set (status register bit 0 = 1) and an smi is generated. if a second eop is reached due to the completion of another prd before the end of page bit is cleared, the bus master error bit is set (status register bit 1 = 1) and the bus master pauses. in this paused condition, reading the status register clears both the bus master error and the end of page bits and the bus master continues.  jmp bit - this prd is special. if set, the memory region physical base address is now the target address of the jmp. there is no data transfer with this prd. this prd allows the creation of a looping mechanism. if a prd table is created with the jmp bit set in the last prd, the prd table does not need a prd with the eot bit set. a prd can not have both the jmp and eot bits set. table 4-65. physical region descriptor format dword byte 3 byte 2 byte 1 byte 0 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 memory region base address [31:1] (audio data buffer) 0 1e o t e o p j m p reserved size [15:1] 0
122 amd geode? CS5530A companion device data book xpressaudio? subsystem revision 1.1 4.7.1.4 programming model the following discussion explains, in steps, how to initiate and maintain a bus master transfer between memory and an audio slave device. in the steps listed below, the reference to ?example? refers to figure 4-20, prd table example. 1) software creates a prd table in system memory. each prd entry is 8 bytes long; consisting of a base address pointer and buffer size. the maximum data that can be transferred from a prd entry is 64 kb. a prd table must be aligned on a 4-byte boundary. the last prd in a prd table must have the eot or jmp bit set. example - assume the data is outbound. there are three prds in the example prd table. the first two prds (prd_1, prd_2) have only the eop bit set. the last prd (prd_3) has only the jmp bit set. this example creates a prd loop. 2) software loads the starting address of the prd table by programming the prd table address register. example - program the prd table address register with address_3. 3) software must fill the buffers pointed to by the prds with audio data. it is not absolutely necessary to fill the buffers; however, the buffer filling process must stay ahead of the buffer emptying. the simplest way to do this is by using the eop flags to generate an smi when a prd is empty. example - fill audio buffer_1 and audio buffer_2. the smi generated by the eop from the first prd allows the software to refill audio buffer_1. the second smi will refill audio buffer_2. the third smi will refill audio buffer_1 and so on. 4) read the smi status register to clear the bus master error and end of page bits (bits 1 and 0). set the correct direction to the read or write control bit (command register bit 3). note that the direction of the data transfer of a particular bus master is fixed and therefore the direction bit must be programmed accordingly. it is assumed that the codec has been properly programmed to receive the audio data. engage the bus master by writing a ?1? to the bus master control bit (command register bit 0). the bus master reads the prd entry pointed to by the prd table address register and increments the address by 08h to point to the next prd. the transfer begins. example - the bus master is now properly pro- grammed to transfer audio buffer_1 to a specific slot(s) in the ac97 interface. figure 4-20. prd table example address_1 size_1 eot = 0 audio buffer_1 audio buffer_2 size_1 size_2 address_1 eop = 1 jmp = 0 address_2 size_2 eot = 0 eop = 1 jmp = 0 address_3 don?t care eot = 0 eop = 0 jmp = 1 prd_1 prd_2 prd_3 address_2 address_3
amd geode? CS5530A companion device data book 123 xpressaudio? subsystem revision 1.1 5) the bus master transfers data to/from memory responding to bus master requests from the ac97 interface. at the completion of each prd, the bus mas- ter?s next response depends on the settings of the flags in the prd. example - at the completion of prd_1 an smi is gen- erated because the eop bit is set while the bus mas- ter continues on to prd_2. the address in the prd table address register is incremented by 08h and is now pointing to prd_3. the smi status register is read to clear the end of p age status flag. since audio buffer_1 is now empty, the software can refill it. at the completion of prd_2 an smi is generated because the eop bit is set. the bus master then con- tinues on to prd_3. the address in the prd table address register is incremented by 08h. the dma smi status register is read to clear the end of page status flag. since audio buffer_2 is now empty, the software can refill it. audio buffer_1 has been refilled from the previous smi. prd_3 has the jmp bit set. this means the bus mas- ter uses the address stored in prd_3 (address_3) to locate the next prd. it does not use the address in the prd table address register to get the next prd. since address_3 is the location of prd_1, the bus master has looped the prd table. stopping the bus master can be accomplished by not reading the smi status register end of page status flag. this leads to a second eop which causes a bus master error and pauses t he bus master. in effect, once a bus master has been enabled it never needs to be disabled, just paused. the bus master cannot be disabled unless the bus master has been paused or has reached an eot. 4.7.1.5 ac97 codec interface the CS5530A provides an ac97 specification revision 1.3, 2.0, and 2.1 compatible interface. any ac97 codec that supports sample rate conversion (src) can be used with the CS5530A. this type of codec allows for a design which meets the requirements for pc97 and pc98-compli- ant audio as defined by microsoft corporation. the ac97 codec is the master of the serial interface and generates the clocks to CS5530A, figure 4-21 shows the codec and CS5530A signal con nections. for specifications on the serial interface, refer to the appropriate codec man- ufacturer?s data sheet. for pc speaker synthesis, the CS5530A outputs the pc speaker signal on the pc_beep pin which is connected to the pc_beep input of the ac97 codec. figure 4-21. ac97 signal connections codec configuration/control registers the codec related registers cons ist of four 32-bit registers:  codec gpio status register  codec gpio control register  codec status register  codec command register codec gpio status and control registers (f3bar+ memory offset 00h and 04h) the codec gpio status and control registers are used for codec gpio related tasks such as enabling a codec gpio interrupt to cause an smi. codec status register (f3bar+memory offset 08h) the codec status register stor es the codec status word. it updates every valid status word slot. codec control register (f3bar+memory offset 0ch) the codec control register writ es the control word to the codec. by writing the appropriate control words to this port, the features of t he codec can be contro lled. the contents of this register are written to the codec during the control word slot. the bit formats for these registers are given in table 4-66. bitclk pc_beep sdat_i sdat_o pc_beep sdata_in sdata_out ac97 bit_clk 24.576mhz sync sync external source codec geode? CS5530A i/o companion
124 amd geode? CS5530A companion device data book xpressaudio? subsystem revision 1.1 table 4-66. codec configuration/control registers bit description f3bar+memory offset 00h-03h codec gpio status register (r/w) reset value = 00100000h 31 codec gpio interface: 0 = disable; 1 = enable. 30 codec gpio smi: allow codec gpio interrupt to generate an smi. 0 = disable; 1= enable. top level smi status is reported at f1bar+memory offset 00h/02h[1]. second level smi status is reported at f3bar+memory offset 10h/12h[1]. 29:21 reserved: set to 0. 20 codec gpio status valid (read only): is the status read valid? 0 = yes; 1 = no. 19:0 codec gpio pin status (read only): this is the gpio pin status that is received from the codec in slot 12 on sdata_in signal. f3bar+memory offset 04h-07h codec gpio control register (r/w) reset value = 00000000h 31:20 reserved: set to 0. 19:0 codec gpio pin data: this is the gpio pin data that is sent to the codec in slot 12 on the sdata_out signal. f3bar+memory offset 08h-0bh codec stat us register (r/w) reset value = 00000000h 31:24 codec status address (read only): address of the register for which status is being returned. this address comes from slot 1 bits [19:12]. 23 codec serial int smi: allow codec serial interrupt to generate an smi. 0 = disable; 1= enable. top level smi status is reported at f1bar+memory offset 00h/02h[1]. second level smi status is reported at f3bar+memory offset 10h/12h[1]. 22 sync pin: selects sync pin level. 0 = low; 1 = high. 21 enable sdata_in2: pin ae24 function selection. 0 = gpio1; 1 = sdata_in2. for this pin to function as sdata_in2, it must fi rst be configured as an input (f0 index 90h[1] = 0). 20 audio bus master 5 ac97 slot select: selects slot for audio bus master 5 to receive data. 0 = slot 6; 1 = slot 11. 19 audio bus master 4 ac97 slot select: selects slot for audio bus master 4 to transmit data. 0 = slot 6; 1 = slot 11. 18 reserved: set to 0. 17 status tag (read only): determines if the status in bits [15:0] is new or not. 0 = not new; 1 = new. 16 codec status valid (read only): is the status in bits [15:0] valid? 0 = no; 1 = yes. 15:0 codec status (read only): this is the codec status data that is received from the codec in slot 2 on sdata_in. only bits [19:4] are used from slot 2. f3bar+memory offset 0ch-0fh codec comm and register (r/w) reset value = 00000000h 31:24 codec command address: address of the codec control register for wh ich the command is being sent. this address goes in slot 1 bits [19:12] on sdata_out. 23:22 CS5530A codec communication: selects which codec to communicate with. 00 = primary codec 10 = third codec 01 = secondary codec 11 = fourth codec note: 00 and 01 are the only valid settings for these bits. 21:17 reserved: set to 0. 16 codec command valid: is the command in bits [15:0] valid? 0 = no; 1 = yes. this bit is set by hardware when a command is loaded. it re mains set until the command has been sent to the codec. 15:0 codec command: this is the command being sent to the codec in bits [19:12] of slot 2 on sdata_out.
amd geode? CS5530A companion device data book 125 xpressaudio? subsystem revision 1.1 4.7.2 vsa technology support hardware the CS5530A companion device incorporates the required hardware in order to support the virtual system architec- ture (vsa) technology for capture and playback of audio using an external codec. this eliminates much of the hard- ware traditionally associated with industry standard audio functions. xpressaudio software provi des 16-bit compatible sound. this software is available to oems for incorporation into the system bios rom. 4.7.2.1 vsa technology vsa technology provides a framework to enable software implementation of traditionally hardware-only components. vsa technology software executes in system management mode (smm), enabling it to ex ecute transparently to the operating system, drivers, and applications. the vsa technology design is based upon a simple model for replacing hardware components with software. hard- ware to be virtualized is merely replaced with simple access detection circuitry wh ich asserts the smi# (system management interrupt) pin when hardware accesses are detected. the current executi on stream is immediately pre- empted, and the processor enters smm. the smm system software then saves the proce ssor state, initializes the vsa technology execution environment, decodes the smi source and dispatches handler routines which have regis- tered requests to service the decoded smi source. once all handler routines have completed, the processor state is restored and normal execution resumes. in this manner, hardware accesses are transpa rently replaced with the execution of smm handler software. historically, smm software was used primarily for the single purpose of facilitating active power management for note- book designs. that software?s only function was to manage the power up and down of devices to save power. with high performance processors now available, it is feasible to implement, primarily in smm software, pc capabilities tra- ditionally provided by hardware. in contrast to power man- agement code, this virtualization software generally has strict performance requirement s to prevent application per- formance from being significantly impacted. 4.7.2.2 audio smi related registers the smi related registers consist of:  second level audio smi status registers  i/o trap smi and fast write status register  i/o trap smi enable register the top smi status mirror and status registers are the top level of hierarchy for the smi handler in determining the source of an smi. these two registers are at f1bar+memory offset 00 h (status mirror) and f1bar+memory offset 02h (status). the registers are identical except that reading the register at f1bar+mem- ory offset 02h clears the status. second level audio smi status registers the second level of audio smi status reporting is set up very much like the top level. there are two status reporting registers, one ?read only? (mirror) and one ?read to clear?. the data returned by reading either offset is the same (i.e., smi was caused by an audio related event). the difference between f3bar+memory offset 12h and 10h (mirror) is in the ability to clear the smi source at 10h. figure 4-22 shows an smi tree for checking and clearing the source of an audio smi. only the audio smi bit is detailed here. for details regarding the remaining bits in the top smi status mirror and status registers refer to table 5-17 "f1bar+memory of fset xxh: smi status and acpi timer registers" on page 181. i/o trap smi and fast write status register this 32-bit read-only register (f3bar+memory offset 14h) not only indicates if the enabled i/o trap generated an smi, but also contains fast path write related bits. i/o trap smi enable register the i/o trap smi enable register (f3bar+memory offset 18h) allows traps for specified i/o addresses and config- ures generation for i/o events. it also contains the enabling bit for fast path write/read features. if status fast path read is enabled, the CS5530A inter- cepts and responds to reads to several status registers. this speeds up operations, and prevents smi generation for reads to these registers. status fast path read is enabled via f3bar+memory offset 18h[4]. in status fast path read the CS5530A responds to reads of the following addresses: 388h-38bh 2x0h, 2x1h, 2x2h, 2x3h, 2x8h, and 2x9h note that if neither sound card nor fm i/o mapping is enabled, then status read trapping is not possible. if fast path write is enabled, the CS5530A captures cer- tain writes to several i/o locations. this feature prevents two smis from being asserted for write operations that are known to take two accesses (the first access is an index and the second is data). fast path write is enabled via f3bar+memory offset 18h[11]. fast path write captures the data and address bit 1 (a1) of the first access, but does not generate an smi. a1 is stored in f3bar+memory offset 14h [15]. the second access causes an smi, and the data and address are captured as in a normal trapped i/o. in fast path write, the CS5530A responds to writes to the following addresses: 388h, 38ah, and 38bh 2x0h, 2x2h, and 2x8h
126 amd geode? CS5530A companion device data book xpressaudio? subsystem revision 1.1 table 4-67 on page 127 and table 4-68 on page 129 show the bit formats of the second and third level smi status reporting registers, respectively. table 4-69 on page 130 shows the sound card i/o trap and fast path read/write programming bits. figure 4-22. audio smi tree example smi# asserted smm software reads smi header if bit x = 0 (internal smi) if bit x = 1 (external smi) call internal smi handler to take appropriate action amd geode? amd geode? CS5530A f1bar+memory read to clear to determine top-level source of smi f3bar+memory offset 10h read to clear smi deasserted after all smi sources are cleared bit 7 abm5_smi bits [15:2] bit 0 bit 1 audio_smi offset 02h gx1 processor to determine second-level source of smi bits [15:8] bit 6 abm4_smi bit 5 abm3_smi bit 4 abm2_smi bit 3 abm1_smi bit 2 abm0_smi bit 1 ser_intr_smi bit 0 i/o_trap_smi f3bar+memory offset 14h read to clear to determine third-level source of smi bit 13 smi_sc/fm_trap bits [31:14] bit 12 smi_dma_trap bit 11 smi_mpu_trap bit 10 smi_sc/fm_trap bit [9:0] (i.e., top, second, and third levels) take appropriate action take appropriate action other_smi other_smi rsvd other_ro other_ro top level second level third level if bit 1 = 1, source of smi is if bit 0 = 1, source of smi is i/o trap audio event companion device
amd geode? CS5530A companion device data book 127 xpressaudio? subsystem revision 1.1 table 4-67. second level smi status reporting registers bit description f3bar+memory offset 10h-11h second level audi o smi status register (rc) reset value = 0000h 15:8 reserved: set to 0. 7 audio bus master 5 smi status (read to clear): smi was caused by an event occurring on audio bus master 5? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 5 is enabl ed (f3bar+memory offset 48h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 49h[0] = 1). 6 audio bus master 4 smi status (read to clear): smi was caused by an event occurring on audio bus master 4? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 4 is enabl ed (f3bar+memory offset 40h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 41h[0] = 1). 5 audio bus master 3 smi status (read to clear): smi was caused by an event occurring on audio bus master 3? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 3 is enabl ed (f3bar+memory offset 38h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 39h[0] = 1). 4 audio bus master 2 smi status (read to clear): smi was caused by an event occurring on audio bus master 2? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 2 is enabl ed (f3bar+memory offset 30h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 31h[0] = 1). 3 audio bus master 1 smi status (read to clear): smi was caused by an event occurring on audio bus master 1? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 1 is enabl ed (f3bar+memory offset 28h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 29h[0] = 1). 2 audio bus master 0 smi status (read to clear): smi was caused by an event occurring on audio bus master 0? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 0 is enabl ed (f3bar+memory offset 20h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 21h[0] = 1). 1 codec serial or gpio interrupt smi status (read to clear): smi was caused by a serial or gpio interrupt from codec? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation enabling for codec serial in terrupt: f3bar+memory offset 08h[23] = 1. smi generation enabling for codec gpio in terrupt: f3bar+memory offset 00h[30] = 1. 0 i/o trap smi status (read to clear): smi was caused by an i/o trap? 0 = no; 1 = yes. this is the second level of smi status reporting. the next le vel (third level) of smi status reporting is at f3bar+memory offset 14h. the top level is reported at f1bar+memory offset 00h/02h[1]. note: reading this register clears the status bits. note that bit 0 has another level (third) of smi status reporting. a read-only ?mirror? version of this register exists at f3bar+memory offset 12h. if the value of the register must be read with out clearing the smi source (and cons equently deasserting smi), the mirr or register may be read instead. f3bar+memory offset 12h-13h second level audio sm i status mirror register (ro) reset value = 0000h 15:8 reserved: set to 0. 7 audio bus master 5 smi status (read only): smi was caused by an event occurring on audio bus master 5? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 5 is enabl ed (f3bar+memory offset 48h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 49h[0] = 1).
128 amd geode? CS5530A companion device data book xpressaudio? subsystem revision 1.1 6 audio bus master 4 smi status (read only): smi was caused by an event occurring on audio bus master 4? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 4 is enabl ed (f3bar+memory offset 40h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 41h[0] = 1). 5 audio bus master 3 smi status (read only): smi was caused by an event occurring on audio bus master 3? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 3 is enabl ed (f3bar+memory offset 38h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 39h[0] = 1). 4 audio bus master 2 smi status (read only): smi was caused by an event occurring on audio bus master 2? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 2 is enabl ed (f3bar+memory offset 30h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 31h[0] = 1). 3 audio bus master 1 smi status (read only): smi was caused by an event occurring on audio bus master 1? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 1 is enabl ed (f3bar+memory offset 28h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 29h[0] = 1). 2 audio bus master 0 smi status (read only): smi was caused by an event occurring on audio bus master 0? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 0 is enabl ed (f3bar+memory offset 20h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 21h[0] = 1). 1 codec serial or gpio interrupt smi status (read only): smi was caused by a serial or gpio interrupt from codec? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation enabling for codec serial in terrupt: f3bar+memory offset 08h[23] = 1. smi generation enabling for codec gpio in terrupt: f3bar+memory offset 00h[30] = 1. 0 i/o trap smi status (read only): smi was caused by an i/o trap? 0 = no; 1 = yes. this is the second level of smi status reporting. the next le vel (third level) of smi status reporting is at f3bar+memory offset 14h. the top level is reported at f1bar+memory offset 00h/02h[1]. note: reading this register does not clear the st atus bits. see f3bar+memory offset 10h. table 4-67. second level smi status reporting registers (continued) bit description
amd geode? CS5530A companion device data book 129 xpressaudio? subsystem revision 1.1 table 4-68. third level smi status reporting registers bit description f3bar+memory offset 14h-17h i/o trap smi and fast write status register (ro/rc) reset value = 00000000h 31:24 fast path write even access data (read only): these bits contain the data from the last fast path write even access. these bits change only on a fast write to an even address. 23:16 fast path write odd access data (read only): these bits contain the data from the last fast path write odd access. these bits change on a fast write to an odd address, and also on any non-fast write. 15 fast write a1 (read only): this bit contains the a1 value for the last fast write access. 14 read or write i/o access (read only): last trapped i/o access was a read or a write? 0 = read; 1 = write. 13 sound card or fm trap smi status (read to clear): smi was caused by a trapped i/o access to the sound card or fm i/ o trap? 0 = no; 1 = yes. (note) fast path write must be enabled, f3bar+memory offset 18h[11] = 1, for the smi to be reported here. if fast path write is disabled, the smi is reported in bit 10 of this register. this is the third level of smi status reporting. the second level of smi status is reported at f3bar+memory offset 10h/12h[0]. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation enabling is at f3bar+memory offset 18h[2]. 12 dma trap smi status (read to clear): smi was caused by a trapped i/o access to the dma i/o trap? 0 = no; 1 = yes. (note) this is the third level of smi status reporting. the second level of smi status is reported at f3bar+memory offset 10h/12h[0]. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation enabling is at f3bar+memory offset 18h[8:7]. 11 mpu trap smi status (read to clear): smi was caused by a trapped i/o access to the mpu i/o trap? 0 = no; 1 = yes. (note) this is the third level of smi status reporting. the second level of smi status is reported at f3bar+memory offset 10h/12h[0]. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation enabling is at f3bar+memory offset 18h[6:5]. 10 sound card or fm trap smi status (read to clear): smi was caused by a trapped i/o access to the sound card or fm i/ o trap? 0 = no; 1 = yes. (note) fast path write must be disabled, f3bar+memory offset 18h[11] = 0, for the smi to be reported here. if fast path write is enabled, the smi is reported in bit 13 of this register. this is the third level of smi status reporting. the second level of smi status is reported at f3bar+memory offset 10h/12h[0]. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation enabling is at f3bar+memory offset 18h[2]. 9:0 x-bus address (read only): bits [9:0] contain the captur ed ten bits of x-bus address. note: for the four smi status bits (bits [13:10]), if the activity was a fast write to an even address, no smi is generated regardles s of the dma, mpu, or sound card status. if the activity was a fast wr ite to an odd address, an smi is generated but bit 13 is set to a 1.
130 amd geode? CS5530A companion device data book xpressaudio? subsystem revision 1.1 table 4-69. sound card i/o trap and fast path enable registers bit description f3bar+memory offset 18h-19h i/o trap smi enable register (r/w) reset value = 0000h 15:12 reserved: set to 0. 11 fast path write enable: fast path write (an smi is not generated on certain writes to specified addresses). 0 = disable; 1 = enable. in fast path write, the CS5530A responds to writes to the following addresses: 388h, 38ah and 38bh; 2x0h, 2x2h, and 2x8h. 10:9 fast read: these two bits hold part of the response that the CS5530A returns for reads to several i/o locations. 8 high dma i/o trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs at i/o port c0h-dfh, an smi is generated. top level smi status is reported at f1bar+memory offset 00h/02h[1]. second level smi status is reported at f3bar+memory offset 10h/12h[0]. third level smi status is reported at f3bar+memory offset 14h[12]. 7 low dma i/o trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs at i/o port 00h-0fh, an smi is generated. top level smi status is reported at f1bar+memory offset 00h/02h[1]. second level smi status is reported at f3bar+memory offset 10h/12h[0]. third level smi status is reported at f3bar+memory offset 14h[12]. 6 high mpu i/o trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs at i/o port 330h and 331h, an smi is generated. top level smi status is reported at f1bar+memory offset 00h/02h[1]. second level smi status is reported at f3bar+memory offset 10h/12h[0]. third level smi status is reported at f3bar+memory offset 14h[11]. 5 low mpu i/o trap: i0 = disable; 1 = enable. if this bit is enabled and an access occurs at i/o port 300h and 301h, an smi is generated. top level smi status is reported at f1bar+memory offset 00h/02h[1]. second level smi status is reported at f3bar+memory offset 10h/12h[0]. third level smi status is reported at f3bar+memory offset 14h[11]. 4 fast path read enable/smi disable: read fast path (an smi is not genera ted on reads from specified addresses). 0 = disable; 1 = enable. in fast path read the CS5530A responds to reads of the fo llowing addresses: 388h-38bh; 2x0h, 2x1h, 2x2h, 2x3h, 2x8h and 2x9h. note that if neither sound card nor fm i/o mapping is enabled, then status read trapping is not possible. 3 fm i/o trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs at i/o port 388h to 38bh, an smi is generated. top level smi status is reported at f1bar+memory offset 00h/02h[1]. second level smi status is reported at f3bar+memory offset 10h/12h[0]. 2 sound card i/o trap: 0 = disable; 1 = enable if this bit is enabled and an access occurs in the addres s ranges selected by bits [1:0], an smi is generated. top level smi status is reported at f1bar+memory offset 00h/02h[1]. second level smi status is reported at f3bar+memory offset 10h/12h[0]. third level smi status is reported at f3bar+memory offset 14h[10]. 1:0 sound card address range select: these bits select the address range for the sound card i/o trap. 00 = i/o port 220h-22fh 10 = i/o port 260h-26fh 01 = i/o port 240h-24fh 11 = i/o port 280h-28fh
amd geode? CS5530A companion device data book 131 xpressaudio? subsystem revision 1.1 4.7.2.3 irq configuration registers the CS5530A provides the ability to set and clear irqs internally through software cont rol. if the irqs are config- ured for software control, they will not respond to external hardware. there are three registers provided for this fea- ture:  internal irq enable register  internal irq mask register  internal irq control register internal irq enable register this register configures the irqs as internal (software) interrupts or external (hardw are) interrupts. any irq used as an internal software driven source must be configured as internal. internal irq mask register each bit in the mask register individually disables the cor- responding bit in the control register. internal irq control register this register allows individu al software a ssertion/deasser- tion of the irqs that are enabled as internal and unmasked. the bit formats for these registers are given in table 4-70. table 4-70. irq configuration registers bit description f3bar+memory offset 1ah-1bh internal irq enable register (r/w) reset value = 0000h 15 irq15 internal: configure irq15 for internal (software) or exte rnal (hardware) use. 0 = external; 1 = internal. 14 irq14 internal: configure irq14 for internal (software) or exte rnal (hardware) use. 0 = external; 1 = internal. 13 reserved: set to 0. 12 irq12 internal: configure irq12 for internal (software) or exte rnal (hardware) use. 0 = external; 1 = internal. 11 irq11 internal: configure irq11 for internal (software) or exte rnal (hardware) use. 0 = external; 1 = internal. 10 irq10 internal: configure irq10 for internal (software) or exte rnal (hardware) use. 0 = external; 1 = internal. 9 irq9 internal: configure irq9 for internal (software) or exte rnal (hardware) use. 0 = external; 1 = internal. 8 reserved: set to 0. 7 irq7 internal: configure irq7 for internal (software) or exte rnal (hardware) use. 0 = external; 1 = internal. 6 reserved: set to 0. 5 irq5 internal: configure irq5 for internal (software) or exte rnal (hardware) use. 0 = external; 1 = internal. 4 irq4 internal: configure irq4 for internal (software) or exte rnal (hardware) use. 0 = external; 1 = internal. 3 irq3 internal: configure irq3 for internal (software) or exte rnal (hardware) use. 0 = external; 1 = internal. 2:0 reserved: set to 0. note: must be read and written as a word. f3bar+memory offset 1ch-1dh internal irq control register (r/w) reset value = 0000h 15 assert masked internal irq15: 0 = disable; 1 = enable. 14 assert masked internal irq14: 0 = disable; 1 = enable. 13 reserved: set to 0. 12 assert masked internal irq12: 0 = disable; 1 = enable. 11 assert masked internal irq11: 0 = disable; 1 = enable. 10 assert masked internal irq10: 0 = disable; 1 = enable. 9 assert masked internal irq9: 0 = disable; 1 = enable. 8 reserved: set to 0. 7 assert masked internal irq7: 0 = disable; 1 = enable. 6 reserved: set to 0. 5 assert masked internal irq5: 0 = disable; 1 = enable. 4 assert masked internal irq4: 0 = disable; 1 = enable.
132 amd geode? CS5530A companion device data book xpressaudio? subsystem revision 1.1 3 assert masked internal irq3: 0 = disable; 1 = enable. 2:0 reserved: set to 0. f3bar+memory offset 1eh-1fh i nternal irq mask register (write only) reset value = xxxxh 15 mask internal irq15: 0 = disable; 1 = enable. 14 mask internal irq14: 0 = disable; 1 = enable. 13 reserved: set to 0. 12 mask internal irq12: 0 = disable; 1 = enable. 11 mask internal irq11: 0 = disable; 1 = enable. 10 mask internal irq10: 0 = disable; 1 = enable. 9 mask internal irq9: 0 = disable; 1 = enable. 8 reserved: set to 0. 7 mask internal irq7: 0 = disable; 1 = enable. 6 reserved: set to 0. 5 mask internal irq5: 0 = disable; 1 = enable. 4 mask internal irq4: 0 = disable; 1 = enable. 3 mask internal irq3: 0 = disable; 1 = enable. 2:0 reserved: set to 0. table 4-70. irq configuration registers (continued) bit description
amd geode? CS5530A companion device data book 133 display subsystem extensions revision 1.1 4.8 display subsystem extensions the CS5530A incorporates extensions to the gx1 proces- sor?s? display subsystem. these include:  video interface configuration registers ? line buffers ? video port protocol ?video format ? x and y scaler / filter ? color-space-converter  video accelerator  gamma ram  display interface ? video dacs ? vesa ddc2b / dpms ? flat panel support figure 4-23 shows the data path of the display subsystem extensions. 4.8.1 video interface configuration registers registers for configuring the video interface are accessed through f4 index 10h, the base address register (f4bar) in function 4. f4bar sets the base address for the video interface configuration registers as shown in table 4-71. note: all video interface configuration registers have a 32-bit access granularity (only). the following subsections describe the video interface and the registers used for programming purposes. however, for complete bit information refer to section 5.3.5 "video con- troller registers - function 4" on page 198. figure 4-23. 8-bit display subsystem extensions table 4-71. base address register (f4bar) for video controller support registers bit description f4 index 10h-13h base address register ? f4bar (r/w) reset value = 00000000h this register sets the base address of the memory mapped vi deo controller registers. bits [11:0] are read only (0000 0000 0000) , indicating a 4 kb memory address range. refer to table 5-23 fo r the video controller register bit formats and reset values. 31:12 video controller and clock control base i/o address 11:0 address range (read only) vid_data[7:0] 8 input buffer 0 (3x360x32 bit) buffer 1 buffer 2 formatter / scaler ver tical filter horizontal filter color space converter formatter 24 color key color compare 24 pixel[23:0] bypass gamma ram 24 video dither 24 8 each dac rgb to crt fp_data 18 24 24 enable gamma correction register 24 24 register
134 amd geode? CS5530A companion device data book display subsystem extensions revision 1.1 4.8.2 video accelerator the CS5530A off-loads the processor from several com- puting-intensive tasks related to the playback of full motion video. by incorporating this level of hardware-assist, a CS5530A/gx1 processor bas ed system can sustain 30 frames-per-second of mpeg quality video. 4.8.2.1 line buffers the CS5530A accepts an 8-bit video stream from the pro- cessor and provides three full mpeg resolution line buffers (3x360x32-bit). mpeg source horizontal resolutions up to 720 pixels are supported. by having three line buffers, the display pipeline can read from two lines while the next line of data is being loaded from the processor. this minimizes memory bandwidth utilization by requiring that a source line be transferred only once per frame. peak bandwidth is also reduced by requiring that the video source line be transferred within the horizontal line time rather than forc- ing the transfer to occur during the active video window. this efficient utilization of memory bandwidth allows the processor and graphics accelerator an increased opportu- nity to access the memory s ubsystem and improves overall system performance during video playback. 4.8.2.2 video port protocol the video port operates at one-half the processor?s core clock rate and utilizes a two-wire handshake protocol. the vid_val input signal indicates that valid data has been placed on the vid_data[7:0] bus. when the CS5530A is ready to accept data, it asserts vid_rdy to indicate that a line buffer is free to accept the next line. when both vid_val and vid_rdy are asserted, vid_data advances. the vid_rdy signal is driven by the CS5530A one clock early to the processor while the vid_val signal is driven by the processor coincident with valid data on vid_data. a sample timing diagram is shown in figure 4-24. figure 4-24. video port protocol vid_clk vid_val 8 clks 8 + 2clks vid_rdy 2 clks 3 clks vid_data[7:0] 8 clks note: vid_clk = core_clk/2
amd geode? CS5530A companion device data book 135 display subsystem extensions revision 1.1 4.8.2.3 video format the video input data can be in interleaved yuv 4:2:2 or rgb 5:6:5 format. the sequence of the individual yuv components is selectable to one of four formats via bits [3:2] in the video configuration register (f4bar+memory offset 00h[3:2]). the decode for these bits is shown in table 4-72. table 4-72. video input format bits bit description f4bar+memory offset 00h-03h video configuration register (r/w) reset value = 00000000h 31 reserved: set to 0 30 high speed timing for video interface: high speed timings for the video interface. 0 = disable; 1= enable. if bit 30 is enabled, bit 25 should be set to 0. 29 16-bit video interface: allow video interface to be 16 bits. 0 = disable; 1= enable. if bit 29 is enabled, 8 bits of pixel data is used for video. the 24-bit pixel data is then dithered to 16 bits. note: f4bar+memory offset 04h[25] should be set to the same value as this bit (bit 29). 28 yuv 4:2:2 or 4:2:0 mode: 0 = 4:2:2 mode; 1= 4:2:0 mode. if 4:2:0 mode is selected, bits [3:2] should be set to 01 for 8-bit video mode and 10 for 16-bit video mode. note: the gx1 processor does not support 4:2:0 mode. 27 video line size (dwords): this is the msb of the video line size (dwords). see bits [15:8] for description. 26 reserved: set to 0 25 early video ready: generate vid_rdy output signal one-half vid_clk period early to improve the speed of the video port operation. 0 = disable; 1 = enable. if bit 30 is enabled, this bit (bit 25) should be set to 0. 24 initial buffer read address: this is the msb of the initial buffer read address. see bits [23:16] for description. 23:16 initial buffer read address: this field is used to preload the starting read address for the line buffers at the beginning of each display line. it is used for hardware clipping of the video window at the left edge of the active display. it represents t he dword address of the source pixel which is to be disp layed first. for an unclipped windo w, this value should be 0. 15:8 video line size (dwords): this field represents the horizontal size of the source video data in dwords. 7 y filter enable: vertical filter. 0 = disable; 1= enable. 6 x filter enable: horizontal filter. 0 = disable; 1 = enable. 5 csc bypass: allows color-space-converter to be bypassed. primar ily used for displaying an rg b graphics overlay rather than a yuv video overlay. 0 = overlay data passes through csc; 1 = overlay data bypasses csc. 4 gv select: selects whether graphics or video data wi ll be passed through the scaler hardware. 0 = video data; 1 = graphics data. 3:2 video input format: this field defines the byte ordering of the video data on the vid_data bus. 8-bit mode (value byte order [0:3]) 16-bit mode (value byte order [0:3] ) 00 = u y0 v y1 (also used for rgb 5:6:5 input) 00 = u y0 v y1 (also used for rgb 5:6:5 input) 01 = y1 v y0 u or 4:2:0 01 = y0 u y1 v 10 = y0 u y1 v 10 = y1 v y0 u or 4:2:0 11 = y0 v y1 u 11 = reserved if bit 28 is set for 4:2:0 mode, these bits (bits [3:2]) should be set to 01 for 8-bit video mode and 10 for 16-bit video mode. note: u = cb, v = cr 1 video register update: allow video position and scale registers to be updated simultaneously on next occurrence of vertical sync. 0 = disable; 1 = enable. 0 video enable: video acceleration hardware. 0 = disable; 1 = enable.
136 amd geode? CS5530A companion device data book display subsystem extensions revision 1.1 4.8.2.4 x and y scaler / filter the CS5530A supports horizontal and vertical scaling of the video stream up to eight times the source resolution. the scaler uses a digital-differential-analyzer (dda) based upon the values programmed in the video scale register (f4bar+memory offset 10h, see table 4-73) the scaled video stream is then passed through horizontal and vertical filters which perform a 2-tap, 8-phase bilinear filter on the resulting stream. the filtering function removes the ?blockiness? of the scaled video thereby significantly improving the quality of the displayed image. by performing the scaling and filtering function in hard- ware, video performance is substantially improved over pure software implementations by requiring that the decompression software only output the video stream at the native source resolution. this saves both processor overhead and memory bandwidth. 4.8.2.5 color-space-converter after scaling and filtering have been applied, the yuv video data is passed through the color-space converter to obtain 24-bit rgb video data. the color-space conversion equations are based on the ccir recommendation 601-1 as follows: r = 1.164(y?16) + 1.596(v?128) g = 1.164(y?16) ? 0.813(v?128) ? 0.391(u?128) b = 1.164(y?16) + 2.018(u?128) the color-space converter clamps inputs to acceptable lim- its if the data is not well behaved. the color-space con- verter is bypassed for overlaying 16 bpp rgb graphics data. table 4-73. video scale register bit description f4bar+memory offset 10h-13h video scale register (r/w) reset value = xxxxxxxxh 31:30 reserved: set to 0. 29:16 video y scale factor: this field represents the vi deo window vertical scale factor according to the following formula. vid_y_scl = 8192 * (ys - 1) / (yd - 1) where: ys = video source vertical size in lines yd = video destination ve rtical size in lines 15:14 reserved: set to 0. 13:0 video x scale factor: this field represents the video window horizonta l scale factor according to the following formula. vid_x_scl = 8192 * (xs - 1) / (xd - 1) where: xs = video source horizontal size in pixels xd = video destination horizontal size in pixels
amd geode? CS5530A companion device data book 137 display subsystem extensions revision 1.1 4.8.3 video overlay the video data from the color-space converter is then mixed with the graphics data based upon the video window position. the video window position is programmable via the video x and y position registers (f4bar+memory offset 08h and 0ch). a color-keying mechanism is employed to compare either the source (video) or destina- tion (graphics) color to the color key programmed via the video color key register (fbar+offset 14h) and to select the appropriate pixel for display within the video window. the range of the color key is programmable by setting the appropriate bits in the video color mask register (f4bar+memory offset 18h). this mechanism greatly reduces the software overhead for computing visible pixels, and ensures that the video display window may be partially occluded by overlapping graphics data. tables 4-74 and 4- 75 show the bit formats for these registers the CS5530A accepts graphics data over the pixel[23:0] interface from the gx1 processor at the screen dot clock rate. the CS5530A is capable of displaying graphics reso- lutions up to 1600x1200 at color depths up to 24 bits per pixel (bpp) while simultaneously overlaying a video window. however, system maximum resolution is not determined by the CS5530A since it is not th e source of the graphics data and timings. table 4-74. video x and y position registers bit description f4bar+memory offset 08h-0bh video x register (r/w) reset value = xxxxxxxxh 31:27 reserved: set to 0. 26:16 video x end position: this field represents the horiz ontal end position of the video window according to the following formula. position programmed = screen pos ition + (h_total ? h_sync_end) ? 13. 15:11 reserved: set to 0. 10:0 video x start position: this field represents the horizontal start posit ion of the video window according to the following formula. position programmed = screen pos ition + (h_total ? h_sync_end) ? 13. f4bar+memory offset 0ch-0fh video y register (r/w) reset value = xxxxxxxxh 31:27 reserved: set to 0. 26:16 video y end position: this field represents the vertical end position of the video window ac cording to the following formula. position programmed = screen position + (v_total ? v_sync_end) + 1. 15:11 reserved: set to 0. 10:0 video y start position: this field represents the vertic al start position of the video window according to the following formula. position programmed = screen pos ition + (v_total ? v_sync_end) + 1. table 4-75. video color registers bit description f4bar+memory offset 14h-17h video color key register (r/w) reset value = xxxxxxxxh 31:24 reserved: set to 0. 23:0 video color key: this field represents the video color key. it is a 24-bit rgb value. the graphics or video data being compared may be masked prior to the compare by programmi ng the video color mask register (f4bar+memory offset 18h) appropriately. f4bar+memory offset 18h-1bh video color mask register (r/w) reset value = xxxxxxxxh 31:24 reserved: set to 0. 23:0 video color mask: this field represents the video color mask. it is a 24-bit rgb value. zeroes in the mask cause the corresponding bits in the graphics or video stream being compared to be ignored.
138 amd geode? CS5530A companion device data book display subsystem extensions revision 1.1 4.8.4 gamma ram either the graphics or video stream may be routed through an on-chip gamma ram (3x256x8-bit) which can be used for gamma-correction of either data stream, or contrast/ brightness adjustments in the case of video data. a bypass path is provided for either the graphics or video stream (depending on which is sent through the gamma ram). the two streams are merged based on the results of the color key compare. configuration for this feature and the display interface are through the display configur ation register (f4bar+mem- ory offset 04h). table 4-76 shows the bit formats for this register. table 4-76. display configuration register bit description f4bar+memory offset 04h-07h display configuration register (r/w) reset value = 00000000h 31 ddc input data (read only): this is the ddc input data bit for reads. 30:28 reserved: set to 0. 27 flat panel on (read only): this bit indicates whether the attached flat p anel display is powered on or off. the bit transi- tions at the end of the power-up or power-down sequence. 0 = off; 1 = on. 26 reserved: set to 0. 25 16-bit graphics enable: this bit works in conjunction with the 16-bit video interface bit at f4bar+memory offset 00h[29]. this bit should be set to the same value as the 16-bit video interface bit. 24 ddc output enable: this bit enables the ddc_sda line to be driven for write data. 0 = ddc_sda (pin m4) is an input; 1 = ddc_sda (pin m4) is an output. 23 ddc output data: this is the ddc data bit. 22 ddc clock: this is the ddc clock bit. it is used to clock the ddc_sda bit. 21 palette bypass: selects whether graphics or video data should bypass the gamma ram. 0 = video data; 1 = graphics data. 20 video/graphics color key select: selects whether the video or graphics data stream will be used for color/chroma keying. 0 = graphics data is compared to color key; 1 = video data is compared to color key. 19:17 power sequence delay: this field selects the number of frame periods that transpire between successive transitions of the power sequence control lines. valid values are 001 to 111. 16:14 crt sync skew: this 3-bit field represents the num ber of pixel clocks to skew the horizontal and vertical syncs that are sent to the crt. this field should be programmed to 100 as the baseline. the syncs may be moved forward or backward rel- ative to the pixel data via this register. it is used to co mpensate for the pipeline delay through the graphics pipeline. 13 flat panel dither enable: this bit enables flat panel dithering. it enables 24 bpp display data to be approximated with an 18-bit flat panel display. 0 = disable; 1 = enable. 12 xga flat panel: this bit enables the fp_clk_ even output signal whic h can be used to demultiplex the fp_data bus into even and odd pixels. 0 = standard flat panel; 1 = xga flat panel. 11 flat panel vertical synchronization polarity: selects the flat panel vertical sync polarity. 0 = fp vertical sync is normally low, transitioning high during sync interval. 1 = fp vertical sync is normally high, transitioning low during sync interval. 10 flat panel horizontal synchronization polarity: selects the flat panel horizontal sync polarity. 0 = fp horizontal sync is normally low, transitioning high during sync interval. 1 = fp horizontal sync is normally high , transitioning low during sync interval. 9 crt vertical synchronization polarity: selects the crt vertical sync polarity. 0 = crt vertical sync is normally low, transitioning high during sync interval. 1 = crt vertical sync is normally high , transitioning low during sync interval. 8 crt horizontal synchronization polarity: selects the crt horizontal sync polarity. 0 = crt horizontal sync is normally low, transitioning high during sync interval. 1 = crt horizontal sync is normally high, transitioning low during sync interval. 7 flat panel data enable: enables the flat panel data bus. 0 = fp_data [17:0] is forced low; 1 = fp_data [17:0] is driven based upon power sequence control. 6 flat panel power enable: the transition of this bit initiates a flat panel power-up or power-down sequence. 0 -> 1 = power-up flat panel; 1 -> 0 = power-down flat panel. 5 dac power-down (active low): this bit must be set to power-up the video dacs. it can be cleared to power-down the video dacs when not in use. 0 = dacs are powered down; 1 = dacs are powered up. 4 reserved: set to 0.
amd geode? CS5530A companion device data book 139 display subsystem extensions revision 1.1 4.8.5 display interface the CS5530A interfaces directly to a variety of display devices including conventional analog crt displays, tft flat panels, or optionally to digital ntsc/pal encoder devices. 4.8.5.1 video dacs the CS5530A incorporates three 8-bit video digital-to-ana- log converters (dacs) for inte rfacing directly to crt dis- plays. the video dacs meet the vesa specification and are capable of operation up to 157.5 mhz for supporting up to 1280x1024 display at a 85 hz refresh rate and are vesa compliant. 4.8.5.2 vesa ddc2b / dpms the CS5530A supports the vesa ddc2b and dpms standards for enhanced monitor communications and power management support. 4.8.5.3 flat panel support the CS5530A also interfaces directly to industry standard 18-bit active matrix thin-film-transistor (tft) flat panels. the CS5530A includes 24-bit to 18-bit dithering logic to increase the apparent number of colors displayed on 18-bit flat panels. in addition, the CS5530A incorporates power sequencing logic to simplify the des ign of a portable system. if flat panel support is not required, the flat panel output port may be used to supply digital video data to one of sev- eral types of ntsc/pal encoder devices on the market. flat panel power-up/down sequence when the flat panel power enable bit (f4bar+memory offset 04h[6]) transitions from a 0 to 1, the fp_ena_vdd signal is enabled. this is followed by the data bus (includ- ing syncs and ena_disp). finally, fp_ena_bkl is enabled. the time between each of these successive stages is set by the value of the power sequence delay bits (f4bar+memory offset 04h[19:17]). the value in these bits refer to the number of graphics frames that will elapse between each successive enabling of the tft sig- nals. for example, if the power sequence delay is set to 3h (011b), then three frame times will elapse between the time when fp_ena_vdd is transitioned and the data bus is transitioned. likewise, three frame times will elapse between the data bus getting enabled and the fp_ena_bkl is transitioned. if the panel is being refreshed at 100 hz, each frame lasts 1 ms. so, if the power sequence delay is set to 3, 3 ms will elapse between transitions. when powering off the panel, the sig- nals are transitioned in the opposite order (fp_ena_bkl, data bus, fp_ena_vdd) using the same power sequence delay in the power-down sequence. 3 dac blank enable: this bit enables the blank to the video dacs. 0 = dacs are constantly blanked; 1 = dacs are blanked normally. 2 crt vertical sync enable: enables the crt vertical sync. used for vesa dpms support. 0 = disable; 1 = enable. 1 crt horizontal sync enable: enables the crt horizontal sync. used for vesa dpms support. 0 = disable; 1 = enable. 0 display enable: enables the graphics display pipeline. it is us ed as a reset for the display control logic. 0 = reset display control logic; 1 = enable display control logic. table 4-76. display configuration register (continued) bit description
140 amd geode? CS5530A companion device data book universal serial bus support revision 1.1 4.9 universal serial bus support the CS5530A integrates a universal serial bus (usb) con- troller which supports two ports. the usb controller is openhci compliant, a standard developed by compaq, microsoft, and national semiconductor. the usb core con- sists of three main interface blocks: the usb pci interface controller, the usb host controller, and the usb interface controller. legacy keyboard and mouse controllers are also supported for dos compatibility with those usb devices. this document must be used along with the following public domain reference documents for a complete functional description of the usb controller:  usb specification revision 1.0  openhci specification, revision 1.0  pci specification, version 2.1 4.9.1 usb pci controller the pci controller interfaces the host controller to the pci bus. as a master, the pci controller is responsible for run- ning cycles on the pci bus on behalf of the host controller. as a target, the pci controlle r monitors the cycles on the pci bus and determines when to respond to these cycles. the usb core is a pci target when it decodes cycles to its internal pci configuration registers or to its internal pci memory mapped i/o registers. the usb core is implemented as a unique pci device in the CS5530A. it has its own pci header and configuration space. it is a single-function device, containing only func- tion #0. depending on the st ate of the hold_req# strap pin at reset, its pci device number for configuration accesses varies: if hold_req# is low, it uses pin ad29 as its idsel input, appearing as device #13h in a geode system. if hold_req# is high, it uses pin ad27 as its idsel input, appearing as device #11h in a geode system. the usb core is also affected by some bits in registers belonging to the other (chipset) device of the CS5530A. in particular, the usb device can be disabled through the chipset device, f0 index 43h[0], and its idsel can be remapped by changing f0 index 44h[6] (though this also affects the chipset device's idsel and is not recom- mended). all registers can be accessed via 8-, 16-, or 32-bit cycles (i.e., each byte is individually selected by the byte enables). registers marked as reserved, and reserved bits within a register are not implemented and should not be modified. these registers are summarized in table 4-77. for com- plete bit information, see table 5-25 "usb index xxh: usb pci configuration registers" on page 205. table 4-77. usb pci configuration registers usb index type name 00h-01h ro vendor identification 02h-03h ro device identification 04h-05h r/w command register 06h-07h r/w status register 08h ro device revision id 09h-0bh ro class code 0ch r/w cache line size 0dh r/w latency timer 0eh ro header type 0fh ro bist register 10h-13h r/w base address register (usb bar): sets the base address of the memory mapped usb con- troller registers. 14h-3bh -- reserved 3ch r/w interrupt line register 3dh ro interrupt pin register 3eh ro min. grant register 3fh ro max. latency register 40h-43h r/w asic test mode enable regis- ter 44h-45h r/w asic operational mode enable 46h-47h -- reserved 48h-ffh -- reserved
amd geode? CS5530A companion device data book 141 universal serial bus support revision 1.1 4.9.2 usb host controller in the usb core is the operational control block. it is responsible for the host controller's operational states (suspend, disable, enable), special usb signals (reset, resume), status, interrupt control, and host controller con- figuration. the host controller interface registers are memory mapped registers, mapped by usb f0 index 10h (base address register). these memory mapped registers are summa- rized in table 4-78. for bit definitions, refer to table 5-26 "usb bar+memory offset xxh: usb controller registers" on page 208. 4.9.3 usb power management at this time, usb supports minimal system level power management features. the only power management fea- ture implemented is the disabling of the usb clock genera- tor in usb suspend state. additional power management features require slight modifications. the design supports pciclk frequencies from 0 to 33 mhz. synchronization between the pci and usb clock domains is frequency independent. remote wakeup of usb is asynchronously implemented from the usb ports to pci inta#. the design needs usbclk to be operational at all times. if it is necessary to stop the 48 mhz clock, the system design requires that the signal used to enable/disable the usb clock generators is also used to wake the 48 mhz clock source. currently, the remotewakeupconnected and remotewakeupenable bits in the hccontrol register are not implemented. table 4-78. usb controller registers usb bar+ memory offset type name 00h-03h r/w hcrevision 04h-07h r/w hccontrol 08h-0bh r/w hccommandstatus 0ch-0fh r/w hcinterruptstatus 10h-13h r/w hcinterruptenable 14h-17h r/w hcinterruptdisable 18h-1bh r/w hchcca 1ch-1fh r/w hcperiodcurrented 20h-23h r/w hccontrolheaded 24h-27h r/w hccontrolcurrented 28h-2bh r/w hcbulkheaded 2ch-2fh r/w hcbulkcurrented 30h-33h r/w hcdonehead 34h-37h r/w hcfminterval 38h-3bh ro hcframeremaining 3ch-3fh ro hcfmnumber 40h-43h r/w hcperiodicstart 44h-47h r/w hclsthreshold 48h-4bh r/w hcrhdescriptora 4ch-4fh r/w hcrhdescriptorb 50h-53h r/w hcrhstatus 54h-57h r/w hcrhportstatus[1] 58h-5bh r/w hcrhportstatus[2] 5ch-5fh -- reserved 60h-9fh -- reserved 100h-103h r/w hcecontrol 104h-107h r/w hceinput 108h-10dh r/w hceoutput 10ch-10fh r/w hcestatus
142 amd geode? CS5530A companion device data book universal serial bus support revision 1.1
amd geode? CS5530A companion device data book 143 register descriptions revision 1.1 5.0 register descriptions the geode CS5530A is a multi-function device. its register space can be broadly divided into four categories in which specific types of registers are located: 1) chipset register space (f0-f4) 2) usb controller register space (pciusb) 3) isa legacy i/o register space (i/o port) 4) v-acpi i/o register space (i/o port) the chipset and the usb controller register spaces are accessed through the pci interface using the pci type one configuration mechanism. the chipset register space of the CS5530A is com- prised of five separate functions (f0-f4) each with its own register space consisting of pci header registers and memory or i/o mapped registers. f0: bridge configuration registers f1: smi status and acpi timer registers f2: ide controller registers f3: xpressaudio? su bsystem registers f4: video controller registers the pci header is a 256-byte region used for configuring a pci device or function. the fi rst 64 bytes are the same for all pci devices and are predefined by the pci specification. these registers are used to configure the pci for the device. the rest of the 256-byte region is used to configure the device or function itself. the usb controller register space consists of the stan- dard pci header registers. the usb controller supports two ports and is openhci-compliant. the isa legacy i/o register space contains all the leg- acy compatibility i/o ports that are internal, trapped, shad- owed, or snooped. the v-acpi i/o register space contains two types of reg- isters: fixed feature and general purpose. these regis- ters are emulated by the smi handling code rather than existing in physical hardware. to the acpi-compliant oper- ating system, the smi-base virt ualization is transparent. an acpi compliant system is one whose underlying bios, device drivers, chipset and peripherals conform to revision 1.0 or newer of the advanced control and power interface specification. the CS5530A v-acpi (virtual acpi) solution provides the following support:  cpu states ? c1, c2  sleep states ? s1, s2, s4, s4bios, s5  embedded controller (optional) ? sci and swi event inputs  general purpose events ? fully programmable gpe0 event block registers the remaining subsections of this chapter are as follows:  a brief discussion on how to access the registers located in the pci configuration space  register summary  detailed bit formats of all registers
144 amd geode? CS5530A companion device data book pci configuration space and access methods revision 1.1 5.1 pci configuration space and access methods configuration cycles are generated in the processor. all configuration registers in the CS5530A are accessed through the pci interface using the pci type one configu- ration mechanism. this mechanism uses two dword i/o locations at 0cf8h and 0cfch. the first location (0cf8h) references the configuration address register. the sec- ond location (0cfch) references the configuration data register. to access pci configuration space, write the configuration address (0cf8h) register with data that specifies the CS5530A as the device on pci being accessed, along with the configuration register offs et. on the following cycle, a read or write to the configuration data register (cdr) causes a pci configuratio n cycle to the CS5530A. byte, word, or dword accesses are allowed to the cdr at 0cfch, 0cfdh, 0cfeh, or 0cffh. the CS5530A has six configuration register sets, one for each function (f0-f4) and usb (pciusb). base address registers (bars) in the pci header registers are pointers for additional i/o or memory mapped configuration regis- ters. table 4-1 shows the pci configuration address register (0cf8h) and how to access the pci header registers. table 5-1. pci configuration address register (0cf8h) 31 30 24 23 16 15 11 10 8 7 2 1 0 configuration space mapping rsvd bus number device number function index dword 00 1 (enable) 000 0000 0000 0000 xxxx x (note) xxx xxxx xx 00 (always) function 0 (f0): bridge co nfiguration register space 80h 0000 0000 1001 0 or 1000 0 000 index function 1 (f1): smi status and acpi timer register space 80h 0000 0000 1001 0 or 1000 0 001 index function 2 (f2): ide controller register space 80h 0000 0000 1001 0 or 1000 0 010 index function 3 (f3): xpressaudio? subsystem register space 80h 0000 0000 1001 0 or 1000 0 011 index function 4 (f4): video controller register space 80h 0000 0000 1001 0 or 1000 0 100 index pciusb: usb controller register space 80h 0000 0000 1001 1 or 1000 1 000 index note: the device number depends upon the strapping of pin h26 (hold_req#) during por. strap pin h26 low: idsel = ad28 for chipset register space and ad29 for usb register space strap pin h26 high: idsel = ad26 for chipset register space and ad27 for usb register space the strapping of pin h26 can be read back in f0 index 44h[6].
amd geode? CS5530A companion device data book 145 register summary revision 1.1 5.2 register summary the tables in this subsection summarize all the registers of t he CS5530A. included in the tables are the register?s reset val- ues and page references where the bit formats are found. table 5-2. function 0: pci header and bridge configuration registers summary f0 index width (bits) type name reset value reference (table 5-15) 00h-01h 16 ro vendor identification register 1078h page 155 02h-03h 16 ro device identification register 0100h page 155 04h-05h 16 r/w pci command register 000fh page 155 06h-07h 16 r/w pci status register 0280h page 155 08h 8 ro device revision id register xxh page 156 09h-0bh 24 ro pci class code register 060100h page 156 0ch 8 r/w pci cache line size register 00h page 156 0dh 8 r/w pci latency timer register 00h page 156 0eh 8 ro pci header type register 80h page 156 0fh 8 ro pci bist register 00h page 156 10h-1fh -- -- reserved xxh page 156 20h-3fh -- -- reserved 00h page 156 40h 8 r/w pci function control register 1 89h page 156 41h 8 r/w pci function control register 2 10h page 157 42h 8 r/w pci function control register 3 ach page 157 43h 8 r/w usb shadow register 03h page 157 44h 8 r/w reset control register 01h page 158 45h-4fh -- -- reserved 00h page 158 50h 8 r/w pit control/isa clk divider 7bh page 158 51h 8 r/w isa i/o recovery control register 40h page 159 52h 8 r/w rom/at logic control register f8h page 159 53h 8 r/w alternate cpu support register 00h page 159 54h-59h -- -- reserved xxh page 160 5ah 8 r/w decode control register 1 03h page 160 5bh 8 r/w decode control register 2 20h page 160 5ch 8 r/w pci interrupt steering register 1 00h page 160 5dh 8 r/w pci interrupt steering register 2 00h page 161 5eh-6fh -- -- reserved xxh page 161 70h-71h 16 r/w general purpose chip select base address register 0000h page 161 72h 8 r/w general purpose chip select control register 00h page 161 73h-7fh -- -- reserved xxh page 161 80h 8 r/w power management enable register 1 00h page 161 81h 8 r/w power management enable register 2 00h page 162 82h 8 r/w power management enable register 3 00h page 163 83h 8 r/w power management enable register 4 00h page 164 84h 8 ro second level power management status mirror register 1 00h page 165 85h 8 ro second level power management status mirror register 2 00h page 165 86h 8 ro second level power management status mirror register 3 00h page 166 87h 8 ro second level power management status mirror register 4 00h page 166 88h 8 r/w general purpose timer 1 count register 00h page 167 89h 8 r/w general purpose timer 1 control register 00h page 167 8ah 8 r/w general purpose timer 2 count register 00h page 168 8bh 8 r/w general purpose timer 2 control register 00h page 168 8ch 8 r/w irq speedup timer count register 00h page 168 8dh 8 r/w video speedup timer count register 00h page 169 8eh 8 r/w vga timer count register 00h page 169
146 amd geode? CS5530A companion device data book register summary revision 1.1 8fh -- -- reserved xxh page 169 90h 8 r/w gpio pin direction register 1 00h page 169 91h 8 r/w gpio pin data register 1 00h page 169 92h 8 r/w gpio control register 1 00h page 169 93h 8 r/w miscellaneous device control register 00h page 170 94h 8 r/w suspend modulation off count register 00h page 170 95h 8 r/w suspend modulation on count register 00h page 170 96h 8 r/w suspend configuration register 00h page 171 97h 8 r/w gpio control register 2 00h page 171 98h-99h 16 r/w primary hard disk idle timer count register 0000h page 172 9ah-9bh 16 r/w floppy disk idle timer count register 0000h page 172 9ch-9dh 16 r/w parallel / serial idle timer count register 0000h page 172 9eh-9fh 16 r/w keyboard / mouse idle timer count register 0000h page 172 a0h-a1h 16 r/w user defined device 1 idle timer count register 0000h page 172 a2h-a3h 16 r/w user defined device 2 idle timer count register 0000h page 172 a4h-a5h 16 r/w user defined device 3 idle timer count register 0000h page 173 a6h-a7h 16 r/w video idle timer count register 0000h page 173 a8h-a9h 16 r/w video overflow count register 0000h page 173 aah-abh -- -- reserved xxh page 173 ach-adh 16 r/w secondary hard disk idle timer count register 0000h page 173 aeh 8 wo cpu suspend command register 00h page 173 afh 8 wo suspend notebook command register 00h page 174 b0h-b3h -- -- reserved xxh page 174 b4h 8 ro floppy port 3f2h shadow register xxh page 174 b5h 8 ro floppy port 3f7h shadow register xxh page 174 b6h 8 ro floppy port 1f2h shadow register xxh page 174 b7h 8 ro floppy port 1f7h shadow register xxh page 174 b8h 8 ro dma shadow register xxh page 174 b9h 8 ro pic shadow register xxh page 175 bah 8 ro pit shadow register xxh page 175 bbh 8 ro rtc index shadow register xxh page 175 bch 8 r/w clock stop control register 00h page 175 bdh-bfh -- -- reserved xxh page 176 c0h-c3h 32 r/w user defined device 1 base address register 00000000h page 176 c4h-c7h 32 r/w user defined device 2 base address register 00000000h page 176 c8h-cbh 32 r/w user defined device 3 base address register 00000000h page 176 cch 8 r/w user defined device 1 control register 00h page 176 cdh 8 r/w user defined device 2 control register 00h page 176 ceh 8 r/w user defined device 3 control register 00h page 176 cfh -- -- reserved xxh page 177 d0h 8 wo software smi register 00h page 177 d1h-ebh -- -- reserved xxh page 177 ech 8 r/w timer test register 00h page 177 edh-f3h -- -- reserved xxh page 177 f4h 8 rc second level power management status register 1 00h page 177 f5h 8 rc second level power management status register 2 00h page 177 f6h 8 rc second level power management status register 3 00h page 178 f7h 8 ro/rc second level power management status register 4 00h page 179 f8h-ffh -- -- reserved xxh page 179 table 5-2. function 0: pci header and bridge configuration registers summary (continued) f0 index width (bits) type name reset value reference (table 5-15)
amd geode? CS5530A companion device data book 147 register summary revision 1.1 table 5-3. function 1: pci header registers for smi status and acpi timer summary f1 index width (bits) type name reset value reference (table 5-16) 00h-01h 16 ro vendor identification register 1078h page 180 02h-03h 16 ro device identification register 0101h page 180 04h-05h 16 r/w pci command register 0000h page 180 06h-07h 16 ro pci status register 0280h page 180 08h 8 ro device revision id register 00h page 180 09h-0bh 24 ro pci class code register 068000h page 180 0ch 8 ro pci cache line size register 00h page 180 0dh 8 ro pci latency timer register 00h page 180 0eh 8 ro pci header type register 00h page 180 0fh 8 ro pci bist register 00h page 180 10h-13h 32 r/w base address register (f1bar): sets base address for memory mapped smi status and acpi timer support regis- ters (summarized in table 4-4). 00000000h page 180 14h-3fh -- -- reserved 00h page 180 40h-ffh reserved xxh page 180 table 5-4. f1bar: smi status and acpi timer registers summary f1bar+ memory offset width (bits) type name reset value reference (table 5-17) 00h-01h 16 ro top smi status mirror register 0000h page 181 02h-03h 16 rc top smi status register 0000h page 181 04h-05h 16 ro second level general traps & timers status mirror 0000h page 182 06h-07h 16 rc second level general traps & timers status register 0000h page 182 08h-09h 16 read to enable smi speedup disable register 0000h page 183 0ah-1bh -- -- reserved xxh page 183 1ch-1fh 32 ro acpi timer count note: the acpi timer count register is accessible through i/o port 121ch. 00fffffch page 183 20h-4fh -- -- reserved xxh page 183 50h-ffh note: the registers located at f1bar+memory offset 50h-ffh can also be accessed at f0 index 50h-ffh. the pre- ferred method is to program these registers through the f0 register space. refer to table 5-2 "function 0: pci header and bridge configuration registers summary" on page 145 for summary information.
148 amd geode? CS5530A companion device data book register summary revision 1.1 table 5-5. function 2: pci header registers for ide controller summary f2 index width (bits) type name reset value reference (table 5-18) 00h-01h 16 ro vendor identification register 1078h page 184 02h-03h 16 ro device identification register 0102h page 184 04h-05h 16 r/w pci command register 0000h page 184 06h-07h 16 ro pci status register 0280h page 184 08h 8 ro device revision id register 00h page 184 09h-0bh 24 ro pci class code register 010180h page 184 0ch 8 ro pci cache line size register 00h page 184 0dh 8 ro pci latency timer register 00h page 184 0eh 8 ro pci header type register 00h page 184 0fh 8 ro pci bist register 00h page 184 10h-1fh -- -- reserved 00h page 184 20h-23h 32 r/w base address register (f2bar): sets base address for i/o mapped ide controller configuration registers (summarized in table 4-6). 00000001h page 184 24h-3fh -- -- reserved 00h page 184 40h-ffh -- -- reserved xxh page 184 table 5-6. f2bar: ide controller configuration registers summary f2bar+ i/o offset width (bits) type name reset value reference (table 5-19) 00h 8 r/w ide bus master 0 command register: primary 00h page 185 01h -- -- reserved xxh page 185 02h 8 r/w ide bus master 0 status register: primary 00h page 185 03h -- -- reserved xxh page 185 04h-07h 32 r/w ide bus master 0 prd table address: primary 00000000h page 185 08h 8 r/w ide bus master 1 command register: secondary 00h page 185 09h -- -- reserved xxh page 185 0ah 8 r/w ide bus master 1 status register: secondary 00h page 185 0bh -- -- reserved xxh page 186 0ch-0fh 32 r/w ide bus master 1 prd table address: secondary 00000000h page 186 10h-1fh -- -- reserved xxh page 186 20h-23h 32 r/w channel 0 drive 0: pio register 0000e132h page 186 24h-27h 32 r/w channel 0 drive 0: dma control register 00077771h page 187 28h-2bh 32 r/w channel 0 drive 1: pio register 0000e132h page 187 2ch-2fh 32 r/w channel 0 drive 1: dma control register 00077771h page 187 30h-33h 32 r/w channel 1 drive 0: pio register 0000e132h page 187 34h-37h 32 r/w channel 1 drive 0: dma control register 00077771h page 187 38h-3bh 32 r/w channel 1 drive 1: pio register 0000e132h page 187 3ch-3fh 32 r/w channel 1 drive 1: dma control register 00077771h page 187 40h-ffh -- -- reserved xxh page 187
amd geode? CS5530A companion device data book 149 register summary revision 1.1 table 5-7. function 3: pci header registers for xpressaudio? subsystem summary f3 index width (bits) type name reset value reference (table 5-20) 00h-01h 16 ro vendor identification register 1078h page 188 02h-03h 16 ro device identification register 0103h page 188 04h-05h 16 r/w pci command register 0000h page 188 06h-07h 16 ro pci status register 0280h page 188 08h 8 ro device revision id register 00h page 188 09h-0bh 24 ro pci class code register 040100h page 188 0ch 8 ro pci cache line size register 00h page 188 0dh 8 ro pci latency timer register 00h page 188 0eh 8 ro pci header type register 00h page 188 0fh 8 ro pci bist register 00h page 188 10h-13h 32 r/w base address register (f3bar): sets base address for memory mapped xpressaudio? subsystem configuration registers (summarized in table 4-8). 00000000h page 188 14h-3fh -- -- reserved 00h page 188 40h-ffh -- -- reserved xxh page 188 table 5-8. f3bar: xpressaudio? subsystem configuration registers summary f3bar+ memory offset width (bits) type name reset value reference (table 5-21) 00h-03h 32 r/w codec gpio status register 00100000h page 189 04h-07h 32 r/w codec gpio control register 00000000h page 189 08h-0bh 32 r/w codec status register 00000000h page 189 0ch-0fh 32 r/w codec command register 00000000h page 189 10h-11h 16 ro second level audio smi so urce mirror register 0000h page 189 12h-13h 16 rc second level audio smi source register 0000h page 190 14h-17h 32 ro/rc i/o trap smi and fast write status register 00000000h page 191 18h-19h 16 r/w i/o trap smi enable register 0000h page 192 1ah-1bh 16 r/w internal irq enable register 0000h page 193 1ch-1dh 16 r/w internal irq control register 0000h page 193 1eh-1fh 16 wo internal irq mask register xxxxh page 193 20h 8 r/w audio bus master 0 command register 00h page 194 21h 8 rc audio bus master 0 smi status register 00h page 194 22h-23h -- -- reserved xxh page 194 24h-27h 32 r/w audio bus master 0 prd table address 00000000h page 194 28h 8 r/w audio bus master 1 command register 00h page 194 29h 8 rc audio bus master 1 smi status register 00h page 194 2ah-2bh -- -- reserved xxh page 195 2ch-2fh 32 r/w audio bus master 1 prd table address 00000000h page 195 30h 8 r/w audio bus master 2 command register 00h page 195 31h 8 rc audio bus master 2 smi status register 00h page 195 32h-33h -- -- reserved xxh page 195 34h-37h 32 r/w audio bus master 2 prd table address 00000000h page 195 38h 8 r/w audio bus master 3 command register 00h page 195 39h 8 rc audio bus master 3 smi status register 00h page 196 3ah-3bh -- -- reserved xxh page 196 3ch-3fh 32 r/w audio bus master 3 prd table address 00000000h page 196
150 amd geode? CS5530A companion device data book register summary revision 1.1 x 40h 8 r/w audio bus master 4 command register 00h page 196 41h 8 rc audio bus master 4 smi status register 00h page 196 42h-43h -- -- reserved xxh page 196 44h-47h 32 r/w audio bus master 4 prd table address 00000000h page 197 48h 8 r/w audio bus master 5 command register 00h page 197 49h 8 rc audio bus master 5 smi status register 00h page 197 4ah-4bh -- -- reserved xxh page 197 4ch-4fh 32 r/w audio bus master 5 prd table address 00000000h page 197 50h-ffh -- -- reserved xxh page 197 table 5-8. f3bar: xpressaudio? subsystem configuration registers summary (continued) f3bar+ memory offset width (bits) type name reset value reference (table 5-21) table 5-9. function 4: pci header registers for video controller summary f4 index width (bits) type name reset value reference (table 5-22) 00h-01h 16 ro vendor identification 1078h page 198 02h-03h 16 ro device identification 0104h page 198 04h-05h 16 r/w pci command 0000h page 198 06h-07h 16 ro pci status 0280h page 198 08h 8 ro device revision id 00h page 198 09h-0bh 24 ro pci class code 030000h page 198 0ch 8 ro pci cache line size 00h page 198 0dh 8 ro pci latency timer 00h page 198 0eh 8 ro pci header type 00h page 198 0fh 8 ro pci bist register 00h page 198 10h-13h 32 r/w base address register (f4bar): sets base address for memory mapped video controller configuration registers (summarized in table 4-10). 00000000h page 198 14h-3fh -- -- reserved 00h page 198 40h-ffh -- -- reserved xxh page 198 table 5-10. f4bar: video controller configuration registers summary f4bar+ memory offset width (bits) type register name reset value reference (table 5-23) 00h-03h 32 r/w video configuration register 00000000h page 199 04h-07h 32 r/w display configuration register x0000000h page 200 08h-0bh 32 r/w video x register xxxxxxxxh page 201 0ch-0fh 32 r/w video y register xxxxxxxxh page 201 10h-13h 32 r/w video scale register xxxxxxxxh page 201 14h-17h 32 r/w video color key register xxxxxxxxh page 201 18h-1bh 32 r/w video color mask register xxxxxxxxh page 201 1ch-1fh 32 r/w palette addres s register xxxxxxxxh page 201 20h-23h 32 r/w palette data register xxxxxxxxh page 201 24h-27h 32 r/w dot clock configuration register 00000000h page 202 28h-2bh 32 r/w crc signature and tft/tv configuration register 00000100h page 203 2ch-ffh -- -- reserved xxh page 203
amd geode? CS5530A companion device data book 151 register summary revision 1.1 table 5-11. usb pci configuration registers summary usb index width (bits) type name reset value reference (table 5-25) 00h-01h 16 ro vendor identification 0e11h page 205 02h-03h 16 ro device identification a0f8h page 205 04h-05h 16 r/w command register 0000h page 205 06h-07h 16 r/w status register 0280h page 205 08h 8 ro device revision id 06h page 206 09h-0bh 24 ro class code 0c0310h page 206 0ch 8 r/w cache line size 00h page 206 0dh 8 r/w latency timer 00h page 206 0eh 8 ro header type 00h page 206 0fh 8 ro bist register 00h page 206 10h-13h 32 r/w base address register (usb bar): sets the base address of the memory mapped usb controller registers. refer to table 5-26 for the usb controller register bit formats and reset values. 00000000h page 206 14h-3bh -- -- reserved xxh page 206 3ch 8 r/w interrupt line register 00h page 206 3dh 8 ro interrupt pin register 01h page 206 3eh 8 ro min. grant register 00h page 206 3fh 8 ro max. latency register 50h page 206 40h-43h 32 r/w asic test mode enable register 000f0000h page 206 44h-45h 16 r/w asic operational mode enable 0000h page 206 46h-47h -- -- reserved 00h page 207 48h-ffh -- -- reserved xxh page 207 table 5-12. usb bar: usb controller registers summary usb bar+ memory offset width (bits) type name reset value reference (table 5-26) 00h-03h 32 r/w hcrevision 00000110h page 208 04h-07h 32 r/w hccontrol 00000000h page 208 08h-0bh 32 r/w hccommandstatus 00000000h page 208 0ch-0fh 32 r/w hcinterruptstatus 00000000h page 208 10h-13h 32 r/w hcinterruptenable 00000000h page 209 14h-17h 32 r/w hcinterruptdisable c000006fh page 209 18h-1bh 32 r/w hchcca 00000000h page 209 1ch-1fh 32 r/w hcperiodcurrented 00000000h page 209 20h-23h 32 r/w hccontrolheaded 00000000h page 209 24h-27h 32 r/w hccontrolcurrented 00000000h page 209 28h-2bh 32 r/w hcbulkheaded 00000000h page 209 2ch-2fh 32 r/w hcbulkcurrented 00000000h page 209 30h-33h 32 r/w hcdonehead 00000000h page 210 34h-37h 32 r/w hcfminterval 00002edfh page 210 38h-3bh 32 ro hcframeremaining 00002exxh page 210 3ch-3fh 32 ro hcfmnumber 00000000h page 210 40h-43h 32 r/w hcperiodicstart 00000000h page 210 44h-47h 32 r/w hclsthreshold 00000628h page 210 48h-4bh 32 r/w hcrhdescriptora 01000002h page 210
152 amd geode? CS5530A companion device data book register summary revision 1.1 4ch-4fh 32 r/w hcrhdescriptorb 00000000h page 211 50h-53h 32 r/w hcrhstatus 00000000h page 211 54h-57h 32 r/w hcrhportstatus[1] 00000628h page 212 58h-5bh 32 r/w hcrhportstatus[2] 01000002h page 213 5ch-5fh 32 -- reserved 00000000h page 213 60h-9fh -- -- reserved xxh page 213 100h-103h 32 r/w hcecontrol 00000000h page 214 104h-107h 32 r/w hceinput 000000xxh page 214 108h-10dh 32 r/w hceoutput 000000xxh page 214 10ch-10fh 32 r/w hcestatus 00000000h page 214 table 5-12. usb bar: usb controller registers summary (continued) usb bar+ memory offset width (bits) type name reset value reference (table 5-26) table 5-13. isa legacy i/o registers summary i/o port type name reference dma channel control registers (table 5-27) 000h r/w dma channel 0 address register page 215 001h r/w dma channel 0 transfer count register page 215 002h r/w dma channel 1 address register page 215 003h r/w dma channel 1 transfer count register page 215 004h r/w dma channel 2 address register page 215 005h r/w dma channel 2 transfer count register page 215 006h r/w dma channel 3 address register page 215 007h r/w dma channel 3 transfer count register page 215 008h read dma status register, channels 3:0 page 215 write dma command register, channels 3:0 page 215 009h wo software dma request register, channels 3:0 page 216 00ah r/w dma channel mask register, channels 3:0 page 216 00bh wo dma channel mode register, channels 3:0 page 216 00ch wo dma clear byte pointer command, channels 3:0 page 216 00dh wo dma master clear command, channels 3:0 page 216 00eh wo dma clear mask register command, channels 3:0 page 216 00fh wo dma write mask register command, channels 3:0 page 216 0c0h r/w dma channel 4 address register (not used) page 216 0c2h r/w dma channel 4 transfer count register (not used) page 216 0c4h r/w dma channel 5 address register page 216 0c6h r/w dma channel 5 transfer count register page 216 0c8h r/w dma channel 6 address register page 216 0cah r/w dma channel 6 transfer count register page 216 0cch r/w dma channel 7 address register page 216 0ceh r/w dma channel 7 transfer count register page 216 0d0h read dma status register, channels 7:4 page 217 write dma command register, channels 7:4 page 217 0d2h wo software dma request register, channels 7:4 page 217 0d4h r/w dma channel mask register, channels 7:0 page 217 0d6h wo dma channel mode register, channels 7:4 page 217 0d8h wo dma clear byte pointer command, channels 7:4 page 217
amd geode? CS5530A companion device data book 153 register summary revision 1.1 0dah wo dma master clear command, channels 7:4 page 217 0dch wo dma clear mask register command, channels 7:4 page 217 0deh wo dma write mask register command, channels 7:4 page 217 dma page registers (table 5-28) 081h r/w dma channel 2 low page register page 218 082h r/w dma channel 3 low page register page 218 083h r/w dma channel 1 low page register page 218 087h r/w dma channel 0 low page register page 218 089h r/w dma channel 6 low page register page 218 08ah r/w dma channel 7 low page register page 218 08bh r/w dma channel 5 low page register page 218 08fh r/w isa refresh low page register page 218 481h r/w dma channel 2 high page register page 218 482h r/w dma channel 3 high page register page 218 483h r/w dma channel 1 high page register page 218 487h r/w dma channel 0 high page register page 218 489h r/w dma channel 6 high page register page 218 48ah r/w dma channel 7 high page register page 218 48bh r/w dma channel 5 high page register page 218 programmable interval timer registers (table 5-29) 040h write pit timer 0 counter page 219 read pit timer 0 status page 219 041h write pit timer 1 counter (refresh) page 219 read pit timer 1 status (refresh) page 219 042h write pit timer 2 counter (speaker) page 219 read pit timer 2 status (speaker) page 219 043h write pit mode control word register page 219 043h r/w pit read-back command read status command counter latch command programmable interrupt controller registers (table 5-30) 020h / 0a0h wo master / slave pci iwc1 page 220 021h / 0a1h wo master / slave pic icw2 page 220 021h / 0a1h wo master / slave pic icw3 page 220 021h / 0a1h wo master / slave pic icw4 page 220 021h / 0a1h r/w master / slave pic ocw1 page 220 020h / 0a0h wo master / slave pic ocw2 page 220 020h / 0a0h wo master / slave pic ocw3 page 221 020h / 0a0h ro master / slave pic interrupt request and service registers for ocw3 commands page 221 keyboard controller registers (table 5-31) 060h r/w external keyboard controller data register page 222 061h r/w port b control register page 222 062h r/w external keyboard controller mailbox register page 222 064h r/w external keyboard controller command register page 222 066h r/w external keyboard controller mailbox register page 222 092h r/w port a control register page 222 table 5-13. isa legacy i/o registers summary (continued) i/o port type name reference
154 amd geode? CS5530A companion device data book register summary revision 1.1 real time clock registers (table 5-32) 070h wo rtc address register page 222 071h r/w rtc data register page 222 miscellaneous registers (table 5-33) 170h-177h/ 376h r/w secondary ide registers page 223 1f0h-1f7h/ 3f6h r/w primary ide registers page 223 4d0h r/w interrupt edge/level select register 1 page 223 4d1h r/w interrupt edge/level select register 2 page 223 121ch-121fh ro acpi timer count register note: the acpi timer count register is accessible through i/o port 121ch. oth- erwise use f1bar+offset 1ch. page 223 table 5-13. isa legacy i/o registers summary (continued) i/o port type name reference table 5-14. v-acpi i/o register space summary acpi_ base type align length name reset value reference (table 5-34) 00h-03h r/w 4 4 p_cnt: processor control register 00000000h page 224 04h ro 1 1 p_lvl2: enter c2 power state register 00h page 224 05h -- 1 1 reserved 00h page 224 06h r/w 1 1 smi_cmd: os/bios requests register (acpi enable/ disable port) 00h page 224 07h -- 1 1 reserved 00h page 225 08h-09h r/w 2 2 pm1a_sts: pm1a status register 0000h page 225 0ah-0bh r/w 2 2 pm1a_en: pm1a enable register 0000h page 225 0ch-0dh r/w 4 2 pm1a_cnt: pm1a control register 0000h page 225 0eh-0fh r/w 2 2 setup_idx: setup index register (v-acpi internal index register) 0000h page 226 10h-11h r/w 2 2 gpe0_sts: general purpose event 0 status register 0000h page 226 12h-13h r/w 2 2 gpe0_en: general purpose event 0 enable register 0000h page 226 14h-17h r/w 4 4 setup_data: setup data register (v-acpi internal data register) 00000000h page 227 18h-1fh -- 8 reserved: for future v-acpi implementations -- page 227
amd geode? CS5530A companion device data book 155 register descriptions revision 1.1 5.3 chipset register space the chipset register space of the CS5530A is comprised of five separate functions (function 0 through 4, f0-f4), each with its own register space and pci header registers. f1-f4 have memory or i/o mapped registers from a base address register (bar). the pci header registers in all functions are very similar. f0: bridge configuration register space f1: smi status and acpi timer register space f2: ide controller register space f3: xpressaudio? subsyst em register space f4: video controller register space 5.3.1 bridge configuration registers - func- tion 0 the register space designated as function 0 (f0) contains registers used to configure features (e.g., power manage- ment) and functionality unique to the CS5530A. all regis- ters in function 0 are directly accessed (i.e., there are no memory or i/o mapped registers in f0). table 5-15 gives the bit formats for these registers. the registers at f0 index 50h-ffh can also be accessed at f1bar+memory offset 50h-ffh. the preferred method is to program these registers through the f0 register space. if the f0 pci configuration trap bit (f0 index 41h[0]) is enabled and an access is attempted to any of the f0 pci header and bridge configuratio n registers except f0 index 40h-43h, an smi is generated instead. table 5-15. f0 index xxh: pci header and bridge configuration registers bit description index 00h-01h vendor identification register (ro) reset value = 1078h 15:0 vendor identification register (read only) index 02h-03h device identification register (ro) reset value = 0100h 15:0 device identification register (read only) index 04h-05h pci command register (r/w) reset value = 000fh 15:10 reserved: set to 0. 9 fast back-to-back enable (read only): this function is not supported when the CS5530A is a master. it is always disabled (always reads 0). 8 serr#: allow serr# assertion on detection of special errors. 0 = disable (default) ; 1 = enable. 7 wait cycle control (read only): this function is not supported in the CS5530A. it is always disabled (always reads 0). 6 parity error: allow the CS5530A to check for parity errors on pci cyc les for which it is a target, and to assert perr# when a parity error is detected. 0 = disable (default) ; 1 = enable. 5 vga palette snoop enable (read only): this function is not supported in the CS5530A. it is always disabled (always reads 0). 4 memory write and invalidate: allow the CS5530A to do memory write and invalidate cycles, if the pci cache line size register (f0 index 0ch) is set to 16 bytes (04h). 0 = disable (default) ; 1 = enable. 3 special cycles: allow the CS5530A to respond to special cycles. 0 = disable; 1 = enable (default) . this bit must be enabled to allow the cpu warm reset inte rnal signal to be triggered from a cpu shutdown cycle. 2 bus master: allow the CS5530A bus mastering capabilities. 0 = disable; 1 = enable (default) . this bit must be set to 1. 1 memory space: allow the CS5530A to respond to memory cycles from the pci bus. 0 = disable; 1 = enable (default) . 0 i/o space: allow the CS5530A to respond to i/o cycles from the pci bus. 0 = disable; 1 = enable (default) . index 06h-07h pci status regi ster (r/w) reset value = 0280h 15 detected parity error: this bit is set whenever a parity error is detected. write 1 to clear. 14 signaled system error: this bit is set whenever the CS5530A asserts serr# active. write 1 to clear. 13 received master abort: this bit is set whenever a master abort cycle oc curs while the CS5530A is the master. a master abort occurs when a pci cycle is not claimed, except for special cycles. write 1 to clear.
156 amd geode? CS5530A companion device data book register descriptions revision 1.1 12 received target abort: this bit is set whenever a target abort is rece ived while the CS5530A is the master for the pci cycle. write 1 to clear. 11 signaled target abort: this bit is set whenever the CS5530A signals a target abort. this occurs when an address parity error occurs for an address that hits in t he active address decode space of the CS5530A. write 1 to clear. 10:9 devsel# timing (read only): these bits are always 01, as the CS5530A al ways responds to cycles for which it is an active target with medium devsel# timing. 00 = fast; 01 = medium; 10 = slow; 11 = reserved 8 data parity detected: this bit is set when: 1) the CS5530A asserted perr# or observed perr# asserted. 2) the CS5530A is the master for the cycle in which a parity error occurred and the parity er ror bit is set (f0 index 04h[6] = 1). write 1 to clear. 7 fast back-to-back capable (read only): as a target, the CS5530A is capable of accepting fast back-to-back transactions. 0 = disable; 1 = enable. this bit is always set to 1. 6:0 reserved: set to 0. index 08h device revision id register (ro) reset value = xxh 7:0 device revision id (read only): device revision level. 20h for revision a; 30h for revision b. index 09h-0bh pci class code register (ro) reset value = 060100h index 0ch pci cache line size register (r/w) reset value = 00h 7:0 pci cache line size register: this register sets the size of the pci cache line, in increments of four bytes. for memory write and invalidate cycles, the pci cache line size must be set to 16 bytes (04h), and the memory write and invalidate bit must be set (f0 index 04h[4] = 1). index 0dh pci latency timer register (r/w) reset value = 00h 7:4 reserved: set to 0. 3:0 pci latency timer value: the pci latency timer register prevents syst em lockup when a slave does not respond to a cycle that the CS5530A masters. if the value is set to 00h (defaul t), the timer is disabled. if the timer is written with any o ther value, bits [3:0] become the four most si gnificant bytes in a timer that counts pc i clocks for slave response. the timer is reset on each valid data transfer. if the timer expires before the next assertion of trdy# is received, the CS5530A stops the transaction with a master abort and asserts serr#, if enabled to do so (f0 index 04h[8] = 1). index 0eh pci header type register (ro) reset value = 80h 7:0 pci header type register (read only): this register defines the format of th is header. this header is of type format 0. additionally, bit 7 defines whether this pci device is a multifunction device (bit 7 = 1) or not (bit 7 = 0). index 0fh pci bist register (ro) reset value = 00h 7 bist capable (read only): is device capable of running a built- in self-test (bist)? 0 = no; 1 = yes, 6 start bist: setting this bit to a one starts up a bist on the device . the device resets this bit when the bist has been com- pleted. (not supported.) 5:4 reserved (read only) 3:0 bist completion code (read only): upon completion of the bist, the completion code is stored in these bits. a comple- tion code of zero indicates the bist has successfully been comple ted. all other values indicate some type of bist failure. index 10h-1fh reserved reset value = xxh index 20h-3fh reserved 00h index 40h pci function control register 1 (r/w) reset value = 89h 7 pci interrupt acknowledge cycle response: allow the CS5530A responds to pci interrupt acknowledge cycles. 0 = disable; 1 = enable. 6 single write mod e : the CS5530A accepts only single cycle write transfers as a slave on the pci bus and performs a target disconnect with the first data tr ansferred. 0 = disable (accepts burst write cycles); 1 = enable. 5 single read mode: the CS5530A accepts only single cycle read transfers as a slave on the pci bus and performs a target disconnect with the first data tr ansferred. 0 = disable (accepts burst read cycles); 1 = enable. 4 retry pci cycles: retry inbound pci cycles if data is buffered and waiting to go outbound on pci. 0 = no retry; 1 = retry. table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
amd geode? CS5530A companion device data book 157 register descriptions revision 1.1 3 write buffer: pci slave write buffer. 0 = disable; 1 = enable. 2:1 reserved: set to 0. 0 bs8/16: this bit can not be written. always = 1. note: bits 6 and 5 emulate the behavior of fi rst generation sio devices developed for pc i. they should normally remain cleared. index 41h pci function control register 2 (r/w) reset value = 10h 7 burst to beat: if this bit is set to 1, the CS5530A performs a single acce ss from the pci bus. if set to 0, burst accesses are enabled. 6 f2 ide configuration trap: 0 = disable; 1 = enable. if this bit is enabled and an access is attempted to one of the f2 pci header registers, an smi is generated instead. top level smi status is reported at f1bar+memory offset 00h/02h[9]. second level smi status is reported at f1bar+memory offset 04h/06h[5]. 5 perr# signals serr#: assert serr# any time that perr# is asse rted or detected active by the CS5530A (allows perr# assertion to be cascaded to nmi (smi) generation in the system). 0 = disable; 1 = enable. 4 write buffer enable: allow 16-byte buffering for x-bus to pci bus writes. 0 = disable; 1 = enable. 3 f1 power management configuration trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs to one of the f1 pci configuration header registers, an smi is generated. top level smi status is reported at f1bar+memory offset 00h/02h[9]. second level smi status is reported at f1bar+memory offset 04h/06h[5]. 2:1 subtractive decode: these bits determine the point at which the CS5530A accepts cycles that are not claimed by another device. the CS5530A defaults to taking subtractive decode cycl es in the default cycle clock, but can be moved up to the slow decode cycle point if all other pci devices decode in the fast or medium clocks. disabling subtractive decode must be done with care, as all isa and ro m cycles are decoded subtractively. 00 = default sample (4th clock from frame# active) 01 = slow sample (3rd clock from frame# active) 1x = no subtractive decode 0 f0 pci configuration trap: 0 = disable; 1 = enable. if this bit is enabled and an access is attempted to any of t he f0 pci header registers except f0 index 40h-43h, an smi is generated instead. top level smi status is reported at f1bar+memory offset 00h/02h[9]. second level smi status is reported at f1bar+memory offset 04h/06h[5]. index 42h pci function control register 3 (r/w) reset value = ach 7 usb smi i/o configuration: route usb-generated smi to smi# pin. 0 = disable; 1 = enable, usb-generated smi pulls smi# pin active (low). 6 usb smi power mgmnt configuration: route usb-generated smi to top level smi status register, f1bar+memory offset 00h/02h[14]. 0 = disable; 1 = enable. 5 delayed transactions: allow delayed transactions on the pci bus. 0 = disable; 1 = enable. also see f0 index 43h[1]. 4 dma priority: allow usb dma to have priority over other dma requests. 0 = disable; 1 = enable. 3 no x-bus arb, buffer enable: when the CS5530A is a pci target, allow buff ering of pci transactions without x-bus arbitration. 0 = disable; 1 = enable. 2 hold_req# (pin h26): hold_req# signal (pin h26). 0 = disable; 1 = enable. note: although the hold_req# signal function is no longer applicable, this bit must remain at its reset value (i.e., enabled, set to 1) for non-preemptive arbitration to operate correctly. 1 f4 video configuration trap: 0 = disable; 1 = enable. if this bit is enabled and an access is attempted to one of the f4 pci header registers, an smi is generated instead. top level smi status is reported at f1bar+memory offset 00h/02h[9]. second level smi status is reported at f1bar+memory offset 04h/06h[5]. 0 f3 audio configuration trap: 0 = disable; 1 = enable. if this bit is enabled and an access is attempted to one of the f3 pci header registers, an smi is generated instead. top level smi status is reported at f1bar+memory offset 00h/02h[9]. second level smi status is reported at f1bar+memory offset 04h/06h[5]. index 43h usb shadow register (r/w) reset value = 03h 7 reserved: set to 0. table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
158 amd geode? CS5530A companion device data book register descriptions revision 1.1 6 enable sa20: pin ad22 configuration. 0 = gpio4; 1 = sa20. if bi t 6 or bit 2 is set to 1, then pin ad22 = sa20. 5 legacy cycles assert hold_req#: allow legacy cycles to cause hold_req# to be asserted. 0 = disable; 1 = enable. note: the hold_req# signal function is no lon ger applicable, this bit must remain at its reset value (i.e., disable). 4 read cycles assert hold_req#: allow read cycles to cause hold_req# to be asserted. 0 = disable; 1 = enable. note: the hold_req# signal function is no lon ger applicable, this bit must remain at its reset value (i.e., disable). 3 any cycle asserts hold_req#: allow any cycle to cause hold_req# to be asserted. 0 = disable; 1 = enable. note: the hold_req# signal function is no lon ger applicable, this bit must remain at its reset value (i.e., disable). 2 enable sa[23:20]: pins af23, ae23, ac21, and ad22 configuration. 0 = gpio[7:4]; 1 = sa[23:20]. if f0 index 43h bit 6 or bit 2 is set to 1, then pin ad22 = sa20. 1 pci retry cycles: when the CS5530A is a pci target and the pci buffer is not empty, allow the pci bus to retry cycles. 0 = disable; 1 = enable. this bit works in conjunction with pci bus delayed transacti ons bit. f0 index 42h[5] must = 1 for this bit to be valid. 0 usb core: 0 = disable; 1 = enable. index 44h reset control register (r/w) reset value = 01h 7 isa mode: this bit is set to read back the strap va lue of the intr pin (pin p26) during por. 0 = isa limited; 1 = isa master. this bit can be written after por# deasserts to change the i sa mode selected. however, writing to this bit is not recom- mended due to the actual strapping done on the board. 6 idsel mode: this bit is set to read back the strap val ue of the hold_req# pin (pin h26) during por. 0 = ad28 is idsel for chipset register spac e and ad29 is idsel for usb register space; 1 = ad26 is idsel for chipset register spac e and ad27 is idsel for usb register space. this bit can be written after por# deasserts to change the id sel settings. however, writing to this bit is not recommended due to the actual strapping done on the board. 5:4 clock 32k control: controls the source of the clk_32k pin (ae3). 00 = clk_32k is internally derived from clk_14mhz (pin p24) and is not output on pin ae3 ( default ) 01 = clk_32k is internally derived from clk_14mhz (pin p24) and is output on pin ae3 10 = clk_32k is an input 11 = invalid 3 ide controller reset: reset both of the CS5530A ide controllers? internal state machines. 0 = run; 1 = reset. this bit is level-sensitive and must be ex plicitly cleared to 0 to remove the reset. 2 ide reset: reset ide bus. 0 = deassert ide bus reset signal; 1 = assert ide bus reset signal. this bit is level-sensitive and must be ex plicitly cleared to 0 to remove the reset. 1 pci reset: reset pci bus. 0 = disable; 1 = enable. when set, the CS5530A pci_rst# output signal (pin c14) is asserted and all devices on the pci bus including pciusb are reset. no other function within the CS5530A is affected by this bit. it does not reset pci registers. write 0 to clear. this bit is level-sensitive and must be cleared after the reset is enabled. 0 x-bus warm start: reading and writing this bit has two different meanings/functions. reading this bit: has a warm start occurred since power-up? 0 = yes; 1 = no writing this bit: 0 = nop; 1 = execute system wide re set (used only for clock configuration at power-up). note: x-bus warm start will toggle the cpu_rst and pci_rst# lines. index 45h-4fh reserved reset value = 00h index 50h pit control/isa clk divider (r/w) reset value = 7bh 7 pit software reset: 0 = disable; 1 = enable. 6 pit counter 1: 0 = forces counter 1 output (out1) to zero; 1 = allows counter 1 output (out1) to pass to i/o port 061h[4]. 5 pit counter 1 enable: 0 = sets gate1 input low; 1 = sets gate1 input high. 4 pit counter 0: 0 = forces counter 0 output (out0) to zero; 1 = allows counter 0 output (out0) to pass to irq0. 3 pit counter 0 enable: 0 = sets gate0 input low; 1 = sets gate0 input high. table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
amd geode? CS5530A companion device data book 159 register descriptions revision 1.1 2:0 isa clock divisor: determines the divisor of the pci clock used to ma ke the isa clock, which is typically programmed for approximately 8 mhz. 000 = reserved 100 = divide by five 001 = divide by two 101 = divide by six 010 = divide by three 110 = divide by seven 011 = divide by four 111 = divide by eight if 25 mhz pci clock, use setting of 010 (divide by 3). if 30 or 33 mhz pci clock, use a setting of 011 (divide by 4). index 51h isa i/o recovery control register (r/w) reset value = 40h 7:4 8-bit i/o recovery: these bits determine the number of isa bus cloc ks between back-to-back 8-bit i/o read cycles. this count is in addition to a preset one-cl ock delay built into the controller. 0000 = 1 isa clock 0100 = 5 isa clocks 1000 = 9 isa clocks 1100 = 13 isa clocks 0001 = 2 isa clocks 0101 = 6 isa clocks 1001 = 10 isa clocks 1101 = 14 isa clocks 0010 = 3 isa clocks 0110 = 7 isa clocks 1010 = 11 isa clocks 1110 = 15 isa clocks 0011 = 4 isa clocks 0111 = 8 isa clocks 1011 = 12 isa clocks 1111 = 16 isa clocks 3:0 16-bit i/o recovery: these bits determine the number of isa bus cl ocks between back-to-back 16-bit i/o cycles. this count is in addition to a preset one-cl ock delay built into the controller. 0000 = 1 isa clock 0100 = 5 isa clocks 1000 = 9 isa clocks 1100 = 13 isa clocks 0001 = 2 isa clocks 0101 = 6 isa clocks 1001 = 10 isa clocks 1101 = 14 isa clocks 0010 = 3 isa clocks 0110 = 7 isa clocks 1010 = 11 isa clocks 1110 = 15 isa clocks 0011 = 4 isa clocks 0111 = 8 isa clocks 1011 = 12 isa clocks 1111 = 16 isa clocks index 52h rom/at logic control register (r/w) reset value = f8h 7 snoop fast keyboard gate a20 and fast reset: enables the snoop logic associated with keyboard commands for a20 mask and reset. 0 = disable; 1 = enable (snooping). if disabled, the keyboard controller handles the commands. 6 game port gport_cs# on writes: allow gport_cs# to be asserted for writes to the game port (i/o port 200h and 201h). 0 = disable; 1 = enable. 5 game port gport_cs# on reads: allow gport_cs# to be asserted for reads to the game port (i/o port 200h and 201h). 0 = disable; 1 = enable. 4 enable a20m# deassertion on warm reset: force a20m# high during a warm re set (guarantees that a20m# is deas- serted regardless of the state of a20). 0 = disable; 1 = enable. 3 enable i/o port 092h decode (port a): i/o port 092h decode and the logical functions. 0 = disable; 1 = enable. 2 upper rom address range: kbromcs# is asserted for isa memory read accesses. 0 = fffc0000h-ffffffffh (256 kb, default ); 1 = ff000000h-ffffffffh (16 mb) note: pci positive decoding for the rom space is enabled at f0 index 5bh[5]). 1 rom write enable: assert kbromcs# during writes to config ured rom space (configured in bits 2 and 0), allowing flash programming. 0 = disable; 1 = enable. 0 lower rom address range: kbromcs# is asserted for isa memory read accesses. 0 = 000f0000h-000fffffh (64 kb, default ); 1 = 000e0000h-000fffffh (128 kb). note: pci positive decoding for the rom space is enabled at f0 index 5bh[5]). index 53h alternate cpu support register (r/w) reset value = 00h 7 reserved: set to 0. 6 game port write blocks isa: block isa cycle on game port (i/o port 200h and 201h) write. 0 = disable; 1 = enable. 5 bidirectional smi enable: 0 = disable; 1 = enable. this bit must be set to 0. 4 game port read block isa: block isa cycle on game port (i/o port 200h and 201h) read. 0 = disable; 1 = enable. 3 game port write smi: allow smi generation on writes to game port (i/o port 200h and 201h). 0 = disable; 1 = enable. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 84h/f4h[4]. for ?game port read smi?, see f0 index 83h[4]. 2 rtc enable/rtc pin configuration: 0 = smemw# (pin af3) and smemr# (pin ad4), rtc decode disabled; 1 = rtccs# (pin af3) and rtcale (pin ad4), rtc decode enabled. note: the rtc index shadow register (f0 index bbh) is independent of the setting of this bit. 1 reserved: set to 1 after register reset. failure to do this leaves irq13 in an unsupported mode. table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
160 amd geode? CS5530A companion device data book register descriptions revision 1.1 0 generate smi on a20m# toggle: 0 = disable; 1 = enable. this bit must be set to 1. smi status is reported in f1bar+memory offset 00h/02h[7] (only). index 54h-59h reserved reset value = xxh index 5ah decode control register 1 (r/w) reset value = 03h 7 secondary floppy positive decode: selects pci positive or subtractiv e decoding for accesses to i/o port 372h, 373h, 375h, and 377h. 0 = subtractive; 1 = positive. 6 primary floppy positive decode: selects pci positive or subtractive decoding for accesses to i/o port 3f2h, 3f4h, 3f5h, and 3f7h. 0 = subtractive; 1 = positive. 5 com4 positive decode: selects pci positive or subtractive dec oding for accesses to i/o port 2e8h-2efh. 0 = subtractive; 1 = positive. 4 com3 positive decode: selects pci positive or subtractive dec oding for accesses to i/o port 3e8h-3efh. 0 = subtractive; 1 = positive. 3 com2 positive decode: selects pci positive or subtractive decoding for accesses to i/o port 2f8h-2ffh. 0 = subtractive; 1 = positive. 2 com1 positive decode: selects pci positive or subtractive decoding for accesses to i/o port 3f8h-3ffh. 0 = subtractive; 1 = positive. 1 keyboard controller positive decode: selects pci positive or subtractive decoding for accesses to i/o port 060h and 064h (and 062h/066h if enabled). 0 = subtractive; 1 = positive. 0 real time clock positive decode: selects pci positive or subtractive decoding for accesses to i/o port 070h-7fh. 0 = subtractive; 1 = positive. note: positive decoding by the CS5530A speeds up the i/o cycle time. these i/o ports do not exist in the CS5530A. it is assumed that if positive decode is enabled, the port exists on the isa bus. index 5bh decode control register 2 (r/w) reset value = 20h 7 keyboard i/o port 062h/066h decode: this alternate port to the keyboard contro ller is provided in support of the 8051sl notebook keyboard controller mailbox . 0 = disable; 1 = enable. 6 reserved: set to 0. 5 bios rom positive decode: selects pci positive or subtractive decodi ng for accesses to the configured rom space. 0 = subtractive; 1 = positive. rom configuration is at f0 index 52h[2:0]. 4 secondary ide controller positive decode: selects pci positive or subtractive decoding for accesses to i/o port 170h- 177h and 376h. 0 = subtractive; 1 = positive. note: subtractive decode mode disables this ide controller entir ely and routes any register references to the isa bus. 3 primary ide controller positive decode: selects pci positive or subtractive dec oding for accesses to i/o port 1f0h-1f7h and 3f6h. 0 = subtractive; 1 = positive. note: subtractive decode mode disables this ide controller entir ely and routes any register references to the isa bus. 2 lpt3 positive decode: selects pci positive or subtractive dec oding for accesses to i/o port 278h-27fh. 0 = subtractive; 1 = positive. this bit does not affect 7bch-7beh, wh ich is always decoded subtractively. 1 lpt2 positive decode: selects pci positive or subtractive dec oding for accesses to i/o port 378h-37fh. 0 = subtractive; 1 = positive. this bit does not affect 678h-67ah, which is always decoded subtractively. 0 lpt1 positive decode: selects pci positive or subtractive decodi ng for accesses to i/o port 3bch-3bfh. 0 = subtractive; 1 = positive. this bit does not affect 778h-77ah, which is always decoded subtractively. note: positive decoding by the CS5530A speeds up the i/o cycle time. the keyboard, lpt3, lpt2, and lpt1 i/o ports do not exist in the CS5530A. it is assumed that if positive dec ode is enabled, the port exists on the isa bus. index 5ch pci interrupt steering register 1 (r/w) reset value = 00h 7:4 intb# target interrupt: selects target interrupt for intb#. 0000 = disable 0100 = irq4 1000 = rsvd 1100 = irq12 0001 = irq1 0101 = irq5 1001 = irq9 1101 = rsvd 0010 = rsvd 0110 = irq6 1010 = irq10 1110 = irq14 0011 = irq3 0111 = irq7 1011 = irq11 1111 = irq15 table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
amd geode? CS5530A companion device data book 161 register descriptions revision 1.1 3:0 inta# target interrupt: selects target interrupt for inta#. 0000 = disable 0100 = irq4 1000 = rsvd ? 1100 = irq12 0001 = irq1 0101 = irq5 1001 = irq9 1101 = rsvd 0010 = rsvd 0110 = irq6 1010 = irq10 1110 = irq14 0011 = irq3 0111 = irq7 1011 = irq11 1111 = irq15 note: the target interrupt must first be configur ed as level sensitive via i/o port 4d0h and 4d1h in order to maintain pci interrupt compatibility. index 5dh pci interrupt steering register 2 (r/w) reset value = 00h 7:4 intd# target interrupt: selects target interrupt for intd#. 0000 = disable 0100 = irq4 1000 = rsvd 1100 = irq12 0001 = irq1 0101 = irq5 1001 = irq9 1101 = rsvd 0010 = rsvd 0110 = irq6 1010 = irq10 1110 = irq14 0011 = irq3 0111 = irq7 1011 = irq11 1111 = irq15 3:0 intc# target interrupt: selects target interrupt for intc#. 0000 = disable 0100 = irq4 1000 = rsvd 1100 = irq12 0001 = irq1 0101 = irq5 1001 = irq9 1101 = rsvd 0010 = rsvd 0110 = irq6 1010 = irq10 1110 = irq14 0011 = irq3 0111 = irq7 1011 = irq11 1111 = irq15 note: the target interrupt must first be configur ed as level sensitive via i/o port 4d0h and 4d1h in order to maintain pci interrupt compatibility. index 5eh-6fh reserved reset value = xxh index 70h-71h general purpose chip select base address register (r/w) reset value = 0000h 15:0 general purpose chip select i/o base address: this 16-bit value represents the i/o base address used to enable the assertion of the gpcs# signal. this register, together with general purpose chip select control register (f0 index 72h) is used to configure the operation of the gpcs# pin. index 72h general purpose chip select control register (r/w) reset value = 00h 7 general purpose chip select: gpcs# (pin af26). 0 = disable; 1 = enable. if the gpcs# signal is disabled (i.e., this bi t = 0) its output is permanently driven high. 6 writes result in chip select: writes to configured i/o address (base addr ess configured in f0 index 70h and range con- figured in bits [4:0]) causes gpcs# signal to be asserted. 0 = disable; 1 = enable. 5 reads result in chip select: reads from configured i/o address (base address configured in f0 index 70h and range configured in bits [4:0]) c auses gpcs# signal to be asserted. 0 = disable; 1 = enable. 4:0 general purpose chip select i/o address range: this 5-bit field selects the range of gpcs# signal. 00000 = 1 byte 01111 = 16 bytes 00001 = 2 bytes 11111 = 32 bytes 00011 = 4 bytes all other combinations are reserved. 00111 = 8 bytes note: this register, together with general purpose chip select base address register (f0 index 70h) is used to configure the opera- tion of the gpcs# pin. index 73h-7fh reserved reset value = xxh index 80h power management enable register 1 (r/w) reset value = 00h 7:6 reserved: set to 0. 5 codec sdata_in smi: allow ac97 codec to generate an smi due to codec producing a positive edge on sdata_in. 0 = disable; 1 = enable. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 87h/f7h[2]. 4 video speedup: any video activity, as decoded from the serial connecti on (pserial register, bit 0) from the gx1 proces- sor disables clock throttling (via susp#/suspa# handshake) fo r a configurable duration when the system is power man- aged using cpu suspend modulation. 0 = disable; 1 = enable. the duration of the speedup is configured in the video spe edup timer count register (f0 index 8dh). detection of an external vga access (3bxh, 3cxh, 3dxh and a000h-b7ffh) on the pci bus is also supported. this configuration is non- standard, but it does allow the power management routines to support an external vga chip. table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
162 amd geode? CS5530A companion device data book register descriptions revision 1.1 3 irq speedup: any unmasked irq (per i/o port 021h/0a1h) or sm i disables clock throttling (via susp#/suspa# hand- shake) for a configurable duration when the sy stem is power managed using cpu suspend modulation. 0 = disable; 1 = enable. the duration of the speedup is configured in the irq speedup timer count register (f0 index 8ch). 2 traps: globally enable all power management devi ce i/o traps. 0 = disable; 1 = enable. this excludes the audio i/o traps. they are enabled at f3bar+memory offset 18h. 1 idle timers: globally enable all power management device idle timers. 0 = disable; 1 = enable. note, disable at this level does not reload the timers on the enable. the timers are disabled at their current counts. this bit has no effect on the suspend modulation off/on time rs (f0 index 94h/95h), nor on the general purpose (udefx) timers (f0 index 88h-8bh). this bit must be set for the co mmand to trigger the susp#/suspa# feature to function (see f0 index aeh). 0 power management: global power management. 0 = disable; 1 = enabled. this bit must be set (1) immediately after post for some po wer management resources to func tion. until this is done, the command to trigger the susp#/suspa# feature is disabled (see f0 index aeh) and all smi# trigger events listed for f0 index 84h-87h are disabled. a ?0? in this bit does not stop the id le timers if bit 1 of this register is a ?1?, but only pre vents them from generating an smi# interrupt. it also has no effect on the udef traps. index 81h power management enable register 2 (r/w) reset value = 00h 7 video access idle timer enable: load timer from video idle timer count register (f0 index a6h) and generate an smi when the timer expires. 0 = disable; 1 = enable. if an access occurs in the video address range (sets bit 0 of the gx1 processor?s pserial register) the timer is reloaded with the programmed count. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[7]. 6 user defined device 3 (udef3) idle timer enable: load timer from udef3 idle timer count register (f0 index a4h) and generate an smi when the timer expires. 0 = disable; 1 = enable. if an access occurs in the programmed address range the timer is reloaded with the programmed count. udef3 address programming is at f0 index c8h ( base address register) and ceh (control register). top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[6]. 5 user defined device 2 (udef2) idle timer enable: load timer from udef2 idle timer count register (f0 index a2h) and generate an smi when the timer expires. 0 = disable; 1 = enable. if an access occurs in the programmed address range the timer is reloaded with the programmed count. udef2 address programming is at f0 index c4h ( base address register) and cdh (control register). top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[5]. 4 user defined device 1 (udef1) idle timer enable: load timer from udef1 idle timer count register (f0 index a0h) and generate an smi when the timer expires. 0 = disable; 1 = enable. if an access occurs in the programmed address range the timer is reloaded with the programmed count. udef1 address programming is at f0 index c0h ( base address register) and cch (control register). top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[4]. 3 keyboard/mouse idle timer enable: load timer from keyboard/mouse idle timer count register (f0 index 9eh) and gen- erate an smi when the timer expires. 0 = disable; 1 = enable. if an access occurs in the address ranges (listed bel ow) the timer is reloaded with the programmed count. keyboard controller: i/o ports 060h/064h com1: i/o port 3f8h-3ffh (if f0 index 93h[1:0] = 10 this range is included) com2: i/o port 2f8h-2ffh (if f0 index 93h[1:0] = 11 this range is included) top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[3]. table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
amd geode? CS5530A companion device data book 163 register descriptions revision 1.1 2 parallel/serial idle timer enable: load timer from parallel/serial port idle timer count register (f0 index 9ch) and gen- erate an smi when the timer expires. 0 = disable; 1 = enable. if an access occurs in the address ranges (listed bel ow) the timer is reloaded with the programmed count. lpt1: i/o port 378h-37fh, 778h-77ah lpt2: i/o port 278h-27fh, 678h-67ah com1: i/o port 3f8h-3ffh (if f0 index 93h[1:0] = 10 this range is excluded) com2: i/o port 2f8h-2ffh (if f0 index 93h[1:0] = 11 this range is excluded) com3: i/o port 3e8h-3efh com4: i/o port 2e8h-2efh top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[2]. 1 floppy disk idle timer enable: load timer from floppy disk idle timer count register (f0 index 9ah) and generate an smi when the timer expires. 0 = disable; 1 = enable. if an access occurs in the address ranges (listed bel ow) the timer is reloaded with the programmed count. primary floppy disk: i/o port 3f2h, 3f4h, 3f5h, and 3f7 secondary floppy disk: i/o port 372h, 373h, 375h, and 377h top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[1]. 0 primary hard disk idle timer enable: load timer from primary hard disk idle timer count register (f0 index 98h) and generate an smi when the timer expires. 0 = disable; 1 = enable. if an access occurs in the address ranges selected in f0 index 93h[5], the timer is reloaded with the programmed count. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[0]. index 82h power management enable register 3 (r/w) reset value = 00h 7 video access trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs in the video address range (sets bit 0 of the gx1 processor?s pserial register) an smi is generated. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 86h/f6h[7]. 6 user defined device 3 (udef3) trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs in the pr ogrammed address range an smi is generated. udef3 address programming is at f0 index c8h (base addr ess register) and ce h (control register). top level smi status is reported at f1bar+memory offset 00h/02h[9]. second level smi status is reported at f1bar+memory offset 04h/06h[4]. 5 user defined device 2 (udef2) trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs in the pr ogrammed address range an smi is generated. udef2 address programming is at f0 index c4h (base addre ss register) and cdh (control register). top level smi status is reported at f1bar+memory offset 00h/02h[9]. second level smi status is reported at f1bar+memory offset 04h/06h[3]. 4 user defined device 1 (udef1) trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs in the pr ogrammed address range an smi is generated. udef1 address programming is at f0 index c0h (base addre ss register), and cch (control register). top level smi status is reported at f1bar+memory offset 00h/02h[9]. second level smi status is reported at f1bar+memory offset 04h/06h[2]. 3 keyboard/mouse trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs in the address ranges (listed below) an smi is generated. keyboard controller: i/o ports 060h/064h com1: i/o port 3f8h-3ffh (if f0 index 93h[1:0] = 10 this range is included) com2: i/o port 2f8h-2ffh (if f0 index 93h[1:0] = 11 this range is included) top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 86h/f6h[3]. table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
164 amd geode? CS5530A companion device data book register descriptions revision 1.1 2 parallel/serial trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs in the address ranges (listed below) an smi is generated. lpt1: i/o port 378h-37fh, 778h-77ah lpt2: i/o port 278h-27fh, 678h-67ah com1: i/o port 3f8h-3ffh (if f0 index 93h[1:0] = 10 this range is excluded) com2: i/o port 2f8h-2ffh (if f0 index 93h[1:0] = 11 this range is excluded) com3: i/o port 3e8h-3efh com4: i/o port 2e8h-2efh top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 86h/f6h[2]. 1 floppy disk trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs in t he address ranges (listed below) an smi is generated. primary floppy disk: i/o port 3f2h, 3f4h, 3f5h, or 3f7 secondary floppy disk: i/o port 372h, 373h, 375h, or 377h top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 86h/f6h[1]. 0 primary hard disk trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs in the address ranges selected in f0 index 93h[5], an smi is generated. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 86h/f6h[0]. index 83h power management enable register 4 (r/w) reset value = 00h 7 secondary hard disk idle timer enable: load timer from secondary hard disk idle timer count register (f0 index ach) and generate an smi when the timer expires. 0 = disable; 1 = enable. if an access occurs in the address ranges selected in f0 index 93h[4], the timer is reloaded with the programmed count. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 86h/f6h[4]. 6 secondary hard disk trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs in the address ranges selected in f0 index 93h[4], an smi is generated. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 86h/f6h[5]. 5 acpi timer smi: allow smi generation for msb toggles on the acpi timer (f1bar+memory offset 1ch or i/o port 121ch). 0 = disable; 1 = enable. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 87h/f7h[0]. 4 game port read smi: allow smi generation on reads to game port (i/o port 200h and 201h). 0 = disable; 1 = enable. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 84h/f4h[4]. for ?game port write smi? see f0 index 53h[3]. 3 vga timer enable: turn on vga timer and generate an smi when the timer reaches 0. 0 = disable; 1 = enable. vga timer programming is at f0 index 8eh and f0 index 8bh[6]. to reload the count in the vga timer, disable it, optionally change the count value in f0 index 8eh[7:0], and reenable it before enabling power management. smi status reporting is at f1bar+memory offset 00h/02h[6] (only). although grouped with the power management idle timers, the vga timer is not a power management function. the vga timer counts whether power management is enabled or disabled. 2 video retrace interrupt smi: allow smi generation whenever video retrace occurs. 0 = disable; 1 = enable. this information is decoded from the serial connection (pserial register, bit 7) from the gx1 processor. this function is normally not used for power management but for softvga routines. smi status reporting is at f1bar+memory offset 00h/02h[5] (only). 1 general purpose timer 2 (gp timer 2) enable: turn on gp timer 2 and generate an smi when the timer expires. 0 = disable; 1 = enable. this idle timer is reloaded from the as sertion of gpio7 (if programmed to do so). gp timer 2 programming is at f0 index 8ah and 8bh[5,3,2]. top level smi status is reported at f1bar+memory offset 00h/02h[9]. second level smi status is reported at f1bar+memory offset 04h/06h[1]. table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
amd geode? CS5530A companion device data book 165 register descriptions revision 1.1 0 general purpose timer 1 (gp timer 1) enable: turn on gp timer 1 and generate an smi when the timer expires. 0 = disable; 1 = enable. this idle timer?s load is multi-sourced and is reloaded any time an enabled event (f0 index 89h[6:0]) occurs. gp timer 1 programming is at f0 index 88h and 8bh[4]. top level smi status is reported at f1bar+memory offset 00h/02h[9]. second level smi status is reported at f1bar+memory offset 04h/06h[0] index 84h second level power management status mirror register 1 (ro) reset value = 00h 7:5 reserved 4 game port smi status (read only): smi was caused by r/w access to game port (i/o port 200h and 201h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. game port read smi generation enabling is at f0 index 83h[4]. game port write smi generation enabling is at f0 index 53h[3]. 3 gpio7 smi status (read only): smi was caused by transition on (properly-confi gured) gpio7 pin? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 97h[3]. 2 gpio5 smi status (read only): smi was caused by transition on (properly-confi gured) gpio5 pin? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 97h[2]. 1 gpio4 smi status (read only): smi was caused by transition on (properly-confi gured) gpio4 pin? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 97h[1]. 0 gpio3 smi status (read only): smi was caused by transition on (properly-confi gured) gpio3 pin? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 97h[0]. note: properly-configured means that the gpio pi n must be enabled as a gpio (if multiple xed pin), as an input, and to cause an smi. this register provides status on various power management smi ev ents to the smi handler. it is ca lled a mirror register since a n identical register exists at f0 index f 4h. reading this register does not clear th e status, while reading its counterpart at f0 index f4h does clear the status. index 85h second level power management status mirror register 2 (ro) reset value = 00h 7 video idle timer smi status (read only): smi was caused by expiration of the video idle timer count register (f0 index a6h)? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[7]. 6 user defined device 3 (udef3) idle timer smi status (read only): smi was caused by expiration of the udef3 idle timer count register (f0 index a4h)? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[6]. 5 user defined device 2 (udef2) idle timer smi status (read only): smi was caused by expiration of the udef2 idle timer count register (f0 index a2h)? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[5]. 4 user defined device 1 (udef1) idle timer smi status (read only): smi was caused by expiration of the udef1 idle timer count register (f0 index a0h)? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[4]. 3 keyboard/mouse idle timer smi status (read only): smi was caused by expiration of the keyboard/mouse idle timer count register (f0 index 9eh)? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[3]. table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
166 amd geode? CS5530A companion device data book register descriptions revision 1.1 2 parallel/serial idle timer smi status (read only): smi was caused by expiration of the parallel/serial port idle timer count register (f0 index 9ch)? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[2]. 1 floppy disk idle timer smi status (read only): smi was caused by expiration of t he floppy disk idle timer count reg- ister (f0 index 9ah)? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[1]. 0 primary hard disk idle timer smi status (read only): smi was caused by expiration of t he primary hard disk idle timer count register (f0 index 98h)? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[0]. note: this register provides status on the device idle timers to t he smi handler. a bit set here indicates that the device was idle f or the duration configured in the idle timer count register for that device, causing an smi. it is ca lled a mirror register since an i dentical register exists at f0 index f5h. reading this register does not clear the status, while reading its counterpart at f0 index f5h does clear the status. index 86h second level power management status mirror register 3 (ro) reset value = 00h 7 video access trap smi status (read only): smi was caused by a trapped i/o access to the video i/o trap? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 82h[7]. 6 reserved (read only) 5 secondary hard disk access trap smi status (read only): smi was caused by a trapped i/o access to the secondary hard disk? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 83h[6]. 4 secondary hard disk idle timer smi status (read only): smi was caused by expiration of hard disk idle timer count register (f0 index ach)? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 83h[7]. 3 keyboard/mouse access trap smi status (read only): smi was caused by a trapped i/o access to the keyboard or mouse? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 82h[3]. 2 parallel/serial access trap smi status (read only): smi was caused by a trapped i/o access to either the serial or parallel ports? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 82h[2]. 1 floppy disk access trap smi status (read only): smi was caused by a trapped i/o access to the floppy disk? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 82h[1]. 0 primary hard disk access trap smi status (read only): smi was caused by a trapped i/o access to the primary hard disk? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 82h[0]. note: this register provides status on the device traps to the sm i handler. a bit set here indicates that an access occurred to the device while the trap was enabled, causing an smi. it is called a mirror register sinc e an identical register exists at f0 inde x f6h. reading this register does not clear the status, while reading its counterpa rt at f0 index f6h does clear the status. index 87h second level power management status mirror register 4 (ro) reset value = 00h 7 gpio2 smi status (read only): smi was caused by transition on (proper ly-configured) gpio2 pin? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 92h[2]. table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
amd geode? CS5530A companion device data book 167 register descriptions revision 1.1 6 gpio1 smi status (read only): smi was caused by transition on (proper ly-configured) gpio1 pin? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 92h[1]. 5 gpio0 smi status (read only): smi was caused by transition on (proper ly-configured) gpio0 pin? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 92h[0]. 4 lid position (read only): this bit maintains the current status of the lid position. if the gpio6 pin is configured as the lid switch indicator, this bit reflects the state of the pin. 3 lid switch smi status (read only): smi was caused by a transition on the gpio6 (lid switch) pin? 0 = no; 1 = yes. for this to happen, the gpio6 pin must be configured both as an input (f0 index 90h[6] = 0) and as the lid switch (f0 index 92h[6] =1). 2 codec sdata_in smi status (read only): smi was caused by ac97 codec producing a positive edge on sdata_in? 0 = no; 1 = yes. this is the second level of status is reporting. the top level status is reported at f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 80h[5]. 1 rtc alarm (irq8) smi status (read only): smi was caused by an rtc interrupt? 0 = no; 1 = yes. this smi event can only occur while in 3v suspend and an rtc interrupt occurs. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. 0 acpi timer smi status (read only): smi was caused by an acpi timer msb toggle? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[0]. smi generation configuration is at f0 index 83h[5]. note: properly-configured means that the gpio pi n must be enabled as a gpio (if multip lexed pin), an input, and to cause an smi. this register provides status on severa l miscellaneous power management events that generate smis, as well as the status of the lid switch. it is called a mirror regist er since an identical register exists at f0 index f7h. reading this register does n ot clear the status, while reading its counterpart at f0 index f7h does clear the status. index 88h general purpose timer 1 count register (r/w) reset value = 00h 7:0 general purpose timer 1 count: this register holds the load value for gp ti mer 1. this value can represent either an 8- bit or 16-bit timer (selected at f0 inde x 8bh[4]). it is loaded into the timer when the timer is enabled (f0 index 83h[0] =1). once enabled, an enabled event (configured in f0 index 89h[6:0]) reloads the timer. the timer is decremented with each clock of the configured ti mebase. upon expiration of the timer, an smi is generated and the top level smi status is reported at f1bar+memory offs et 00h/02h[9]. the second level smi status is reported at f1bar+memory offset 04h/06h[0]). once expired, this timer must be re-i nitialized by either disabling and enabli ng it, or writing a new count value here. this timer?s timebase can be configured as 1 msec or 1 sec at f0 index 89h[7]. index 89h general purpose timer 1 control register (r/w) reset value = 00h 7 timebase for general purpose timer 1: selects timebase for gp timer 1 (f0 index 88h). 0 = 1 sec; 1 = 1 msec. 6 re-trigger general purpose timer 1 on user defined device 3 (udef3) activity: 0 = disable; 1 = enable. any access to the configured (mem ory or i/o) address range for udef3 re loads gp timer 1. udef3 address programming is at f0 index c8h (base addr ess register) and ce h (control register). 5 re-trigger general purpose timer 1 on user defined device 2 (udef2) activity: 0 = disable; 1 = enable. any access to the configured (mem ory or i/o) address range for udef2 re loads gp timer 1. udef2 address programming is at f0 index c4h (base addre ss register) and cdh (control register). 4 re-trigger general purpose timer 1 on user defined device 1 (udef1) activity: 0 = disable; 1 = enable. any access to the configured (mem ory or i/o) address range for udef1 re loads gp timer 1. udef1 address programming is at f0 index c0h (base addre ss register) and cch (control register) 3 re-trigger general purpose timer 1 on keyboard or mouse activity: 0 = disable; 1 = enable any access to the keyboard or mouse i/o addr ess range (listed below) reloads gp timer 1. keyboard controller: i/o ports 060h/064h com1: i/o port 3f8h-3ffh (if f0 index 93h[1:0] = 10 this range is included) com2: i/o port 2f8h-2ffh (if f0 index 93h[1:0] = 11 this range is included) table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
168 amd geode? CS5530A companion device data book register descriptions revision 1.1 2 re-trigger general purpose timer 1 on parallel/serial port activity: 0 = disable; 1 = enable. any access to the parallel or serial port i/o ad dress range (listed below) reloads the gp timer 1. lpt1: i/o port 378h-37fh, 778h-77ah lpt2: i/o port 278h-27fh, 678h-67ah com1: i/o port 3f8h-3ffh (if f0 index 93h[1:0] = 10 this range is excluded) com2: i/o port 2f8h-2ffh (if f0 index 93h[1:0] = 11 this range is excluded) com3: i/o port 3e8h-3efh com4: i/o port 2e8h-2efh 1 re-trigger general purpose timer 1 on floppy disk activity: 0 = disable; 1 = enable. any access to the floppy disk drive addre ss ranges (listed below) reloads gp timer 1. primary floppy disk: i/o port 3f2h, 3f4h, 3f5h, and 3f7 secondary floppy disk: i/o port 372h, 373h, 375h, and 377h the active floppy drive is configured via f0 index 93h[7]. 0 re-trigger general purpose timer 1 on primary hard disk activity: 0 = disable; 1 = enable. any access to the primary hard disk drive address range selected in f0 index 93h[5] reloads gp timer 1. index 8ah general purpose timer 2 count register (r/w) reset value = 00h 7:0 general purpose timer 2 count: this register holds the load value for gp ti mer 2. this value can represent either an 8- bit or 16-bit timer (configured in f0 index 8bh[5]). it is lo aded into the timer when the timer is enabled (f0 index 83h[1] = 1 ). once the timer is enabled and a transition occurs on gpio7, the timer is re-loaded. the timer is decremented with each clock of the configured ti mebase. upon expiration of the timer, an smi is generated and the top level of status is f1bar+memory offset 00h/02h[9] and the second level of status is reported in f1bar+memory offset 04h/06h[1]). once expired, this timer must be re-i nitialized by either disabling and enabli ng it, or writing a new count value here. for gpio7 to act as the reload for this timer, it must be ena bled as such (f0 index 8bh[2]) and be configured as an input (f0 index 90h[7]). this timer?s timebase can be configured as 1 msec or 1 sec in f0 index 8bh[3]. index 8bh general purpose timer 2 control register (r/w) reset value = 00h 7 re-trigger general purpose timer 1 on secondary hard disk activity: 0 = disable; 1 = enable. any access to the secondary hard disk drive address range selected in f0 index 93h[4] reloads gp timer 1. 6 vga timer base: selects timebase for vga timer register (f0 index 8eh). 0 = 1 ms; 1 = 32 s. 5 general purpose timer 2 shift: gp timer 2 is treated as an 8-bit or 16-bit timer. 0 = 8-bit; 1 = 16-bit. as an 8-bit timer, the count value is loaded into gp timer 2 count register (f0 index 8ah). as a 16-bit timer, the value loaded into gp timer 2 count regist er is shifted left by eight bi ts, the lower eight bits become zero, and this 16-bit value is used as the count for gp timer 2. 4 general purpose timer 1 shift: gp timer 1 is treated as an 8-bit or 16-bit timer. 0 = 8-bit; 1 = 16-bit. as an 8-bit timer, the count value is that loaded into gp timer 1 count register (f0 index 88h). as a 16-bit timer, the value loaded into gp timer 1 count regi ster is shifted left by eight bit, the lower eight bits become zero, and this 16-bit value is used as the count for gp timer 1. 3 timebase for general purpose timer 2: selects timebase for gp timer 2 (f0 index 8ah). 0 = 1 sec; 1 = 1 msec. 2 re-trigger general purpose timer 2 on gpio7 pin transition: a configured transition on the gpio7 pin reloads gp timer 2 (f0 index 8ah). 0 = disable; 1 = enable. f0 index 92h[7] selects whether a rising- or a falling-edge transit ion acts as a reload. for gpio7 to work here, it must first be configured as an input (f0 index 90h[7] = 0). 1:0 reserved: set to 0. index 8ch irq speedup timer count register (r/w) reset value = 00h 7:0 irq speedup timer count: this register holds the load value for the irq speedup timer. it is loaded into the timer when suspend modulation is enabled (f0 index 96h[0] = 1) and an intr or an access to i/o port 061h occurs. when the event occurs, the suspend modulation logic is inhibited, permitting full performance operation of the cpu. upon expiration, no smi is generated; the suspend modulation begins agai n. the irq speedup timer?s timebase is 1 ms. this speedup mechanism allows instantaneous response to system interrupts for full-speed interrupt processing. a typical value here would be 2 to 4 ms. table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
amd geode? CS5530A companion device data book 169 register descriptions revision 1.1 index 8dh video speedup timer count register (r/w) reset value = 00h 7:0 video speedup timer count: this register holds the load value for the video speedup timer. it is loaded into the timer when suspend modulation is enabled (f0 index 96h[0] = 1) and an y access to the graphics cont roller occurs. when a video access occurs, the suspend modulation logi c is inhibited, permitting full-performance operation of the cpu. upon expira- tion, no smi is generated; the suspend modulation begi ns again. the video speedup timer?s timebase is 1 ms. this speedup mechanism allows instantaneous response to video activity for fu ll speed during video processing calcula- tions. a typical value here would be 50 to 100 ms. index 8eh vga timer count register (r/w) reset value = 00h 7:0 vga timer load value: this register holds the load value for the vga timer. the value is loaded into the timer when the timer is enabled (f0 index 83h[3] = 1). the timer is decr emented with each clock of the configured timebase (f0 index 8bh[6]). upon expiration of the timer, an smi is generated and the status is reported in f1bar+memory offset 00h/02h[6] (only). once expired, th is timer must be re-initialized by disabling it (f0 index 83h[3] = 0) and then enabling it (f0 index 83h[3] = 1). when the count value is changed in this register, the timer must be re-initialized in order for the new value to b e loaded. this timer?s timebase is selectable as 1 ms (default) or 32 s. (f0 index 8bh). note: although grouped with the power management idle timers, the vga timer is not a power management function. it is not affected by the global power management enable setting at f0 index 80h[0]. index 8fh reserved reset value = xxh index 90h gpio pin direction register 1 (r/w) reset value = 00h 7 gpio7 direction: selects if gpio7 is an input or output. 0 = input; 1 = output. 6 gpio6 direction: selects if gpio6 is an input or output. 0 = input; 1 = output. 5 gpio5 direction: selects if gpio5 is an input or output. 0 = input; 1 = output. 4 gpio4 direction: selects if gpio4 is an input or output. 0 = input; 1 = output. 3 gpio3 direction: selects if gpio3 is an input or output. 0 = input; 1 = output. 2 gpio2 direction: selects if gpio2 is an input or output. 0 = input; 1 = output. 1 gpio1 direction: selects if gpio1 is an input or output. 0 = input; 1 = output. 0 gpio0 direction: selects if gpio0 is an input or output. 0 = input; 1 = output. note: several of these pins have specific alternate functions. the direction configured here must be co nsistent with the pins? use as the alternate function. index 91h gpio pin data register 1 (r/w) reset value = 00h 7 gpio7 data: reflects the level of gpio7. 0 = low; 1 = high. 6 gpio6 data: reflects the level of gpio6. 0 = low; 1 = high. 5 gpio5 data: reflects the level of gpio5. 0 = low; 1 = high. 4 gpio4 data: reflects the level of gpio4. 0 = low; 1 = high. 3 gpio3 data: reflects the level of gpio3. 0 = low; 1 = high. 2 gpio2 data: reflects the level of gpio2. 0 = low; 1 = high. 1 gpio1 data: reflects the level of gpio1. 0 = low; 1 = high. 0 gpio0 data: reflects the level of gpio0. 0 = low; 1 = high. note: this register contains the direct values of gpio[7:0] pins. write operations are va lid only for bits defined as output. reads f rom this register read the last written value if the pin is an out put. the pins are configured as inputs or outputs in f0 index 90h . index 92h gpio control register 1 (r/w) reset value = 00h 7 gpio7 edge sense for reload of general purpose timer 2: selects which edge transition of gpio7 causes gp timer 2 to reload. 0 = rising; 1 = falling (note 2). 6 gpio6 enabled as lid switch: allow gpio6 to act as the lid swit ch input. 0 = gpio6; 1 = lid switch. when enabled, every transition of th e gpio6 pin causes the lid switch status to toggle and generate an smi. the top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 87h/f7h[3]. if gpio6 is enabled as the lid switch, f0 index 87h/f7h[ 4] reports the current status of the lid?s position. 5 gpio2 edge sense for smi: selects which edge transition of the gpio2 pi n generates an smi. 0 = rising; 1 = falling. bit 2 must be set to enable this bit. table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
170 amd geode? CS5530A companion device data book register descriptions revision 1.1 4 gpio1 edge sense for smi: selects which edge transition of the gpio1 pi n generates an smi. 0 = rising; 1 = falling. bit 1 must be set to enable this bit. 3 gpio0 edge sense for smi: selects which edge transition of the gpio0 pi n generates an smi. 0 = rising; 1 = falling. bit 1 must be set to enable this bit. 2 enable gpio2 as an external smi source: allow gpio2 to be an external smi source and generate an smi on either a rising or falling edge transition (depends upon setting of bit 5). 0 = disable; 1 = enable (note 3). top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status reporting is at f0 index 87h/f7h[7]. 1 enable gpio1 as an external smi source: allow gpio1 to be an external smi source and generate an smi on either a rising- or falling-edge transiti on (depends upon setting of bit 4). 0 = disable; 1 = enable (note 3). top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status reporting is at f0 index 87h/f7h[6]. 0 enable gpio0 as an external smi source: allow gpio0 to be an external smi source and generate an smi on either a rising or falling edge transition (depends upon setting of bit 3). 0 = disable; 1 = enable (note 3) top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status reporting is at f0 index 87h/f7h[5]. notes: 1) for any of the above bits to function properly, the respec tive gpio pin must be configured as an input (f0 index 90h). 2) gpio7 can generate an smi (f0 index 97h[3]) or re-trigger general purpose timer 2 (f0 index 8bh[2]) or both. 3) if gpio[2:0] are enabled as external smi sources, they are the only gpios that can be used as smi sources to wake-up the system from suspend when the clocks are stopped. index 93h miscellaneous device control register (r/w) reset value = 00h 7 floppy drive port select: all system resources used to power manage the floppy drive use the primary or secondary fdc addresses for decode. 0 = primary; 1 = primary and secondary. 6 reserved: this bit must always be set to 1. 5 partial primary hard disk decode: this bit is used to restrict the addr esses which are decoded as primary hard disk accesses. 0 = power management monitors all reads and writes i/o port 1f0h-1f7h, 3f6h 1 = power management monitors only writes to i/o port 1f6h and 1f7h 4 partial secondary hard disk decode: this bit is used to restrict the addresses which are decoded as secondary hard disk accesses. 0 = power management monitors all reads and writes i/o port 170h-177h, 376h 1 = power management monitors only writes to i/o port 176h and 177h 3:2 reserved: set to 0. 1 mouse on serial enable: mouse is present on a serial port. 0 = no; 1 = yes. (note) 0 mouse port select: selects which serial port the mouse is attached to. 0 = com1; 1 = com2. (note) note: bits 1 and 0 - if a mouse is attached to a serial port (bit 1 = 1) , that port is removed from the serial device list being used to monitor serial port access for power management purposes and added to the keyboard/mouse decode. this is done because a mouse, along with the keyboard, is c onsidered an input device and is used only to determine when to blank the screen. these bits determine the decode used for t he keyboard/mouse idle timer count register (f0 index 9eh) as well as the parallel/ serial port idle timer count register (f0 index 9ch). index 94h suspend modulation off count register (r/w) reset value = 00h 7:0 suspend signal deasserted count: this 8-bit value represents the number of 32 s intervals that the susp# pin will be deasserted to the gx1 processor. this timer, together with the suspend modulation on count register (f0 index 95h), per- form the suspend modulation function for cpu power managemen t. the ratio of the on-to-off count sets up an effective (emulated) clock frequency, allowing the powe r manager to reduce cpu power consumption. this timer is prematurely reset if an enabled speedup event occurs. the speedup events are irq speedups and video speedups. index 95h suspend modulation on count register (r/w) reset value = 00h 7:0 suspend signal asserted count: this 8-bit value represents the number of 32 s intervals that the susp# pin will be asserted. this timer, together with the suspend modulation off count register (f0 inde x 94h), perform the suspend mod- ulation function for cpu power management. the ratio of the on -to-off count sets up an effective (emulated) clock fre- quency, allowing the power manager to reduce cpu power consumption. this timer is prematurely reset if an enabled speedup event occurs. the speedup events are irq speedups and video speedups. table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
amd geode? CS5530A companion device data book 171 register descriptions revision 1.1 index 96h suspend configuration register (r/w) reset value = 00h 7:5 reserved: set to 0. 4 power savings mode: 0 = enable; 1 = disable. 3 include isa clock in power savings mode: 0 = isa clock not included; 1 = isa clock included. 2 suspend mode configuration: ?special 3 volt suspend? mode to support powering down the gx1 processor during sus- pend. 0 = disable; 1 = enable. 1 smi speedup configuration: selects how suspend modulation f unction reacts when an smi occurs. 0 = use the irq speedup timer count register (f0 index 8ch) to temporarily disable suspend modulation when an smi occurs. 1 = disable suspend modulation when an smi occurs until a read to the smi speedup disable register (f1bar+memory offset 08h). the purpose of this bit is to disable suspend modulation wh ile the cpu is in the system management mode so that vsa technology and power management operations occur at full speed. two methods for accomplishing this are either to map the smi into the irq speedup timer count register (f0 index 8ch), or to have the smi disable suspend modulation until the smi handler reads the smi speedup disa ble register (f1bar+memory offset 08h) . the latter is the preferred method. the irq speedup method is provided for software compatibility with earlier revisions of the CS5530A. this bit has no effect if the suspend modulation featur e is disabled (bit 0 = 0). 0 suspend modulation feature: 0 = disable; 1 = enable. when enabled, the susp# pin will be asserted and deassert ed for the durations programmed in the suspend modulation off/on count registers (f0 index 94h/95h). index 97h gpio control register 2 (r/w) reset value = 00h 7 gpio7 edge sense for smi: selects which edge transition of the gpio7 pi n generates an smi. 0 = rising; 1 = falling. bit 3 must be set to enable this bit. 6 gpio5 edge sense for smi: selects which edge transition of the gpio5 pi n generates an smi. 0 = rising; 1 = falling. bit 2 must be set to enable this bit. 5 gpio4 edge sense for smi: selects which edge transition of the gpio4 pi n generates an smi. 0 = rising; 1 = falling. bit 1 must be set to enable this bit. 4 gpio3 edge sense for smi: selects which edge transition of the gpio3 pi n generates an smi. 0 = rising; 1 = falling. bit 0 must be set to enable this bit. 3 enable gpio7 as an external smi source: allow gpio7 to be an external smi source and to generate an smi on either a rising or falling edge transition (depends upon setti ng of bit 7). 0 = disable; 1 = enable. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status reporting is at f0 index 84h/f4h[3]. 2 enable gpio5 as an external smi source: allow gpio5 to be an external smi source and to generate an smi on either a rising or falling edge transition (depends upon setti ng of bit 6). 0 = disable; 1 = enable. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status reporting is at f0 index 84h/f4h[2]. 1 enable gpio4 as an external smi source: allow gpio4 to be an external smi source and to generate an smi on either a rising- or falling-edge transition (depends upon se tting of bit 5). 0 = disable; 1 = enable. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status reporting is at f0 index 84h/f4h[1]. 0 enable gpio3 as an external smi source: allow gpio3 to be an external smi source and to generate an smi on either a rising or falling edge transition (depends upon setti ng of bit 4) 0 = disable; 1 = enable. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status reporting is at f0 index 84h/f4h[0]. note: for any of the above bits to function properly, the respecti ve gpio pin must be configured as an input (f0 index 90h). table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
172 amd geode? CS5530A companion device data book register descriptions revision 1.1 index 98h-99h primary hard disk idle timer count register (r/w) reset value = 0000h 15:0 primary hard disk idle timer count: the idle timer loaded from this register is used to determine when the primary hard disk is not in use so that it can be powered down. the 16- bit value programmed here repres ents the period of primary hard disk inactivity after which the system is alerted via an smi. the timer is automat ically reloaded with the count value when- ever an access occurs to the configur ed primary hard disk?s data port (configured in f0 index 93h[5]). the timer uses a 1 second timebase. to enable this timer set f0 index 81h[0] = 1. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[0]. index 9ah-9bh floppy disk idle timer count register (r/w) reset value = 0000h 15:0 floppy disk idle timer count: the idle timer loaded from this register is used to determine when the floppy disk drive is not in use so that it can be powered down. the 16-bit val ue programmed here represents the period of floppy disk drive inactivity after which the system is al erted via an smi. the timer is automatically reloaded with the count value whenever an access occurs to any of i/o ports 3f2h, 3f4h, 3f5h, and 3f7h (primary) or 372h, 374h, 375h, and 377h (secondary). the timer uses a 1 second timebase. to enable this timer set f0 index 81h[1] = 1. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[1]. index 9ch-9dh parallel / serial idle timer count register (r/w) reset value = 0000h 15:0 parallel / serial idle timer count: the idle timer loaded from this register is used to determine when the parallel and serial ports are not in use so that the ports can be power managed. the 16-bit value programmed her e represents the period of inactivity for these ports afte r which the system is alerted via an smi. the ti mer is automatically reloaded with the count value whenever an access occurs to the parallel (lpt) or se rial (com) i/o address spaces. if the mouse is enabled on a serial port, that port is not considered here. the timer uses a 1 second timebase. to enable this timer set f0 index 81h[2] = 1. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[2]. index 9eh-9fh keyboard / mouse idle timer count register (r/w) reset value = 0000h 15:0 keyboard / mouse idle timer count: the idle timer loaded from this regist er determines when the keyboard and mouse are not in use so that the lcd screen can be blanked. the 16- bit value programmed here represen ts the period of inactivity for these ports after which the system is alerted via an smi. t he timer is automatically reloaded with the count value when- ever an access occurs to either the keyboard or mouse i/o address spaces, including the mouse serial port address space when a mouse is enabled on a serial por t. the timer uses a 1 second timebase. to enable this timer set f0 index 81h[3] = 1. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[3]. index a0h-a1h user defined device 1 idle ti mer count register (r/w) reset value = 0000h 15:0 user defined device 1 (udef1) idle timer count: the idle timer loaded from this r egister determines when the device configured as udef1 is not in use so that it can be po wer managed. the 16-bit value programmed here represents the period of inactivity for this device afte r which the system is alerted via an smi. the timer is automatically reloaded with the count value whenever an access occurs to memory or i/o a ddress space configured at f0 index c0h (base address regis- ter) and f0 index cch (control register ). the timer uses a 1 second timebase. to enable this timer set f0 index 81h[4] = 1. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[4]. index a2h-a3h user defined device 2 idle ti mer count register (r/w) reset value = 0000h 15:0 user defined device 2 (udef2) idle timer count: the idle timer loaded from this r egister determines when the device configured as udef2 is not in use so that it can be po wer managed. the 16-bit value programmed here represents the period of inactivity for this device afte r which the system is alerted via an smi. the timer is automatically reloaded with the count value whenever an access occurs to memory or i/o a ddress space configured at f0 index c4h (base address regis- ter) and f0 index cdh (control register ). the timer uses a 1 second timebase. to enable this timer set f0 index 81h[5] = 1. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[5]. table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
amd geode? CS5530A companion device data book 173 register descriptions revision 1.1 index a4h-a5h user defined device 3 idle ti mer count register (r/w) reset value = 0000h 15:0 user defined device 3 (udef3) idle timer count: the idle timer loaded from this r egister determines when the device configured as udef3 is not in use so that it can be po wer managed. the 16-bit value programmed here represents the period of inactivity for this device afte r which the system is alerted via an smi. the timer is automatically reloaded with the count value whenever an access occurs to memory or i/o a ddress space configured at f0 index c8h (base address regis- ter) and f0 index ceh (control register). the timer uses a 1 second timebase. to enable this timer set f0 index 81h[6] = 1. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[6]. index a6h-a7h video idle timer count register (r/w) reset value = 0000h 15:0 video idle timer count: the idle timer loaded from this register deter mines when the graphics s ubsystem has been idle as part of the suspend determination algorithm. the 16-bit va lue programmed here represents the period of video inactivity after which the system is alerted via an smi. the count in this timer is automatically reset whenever an access occurs to the graphics controller space. the timer uses a 1 second timebase. in a gx1 processor based system the graphics controller is embedded in the cpu, so video activity is communicated to the CS5530A via the serial connection (pserial register, bit 0) fr om the processor. the CS5530A also detects accesses to standard vga space on pci (3bxh, 3cxh, 3dxh and a000h-b7ffh) in the event an external vga controller is being used. to enable this timer set f0 index 81h[7] = 1. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 85h/f5h[7]. index a8h-a9h video overflow count register (r/w) reset value = 0000h 15:0 video overflow count: each time the video speedup timer (f0 index 8dh) is triggered, a 100 ms timer is started. if the 100 ms timer expires before the video speedup timer lapses , the video overflow count register increments and the 100 ms timer re-triggers. software clears the overflow register w hen new evaluations are to begin. the count contained in this register may be combined with other data to determi ne the type of video accesses present in the system. index aah-abh reserved reset value = xxh index ach-adh secondary hard disk idle timer count register (r/w) reset value = 0000h 15:0 secondary hard disk idle timer count: the idle timer loaded from this register is used to determine when the secondary hard disk is not in use so that it can be powered down. the 16-bit value programmed here represents the period of second- ary hard disk inactivity after which the system is alerted via an smi. the timer is automatically reloaded with the count value whenever an access occurs to the configured secondary hard disk?s data port (configured in f0 index 93h[4]). the timer uses a 1 second timebase. to enable this timer set f0 index 83h[7] = 1. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 86h/f6h[4]. index aeh cpu suspend command register (wo) reset value = 00h 7:0 software cpu suspend command (write only): if bit 0 in the clock stop control register is set low (f0 index bch[0] = 0) and all smi status bits are 0, a write to this register causes a susp#/suspa# handshake wi th the cpu, placing the cpu in a low-power state. the data written is irrelevant. once in this state, any unmasked irq or smi releases the cpu halt con- dition. if f0 index bch[0] = 1, writing to this register invokes a full system suspend. in this case, the susp_3v pin is asserted after the susp#/suspa# halt. upon a resume event (see note), the pll delay programmed in the f0 index bch[7:4] is invoked, allowing the clock chip and cpu pll to stabilize before deasserting the susp# pin. note: if the clocks are stopped, the external irq4 and irq3 pins , when enabled (f3bar+memory offset 1ah[4:3]), are the only irq pins that can be used as a resume event. if gp io2, gpio1, and gpio0 are enabled as an external smi source (f0 index 92h[2:0]), they too can be used as a re sume event. no other CS5530A pins can be used to wake- up the system from suspend when the clocks are stopped. as l ong as the 32 khz clock remains active, internal smi events are also resume events. table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
174 amd geode? CS5530A companion device data book register descriptions revision 1.1 index afh suspend notebook command register (wo) reset value = 00h 7:0 software cpu stop clock suspend (write only): a write to this register causes a susp#/suspa# handshake with the cpu, placing the cpu in a low-power state. following this handshake, the susp_3v pin is asserted. the susp_3v pin is intended to be used to stop all system clocks. upon a resume event (see note), the susp_3v pin is deasse rted. after a slight delay, the CS5530A deasserts the susp# signal. once the clocks are stable, the processor deasserts suspa# and system operation resumes. note: if the clocks are stopped the external irq4 and irq3 pins, when enabled (f3bar+memory offset 1ah[4:3]), are the only irq pins that can be used as a resume event. if gp io2, gpio1, and gpio0 are enabled as an external smi source (f0 index 92h[2:0]), they too can be used as a re sume event. no other CS5530A pins can be used to wake- up the system from suspend when the clocks are stopped. index b0h-b3h reserved reset value = xxh index b4h floppy port 3f2h shadow register (ro) reset value = xxh 7:0 floppy port 3f2h shadow (read only): last written value of i/o port 3f2h. required for support of fdc power on/off and save-to-disk/ram coherency. this register is a copy of an i/o register which cannot safely be directly read. value in register is not deterministic of when the register is being read. it is provided here to assist in a save-to-disk operation. index b5h floppy port 3f7h shadow register (ro) reset value = xxh 7:0 floppy port 3f7h shadow (read only): last written value of i/o port 3f7h. required for support of fdc power on/off and save-to-disk/ram coherency. this register is a copy of an i/o register which cannot safely be directly read. value in register is not deterministic of when the register is being read. it is provided here to assist in a save-to-disk operation. index b6h floppy port 1f2h shadow register (ro) reset value = xxh 7:0 floppy port 1f2h shadow (read only): last written value of i/o port 1f2h. required for support of fdc power on/off and save-to-disk/ram coherency. this register is a copy of an i/o register which cannot safely be directly read. value in register is not deterministic of when the register is being read. it is provided here to assist in a save-to-disk operation. index b7h floppy port 1f7h shadow register (ro) reset value = xxh 7:0 floppy port 1f7h shadow (read only): last written value of i/o port 1f7h. required for support of fdc power on/off and save-to-disk/ram coherency. this register is a copy of an i/o register which cannot safely be directly read. value in register is not deterministic of when the register is being read. it is provided here to assist in a save-to-disk operation. index b8h dma shadow register (ro) reset value = xxh 7:0 dma shadow (read only): this 8-bit port sequences through the following list of shadowed dma controller registers. at power on, a pointer starts at the first r egister in the list and consecutively reads incrementally through it. a write to this reg- ister resets the read sequence to the first register. each shadow register in the sequence contains the last data written to that location. the read sequence for this register is: 1. dma channel 0 mode register 2. dma channel 1 mode register 3. dma channel 2 mode register 4. dma channel 3 mode register 5. dma channel 4 mode register 6. dma channel 5 mode register 7. dma channel 6 mode register 8. dma channel 7 mode register 9. dma channel mask register (bit 0 is channel 0 mask, etc.) 10. dma busy register (bit 0 or 1 means a dma occurred within last 1 ms , all other bits are 0) table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
amd geode? CS5530A companion device data book 175 register descriptions revision 1.1 index b9h pic shadow register (ro) reset value = xxh 7:0 pic shadow (read only): this 8-bit port sequences through the following list of shadowed programmable interrupt con- troller registers. at power on, a pointer starts at the first register in the list and consecut ively reads incrementally throug h it. a write to this register resets the read sequence to the first register. each shadow register in the sequence contains the last data written to that location. the read sequence for this register is: 1. pic1 icw1 2. pic1 icw2 3. pic1 icw3 4. pic1 icw4 - bits [7:5] of icw4 are always 0 5. pic1 ocw2 - bits [6:3] of ocw2 are always 0 (note) 6. pic1 ocw3 - bits [7, 4] are 0 and bit [6, 3] are 1 7. pic2 icw1 8. pic2 icw2 9. pic2 icw3 10. pic2 icw4 - bits [7:5] of icw4 are always 0 11. pic2 ocw2 - bits [6:3] of ocw2 are always 0 (note) 12. pic2 ocw3 - bits [7, 4] are 0 and bit [6, 3] are 1 note: to restore ocw2 to shadow register value, write the appropria te address twice. first with the shadow register value, then with the shadow regist er value ored with c0h. index bah pit shadow register (ro) reset value = xxh 7:0 pit shadow (read only): this 8-bit port sequences through the followi ng list of shadowed programmable interval timer registers. at power on, a pointer starts at the first register in the list and cons ecutively reads to increment through it. a w rite to this register resets the read sequence to the first register. each shadow register in the sequence contains the last data written to that location. the read sequence for this register is: 1. counter 0 lsb (least significant byte) 2. counter 0 msb 3. counter 1 lsb 4. counter 1 msb 5. counter 2 lsb 6. counter 2 msb 7. counter 0 command word 8. counter 1 command word 9. counter 2 command word note: the lsb/msb of the count is the counter base value, not the current value. bits [7:6] of the command words are not used. index bbh rtc index shadow register (ro) reset value = xxh 7:0 rtc index shadow (read only): the rtc shadow register contains the last written value of the rtc index register (i/o port 070h). index bch clock stop control register (r/w) reset value = 00h 7:4 pll delay: the programmed value in this field sets the delay (in milliseconds) after a break ev ent occurs before the susp# pin is deasserted to the cpu. this delay is designed to allow t he clock chip and cpu pll to stabilize before starting execu- tion. this delay is only invoked if the stp_clk bit (bit 0) was set. the four-bit field allows values from 0 to 15 ms. 0000 = 0 ms 0100 = 4 ms 1000 = 8 ms 1100 = 12 ms 0001 = 1 ms 0101 = 5 ms 1001 = 9 ms 1101 = 13 ms 0010 = 2 ms 0110 = 6 ms 1010 = 10 ms 1110 = 14 ms 0011 = 3 ms 0111 = 7 ms 1011 = 11 ms 1111 = 15 ms 3:1 reserved: set to 0. table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
176 amd geode? CS5530A companion device data book register descriptions revision 1.1 0 cpu clock stop: 0 = normal susp#/ suspa# handshake; 1 = full system suspend. note: this register configures the CS5530A to support a 3 volt suspend. setting bit 0 causes the susp_3v pin to assert after the appropriate conditions, stopping the system clocks. a delay of 0 to 15 ms is programmable (bits 7:4) to allow for a delay for t he clock chip and cpu pll to stabilize when an event resumes the system. a write to the cpu suspend command register (f0 index aeh) with bit 0 written as: 0 = susp#/suspa# handshake occurs. the cpu is put into a low-power state, and the system clocks are not stopped. when a break/resume event occurs, it re leases the cpu halt condition. 1 = susp#/suspa# handshake occurs and the susp_3v pin is asserted, thus invoking a full system suspend (both cpu and system clocks are stopped). when a break event occurs, the susp_3v pin will deassert, the pll delay programmed in bits [7:4] will be invoked which allows the clock chip and cp u pll to stabilize before deasserting the susp# pin. index bdh-bfh reserved reset value = xxh index c0h-c3h user defined device 1 base address register (r/w) reset value = 00000000h 31:0 user defined device 1 (udef1) base address [31:0]: this 32-bit register supports power management (trap and idle timer resources) for a pcmcia slot or some other device in the system. th e value written is used as the address compara- tor for the device trap/timer logic. the device can be memory or i/o mapped (configured in f0 index cch). index c4h-c7h user defined device 2 base address register (r/w) reset value = 00000000h 31:0 user defined device 2 (udef2) base address [31:0]: this 32-bit register supports power management (trap and idle timer resources) for a pcmcia slot or some other device in the system. th e value written is used as the address compara- tor for the device trap/timer logic. the device can be memory or i/o mapped (configured in f0 index cdh). index c8h-cbh user defined device 3 base address register (r/w) reset value = 00000000h 31:0 user defined device 3 (udef3) base address [31:0]: this 32-bit register supports power management (trap and idle timer resources) for a pcmcia slot or some other device in the system. th e value written is used as the address compara- tor for the device trap/timer logic. the device can be memory or i/o mapped (configured in f0 index ceh). index cch user defined device 1 control register (r/w) reset value = 00h 7 memory or i/o mapped: user defined device 1 is: 0 = i/o; 1 = memory. 6:0 mask if bit 7 = 0 (i/o): bit 6 0 = disable write cycle tracking 1 = enable write cycle tracking bit 5 0 = disable read cycle tracking 1 = enable read cycle tracking bits 4:0 mask for address bits a[4:0] if bit 7 = 1 (m/io): bits 6:0 mask for address memory bits a[15:9] (512 bytes min. and 64 kb max.) and a[8:0] are ignored. note: a ?1? in a mask bit means that the address bit is ignored for comparison. index cdh user defined device 2 control register (r/w) reset value = 00h 7 memory or i/o mapped: user defined device 2 is: 0 = i/o; 1 = memory. 6:0 mask if bit 7 = 0 (i/o): bit 6 0 = disable write cycle tracking 1 = enable write cycle tracking bit 5 0 = disable read cycle tracking 1 = enable read cycle tracking bits 4:0 mask for address bits a[4:0] if bit 7 = 1 (m/io): bits 6:0 mask for address memory bits a[15:9] (512 bytes min. and 64 kb max.) and a[8:0] are ignored. note: a ?1? in a mask bit means that the address bit is ignored for comparison. index ceh user defined device 3 control register (r/w) reset value = 00h 7 memory or i/o mapped: user defined device 3 is: 0 = i/o; 1 = memory. table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
amd geode? CS5530A companion device data book 177 register descriptions revision 1.1 6:0 mask if bit 7 = 0 (i/o): bit 6 0 = disable write cycle tracking 1 = enable write cycle tracking bit 5 0 = disable read cycle tracking 1 = enable read cycle tracking bits 4:0 mask for address bits a[4:0] if bit 7 = 1 (m/io): bits 6:0 mask for address memory bits a[15:9] (512 bytes min. and 64 kb max.) and a[8:0] are ignored. note: a ?1? in a mask bit means that the address bit is ignored for comparison. index cfh reserved reset value = xxh index d0h software smi register (wo) reset value = 00h 7:0 software smi (write only): a write to this location generates an smi. the data written is irrelevant. this register allows software entry into smm via normal bus access instructions. index d1h-ebh reserved reset value = xxh index ech timer test register (r/w) reset value = 00h 7:0 timer test value: the timer test register is intended only for test and debug purposes. it is not intended for setting oper- ational timebases. index edh-f3h reserved reset value = xxh index f4h second level power management status register 1 (rc) reset value = 00h 7:5 reserved 4 game port smi status (read to clear): smi was caused by a r/w access to game port (i/o port 200h and 201h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. game port read smi generation enabling is at f0 index 83h[4]. game port write smi generation enabling is at f0 index 53h[3]. 3 gpio7 smi status (read to clear): smi was caused by transition on (proper ly-configured) gpio7 pin? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 97h[3]. 2 gpio5 smi status (read to clear): smi was caused by transition on (proper ly-configured) gpio5 pin? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 97h[2]. 1 gpio4 smi status (read to clear): smi was caused by transition on (proper ly-configured) gpio4 pin? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 97h[1]. 0 gpio3 smi status (read to clear): smi was caused by transition on (proper ly-configured) gpio3 pin? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 97h[0]. note: properly-configured means that the gpio pin must be enabled as a gpio, an input, and to cause an smi. this register provides status on various power-management smi events. reading this r egister clears the smi status bits. a read- only (mirror) version of this register exists at f0 index 84h. index f5h second level power management status register 2 (rc) reset value = 00h 7 video idle timer smi status (read to clear): smi was caused by expiration of the video idle timer count register (f0 index a6h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[7]. 6 user defined device 3 (udef3) idle timer smi status (read to clear): smi was caused by expiration of the udef3 idle timer count register (f0 index a4h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[6]. table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
178 amd geode? CS5530A companion device data book register descriptions revision 1.1 5 user defined device 2 (udef2) idle timer smi status (read to clear): smi was caused by expiration of the udef2 idle timer count register (f0 index a2h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[5]. 4 user defined device 1 (udef1) idle timer smi status (read to clear): smi was caused by expiration of the udef1 idle timer count register (f0 index a0h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[4]. 3 keyboard/mouse idle timer smi status (read to clear): smi was caused by expiration of the keyboard/mouse idle timer count register (f0 index 9eh)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[3]. 2 parallel/serial idle timer smi status (read to clear): smi was caused by expiration of the parallel/serial port idle timer count register (f0 index 9ch)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[2]. 1 floppy disk idle timer smi status (read to clear): smi was caused by expiration of the floppy disk idle timer count register (f0 index 9ah)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[1]. 0 primary hard disk idle timer smi status (read to clear): smi was caused by expiration of the primary hard disk idle timer count register (f0 index 98h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 81h[0]. note: this register provides status on the device idle timers to t he smi handler. a bit set here indicates that the device was idle f or the duration configured in the idle timer count register for that device, causing an smi. reading this register clears the smi stat us bits. a read-only (mirror) version of this register exists at f0 index 85h. if the va lue of the register must be read without c learing the smi source (and consequently deasserti ng smi), f0 index 85h may be read instead. index f6h second level power management status register 3 (rc) reset value = 00h 7 video access trap smi status (read to clear): smi was caused by a trapped i/o access to the video i/o trap? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 82h[7]. 6 reserved (read only) 5 secondary hard disk access trap smi status (read to clear): smi was caused by a trapped i/o access to the secondary hard disk? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 83h[6]. 4 secondary hard disk idle timer smi status (read to clear): smi was caused by expiration of the hard disk idle timer count register (f0 index ach)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 83h[7]. 3 keyboard/mouse access trap smi status (read to clear): smi was caused by a trapped i/o access to the keyboard or mouse? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 82h[3]. 2 parallel/serial access trap smi status (read to clear): smi was caused by a trapped i/o access to either the serial or parallel ports? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 82h[2]. 1 floppy disk access trap smi status (read to clear): smi was caused by a trapped i/o access to the floppy disk? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 82h[1]. table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
amd geode? CS5530A companion device data book 179 register descriptions revision 1.1 0 primary hard disk access trap smi status (read to clear): smi was caused by a trapped i/o access to the primary hard disk? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 82h[0]. note: this register provides status on the device traps to the sm i handler. a bit set here indicates that an access occurred to the device while the trap was enabled, causing an smi. reading this regi ster clears the smi status bi ts. a read-only (mirror) versi on of this register exists at f0 index 86h. if the value of the register must be read without cl earing the smi s ource (and consequ ently deasserting smi), f0 index 86h may be read instead. index f7h second level power management status register 4 (ro/rc) reset value = 00h 7 gpio2 smi status (read to clear): smi was caused by transition on (proper ly-configured) gpio2 pin? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 92h[2]. 6 gpio1 smi status (read to clear): smi was caused by transition on (proper ly-configured) gpio1 pin? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 92h[1]. 5 gpio0 smi status (read to clear): smi was caused by transition on (proper ly-configured) gpio0 pin? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 92h[0]. 4 lid position (read only): this bit maintains the current status of the lid position. if the gpio6 pin is configured as the lid switch indicator, this bit reflects the state of the pin. 3 lid switch smi status (read to clear): smi was caused by a transition on the gp io6 (lid switch) pin? 0 = no; 1 = yes. for this to happen, the gpio6 pin must be configured both as an input (f0 index 90h[6] = 0) and as the lid switch (f0 index 92h[6] =1). 2 codec sdata_in smi status (read to clear): smi was caused by an ac97 co dec producing a positive edge on sdata_in? 0 = no; 1 = yes. this is the second level of status is reporting. the top level status is reported in f1bar+memory offset 00h/02h[0]. smi generation enabling is at f0 index 80h[5]. 1 rtc alarm (irq8) smi status (read to clear): smi was caused by an rtc interrupt? 0 = no; 1 = yes. this smi event can only occur while in 3v suspend and rtc interrupt occurs. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. 0 acpi timer smi status (read to clear): smi was caused by an acpi timer msb toggle? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[0]. smi generation configuration is at f0 index 83h[5]. note: properly-configured means that the gpio pin must be enabled as a gpio, an input, and to cause an smi. this register provides status on severa l miscellaneous power management events that generate smis, as well as the status of the lid switch. reading this register clears the smi status bi ts. a read-only (mirror) version of this register exists at f0 index 87h. index f8h-ffh reserved reset value = xxh table 5-15. f0 index xxh: pci header and bridge configuration registers (continued) bit description
180 amd geode? CS5530A companion device data book register descriptions revision 1.1 5.3.2 smi status and acpi timer registers - function 1 the register space for the smi status and acpi timer reg- isters is divided into two sections. the first section is used to configure the pci portion of this support hardware. a base address register at f1 index 10h (f1bar) points to the base address of where the second portion of the regis- ter space is located. this se cond section contains the smi status and acpi timer support registers. note: the acpi timer count r egister is accessible through f1bar+memory offset 1ch and i/o port 121ch. table 5-16 shows the pci header registers of f1. the memory mapped registers accessed through f1bar are shown in table 5-17. if the power management configuration trap bit (f0 index 41h[3]) is enabled, an access to the pci header registers causes an smi. access through f1bar is not affected by this bit. table 5-16. f1 index xxh: pci header registers for smi status and acpi timer bit description index 00h-01h vendor identification register (ro) reset value = 1078h index 02h-03h device identification register (ro) reset value = 0101h index 04h-05h pci command register (r/w) reset value = 0000h 15:2 reserved (read only) 1 memory space: allow CS5530A to respond to memory cycles from the pci bus. 0 = disable; 1 = enable. this bit must be enabled to access memo ry offsets through f1bar (f1 index 10h). 0 reserved (read only) index 06h-07h pci status register (ro) reset value = 0280h index 08h device revision id register (ro) reset value = 00h index 09h-0bh pci class code register (ro) reset value = 068000h index 0ch pci cache line size register (ro) reset value = 00h index 0dh pci latency timer register (ro) reset value = 00h index 0eh pci header type (ro) reset value = 00h index 0fh pci bist register (ro) reset value = 00h index 10h-13h base address register ? f1bar (r/w) reset value = 00000000h this register sets the base address of t he memory mapped smi status and acpi timer related registers. bits [7:0] are read only (00h), indicating a 256-byte memory address range. refer to table 5-17 for the smi status and acpi timer registers bit formats and res et val- ues. the upper 16 bytes are always mapped to the acpi timer, and are always memory mapped. note: the acpi timer count register is accessible through f1bar+memory offset 1ch and i/o port 121ch. 31:8 smi status/power management base address 7:0 address range (read only) index 14h-3fh reserved reset value = 00h index 40h-ffh reserved reset value = xxh
amd geode? CS5530A companion device data book 181 register descriptions revision 1.1 table 5-17. f1bar+memory offset xxh: smi status and acpi timer registers bit description offset 00h-01h top level smi status mi rror register (ro) reset value = 0000h 15 suspend modulation enable mirror (read only): this bit mirrors the suspend mode configuration bit (f0 index 96h[0]). it is used by the smi handler to determine if the smi speedup disable register (f1bar+memory offset 08h) must be cleared on exit. 14 smi source is usb (read only): smi was caused by usb activity? 0 = no; 1 = yes. smi generation is configured in f0 index 42h[7:6]. 13 smi source is warm reset command (read only): smi was caused by warm reset command? 0 = no; 1 = yes. 12 smi source is nmi (read only): smi was caused by nmi activity? 0 = no; 1 = yes. 11:10 reserved (read only): always reads 0. 9 smi source is general purpose timers/user defined device traps/register space trap (read only): smi was caused by expiration of gp timer 1/2; trapped access to udef3/2/1; trapped access to f1-f4 or isa legacy register space? 0 = no; 1 = yes. the next level of status is found at f1bar+memory offset 04h/06h. 8 smi source is software generated (read only): smi was caused by software? 0 = no; 1 = yes. 7 smi on an a20m# toggle (read only): smi was caused by an access to either port 092h or the keyboard command which initiates an a20m# smi? 0 = no; 1 = yes. this method of controlling the internal a20m# in the gx1 processor is used instead of a pin. smi generation enabling is at f0 index 53h[0]. 6 smi source is a vga timer event (read only): smi was caused by the expiration of the vga timer (f0 index 8eh)? 0 = no; 1 = yes. smi generation enabling is at f0 index 83h[3]. 5 smi source is video retrace (irq2) (read only): smi was caused by a video retrace event as decoded from the serial connection (pserial register , bit 7) from the gx1 processor? 0 = no; 1 = yes. smi generation enabling is at f0 index 83h[2]. 4:2 reserved (read only): always reads 0. 1 smi source is audio interface (read only): smi was caused by the audio interface? 0 = no; 1 = yes. the next level smi status registers is found in f3bar+memory offset 10h/12h. 0 smi source is power management event (read only): smi was caused by one of the power management resources? 0 = no; 1 = yes. the next level of status is found at f0 index 84h-87h/f4h-f7h. note: the status for the general purpose timers and the user device defined traps are checked separately in bit 9. note: reading this register does not clear the stat us bits. see f1bar+memory offset 02h. offset 02h-03h top level smi status register (rc) reset value = 0000h 15 suspend modulation enable mirror (read to clear): this bit mirrors the suspend mode configuration bit (f0 index 96h[0]). it is used by the smi handler to determine if the smi speedup disable register (f1bar+memory offset 08h) must be cleared on exit. 14 smi source is usb (read to clear): smi was caused by usb activity? 0 = no; 1 = yes. smi generation is configured in f0 index 42h[7:6]. 13 smi source is warm reset command (read to clear): smi was caused by warm reset command? 0 = no; 1 = yes. 12 smi source is nmi (read to clear): smi was caused by nmi activity? 0 = no; 1 = yes. 11:10 reserved (read to clear): always reads 0. 9 smi source is general purpose timers/user defined device traps/register space trap (read to clear): smi was caused by expiration of gp timer 1/2; trapped access to udef3/2/1; trapped access to f1-f4 or isa legacy register space? 0 = no; 1 = yes. the next level of status is found at f1bar+memory offset 04h/06h. 8 smi source is software generated (read to clear): smi was caused by software? 0 = no; 1 = yes. 7 smi on an a20m# toggle (read to clear): smi was caused by an access to either port 092h or the keyboard command which initiates an a20m# smi? 0 = no; 1 = yes. this method of controlling the internal a20m# in the gx1 processor is used instead of a pin. smi generation enabling is at f0 index 53h[0].
182 amd geode? CS5530A companion device data book register descriptions revision 1.1 6 smi source is a vga timer event (read to clear): smi was caused by the expiration of the vga timer (f0 index 8eh)? 0 = no; 1 = yes. smi generation enabling is at f0 index 83h[3]. 5 smi source is video retrace (irq2) (read to clear): smi was caused by a video retrace event as decoded from the serial connection (pserial register, bit 7) from the gx1 processor? 0 = no; 1 = yes. smi generation enabling is at f0 index 83h[2]. 4:2 reserved (read to clear): always reads 0. 1 smi source is audio interface (read to clear): smi was caused by the audio interface? 0 = no; 1 = yes. the next level smi status registers is found in f3bar+memory offset 10h/12h. 0 smi source is power management event (read to clear): smi was caused by one of the power management resources? 0 = no; 1 = yes. the next level of status is found at f0 index 84h-87h/f4h-f7h. note: the status for the general purpose timers and the user device defined traps are checked separately in bit 9. note: reading this register clears all the smi stat us bits. note that bits 9, 1, and 0 ha ve another level (second) of status reportin g. a read-only ?mirror? version of this register exists at f1bar+memory offset 00h. if the value of the register must be read with out clearing the smi source (and cons equently deasserting smi), the mirr or register may be read instead. offset 04h-05h second level general traps & timers smi status mirror register (ro) reset value = 0000h 15:6 reserved (read only) 5 pci function trap (read only): smi was caused by a trapped configuration cycle (listed below)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[9]. trapped access to f0 pci header registers other than f0 i ndex 40h-43h; smi generation enabling is at f0 index 41h[0]. trapped access to f1 pci header registers; sm i generation enabling is at f0 index 41h[3]. trapped access to f2 pci header registers; sm i generation enabling is at f0 index 41h[6]. trapped access to f3 pci header registers; sm i generation enabling is at f0 index 42h[0]. trapped access to f4 pci header registers; sm i generation enabling is at f0 index 42h[1]. 4 smi source is trapped access to user defined device 3 (read only): smi was caused by a trapped i/o or memory access to the user defined device 3 (f0 index c8h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[9]. smi generation enabling is at f0 index 82h[6]. 3 smi source is trapped access to user defined device 2 (read only): smi was caused by a trapped i/o or memory access to the user defined device 2 (f0 index c4h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[9]. smi generation enabling is at f0 index 82h[5]. 2 smi source is trapped access to user defined device 1 (read only): smi was caused by a trapped i/o or memory access to the user defined device 1 (f0 index c0h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[9]. smi generation enabling is at f0 index 82h[4]. 1 smi source is expired general purpose timer 2 (read only): smi was caused by the expiration of general purpose timer 2 (f0 index 8ah)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[9]. smi generation enabling is at f0 index 83h[1]. 0 smi source is expired general purpose timer 1 (read only): smi was caused by the expiration of general purpose timer 1 (f0 index 88h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[9]. smi generation enabling is at f0 index 83h[0]. note: reading this register does not clear the st atus bits. see f1bar+memory offset 06h. offset 06h-07h second level general traps & time rs smi status register (rc) reset value = 0000h 15:6 reserved (read to clear) table 5-17. f1bar+memory offset xxh: smi status and acpi timer registers (continued) bit description
amd geode? CS5530A companion device data book 183 register descriptions revision 1.1 5 pci function trap (read to clear): smi was caused by a trapped configuration cycle (listed below)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[9]. trapped access to f0 pci header registers other than index 40h-43h; smi generation enabling is at f0 index 41h[0]. trapped access to f1 pci header registers; sm i generation enabling is at f0 index 41h[3]. trapped access to f2 pci header registers; sm i generation enabling is at f0 index 41h[6]. trapped access to f3 pci header registers; sm i generation enabling is at f0 index 42h[0]. trapped access to f4 pci header registers; sm i generation enabling is at f0 index 42h[1]. 4 smi source is trapped access to user defined device 3 (read to clear): smi was caused by a trapped i/o or memory access to the user defined device 3 (f0 index c8h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[9]. smi generation enabling is at f0 index 82h[6]. 3 smi source is trapped access to user defined device 2 (read to clear): smi was caused by a trapped i/o or memory access to the user defined device 2 (f0 index c4h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[9]. smi generation enabling is at f0 index 82h[5]. 2 smi source is trapped access to user defined device 1 (read to clear): smi was caused by a trapped i/o or memory access to the user defined device 1 (f0 index c0h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[9]. smi generation enabling is at f0 index 82h[4]. 1 smi source is expired general purpose timer 2 (read to clear): smi was caused by the expiration of general purpose timer 2 (f0 index 8ah)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[9]. smi generation enabling is at f0 index 83h[1]. 0 smi source is expired general purpose timer 1 (read to clear): smi was caused by the expiration of general purpose timer 1 (f0 index 88h)? 0 = no; 1 = yes. this is the second level of smi status reporting. t he top level is reported in f1bar+memory offset 00h/02h[9]. smi generation enabling is at f0 index 83h[0]. note: reading this register clears all the smi status bits. a read-only ?mirror? version of this register exists at f1bar+memory offset 04h. if the value of the register must be read with out clearing the smi source (and cons equently deasserting smi), the mirr or register may be read instead. offset 08h-09h smi speedup disable register (read to enable) reset value = 0000h 15:0 smi speedup disable: if bit 1 in the suspend configuration register is set (f0 index 96h[1] = 1), a read of this register invokes the smi handler to re-enable suspend modulation. the data read from this register can be ignored. if the suspend modulation feature is disabled, reading this i/o location has no effect. offset 0ah-1bh reserved reset value = xxh offset 1ch-1fh (note) acpi timer count register (ro) reset value = 00fffffch acpi_count (read only): this read-only register provides the current value of the acpi timer. the timer counts at 14.31818/4 mhz (3.579545 mhz). if smi generation is enabled via f0 index 83h[5], an smi is generated when the msb toggles. the msb toggles eve ry 2.343 seconds. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported at f0 index 87h/f7h[0]. 31:24 reserved: always returns 0. 23:0 counter note: the acpi timer count register is also accessible through i/o port 121ch. offset 20h-4fh reserved reset value = xxh offset 50h-ffh the memory mapped registers located here (f1bar+memory offs et 50h-ffh) can also be accessed at f0 index 50h-ffh. the preferred method is to program these register through the f0 r egister space. refer to table 5-15 "f0 index xxh: pci header and bridge configuration registers" on page 155 for bit information r egarding these registers. table 5-17. f1bar+memory offset xxh: smi status and acpi timer registers (continued) bit description
184 amd geode? CS5530A companion device data book register descriptions revision 1.1 5.3.3 ide controller registers - function 2 the register space for the ide controllers is divided into two sections. the first section is used to configure the pci portion of the controller. a base address register at f2 index 20h points to the base address of where the second portion of the register space is located. this second sec- tion contains the registers us ed by the ide controllers to carry out operations. table 5-18 shows the pci header registers of f2. the i/o mapped registers, accessed through f2bar, are shown in table 5-19. if the ide configuration trap bit (f0 index 41h[6]) is set, access to the pci header registers causes an smi. access through f2bar is not affected by this bit. table 5-18. f2 index xxh: pci header registers for ide configuration bit description index 00h-01h vendor identification register (ro) reset value = 1078h index 02h-03h device identification register (ro) reset value = 0102h index 04h-05h pci command register (r/w) reset value = 0000h 15:3 reserved (read only) 2 reserved 1 reserved (read only) 0 i/o space: allow CS5530A to respond to i/o cycles from the pci bus. 0 = disable; 1 = enable. this bit must be enabled to access i/o offsets through f2bar (f2 index 20h). index 06h-07h pci status register (ro) reset value = 0280h index 08h device revision id register (ro) reset value = 00h index 09h-0bh pci class code register (ro) reset value = 010180h index 0ch pci cache line size register (ro) reset value = 00h index 0dh pci latency timer register (ro) reset value = 00h index 0eh pci header type (ro) reset value = 00h index 0fh pci bist register (ro) reset value = 00h index 10h-1fh reserved reservedreset value = 00h index 20h-23h base address register - f2bar (r/w) reset value = 00000001h this register sets the base address of the i/o mapped bus mastering ide and controlle r registers. bits [6:0] are read only (000 0 001), indicating a 128-byte i/o address range. refer to table 5-19 for the ide configuration registers bit formats and reset values. 31:7 bus mastering ide base address 6:0 address range (read only) index 24h-3fh reserved reset value = 00h index 40h-ffh reserved reset value = xxh
amd geode? CS5530A companion device data book 185 register descriptions revision 1.1 table 5-19. f2bar+i/o offset xxh: ide configuration registers bit description offset 00h ide bus master 0 command register ? primary (r/w) reset value = 00h 7:4 reserved: set to 0. must return 0 on reads. 3 read or write control: sets the direction of bus master transfers. 0 = pci reads performed; 1 = pci writes performed. this bit should not be changed when the bus master is active. 2:1 reserved: set to 0. must return 0 on reads. 0 bus master control: controls the state of the bus master. 0 = disable master; 1 = enable master. bus master operations can be halted by setting bit 0 to 0. on ce an operation has been halted, it can not be resumed. if bit 0 is set to 0 while a bus master operati on is active, the command is aborted and the data transferred from the drive is dis- carded. this bit should be reset after completion of data transfer. offset 01h reserved reset value = xxh offset 02h ide bus master 0 status register ? primary (r/w) reset value = 00h 7 simplex mode (read only): can both the primary and secondary channel operate independently? 0 = yes; 1 = no (simplex mode). 6 drive 1 dma capable: allow drive 1 to be capable of dma transfers. 0 = disable; 1 = enable. 5 drive 0 dma capable: allow drive 0 to be capable of dma transfers. 0 = disable; 1 = enable. 4:3 reserved: set to 0. must return 0 on reads. 2 bus master interrupt: has the bus master detected an interrupt? 0 = no; 1 = yes. write 1 to clear. 1 bus master error: has the bus master detected an error during data transfer? 0 = no; 1 = yes. write 1 to clear. 0 bus master active (read only): is the bus master active? 0 = no; 1 = yes. offset 03h reserved reset value = xxh offset 04h-07h ide bus master 0 prd table address ? primary (r/w) reset value = 00000000h 31:2 pointer to the physical region descriptor table: this register is a prd table pointer for ide bus master 0. when written, this register points to t he first entry in a prd table. once ide bus master 0 is enabled (command register bit 0 = 1], it loads the pointer and updates this register to the next prd by adding 08h. when read, this register points to the next prd. 1:0 reserved: set to 0. offset 08h ide bus master 1 command regi ster ? secondary (r/w) reset value = 00h 7:4 reserved: set to 0. must return 0 on reads. 3 read or write control: sets the direction of bus master transfers. 0 = pci reads performed; 1 = pci writes performed. this bit should not be changed when the bus master is active. 2:1 reserved: set to 0. must return 0 on reads. 0 bus master control: controls the state of the bus master. 0 = disable master; 1 = enable master. bus master operations can be halted by setting bit 0 = 0. once an operation has been halted, it can not be resumed. if bit 0 is set to 0 while a bus master operati on is active, the command is aborted and the data transferred from the drive is dis- carded. this bit should be reset after completion of data transfer. offset 09h reserved reset value = xxh offset 0ah ide bus master 1 status regi ster ? secondary (r/w) reset value = 00h 7 simplex mode (read only): can both the primary and secondary channel operate independently? 0 = yes; 1 = no (simplex mode). 6 drive 1 dma capable: allow drive 1 to be capable of dma transfers. 0 = disable; 1 = enable. 5 drive 0 dma capable: allow drive 0 to be capable of dma transfers. 0 = disable; 1 = enable. 4:3 reserved: set to 0. must return 0 on reads. 2 bus master interrupt: has the bus master detected an interrupt? 0 = no; 1 = yes. write 1 to clear. 1 bus master error: has the bus master detected an error during data transfer? 0 = no; 1 = yes. write 1 to clear.
186 amd geode? CS5530A companion device data book register descriptions revision 1.1 0 bus master active (read only): is the bus master active? 0 = no; 1 = yes. offset 0bh reserved reset value = xxh offset 0ch-0fh ide bus master 1 prd tabl e address ? secondary (r/w) reset value = 00000000h 31:2 pointer to the physical region descriptor table: this register is a prd table pointer for ide bus master 1. when written, this register points to t he first entry in a prd table. once ide bus master 1 is enabled (command register bit 0 = 1], it loads the pointer and updates this register to the next prd by adding 08h. when read, this register points to the next prd. 1:0 reserved: set to 0. offset 10h-1fh reserved reset value = xxh offset 20h-23h channel 0 drive 0 pio regi ster (r/w) reset value = 0000e132h (note) if offset 24h[31] = 0, format 0: selects slowest piomode per channel for commands. format 0 settings for: pio mode 0 = 00009172h pio mode 1 = 00012171h pio mode 2 = 00020080h pio mode 3 = 00032010h pio mode 4 = 00040010h 31:20 reserved: set to 0. 19:16 piomode: pio mode 15:12 t2i: recovery time (value + 1 cycle) 11:8 t3: ide_iow# data setup time (value + 1 cycle) 7:4 t2w: ide_iow# width minus t3 (value + 1 cycle) 3:0 t1: address setup time (value + 1 cycle) if offset 24h[31] = 1 , format 1: allows independent control of command and data. format 1 settings for: pio mode 0 = 9172d132h pio mode 1 = 21717121h pio mode 2 = 00803020h pio mode 3 = 20102010h pio mode 4 = 00100010h 31:28 t2ic: command cycle recovery time (value + 1 cycle) 27:24 t3c: command cycle ide_iow# dat a setup (value + 1 cycle) 23:20 t2wc: command cycle ide_iow# pulse width minus t3 (value + 1 cycle) 19:16 t1c: command cycle address setup time (value + 1 cycle) 15:12 t2id: data cycle recovery time (value + 1 cycle) 11:8 t3d: data cycle ide_iow# data setup (value + 1 cycle) 7:4 t2wd: data cycle ide_iow# pulse width minus t3 (value + 1 cycle) 3:0 t1d: data cycle address set up time (value + 1 cycle) note: the reset value of this register is not a valid pio mode. table 5-19. f2bar+i/o offset xxh: ide configuration registers (continued) bit description
amd geode? CS5530A companion device data book 187 register descriptions revision 1.1 offset 24h-27h channel 0 drive 0 dma co ntrol register (r/w) reset value = 00077771h if bit 20 = 0 , multiword dma settings for: multiword dma mode 0 = 00077771h multiword dma mode 1 = 00012121h multiword dma mode 2 = 00002020h 31 pio mode format: 0 = format 0; 1 = format 1. 30:21 reserved: set to 0. 20 dma operation: 0 = multiword dma; 1 = ultra dma. 19:16 tkr: ide_ior# recovery time (4-bit) (value + 1 cycle) 15:12 tdr: ide_ior# pulse width (value + 1 cycle) 11:8 tkw: ide_iow# recovery time (4-bit) (value + 1 cycle) 7:4 tdw: ide_iow# pulse width (value + 1 cycle) 3:0 tm: ide_cs0#/cs1# to ide_ior#/iow# setup; ide_cs0#/cs1# setup to ide_dack0#/dack1# if bit 20 = 1 , ultra dma settings for: ultra dma mode 0 = 00921250h ultra dma mode 1 = 00911140h ultra dma mode 2 = 00911030h 31 pio mode format: 0 = format 0; 1 = format 1. 30:21 reserved: set to 0. 20 dma operation: 0 = multiword dma, 1 = ultra dma. 19:16 tcrc: crc setup udma in ide_dack# (value + 1 cycle) (for host terminate crc setup = tmli + tss) 15:12 tss: udma out (value + 1 cycle) 11:8 tcyc: data setup and cycle time udma out (value + 2 cycles) 7:4 trp: ready to pause time (value + 1 cycle). note: trfs + 1 trp on next clock. 3:0 tack: ide_cs0#/cs1# setup to ide_dack0#/dack1# (value + 1 cycle) offset 28h-2bh channel 0 drive 1 pio register (r/w) reset value = 0000e132h channel 0 drive 1 programmed i/o control register: refer to f2bar+i/o offset 20h for bit descriptions. offset 2ch-2fh channel 0 drive 1 dma co ntrol register (r/w) reset value = 00077771h channel 0 drive 1 mdma/udma control register: refer to f2bar+i/o offset 24h for bit descriptions. note: once the pio mode format is selected in f2bar+i/o offset 24h[31 ], bit 31 of this register is defined as reserved, read only. offset 30h-33h channel 1 drive 0 pio register (r/w) reset value = 0000e132h channel 1 drive 0 programmed i/o control register: refer to f2bar+i/o offset 20h for bit descriptions. offset 34h-37h channel 1 drive 0 dma co ntrol register (r/w) reset value = 00077771h channel 1 drive 0 mdma/udma control register: refer to f2bar+i/o offset 24h for bit descriptions. note: once the pio mode format is selected in f2bar+i/o offset 24h[31 ], bit 31 of this register is defined as reserved, read only. offset 38h-3bh channel 1 drive 1 pio register (r/w) reset value = 0000e132h channel 1 drive 1 programmed i/o control register: refer to f2bar+i/o offset 20h for bit descriptions. offset 3ch-3fh channel 1 drive 1 dma co ntrol register (r/w) reset value = 00077771h channel 1 drive 1 mdma/udma control register: refer to f2bar+i/o offset 24h for bit descriptions. note: once the pio mode format is selected in f2bar+i/o offset 24h[31 ], bit 31 of this register is defined as reserved, read only. offset 40h-ffh reserved reset value = xxh table 5-19. f2bar+i/o offset xxh: ide configuration registers (continued) bit description
188 amd geode? CS5530A companion device data book register descriptions revision 1.1 5.3.4 xpressaudio? subsystem registers - function 3 the register space for the xpressaudio? subsystem is divided into two sections. the fi rst section is used to config- ure the pci portion of the audio interface hardware. a base address register at f3 index 10h (f3bar) points to the base address of where the second portion of the register space is located. this second section contains the control and data registers of the audio interface. table 5-20 shows the pci header registers of f3. the memory mapped registers accessed through f3bar are shown in table 5-21. if the f3 audio configuration trap bit (f0 index 42h[0]) is enabled, an access to the pci header registers causes an smi. access through f3bar is not affected by this bit. table 5-20. f3 index xxh: pci header registers for xpressaudio? subsystem bit description index 00h-01h vendor identification register (ro) reset value = 1078h index 02h-03h device identification register (ro) reset value = 0103h index 04h-05h pci command register (r/w) reset value = 0000h 15:3 reserved (read only) 2 reserved (read/write) 1 memory space: allow CS5530A to respond to memory cycles from the pci bus. 0 = disable; 1 = enable. this bit must be enabled to access memory offsets through f3bar (f3 index 10h). 0 reserved (read only) index 06h-07h pci status register (ro) reset value = 0280h index 08h device revision id register (ro) reset value = 00h index 09h-0bh pci class code register (ro) reset value = 040100h index 0ch pci cache line size register (ro) reset value = 00h index 0dh pci latency timer register (ro) reset value = 00h index 0eh pci header type (ro) reset value =00h index 0fh pci bist register (ro) reset value = 00h index 10h-13h base address register - f3bar (r/w) reset value = 00000000h this register sets the base address of t he memory mapped audio interface control regist er block. this is a 128-byte block of re gisters used to control the audio fifo and codec interf ace, as well as to support smis produced by vsa technology. bits [6:0] are read only (0000000), indicating a 128-byte memory address range. refer to table 5-21 for the bit formats and reset values of the xpressau dio subsystem support registers. 31:7 audio interface base address 6:0 address range (read only) index 14h-3fh reserved reset value = 00h index 40h-ffh reserved reset value = xxh
amd geode? CS5530A companion device data book 189 register descriptions revision 1.1 table 5-21. f3bar+memory offset xxh: xpressaudio? subsystem configuration registers bit description offset 00h-03h codec gpio status register (r/w) reset value = 00100000h 31 codec gpio interface: 0 = disable; 1 = enable. 30 codec gpio smi: allow codec gpio interrupt to generate an smi. 0 = disable; 1= enable. top level smi status is reported at f1bar+memory offset 00h/02h[1]. second level smi status is reported at f3bar+memory offset 10h/12h[1]. 29:21 reserved: set to 0. 20 codec gpio status valid (read only): is the status read valid? 0 = yes; 1 = no. 19:0 codec gpio pin status (read only): this is the gpio pin status that is re ceived from the codec in slot 12 on sdata_in signal. offset 04h-07h codec gpio contro l register (r/w) reset value = 00000000h 31:20 reserved: set to 0. 19:0 codec gpio pin data: this is the gpio pin data that is sent to the codec in slot 12 on the sdata_out signal. offset 08h-0bh codec status register (r/w) reset value = 00000000h 31:24 codec status address (read only): address of the register for which status is being returned. this address comes from slot 1 bits [19:12]. 23 codec serial int smi: allow codec serial interrupt to generate an smi. 0 = disable; 1= enable. top level smi status is reported at f1bar+memory offset 00h/02h[1]. second level smi status is reported at f3bar+memory offset 10h/12h[1]. 22 sync pin: selects sync pin level. 0 = low; 1 = high. 21 enable sdata_in2: pin ae24 function selection. 0 = gpio1; 1 = sdata_in2. for this pin to function as sdata_in2, it must first be configured as an input (f0 index 90h[1] = 0). 20 audio bus master 5 ac97 slot select: selects slot for audio bus master 5 to receive data. 0 = slot 6; 1 = slot 11. 19 audio bus master 4 ac97 slot select: selects slot for audio bus master 4 to transmit data. 0 = slot 6; 1 = slot 11. 18 reserved: set to 0. 17 status tag (read only): determines if the status in bits [15:0] is new or not. 0 = not new; 1 = new. 16 codec status valid (read only): is the status in bits [15:0] valid? 0 = no; 1 = yes. 15:0 codec status (read only): this is the codec status data that is received from the codec in slot 2 on sdata_in. only bits [19:4] are used from slot 2. offset 0ch-0fh codec command register (r/w) reset value = 00000000h 31:24 codec command address: address of the codec control register for wh ich the command is being sent. this address goes in slot 1 bits [19:12] on sdata_out. 23:22 CS5530A codec communication: selects which codec to communicate with. 00 = primary codec 10 = third codec 01 = secondary codec 11 = fourth codec note: 00 and 01 are the only valid settings for these bits. 21:17 reserved: set to 0. 16 codec command valid: is the command in bits [15:0] valid? 0 = no; 1 = yes. this bit is set by hardware when a command is loaded. it remains set until the command has been sent to the codec. 15:0 codec command: this is the command being sent to the codec in bits [19:12] of slot 2 on sdata_out. offset 10h-11h second level audio smi status register (rc) reset value = 0000h 15:8 reserved: set to 0. 7 audio bus master 5 smi status (read to clear): smi was caused by an event occurring on audio bus master 5? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 5 is enab led (f3bar+memory offset 48h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 49h[0] = 1).
190 amd geode? CS5530A companion device data book register descriptions revision 1.1 6 audio bus master 4 smi status (read to clear): smi was caused by an event occurring on audio bus master 4? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 4 is enab led (f3bar+memory offset 40h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 41h[0] = 1). 5 audio bus master 3 smi status (read to clear): smi was caused by an event occurring on audio bus master 3? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 3 is enab led (f3bar+memory offset 38h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 39h[0] = 1). 4 audio bus master 2 smi status (read to clear): smi was caused by an event occurring on audio bus master 2? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 2 is enab led (f3bar+memory offset 30h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 31h[0] = 1). 3 audio bus master 1 smi status (read to clear): smi was caused by an event occurring on audio bus master 1? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 1 is enab led (f3bar+memory offset 28h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 29h[0] = 1). 2 audio bus master 0 smi status (read to clear): smi was caused by an event occurring on audio bus master 0? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 0 is enab led (f3bar+memory offset 20h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 21h[0] = 1). 1 codec serial or gpio interrupt smi status (read to clear): smi was caused by a serial or gpio interrupt from codec? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation enabling for codec serial interrupt: f3bar+memory offset 08h[23] = 1. smi generation enabling for codec gpio interrupt: f3bar+memory offset 00h[30] = 1. 0 i/o trap smi status (read to clear): smi was caused by an i/o trap? 0 = no; 1 = yes. this is the second level of smi status reporting. the next le vel (third level) of smi status reporting is at f3bar+memory offset 14h. the top level is reported at f1bar+memory offset 00h/02h[1]. note: reading this register clears the status bits. note that bit 0 has another level (third) of smi status reporting. a read-only ?mirror? version of this register exists at f3bar+memory offset 12h. if the value of the register must be read with out clearing the smi source (and cons equently deasserting smi), the mirr or register may be read instead. offset 12h-13h second level audio smi status mirror register (ro) reset value = 0000h 15:8 reserved: set to 0. 7 audio bus master 5 smi status (read only): smi was caused by an event occurring on audio bus master 5? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 5 is enab led (f3bar+memory offset 48h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 49h[0] = 1). 6 audio bus master 4 smi status (read only): smi was caused by an event occurring on audio bus master 4? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 4 is enab led (f3bar+memory offset 40h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 41h[0] = 1). 5 audio bus master 3 smi status (read only): smi was caused by an event occurring on audio bus master 3? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 3 is enab led (f3bar+memory offset 38h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 39h[0] = 1). table 5-21. f3bar+memory offset xxh: xpressaudio? subsystem configuration registers (contin- bit description
amd geode? CS5530A companion device data book 191 register descriptions revision 1.1 4 audio bus master 2 smi status (read only): smi was caused by an event occurring on audio bus master 2? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 2 is enab led (f3bar+memory offset 30h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 31h[0] = 1). 3 audio bus master 1 smi status (read only): smi was caused by an event occurring on audio bus master 1? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 1 is enab led (f3bar+memory offset 28h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 29h[0] = 1). 2 audio bus master 0 smi status (read only): smi was caused by an event occurring on audio bus master 0? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation is enabled when audio bus master 0 is enab led (f3bar+memory offset 20h[0] = 1). an smi is then generated when the end of page bit is set in the smi status register (f3bar+memory offset 21h[0] = 1). 1 codec serial or gpio interrupt smi status (read only): smi was caused by a serial or gpio interrupt from codec? 0 = no; 1 = yes. this is the second level of smi status reporting. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation enabling for codec serial interrupt: f3bar+memory offset 08h[23] = 1. smi generation enabling for codec gpio interrupt: f3bar+memory offset 00h[30] = 1. 0 i/o trap smi status (read only): smi was caused by an i/o trap? 0 = no; 1 = yes. this is the second level of smi status reporting. the next le vel (third level) of smi status reporting is at f3bar+memory offset 14h. the top level is reported at f1bar+memory offset 00h/02h[1]. note: reading this register does not clear the st atus bits. see f3bar+memory offset 10h. offset 14h-17h i/o trap smi and fast write status register (ro/rc) reset value = 00000000h 31:24 fast path write even access data (read only): these bits contain the data from the last fast path write even access. these bits change only on a fast write to an even address. 23:16 fast path write odd access data (read only): these bits contain the data from the last fast path write odd access. these bits change on a fast write to an odd address, and also on any non-fast write. 15 fast write a1 (read only): this bit contains the a1 value for the last fast write access. 14 read or write i/o access (read only): last trapped i/o access was a read or a write? 0 = read; 1 = write. 13 sound card or fm trap smi status (read to clear): smi was caused by a trapped i/o access to the sound card or fm i/ o trap? 0 = no; 1 = yes. (note) fast path write must be enabled, f3bar+memory offset 18h[11] = 1, for the smi to be reported here. if fast path write is disabled, the smi is reported in bit 10 of this register. this is the third level of smi status reporting. the second level of smi status is reported at f3bar+memory offset 10h/12h[0]. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation enabling is at f3bar+memory offset 18h[2]. 12 dma trap smi status (read to clear): smi was caused by a trapped i/o access to the dma i/o trap? 0 = no; 1 = yes. (note) this is the third level of smi status reporting. the second level of smi status is reported at f3bar+memory offset 10h/12h[0]. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation enabling is at f3bar+memory offset 18h[8:7]. 11 mpu trap smi status (read to clear): smi was caused by a trapped i/o access to the mpu i/o trap? 0 = no; 1 = yes. (note) this is the third level of smi status reporting. the second level of smi status is reported at f3bar+memory offset 10h/12h[0]. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation enabling is at f3bar+memory offset 18h[6:5]. table 5-21. f3bar+memory offset xxh: xpressaudio? subsystem configuration registers (contin- bit description
192 amd geode? CS5530A companion device data book register descriptions revision 1.1 10 sound card or fm trap smi status (read to clear): smi was caused by a trapped i/o access to the sound card or fm i/ o trap? 0 = no; 1 = yes. (note) fast path write must be disabled, f3bar+memory offset 18h[11] = 0, for the smi to be reported here. if fast path write is enabled, the smi is reported in bit 13 of this register. this is the third level of smi status reporting. the second level of smi status is reported at f3bar+memory offset 10h/12h[0]. the top level is reported at f1bar+memory offset 00h/02h[1]. smi generation enabling is at f3bar+memory offset 18h[2]. 9:0 x-bus address (read only): bits [9:0] contain the capt ured ten bits of x-bus address. note: for the four smi status bits (bits [13:10]), if the activity was a fast write to an even address, no smi is generated regardles s of the dma, mpu, or sound card status. if the activity was a fast wr ite to an odd address, an smi is generated but bit 13 is set to a 1. offset 18h-19h i/o trap smi enable register (r/w) reset value = 0000h 15:12 reserved: set to 0. 11 fast path write enable: fast path write (an smi is not generated on certain writes to specified addresses). 0 = disable; 1 = enable. in fast path write, the CS5530A responds to writes to the following addresses: 388h, 38 ah and 38bh; 2x0h, 2x2h, and 2x8h. 10:9 fast read: these two bits hold part of the response that the CS5530A returns for reads to several i/o locations. 8 high dma i/o trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs at i/o port c0h-dfh, an smi is generated. top level smi status is reported at f1bar+memory offset 00h/02h[1]. second level smi status is reported at f3bar+memory offset 10h/12h[0]. third level smi status is reported at f3bar+memory offset 14h[12]. 7 low dma i/o trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs at i/o port 00h-0fh, an smi is generated. top level smi status is reported at f1bar+memory offset 00h/02h[1]. second level smi status is reported at f3bar+memory offset 10h/12h[0]. third level smi status is reported at f3bar+memory offset 14h[12]. 6 high mpu i/o trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs at i/o port 330h and 331h, an smi is generated. top level smi status is reported at f1bar+memory offset 00h/02h[1]. second level smi status is reported at f3bar+memory offset 10h/12h[0]. third level smi status is reported at f3bar+memory offset 14h[11]. 5 low mpu i/o trap: i0 = disable; 1 = enable. if this bit is enabled and an access occurs at i/o port 300h and 301h, an smi is generated. top level smi status is reported at f1bar+memory offset 00h/02h[1]. second level smi status is reported at f3bar+memory offset 10h/12h[0]. third level smi status is reported at f3bar+memory offset 14h[11]. 4 fast path read enable/smi disable: read fast path (an smi is not generated on reads from specified addresses). 0 = disable; 1 = enable. in fast path read the CS5530A responds to reads of the following addresses: 388h-38bh; 2x0h, 2x1h, 2x2h, 2x3h, 2x8h and 2x9h. note that if neither sound card nor fm i/o mapping is enabled, then status read trapping is not possible. 3 fm i/o trap: 0 = disable; 1 = enable. if this bit is enabled and an access occurs at i/o port 388h to 38bh, an smi is generated. top level smi status is reported at f1bar+memory offset 00h/02h[1]. second level smi status is reported at f3bar+memory offset 10h/12h[0]. 2 sound card i/o trap: 0 = disable; 1 = enable if this bit is enabled and an access occurs in the addr ess ranges selected by bits [1:0], an smi is generated. top level smi status is reported at f1bar+memory offset 00h/02h[1]. second level smi status is reported at f3bar+memory offset 10h/12h[0]. third level smi status is reported at f3bar+memory offset 14h[10]. 1:0 sound card address range select: these bits select the address range for the sound card i/o trap. 00 = i/o port 220h-22fh 10 = i/o port 260h-26fh 01 = i/o port 240h-24fh 11 = i/o port 280h-28fh table 5-21. f3bar+memory offset xxh: xpressaudio? subsystem configuration registers (contin- bit description
amd geode? CS5530A companion device data book 193 register descriptions revision 1.1 offset 1ah-1bh internal irq enable register (r/w) reset value = 0000h 15 irq15 internal: configure irq15 for internal (software) or exte rnal (hardware) use. 0 = external; 1 = internal. 14 irq14 internal: configure irq14 for internal (software) or exte rnal (hardware) use. 0 = external; 1 = internal. 13 reserved: set to 0. 12 irq12 internal: configure irq12 for internal (software) or exte rnal (hardware) use. 0 = external; 1 = internal. 11 irq11 internal: configure irq11 for internal (software) or exte rnal (hardware) use. 0 = external; 1 = internal. 10 irq10 internal: configure irq10 for internal (software) or exte rnal (hardware) use. 0 = external; 1 = internal. 9 irq9 internal: configure irq9 for internal (software) or exte rnal (hardware) use. 0 = external; 1 = internal. 8 reserved: set to 0. 7 irq7 internal: configure irq7 for internal (software) or exte rnal (hardware) use. 0 = external; 1 = internal. 6 reserved: set to 0. 5 irq5 internal: configure irq5 for internal (software) or exte rnal (hardware) use. 0 = external; 1 = internal. 4 irq4 internal: configure irq4 for internal (software) or exte rnal (hardware) use. 0 = external; 1 = internal. 3 irq3 internal: configure irq3 for internal (software) or exte rnal (hardware) use. 0 = external; 1 = internal. 2:0 reserved: set to 0. note: must be read and written as a word. offset 1ch-1dh internal irq control register (r/w) reset value = 0000h 15 assert masked internal irq15: 0 = disable; 1 = enable. 14 assert masked internal irq14: 0 = disable; 1 = enable. 13 reserved: set to 0. 12 assert masked internal irq12: 0 = disable; 1 = enable. 11 assert masked internal irq11: 0 = disable; 1 = enable. 10 assert masked internal irq10: 0 = disable; 1 = enable. 9 assert masked internal irq9: 0 = disable; 1 = enable. 8 reserved: set to 0. 7 assert masked internal irq7: 0 = disable; 1 = enable. 6 reserved: set to 0. 5 assert masked internal irq5: 0 = disable; 1 = enable. 4 assert masked internal irq4: 0 = disable; 1 = enable. 3 assert masked internal irq3: 0 = disable; 1 = enable. 2:0 reserved: set to 0. offset 1eh-1fh internal irq mask register (write only) reset value = xxxxh 15 mask internal irq15: 0 = disable; 1 = enable. 14 mask internal irq14: 0 = disable; 1 = enable. 13 reserved: set to 0. 12 mask internal irq12: 0 = disable; 1 = enable. 11 mask internal irq11: 0 = disable; 1 = enable. 10 mask internal irq10: 0 = disable; 1 = enable. 9 mask internal irq9: 0 = disable; 1 = enable. 8 reserved: set to 0. 7 mask internal irq7: 0 = disable; 1 = enable. 6 reserved: set to 0. 5 mask internal irq5: 0 = disable; 1 = enable. 4 mask internal irq4: 0 = disable; 1 = enable. 3 mask internal irq3: 0 = disable; 1 = enable. 2:0 reserved: set to 0. table 5-21. f3bar+memory offset xxh: xpressaudio? subsystem configuration registers (contin- bit description
194 amd geode? CS5530A companion device data book register descriptions revision 1.1 offset 20h audio bus master 0 comma nd register (r/w) reset value = 00h audio bus master 0: output to codec; 32-bit; left and right channels; slots 3 and 4. 7:4 reserved: set to 0. must return 0 on reads. 3 read or write control: set the transfer direction of audio bu s master 0. 0 = pci reads performed; 1 = pci writes performed. this bit must be set to 0 (read) and should not be changed when the bus master is active. 2:1 reserved: set to 0. must return 0 on reads. 0 bus master control: controls the state of the audio bus master 0. 0 = disable; 1 = enable. setting this bit to 1 enables the bus master to begin data transfe rs. when writing this bit to 0, the bus master must either be paused or reach eot. writing this bit to 0 while the bus ma ster is operating results in unpredictable behavior; including the possibility of the bus master state machine crashing. the only recovery from this condition is a pci reset. note: must be read and written as a byte. offset 21h audio bus master 0 smi stat us register (rc) reset value = 00h audio bus master 0: output to codec; 32-bit; left and right channels; slots 3 and 4. 7:4 reserved (read to clear) 1 bus master error (read to clear): hardware encountered a second eop before software has cleared the first? 0 = no; 1 = yes. if hardware encounters a second eop (end of page) before software has cleared the first, it causes the bus master to pause until this register is read to clear the error. 0 end of page (read to clear ) : bus master transferred data which is mark ed by eop bit in the prd table (bit 30)? 0 = no; 1 = yes. note: must be read and written as a byte. offset 22h-23h reserved reset value = xxh offset 24h-27h audio bus master 0 prd table address (r/w) reset value = 00000000h audio bus master 0: output to codec; 32-bit; left and right channels; slots 3 and 4. 31:2 pointer to the physical region descriptor table: this register is a prd table pointer for audio bus master 0. when written, this register points to the first entry in a prd table. once audio bus master 0 is enabled (command register bit 0 = 1], it loads the pointer and updates th is register to the next prd by adding 08h. when read, this register points to the next prd. 1:0 reserved: set to 0. offset 28h audio bus master 1 comma nd register (r/w) reset value = 00h audio bus master 1: input from codec; 32-bit; left and right channels; slots 3 and 4. 7:4 reserved: set to 0. must return 0 on reads. 3 read or write control: set the transfer direction of audio bu s master 1. 0 = pci reads performed; 1 = pci writes performed. this bit must be set to 1 (write) and should not be changed when the bus master is active. 2:1 reserved: set to 0. must return 0 on reads. 0 bus master control: controls the state of the audio bus master 1. 0 = disable; 1 = enable. setting this bit to 1 enables the bus master to begin data transfe rs. when writing this bit to 0, the bus master must be either paused or reached eot. writing this bit to 0 while the bus mast er is operating results in unpr edictable behavior including the possibility of the bus master state machine crashing. the only recovery from this condition is a pci reset. note: must be read and written as a byte. offset 29h audio bus master 1 smi stat us register (rc) reset value = 00h audio bus master 1: input from codec; 32-bit; left and right channels; slots 3 and 4. 7:2 reserved (read to clear) 1 bus master error (read to clear): hardware encountered a second eop before software has cleared the first? 0 = no; 1 = yes. if hardware encounters a second eop (end of page) before software has cleared the first, it causes the bus master to pause until this register is read to clear the error. table 5-21. f3bar+memory offset xxh: xpressaudio? subsystem configuration registers (contin- bit description
amd geode? CS5530A companion device data book 195 register descriptions revision 1.1 0 end of page (read to clear ) : bus master transferred data which is mark ed by eop bit in the prd table (bit 30)? 0 = no; 1 = yes. note: must be read and written as a byte. offset 2ah-2bh reserved reset value = xxh offset 2ch-2fh audio bus master 1 prd table address (r/w) reset value = 00000000h audio bus master 1: input from codec; 32-bit; left and right channels; slots 3 and 4. 31:2 pointer to the physical region descriptor table: this register is a prd table pointer for audio bus master 1. when written, this register points to the first entry in a prd table. once audio bus master 1 is enabled (command register bit 0 = 1], it loads the pointer and updates th is register to the next prd by adding 08h. when read, this register points to the next prd. 1:0 reserved: set to 0. offset 30h audio bus master 2 comma nd register (r/w) reset value = 00h audio bus master 2: output to codec; 16-bit; slot 5. 7:4 reserved: set to 0. must return 0 on reads. 3 read or write control: set the transfer direction of audio bu s master 2. 0 = pci reads performed; 1 = pci writes performed. this bit must be set to 0 (read) and should not be changed when the bus master is active. 2:1 reserved: set to 0. must return 0 on reads. 0 bus master control: controls the state of the audio bus master 2. 0 = disable; 1 = enable. setting this bit to 1 enables the bus master to begin data transfe rs. when writing this bit to 0, the bus master must be either paused or reached eot. writing this bit to 0 while the bus mast er is operating results in unpr edictable behavior including the possibility of the bus master state machine crashing. the only recovery from this condition is a pci reset. note: must be read and written as a byte. offset 31h audio bus master 2 smi stat us register (rc) reset value = 00h audio bus master 2: output to codec; 16-bit; slot 5. 7:4 reserved (read to clear) 1 bus master error (read to clear): hardware encountered a second eop before software has cleared the first? 0 = no; 1 = yes. if hardware encounters a second eop (end of page) before software has cleared the first, it causes the bus master to pause until this register is read to clear the error. 0 end of page (read to clear ) : bus master transferred data which is mark ed by eop bit in the prd table (bit 30)? 0 = no; 1 = yes. note: must be read and written as a byte. offset 32h-33h reserved reset value = xxh offset 34h-37h audio bus master 2 prd table address (r/w) reset value = 00000000h audio bus master 2: output to codec; 16-bit; slot 5. 31:2 pointer to the physical region descriptor table: this register is a prd table pointer for audio bus master 2. when written, this register points to the first entry in a prd table. once audio bus master 2 is enabled (command register bit 0 = 1], it loads the pointer and updates th is register to the next prd by adding 08h. when read, this register points to the next prd. 1:0 reserved: set to 0. offset 38h audio bus master 3 comma nd register (r/w) reset value = 00h audio bus master 3: input from codec; 16-bit; slot 5. 7:4 reserved: set to 0. must return 0 on reads. 3 read or write control: set the transfer direction of audio bu s master 3. 0 = pci reads performed; 1 = pci writes performed. this bit must be set to 1 (write) and should not be changed when the bus master is active. 2:1 reserved: set to 0. must return 0 on reads. table 5-21. f3bar+memory offset xxh: xpressaudio? subsystem configuration registers (contin- bit description
196 amd geode? CS5530A companion device data book register descriptions revision 1.1 0 bus master control: controls the state of the audio bus master 3. 0 = disable; 1 = enable. setting this bit to 1 enables the bus master to begin data transfe rs. when writing this bit to 0, the bus master must be either paused or reached eot. writing this bit to 0 while the bus mast er is operating results in unpr edictable behavior including the possibility of the bus master state machine crashing. the only recovery from this condition is a pci reset. note: must be read and written as a byte. offset 39h audio bus master 3 smi stat us register (rc) reset value = 00h audio bus master 3: input from codec; 16-bit; slot 5. 7:4 reserved (read to clear) 1 bus master error (read to clear): hardware encountered a second eop before software has cleared the first? 0 = no; 1 = yes. if hardware encounters a second eop (end of page) before software has cleared the first, it causes the bus master to pause until this register is read to clear the error. 0 end of page (read to clear ) : bus master transferred data which is mark ed by eop bit in the prd table (bit 30)? 0 = no; 1 = yes. note: must be read and written as a byte. offset 3ah-3bh reserved reset value = xxh offset 3ch-3fh audio bus master 3 prd table address (r/w) reset value = 00000000h audio bus master 3: input from codec; 16-bit; slot 5. 31:2 pointer to the physical region descriptor table: this register is a prd table pointer for audio bus master 3. when written, this register points to the first entry in a prd table. once audio bus master 3 is enabled (command register bit 0 = 1], it loads the pointer and updates th is register to the next prd by adding 08h. when read, this register points to the next prd. 1:0 reserved: set to 0. offset 40h audio bus master 4 comma nd register (r/w) reset value = 00h audio bus master 4: output to codec; 16-bit; slot 6 or 11 (f3bar+memory offset 08h[19] selects slot). 7:4 reserved: set to 0. must return 0 on reads. 3 read or write control: set the transfer direction of audio bu s master 4. 0 = pci reads performed; 1 = pci writes performed. this bit must be set to 0 (read) and should not be changed when the bus master is active. 2:1 reserved: set to 0. must return 0 on reads. 0 bus master control: controls the state of the audio bus master 4. 0 = disable; 1 = enable. setting this bit to 1 enables the bus master to begin data transfe rs. when writing this bit to 0, the bus master must be either paused or reached eot. writing this bit to 0 while the bus mast er is operating results in unpr edictable behavior including the possibility of the bus master state machine crashing. the only recovery from this condition is a pci reset. note: must be read and written as a byte. offset 41h audio bus master 4 smi stat us register (rc) reset value = 00h audio bus master 4: output to codec; 16-bit; slot 6 or 11 (f3bar+memory offset 08h[19] selects slot). 7:4 reserved (read to clear) 1 bus master error (read to clear): hardware encountered a second eop before software has cleared the first? 0 = no; 1 = yes. if hardware encounters a second eop (end of page) before software has cleared the first, it causes the bus master to pause until this register is read to clear the error. 0 end of page (read to clear ) : bus master transferred data which is mark ed by eop bit in the prd table (bit 30)? 0 = no; 1 = yes. note: must be read and written as a byte. offset 42h-43h reserved reset value = xxh table 5-21. f3bar+memory offset xxh: xpressaudio? subsystem configuration registers (contin- bit description
amd geode? CS5530A companion device data book 197 register descriptions revision 1.1 offset 44h-47h audio bus master 4 prd table address (r/w) reset value = 00000000h audio bus master 4: output to codec; 16-bit; slot 6 or 11 (f3bar+memory offset 08h[19] selects slot). 31:2 pointer to the physical region descriptor table: this register is a prd table pointer for audio bus master 4. when written, this register points to the first entry in a prd table. once audio bus master 4 is enabled (command register bit 0 = 1], it loads the pointer and updates th is register to the next prd by adding 08h. when read, this register points to the next prd. 1:0 reserved: set to 0. offset 48h audio bus master 5 comma nd register (r/w) reset value = 00h audio bus master 5: input from codec; 16-bit; slot 6 or 11 (f3bar+memory offset 08h[20] selects slot). 7:4 reserved: set to 0. must return 0 on reads. 3 read or write control: set the transfer direction of audio bu s master 5. 0 = pci reads performed; 1 = pci writes performed. this bit must be set to 1 (write) and should not be changed when the bus master is active. 2:1 reserved: set to 0. must return 0 on reads. 0 bus master control: controls the state of the audio bus master 5. 0 = disable; 1 = enable. setting this bit to 1 enables the bus master to begin data transfe rs. when writing this bit to 0, the bus master must be either paused or reached eot. writing this bit to 0 while the bus mast er is operating results in unpr edictable behavior including the possibility of the bus master state machine crashing. the only recovery from this condition is a pci reset. note: must be read and written as a byte. offset 49h audio bus master 5 smi stat us register (rc) reset value = 00h audio bus master 5: input from codec; 16-bit; slot 6 or 11 (f3bar+memory offset 08h[20] selects slot). 7:4 reserved (read to clear) 1 bus master error (read to clear): hardware encountered a second eop before software has cleared the first? 0 = no; 1 = yes. if hardware encounters a second eop (end of page) before software has cleared the first, it causes the bus master to pause until this register is read to clear the error. 0 end of page (read to clear ) : bus master transferred data which is mark ed by eop bit in the prd table (bit 30)? 0 = no; 1 = yes. note: must be read and written as a byte. offset 4ah-4bh reserved reset value = xxh offset 4ch-4fh audio bus master 5 prd table address (r/w) reset value = 00000000h audio bus master 5: input from codec; 16-bit; slot 6 or 11 (f3bar+memory offset 08h[20] selects slot). 31:2 pointer to the physical region descriptor table: this register is a prd table pointer for audio bus master 5. when written, this register points to the first entry in a prd table. once audio bus master 5 is enabled (command register bit 0 = 1], it loads the pointer and updates th is register to the next prd by adding 08h. when read, this register points to the next prd. 1:0 reserved: set to 0. offset 50h-ffh reserved reset value = xxh table 5-21. f3bar+memory offset xxh: xpressaudio? subsystem configuration registers (contin- bit description
198 amd geode? CS5530A companion device data book register descriptions revision 1.1 5.3.5 video controller registers - function 4 the register space for the video controller is divided into two sections. the first section is used to configure the pci portion of the controller. a base address register at f4 index 10h (f4bar) points to the base address of where the second portion of the regi ster space is located. the second section contains the registers used by the video controller to carry out video operations. table 5-22 shows the pci header registers of f4. the memory mapped registers accessed through f4bar, and shown in table 5-23, must be accessed using dword operations. when writing to one of these 32-bit registers, all four bytes must be written. if the f4 video configuration trap bit (f0 index 42h[1]) is set, access to the pci header registers causes an smi. access through f4bar is not affected by this bit. table 5-22. f4 index xxh: pci header regi sters for video contro ller configuration bit description index 00h-01h vendor identification register (ro) reset value = 1078h index 02h-03h device identification register (ro) reset value = 0104h index 04h-05h pci command register (r/w) reset value = 0000h 15:2 reserved (read only) 1 memory space: allow CS5530A to respond to memory cycles from the pci bus. 0 = disable; 1 = enable. this bit must be enabled to access memory offsets through f4bar (f4 index 10h). 0 reserved (read only) index 06h-07h pci status register (ro) reset value = 0280h index 08h device revision id register (ro) reset value = 00h index 09h-0bh pci class code register (ro) reset value = 030000h index 0ch pci cache line size register (ro) reset value = 00h index 0dh pci latency timer register (ro) reset value = 00h index 0eh pci header type (ro) reset value = 00h index 0fh pci bist register (ro) reset value = 00h index 10h-13h base address register - f4bar (r/w) reset value = 00000000h this register sets the base address of the memory mapped vi deo controller registers. bits [11:0] are read only (0000 0000 0000) , indicating a 4 kb memory address range. refer to table 5-23 fo r the video controller register bit formats and reset values. 31:12 video controller and clock control base i/o address 11:0 address range (read only) index 14h-3fh reserved reset value = 00h index 40h-ffh reserved reset value = xxh
amd geode? CS5530A companion device data book 199 register descriptions revision 1.1 table 5-23. f4bar+memory offset xxh: video controller configuration registers bit description offset 00h-03h video configuration register (r/w) reset value = 00000000h 31 reserved: set to 0 30 high speed timing for video interface: high speed timings for the video interface. 0 = disable; 1= enable. if bit 30 is enabled, bit 25 should be set to 0. 29 16-bit video interface: allow video interface to be 16 bits. 0 = disable; 1= enable. if bit 29 is enabled, 8 bits of pixel data is used for video. the 24-bit pixel data is then dithered to 16 bits. note: f4bar+memory offset 04h[25] should be set to the same value as this bit (bit 29). 28 yuv 4:2:2 or 4:2:0 mode: 0 = 4:2:2 mode; 1= 4:2:0 mode. if 4:2:0 mode is selected, bits [3:2] should be set to 01 for 8-bit video mode and 10 for 16-bit video mode. note: the gx1 processor does not support 4:2:0 mode. 27 video line size (dwords): this is the msb of the video line size (dwords). see bits [15:8] for description. 26 reserved: set to 0 25 early video ready: generate vid_rdy output signal one-half vid_clk period early to improve the speed of the video port operation. 0 = disable; 1 = enable. if bit 30 is enabled, this bit (bit 25) should be set to 0. 24 initial buffer read address: this is the msb of the initial buffer read address. see bits [23:16] for description. 23:16 initial buffer read address: this field is used to preload the starting read address for the line buffers at the beginning of each display line. it is used for hardware clipping of the video window at the left edge of the active display. it represents t he dword address of the source pixel which is to be disp layed first. for an unclipped windo w, this value should be 0. 15:8 video line size (dwords): this field represents the horizontal size of the source video data in dwords. 7 y filter enable: vertical filter. 0 = disable; 1= enable. 6 x filter enable: horizontal filter. 0 = disable; 1 = enable. 5 csc bypass: allows color-space-converter to be bypassed. primar ily used for displaying an rg b graphics overlay rather than a yuv video overlay. 0 = overlay data passes through csc; 1 = overlay data bypasses csc. 4 gv select: selects whether graphics or video data wi ll be passed through the scaler hardware. 0 = video data; 1 = graphics data. 3:2 video input format: this field defines the byte ordering of the video data on the vid_data bus. 8-bit mode (value byte order [0:3]) 16-bit mode (value byte order [0:3] ) 00 = u y0 v y1 (also used for rgb 5:6:5 input) 00 = u y0 v y1 (also used for rgb 5:6:5 input) 01 = y1 v y0 u or 4:2:0 01 = y0 u y1 v 10 = y0 u y1 v 10 = y1 v y0 u or 4:2:0 11 = y0 v y1 u 11 = reserved if bit 28 is set for 4:2:0 mode, these bits (bits [3:2]) should be set to 01 for 8-bit video mode and 10 for 16-bit video mode. note: u = cb, v = cr 1 video register update: allow video position and scale registers to be updated simultaneously on next occurrence of vertical sync. 0 = disable; 1 = enable. 0 video enable: video acceleration hardware. 0 = disable; 1 = enable.
200 amd geode? CS5530A companion device data book register descriptions revision 1.1 offset 04h-07h display configurati on register (r/w) reset value = 00000000h 31 ddc input data (read only): this is the ddc input data bit for reads. 30:28 reserved: set to 0. 27 flat panel on (read only): this bit indicates whether the attached flat p anel display is powered on or off. the bit transi- tions at the end of the power-up or power-down sequence. 0 = off; 1 = on. 26 reserved: set to 0. 25 16-bit graphics enable: this bit works in conjunction with the 16-bit video interface bit at f4bar+memory offset 00h[29]. this bit should be set to the same value as the 16-bit video interface bit. 24 ddc output enable: this bit enables the ddc_sda line to be driven for write data. 0 = ddc_sda (pin m4) is an input; 1 = ddc_sda (pin m4) is an output. 23 ddc output data: this is the ddc data bit. 22 ddc clock: this is the ddc clock bit. it is used to clock the ddc_sda bit. 21 palette bypass: selects whether graphics or video data should bypass the gamma ram. 0 = video data; 1 = graphics data. 20 video/graphics color key select: selects whether the video or graphics data stream will be used for color/chroma keying. 0 = graphics data is compared to color key; 1 = video data is compared to color key. 19:17 power sequence delay: this field selects the number of frame periods that transpire between successive transitions of the power sequence control lines. valid values are 001 to 111. 16:14 crt sync skew: this 3-bit field represents the num ber of pixel clocks to skew the horizontal and vertical syncs that are sent to the crt. this field should be programmed to 100 as the baseline. the syncs may be moved forward or backward rel- ative to the pixel data via this register. it is used to co mpensate for the pipeline delay through the graphics pipeline. 13 flat panel dither enable: this bit enables flat panel dithering. it enables 24 bpp display data to be approximated with an 18-bit flat panel display. 0 = disable; 1 = enable. 12 xga flat panel: this bit enables the fp_clk_ even output signal whic h can be used to demultiplex the fp_data bus into even and odd pixels. 0 = standard flat panel; 1 = xga flat panel. 11 flat panel vertical synchronization polarity: selects the flat panel vertical sync polarity. 0 = fp vertical sync is normally low, transitioning high during sync interval. 1 = fp vertical sync is normally high, transitioning low during sync interval. 10 flat panel horizontal synchronization polarity: selects the flat panel horizontal sync polarity. 0 = fp horizontal sync is normally low, transitioning high during sync interval. 1 = fp horizontal sync is normally high , transitioning low during sync interval. 9 crt vertical synchronization polarity: selects the crt vertical sync polarity. 0 = crt vertical sync is normally low, transitioning high during sync interval. 1 = crt vertical sync is normally high , transitioning low during sync interval. 8 crt horizontal synchronization polarity: selects the crt horizontal sync polarity. 0 = crt horizontal sync is normally low, transitioning high during sync interval. 1 = crt horizontal sync is normally high, transitioning low during sync interval. 7 flat panel data enable: enables the flat panel data bus. 0 = fp_data [17:0] is forced low; 1 = fp_data [17:0] is driven based upon power sequence control. 6 flat panel power enable: the transition of this bit initiates a flat panel power-up or power-down sequence. 0 -> 1 = power-up flat panel; 1 -> 0 = power-down flat panel. 5 dac power-down (active low): this bit must be set to power-up the video dacs. it can be cleared to power-down the video dacs when not in use. 0 = dacs are powered down; 1 = dacs are powered up. 4 reserved: set to 0. 3 dac blank enable: this bit enables the blank to the video dacs. 0 = dacs are constantly blanked; 1 = dacs are blanked normally. 2 crt vertical sync enable: enables the crt vertical sync. used for vesa dpms support. 0 = disable; 1 = enable. 1 crt horizontal sync enable: enables the crt horizontal sync. used for vesa dpms support. 0 = disable; 1 = enable. 0 display enable: enables the graphics display pipeline. it is us ed as a reset for the display control logic. 0 = reset display control logic; 1 = enable display control logic. table 5-23. f4bar+memory offset xxh: video controller configuration registers (continued) bit description
amd geode? CS5530A companion device data book 201 register descriptions revision 1.1 offset 08h-0bh video x register (r/w) reset value = xxxxxxxxh 31:27 reserved: set to 0. 26:16 video x end position: this field represents the horiz ontal end position of the video window according to the following formula. position programmed = screen pos ition + (h_total ? h_sync_end) ? 13. 15:11 reserved: set to 0. 10:0 video x start position: this field represents the horizontal start posit ion of the video window according to the following formula. position programmed = screen pos ition + (h_total ? h_sync_end) ? 13. offset 0ch-0fh video y register (r/w) reset value = xxxxxxxxh 31:27 reserved: set to 0. 26:16 video y end position: this field represents the vertical end position of the video window ac cording to the following formula. position programmed = screen position + (v_total ? v_sync_end) + 1. 15:11 reserved: set to 0. 10:0 video y start position: this field represents the vertic al start position of the video window according to the following formula. position programmed = screen pos ition + (v_total ? v_sync_end) + 1. offset 10h-13h video scale register (r/w) reset value = xxxxxxxxh 31:30 reserved: set to 0. 29:16 video y scale factor: this field represents the vi deo window vertical scale factor according to the following formula. vid_y_scl = 8192 * (ys - 1) / (yd - 1) where: ys = video source vertical size in lines yd = video destination ve rtical size in lines 15:14 reserved: set to 0. 13:0 video x scale factor: this field represents the video window horizonta l scale factor according to the following formula. vid_x_scl = 8192 * (xs - 1) / (xd - 1) where: xs = video source horizontal size in pixels xd = video destination horizontal size in pixels offset 14h-17h video color key register (r/w) reset value = xxxxxxxxh 31:24 reserved: set to 0. 23:0 video color key: this field represents the video color key. it is a 24-bit rgb value. the graphics or video data being compared may be masked prior to the compare by programmi ng the video color mask register (f4bar+memory offset 18h) appropriately. offset 18h-1bh video color mask register (r/w) reset value = xxxxxxxxh 31:24 reserved: set to 0. 23:0 video color mask: this field represents the video color mask. it is a 24-bit rgb value. zeroes in the mask cause the corresponding bits in the graphics or video stream being compared to be ignored. offset 1ch-1fh palette address register (r/w) reset value = xxxxxxxxh 31:8 reserved: set to 0. 7:0 palette address: the value programmed is used to in itialize the palette address counter. offset 20h-23h palette data re gister (r/w) reset value = xxxxxxxxh 31:24 reserved: set to 0. 23:0 palette data: this register contains the read or write data for a gamma ram access. table 5-23. f4bar+memory offset xxh: video controller configuration registers (continued) bit description
202 amd geode? CS5530A companion device data book register descriptions revision 1.1 offset 24h-27h dot clock configuratio n register (r/w) reset value = 00000000h 31 feedback reset: reset the pll postscaler and feedback divider. 0 = normal operation; 1 = reset. a more comprehensive reset description is provided in bit 8. 30 half clock: 0 = enable; 1 = disable. for odd post divisors, half clock enables the falling edge of the vc o clock to be used to generate the falling edge of the post divider output to more closely appr oximate a 50% output duty cycle. 29 reserved: set to 0. 28:24 5-bit dclk pll post divisor (pd) value: selects value of 1 to 31. 00000 = pd divisor of 8 01000 = pd divisor of 10 10000 = pd divisor of 9 11000 = pd divisor of 11 00001 = pd divisor of 6 01001 = pd divisor of 20 10001 = pd divisor of 7 11001 = pd divisor of 21 00010 = pd divisor of 18 01010 = pd divisor of 14 10010 = pd divisor of 19 11010 = pd divisor of 15 00011 = pd divisor of 4 01011 = pd divisor of 26 10011 = pd divisor of 5 11011 = pd divisor of 27 00100 = pd divisor of 12 01100 = pd divisor of 22 10100 = pd divisor of 13 11100 = pd divisor of 23 00101 = pd divisor of 16 01101 = pd divisor of 28 10101 = pd divisor of 17 11101 = pd divisor of 29 00110 = pd divisor of 24 01110 = pd divisor of 30 10110 = pd divisor of 25 11110 = pd divisor of 31 00111 = pd divisor of 2 01111 = pd divisor of 1 * 10111 = pd divisor of 3 11111 = reserved * see bit 11 description. 23 plus 1 (+1): adds 1 or 0 to fd (dclk pll vco feedback divisor) parameter in equation (see note). 0 = add 0 to fd; 1 = add 1 to fd. 22:12 n: this bit represents ?n? in the equation (see note). it is us ed to solve the value of fd (dclk pll vco feedback divisor). n can be a value of 1 to 400. for all values of n, refer to table 5-24 on page 204. 11 clk_on: 0 = pll disable; 1 = pll enable. if pd = 1 (i.e., bits [28:24] = 01111) the pll is always enabled and cannot be disabled by this bit. 10 dot clock select: 0 = dclk; 1 = tv_clk. 9 reserved: set to 0 8 bypass pll: connects the input of the pll directly to the outpu t of the pll. 0 = normal operation; 1 = bypass pll. if this bit is set to 1, the input of the pll bypasses the p ll and resets the vco control voltage, which in turn powers down the pll. allow 0.5 ms for the control voltage to be driven to 0v. 7:6 reserved: set to 0. 5 reserved (read only): write as read 4:3 reserved: set to 0. 2:0 pll input divide (id) value: selects value of 2 to 9 (see note). 000 = id divisor of 2 100 = id divisor of 6 001 = id divisor of 3 101 = id divisor of 7 010 = id divisor of 4 110 = id divisor of 8 011 = id divisor of 5 111 = id divisor of 9 note: to calculate dclk output frequency: equation #1: dclk = [clk_14mhz * fd] [pd *id] condition: 140 mhz < [dclk * pd] < 300 mhz where: clk_14mhz is pin p24 fd is derived from n see equation #2 and #3 pd is derived from bits [28:24] id is derived from bits [2:0] equation #2: if fd is an odd number then: fd = 2*n +1 equation #3: if fd is an even number then: fd = 2*n +0 where: n is derived from bits [22:12] +1 is achieved by setting bit 23 to 1. +0 is achieved by clearing bit 23 to 0. table 5-23. f4bar+memory offset xxh: video controller configuration registers (continued) bit description
amd geode? CS5530A companion device data book 203 register descriptions revision 1.1 offset 28h-2bh crc signature and tft/tv conf iguration register (r/w) reset value = 00000100h 31:8 24-bit video signature data (read only) 7 sync override: drive vsync_out on fp_vsync_out and hsync_out on fp_hsync_out. 0 = disable; 1 = enable. 6 invert fp_clk: 0 = disable; 1 = enable. (applicable for tv not tft.) 5 invert fp_clk_even: 0 = disable; 1 = enable. 4 reserved (read only) 3 signature source select: 0 = rgb data; 1 = fp data. (fp data occupies the top 6 bits of each color byte to the signature, with the bottom two bits always zero.) 2 signature free run: 0 = disable; 1 = enable. when high, with the signature enabled, t he signature generator captures data continuous ly across multiple frames. this bit may be set high when the signature is started, then later set lo w, which causes the signature generation process to stop at the end of the current frame. 1 fp_hsync_out delay: 0 = disable; 1 = enable. (applicable for tft not tv.) when sync override (bit 7) is high, this bit (bit 1) can be set high to delay fp_hsync_out by an extra two clock cycles. when the sync override (bit 7) is lo w, this bit should also be set low. 0 signature enable: 0 = disable; 1= enable. when low, the signature register is reset to 000001h and held ( no capture). when high, the signa ture register captures the pixel data signature with each pixel clock beginning with the next vsync. offset 2ch-ffh reserved reset value = xxh table 5-23. f4bar+memory offset xxh: video controller configuration registers (continued) bit description
204 amd geode? CS5530A companion device data book register descriptions revision 1.1 table 5-24. f4bar+memory offset 24h[22:12] decode (value of ?n?) n reg. value 400 33a 399 674 398 4e8 397 1d0 396 3a0 395 740 394 681 393 502 392 205 391 40b 390 16 389 2d 388 5b 387 b7 386 16f 385 2de 384 5bd 383 37b 382 6f6 381 5ec 380 3d9 379 7b2 378 765 377 6cb 376 596 375 32d 374 65a 373 4b4 372 168 371 2d0 370 5a1 369 343 368 686 367 50c 366 219 365 433 364 66 363 cd 362 19b 361 336 360 66c 359 4d8 358 1b0 357 360 356 6c0 355 580 354 301 353 602 352 404 351 8 350 11 349 23 348 47 347 8f 346 11f 345 23e 344 47d 343 fa 342 1f5 341 3ea 340 7d4 339 7a9 338 753 337 6a7 336 54e 335 29d 334 53b 333 277 332 4ef 331 1de 330 3bc 329 778 328 6f1 327 5e2 326 3c5 325 78a 324 715 323 62b 322 456 321 ac 320 159 319 2b2 318 565 317 2cb 316 597 315 32f 314 65e 313 4bc 312 178 311 2f0 310 5e1 309 3c3 308 786 307 70d 306 61b 305 436 304 6c 303 d9 302 1b3 301 366 300 6cc 299 598 n reg. value 298 331 297 662 296 4c4 295 188 294 310 293 620 292 440 291 80 290 101 289 202 288 405 287 a 286 15 285 2b 284 57 283 af 282 15f 281 2be 280 57d 279 2fb 278 5f7 277 3ef 276 7de 275 7bd 274 77b 273 6f7 272 5ee 271 3dd 270 7ba 269 775 268 6eb 267 5d6 266 3ad 265 75a 264 6b5 263 56a 262 2d5 261 5ab 260 357 259 6ae 258 55c 257 2b9 256 573 255 2e7 254 5cf 253 39f 252 73e 251 67d 250 4fa 249 1f4 248 3e8 n reg. value 247 7d0 246 7a1 245 743 244 687 243 50e 242 21d 241 43b 240 76 239 ed 238 1db 237 3b6 236 76c 235 6d9 234 5b2 233 365 232 6ca 231 594 230 329 229 652 228 4a4 227 148 226 290 225 521 224 243 223 487 222 10e 221 21c 220 439 219 72 218 e5 217 1cb 216 396 215 72c 214 659 213 4b2 212 164 211 2c8 210 591 209 323 208 646 207 48c 206 118 205 230 204 461 203 c2 202 185 201 30a 200 614 199 428 198 50 197 a1 n reg. value 196 143 195 286 194 50d 193 21b 192 437 191 6e 190 dd 189 1bb 188 376 187 6ec 186 5d8 185 3b1 184 762 183 6c5 182 58a 181 315 180 62a 179 454 178 a8 177 151 176 2a2 175 545 174 28b 173 517 172 22f 171 45f 170 be 169 17d 168 2fa 167 5f5 166 3eb 165 7d6 164 7ad 163 75b 162 6b7 161 56e 160 2dd 159 5bb 158 377 157 6ee 156 5dc 155 3b9 154 772 153 6e5 152 5ca 151 395 150 72a 149 655 148 4aa 147 154 146 2a8 n reg. value 145 551 144 2a3 143 547 142 28f 141 51f 140 23f 139 47f 138 fe 137 1fd 136 3fa 135 7f4 134 7e9 133 7d3 132 7a7 131 74f 130 69f 129 53e 128 27d 127 4fb 126 1f6 125 3ec 124 7d8 123 7b1 122 763 121 6c7 120 58e 119 31d 118 63a 117 474 116 e8 115 1d1 114 3a2 113 744 112 689 111 512 110 225 109 44b 108 96 107 12d 106 25a 105 4b5 104 16a 103 2d4 102 5a9 101 353 100 6a6 99 54c 98 299 97 533 96 267 95 4cf n reg. value 94 19e 93 33c 92 678 91 4f0 90 1e0 89 3c0 88 780 87 701 86 603 85 406 84 c 83 19 82 33 81 67 80 cf 79 19f 78 33e 77 67c 76 4f8 75 1f0 74 3e0 73 7c0 72 781 71 703 70 607 69 40e 68 1c 67 39 66 73 65 e7 64 1cf 63 39e 62 73c 61 679 60 4f2 59 1e4 58 3c8 57 790 56 721 55 643 54 486 53 10c 52 218 51 431 50 62 49 c5 48 18b 47 316 46 62c 45 458 44 b0 n reg. value 43 161 42 2c2 41 585 40 30b 39 616 38 42c 37 58 36 b1 35 163 34 2c6 33 58d 32 31b 31 636 30 46c 29 d8 28 1b1 27 362 26 6c4 25 588 24 311 23 622 22 444 21 88 20 111 19 222 18 445 17 8a 16 115 15 22a 14 455 13 aa 12 155 11 2aa 10 555 92ab 8557 72af 655f 52bf 457f 32ff 25ff 13ff n reg. value
amd geode? CS5530A companion device data book 205 register descriptions revision 1.1 5.4 usb registers the usb host controller exists logically as its own pci ?device?, separate from the chipset functions. it is a single- function device, and so it contains a pci configuration space for only function 0. d epending on the state of the hold_req# pin on reset, the usb controller will respond to one of two device numbers for access to its pci config- uration registers: hold_req# low: responds to pin ad29 high (device 13h in a geode system). hold_req# high: responds to pin ad27 high (device 11h in a geode system). the pci configuration registers are listed in table 5-25. they can be accessed as any number of bytes within a sin- gle 32-bit aligned unit. they are selected by the pci-stan- dard index and byte-enable method. registers marked as ?reserved?, and reserved bits within a register, should not be changed by software. in the pci configuration space, there is one base address register (bar), at index 10h, which is used to map the usb host controller's operational register set into a 4k memory space. once the bar register has been initialized, and the pci command register at index 04h has been set to enable the memory space decoder, these ?usb control- ler? registers are accessible. the memory-mapped usb controller registers are listed in table 5-26. they follow the open host controller inter- face (ohci) specification. table 5-25. usb index xxh: usb pci configuration registers bit description index 00h-01h vendor identification register (ro) reset value = 0e11h index 02h-03h device identification register (ro) reset value = a0f8h index 04h-05h command register (r/w) reset value = 0000h 15:10 reserved: set to 0. 9 fast back-to-back enable (read only): usb only acts as a master to a single de vice, so this functionality is not needed. it is always disabled (m ust always be set to 0). 8 serr#: usb asserts serr# when it detects an address parity error. 0 = disable; 1 = enable. 7 wait cycle control: usb does not need to insert a wait state between the address and data on the ad lines. it is always disabled (bit is set to 0). 6 parity error: usb asserts perr# when it is the agent rece iving data and it detects a data parity error. 0 = disable; 1 = enable. 5 vga palette snoop enable (read only): usb does not support this function. it is always disabled (bit is set to 0). 4 memory write and invalidate: allow usb to run memory write and invalidate commands. 0 = disable; 1 = enable. the memory write and invalidate command will only occur if the cache line size is set to 32 bytes and the memory write is exactly one cache line. if the CS5530A is being used in a gx1 proce ssor based system, this bit must be set to 0. 3 special cycles: usb does not run special cycles on pci. it is always disabled (bit is set to 0). 2 pci master enable: allow usb to run pci master cycles. 0 = disable; 1 = enable. 1 memory space: allow usb to respond as a target to memory cycles. 0 = disable; 1 = enable. 0 i/o space: allow usb to respond as a target to i/o cycles. 0 = disable; 1 = enable. index 06h-07h status register (r/w) reset value = 0280h 15 detected parity error: this bit is set whenever the usb detects a parity error, even if the parity error (response) detection enable bit (pciusb 04h[6]) is disabled. write 1 to clear. 14 serr# status: this bit is set whenever the usb detec ts a pci address error. write 1 to clear. 13 received master abort status: this bit is set when the usb, acting as a pci master, aborts a pci bus memory cycle. write 1 to clear. 12 received target abort status: this bit is set when a usb generated pci c ycle (usb is the pci master) is aborted by a pci target. write 1 to clear. 11 signaled target abort status: this bit is set whenever the usb si gnals a target abort. write 1 to clear. 10:9 devsel# timing (read only): these bits indicate the devsel# timing when performing a positive decode. since devsel# is asserted to meet the medium timing, these bits are encoded as 01b. 8 data parity reported: set to 1 if the parity error response bit (co mmand register bit 6) is set, and usb detects perr# asserted while acting as pci master (whether perr# was driven by usb or not).
206 amd geode? CS5530A companion device data book register descriptions revision 1.1 7 fast back-to-back capable (read only): usb does support fast back-to-back trans actions when the transactions are not to the same agent. this bit is always 1. 6:0 reserved: set to 0. note: the pci specification defines this register to record status information for pci related events. this is a read/write register. how- ever, writes can only reset bits. a bit is reset whenever the r egister is written and the data in the corresponding bit locatio n is a 1. index 08h device revision id register (ro) reset value = 06h index 09h-0bh pci class code register (ro) reset value = 0c0310h this register identifies this function as an openhci device. t he base class is 0ch (serial bus c ontroller). the sub class is 03 h (universal serial bus). the programming interface is 10h (openhci). index 0ch cache line size register (r/w) reset value = 00h this register identifies the system cache li ne size in units of 32-bit words. the usb only stores the value of bit 3 in this re gister since the cache line size of 32 bytes is the only value applicable to the design. any value other than 08h written to this register i s read back as 00h. in a CS5530A/gx1 processor based system this register must be set to 00h since the gx 1 processor has a 16-byte cache line size. index 0dh latency timer register (r/w) reset value = 00h this register identifies the value of the latency timer in pci clocks for pci bus master cycles. index 0eh header type register (ro) reset value = 00h this register identifies the type of the predefined header in the configuration space. since the usb is a single function devic e and not a pci-to-pci bridge, this byte should be read as 00h. index 0fh bist register (ro) reset value = 00h this register identifies the control and status of built in self test. the usb does not implement bi st, so this register is rea d only. index 10h-13h base address register (r/w) reset value = 00000000h this bar sets the base address of the memory mapped usb contro ller registers. bits [11:0] are read only (0000 0000 0000), indicating a 4 kb memory address range. refer to table 5-26 fo r the usb controller register bit formats and reset values. 31:12 usb controller base address 11:0 address range (read only) index 14h-3bh reserved reset value = xxh index 3ch interrupt line register (r/w) reset value = 00h this register identifies which of the system interrupt controll ers the devices interrupt pin is connected to. the value of this register is used by device drivers and has no direct meaning to the usb. index 3dh interrupt pin register (ro) reset value = 01h this register identifies which interrupt pin a device us es. since the usb uses inta#, this value is set to 01h. index 3eh min. grant register (ro) reset value = 00h this register specifies the des ired settings for how long of a burst the usb needs assuming a clock rate of 33 mhz. the value s pecifies a period of time in units of 1/4 microsecond. index 3fh max. latency register (ro) reset value = 50h this register specifies the desired settings for how often the usb needs access to the pci bus assuming a clock rate of 33 mhz. the value specifies a period of time in units of 1/4 microsecond. index 40h-43h asic test mode enable register (r/w) reset value = 000f0000h used for internal debug and test purposes only. index 44h-45h asic operational mode en able register (r/w) reset value = 0000h 15:9 reserved: read/write 0s. 8 sie pipeline disable: when set, waits for all usb bus activity to complete prior to returning completion status to the list processor. this is a fail-s afe mechanism to avoid potential problems wi th the clk_dr transition between 1.5 mhz and 12 mhz. 7:1 write only: read as 0s. 0 data buffer region 16: when set, the size of the region for the data buffer is 16 bytes. otherwise, the size is 32 bytes. table 5-25. usb index xxh: usb pci configuration registers (continued) bit description
amd geode? CS5530A companion device data book 207 register descriptions revision 1.1 index 46h-47h reserved reset value = 00h index 48h-ffh reserved reset value = xxh table 5-25. usb index xxh: usb pci configuration registers (continued) bit description
208 amd geode? CS5530A companion device data book register descriptions revision 1.1 table 5-26. usb bar+memory offset xxh: usb controller registers bit description offset 00h-03h hcrevision register (ro) reset value = 00000110h 31:8 reserved: read/write 0s. 7:0 revision (read only): indicates the open hci specification revision nu mber implemented by the hardware. usb supports 1.0 specification. (x.y = xyh). offset 04h-07h hccontrol register (r/w) reset value = 00000000h 31:11 reserved: read/write 0s. 10 remotewakeupconnectedenable: if a remote wakeup signal is supported, this bit enables that operation. since there is no remote wakeup signal supported, this bit is ignored. 9 remotewakeupconnected (read only): this bit indicated whether the hc suppo rts a remote wakeup signal. this imple- mentation does not support any such signal. the bit is hard-coded to 0. 8 interruptrouting: this bit is used for interrupt routing: 0 = interr upts routed to normal interrupt mechanism (int); 1 = interrupts routed to smi. 7:6 hostcontrollerfunctionalstate: this field sets the hc state. the hc ma y force a state change from usbsuspend to usbresume after detecting resume signali ng from a downstream port. states are: 00 = usbreset 01 = usbresume 10 = usboperational 11 = usbsuspend 5 bulklistenable: when set, this bit enables processing of the bulk list. 4 controllistenable: when set, this bit enables pr ocessing of the control list. 3 isochronousenable: when clear, this bit disables the isochronous list when the periodic list is enabled (so interrupt eds may be serviced). while processing t he periodic list, the hc will check this bit when it finds an isochronous ed. 2 periodiclistenable: when set, this bit enables processing of the periodic (interrupt and isochronous) list. the hc checks this bit prior to attempting any periodic transfers in a frame. 1:0 controlbulkserviceratio: specifies the number of control endpoints servic ed for every bulk endpoint. encoding is n-1 where n is the number of control endpoints (i.e., 00 = 1 control endpoint; 11 = 3 control endpoints). offset 08h-0bh hccommandstatus register (r/w) reset value = 00000000h 31:18 reserved: read/write 0s. 17:16 scheduleoverruncount: this field increments every time the schedulingoverr un bit in hcinterruptstatus is set. the count wraps from 11 to 00. 15:4 reserved: read/write 0s. 3 ownershipchangerequest: when set by software, this bit sets the owne rshipchange field in hcinterruptstatus. the bit is cleared by software. 2 bulklistfilled: set to indicate there is an active ed on the bulk list. the bit may be set by either software or the hc and cleared by the hc each time it begins processing the head of the bulk list. 1 controllistfilled: set to indicate there is an active ed on the contro l list. it may be set by either software or the hc and cleared by the hc each time it begins processing the head of the control list. 0 hostcontrollerreset: this bit is set to initiate a so ftware reset. this bit is cleared by the hc upon completion of the reset operation. offset 0ch-0fh hcinterruptstatus register (r/w) reset value = 00000000h 31 reserved: read/write 0s. 30 ownershipchange: this bit is set when the ownershipc hangerequest bit of hccommandstatus is set. 29:7 reserved: read/write 0s. 6 roothubstatuschange: this bit is set when the content of hcrhstatus or the content of any hcrhportstatus register has changed. 5 framenumberoverflow: set when bit 15 of framenumber changes value. 4 unrecoverableerror (read only): this event is not implemented and is hard-coded to 0. writes are ignored. 3 resumedetected: set when hc detects resume signaling on a downstream port. 2 startofframe: set when the frame management block signals a start of frame event. 1 writebackdonehead: set after the hc has written hcdonehead to hccadonehead.
amd geode? CS5530A companion device data book 209 register descriptions revision 1.1 0 schedulingoverrun: set when the list processor determ ines a schedule overrun has occurred. note: all bits are set by hardware and cleared by software. offset 10h-13h hcinterruptenable register (r/w) reset value = 00000000h 31 masterinterruptenable: this bit is a global interrupt enable. a write of 1 allows interrupts to be enabled via the specific enable bits listed above. 30 ownershipchangeenable: 0 = ignore; 1 = enable interrupt generation due to ownership change. 29:7 reserved: read/write 0s. 6 roothubstatuschangeenable: 0 = ignore; 1 = enable interrupt generation due to root hub status change. 5 framenumberoverflowenable: 0 = ignore; 1 = enable interrupt generation due to frame number overflow. 4 unrecoverableerrorenable: this event is not implemented. a ll writes to this bit are ignored. 3 resumedetectedenable: 0 = ignore; 1 = enable interrupt generation due to resume detected. 2 startofframeenable: 0 = ignore; 1 = enable interrupt generation due to start of frame. 1 writebackdoneheadenable: 0 = ignore; 1 = enable interrupt generation due to writeback done head. 0 schedulingoverrunenable: 0 = ignore; 1 = enable interrupt generation due to scheduling overrun. note: writing a 1 to a bit in this register sets the co rresponding bit, while writing a 0 leaves the bit unchanged. offset 14h-17h hcinterruptdisable register (r/w) reset value = c000006fh 31 masterinterruptenable: global interrupt disable. a write of 1 disables all interrupts. 30 ownershipchangeenable: 0 = ignore; 1 = disable interrupt generation due to ownership change. 29:7 reserved: read/write 0s. 6 roothubstatuschangeenable: 0 = ignore; 1 = disable interrupt generation due to root hub status change. 5 framenumberoverflowenable: 0 = ignore; 1 = disable interrupt generation due to frame number overflow. 4 unrecoverableerrorenable: this event is not implemented. all writes to this bit will be ignored. 3 resumedetectedenable: 0 = ignore; 1 = disable interrupt generation due to resume detected. 2 startofframeenable: 0 = ignore; 1 = disable interrupt generation due to start of frame. 1 writebackdoneheadenable: 0 = ignore; 1 = disable interrupt generation due to writeback done head. 0 schedulingoverrunenable: 0 = ignore; 1 = disable interrupt generation due to scheduling overrun. note: writing a 1 to a bit in this register clears the correspondi ng bit, while writing a 0 to a bit leaves the bit unchanged. offset 18h-1bh hchcca register (r/w) reset value = 00000000h 31:8 hcca: pointer to hcca base address. 7:0 reserved: read/write 0s. offset 1ch-1ch hcperiodcurrented register (r/w) reset value = 00000000h 31:4 periodcurrented: pointer to the current periodic list ed. 3:0 reserved: read/write 0s. offset 20h-23h hccontrolheaded register (r/w) reset value = 00000000h 31:4 controlheaded: pointer to the control list head ed. 3:0 reserved: read/write 0s. offset 24h-27h hccontrolcurrented register (r/w) reset value = 00000000h 31:4 controlcurrented: pointer to the current control list ed. 3:0 reserved: read/write 0s. offset 28h-2bh hcbulkheaded register (r/w) reset value = 00000000h 31:4 bulkheaded: pointer to the bulk list head ed. 3:0 reserved: read/write 0s. offset 2ch-2fh hcbulkcurrented register (r/w) reset value = 00000000h 31:4 bulkcurrented: pointer to the current bulk list ed. 3:0 reserved: read/write 0s. table 5-26. usb bar+memory offset xxh: usb controller registers (continued) bit description
210 amd geode? CS5530A companion device data book register descriptions revision 1.1 offset 30h-33h hcdonehead register (r/w) reset value = 00000000h 31:4 donehead: pointer to the current done list head ed. 3:0 reserved: read/write 0s. offset 34h-37h hcfminterval register (r/w) reset value = 00002edfh 31 frameintervaltoggle (read only): this bit is toggled by hcd when it loads a new value into frameinterval. 30:16 fslargestdatapacket (read only): this field specifies a value which is loade d into the largest data packet counter at the beginning of each frame. 15:14 reserved: read/write 0s. 13:0 frameinterval: this field specifies the length of a frame as (bit time s - 1). for 12,000 bit times in a frame, a value of 11,999 is stored here. offset 38h-3bh hcframeremaining register (ro) reset value = 00002exxh 31 frameremainingtoggle (read only): loaded with frameintervaltoggle when frameremaining is loaded. 30:14 reserved: read 0s. 13:0 frameremaining (read only): when the hc is in the usboperational stat e, this 14-bit field decrements each 12 mhz clock period. when the count reaches 0, (end of frame) the c ounter reloads with frameinterval. in addition, the counter loads when the hc transiti ons into usboperational. offset 3ch-3fh hcfmnumber register (ro) reset value = 00000000h 31:16 reserved: read 0s. 15:0 framenumber (read only): this 16-bit incrementing counter field is incremented coincident with the loading of framere- maining. the count rolls over from ffffh to 0h. offset 40h-43h hcperiodicstart register (r/w) reset value = 00000000h 31:14 reserved: read/write 0s. 13:0 periodicstart: this field contains a value used by the list processor to determine where in a frame the periodic list pro- cessing must begin. offset 44h-47h hclsthreshold re gister (r/w) reset value = 00000628h 31:12 reserved: read/write 0s. 11:0 lsthreshold: this field contains a value used by the frame ma nagement block to determine whether or not a low speed transaction can be started in the current frame. offset 48h-4bh hcrhdescriptora register (r/w) reset value = 01000002h 31:24 powerontopowergoodtime: this field value is represent ed as the number of 2 ms inte rvals, ensuring that the power switching is effective within 2 ms. only bits [25:24] are implem ented as r/w. the remaining bits are read only as 0. it is not expected that these bits be written to anything other than 1h, bu t limited adjustment is provided . this field should be written to support system implementati on. this field should always be written to a non-zero value. 23:13 reserved: read/write 0s. 12 noovercurrentprotection: this bit should be written to support the exter nal system port over-current implementation. 0 = over-current status is reported; 1 = over-current status is not reported. 11 overcurrentprotectionmode: this bit should be written 0 and is only valid when noovercu rrentprotection is cleared. 0 = global over-current; 1 = individual over-current 10 devicetype (read only): usb is not a compound device. 9 nopowerswitching: this bit should be written to support the external system port power switching implementation. 0 = ports are power switched. 1 = ports are always powered on. 8 powerswitchingmode: this bit is only valid when nopowerswitching is cleared. this bit should be written 0. 0 = global switching; 1 = individual switching 7:0 numberdownstreamports (read only): usb supports two downstream ports. note: this register is only reset by a power-on reset (pcirst#). it is written during system initialization to configure the root hub . these bit should not be written during normal operation. table 5-26. usb bar+memory offset xxh: usb controller registers (continued) bit description
amd geode? CS5530A companion device data book 211 register descriptions revision 1.1 offset 4ch-4fh hcrhdescriptorb re gister (r/w) reset value = 00000000h 31:16 portpowercontrolmask: global-power switching. this fi eld is only valid if nopowerswi tching is cleared and powerswitch- ingmode is set (individual port switching). when set, the port only responds to individual port power switching commands (set/clearportpower). when cleared, the port only responds to global power swit ching commands (se t/clearglobalpower). 0 = device not removable; 1 = global-power mask. port bit relationship - unimplemented ports are reserved, read/write 0. 0 = reserved 1 = port 1 2 = port 2 ... 15 = port 15 15:0 deviceremoveable: usb ports default to removable devices. 0 = device not removable; 1 = device removable. port bit relationship 0 = reserved 1 = port 1 2 = port 2 ... 15 = port 15 unimplemented ports are reserved, read/write 0. note: this register is only reset by a power-on reset (pcirst#). it is written during system initialization to configure the root hub . these bit should not be written during normal operation. offset 50h-53h hcrhstatus regi ster (r/w) reset value = 00000000h 31 clearremotewakeupenable (write only): writing a 1 to this bit clears deviceremotewakeupenable. writing a 1 has no effect. 30:18 reserved: read/write 0s. 17 overcurrentindicatorchange: this bit is set when overcurrentindicator cha nges. writing a 1 clears this bit. writing a 0 has no effect. 16 read: localpowerstatuschange: not supported. always read 0. write: setglobalpower: write a 1 issues a setglobalpower command to the ports. writing a 0 has no effect. 15 read: deviceremotewakeupenable: this bit enables ports' connectstatuschange as a remote wakeup event. 0 = disabled; 1 = enabled. write = setremotewakeupenable: writing a 1 sets deviceremotewakeupenable. writing a 0 has no effect. 14:2 reserved: read/write 0s. 1 overcurrentindicator: this bit reflects the state of the ovrcur pin. this field is only valid if noovercurrentprotection and overcurrentprotectionmode are cleared. 0 = no over -current condition; 1 = over-current condition. 0 read: localpowerstatus: not supported. always read 0. write: clearglobalpower: writing a 1 issues a clearglobalpower comm and to the ports. writing a 0 has no effect. note: this register is reset by the usbreset state. table 5-26. usb bar+memory offset xxh: usb controller registers (continued) bit description
212 amd geode? CS5530A companion device data book register descriptions revision 1.1 offset 54h-57h hcrhportstatus[1] register (r/w) reset value = 00000628h 31:21 reserved: read/write 0s. 20 portresetstatuschange: this bit indicates that the port reset signal has completed. 0 = port reset is not complete; 1 = port reset is complete. 19 portovercurrentindicatorchange: this bit is set when overcurrentindicator ch anges. writing a 1 clears this bit. writing a 0 has no effect. 18 portsuspendstatuschange: this bit indicates the completion of the selective resume sequence for the port. 0 = port is not resumed; 1 = port resume is complete. 17 portenablestatuschange: this bit indicates that the port has been disa bled due to a hardware event (cleared portena- blestatus). 0 = port has not been disabled; 1 = portenablestatus has been cleared. 16 connectstatuschange: this bit indicates a connect or disconnect event has been detected. writing a 1 clears this bit. writing a 0 has no effect. 0 = no connect/disconnect ev ent; 1 = hardware detection of connect/disconnect event. if deviceremoveable is set, this bit resets to 1. 15:10 reserved: read/write 0s. 9 read: lowspeeddeviceattached: this bit defines the speed (and bud idle) of the attached device. it is only valid when currentconnectstatus is set. 0 = full speed device; 1 = low speed device. write: clearportpower: writing a 1 clears portpowerstatus. writing a 0 has no effect. 8 read: portpowerstatus: this bit reflects the power state of the port regardless of the power switching mode. 0 = port power is off; 1 = port power is on. note: if nopowerswitching is set, this bit is always read as 1. write: setportpower: writing a 1 sets portpowerstatus. writing a 0 has no effect. 7:5 reserved: read/write 0s. 4 read: portresetstatus: 0 = port reset signal is not active ; 1 = port reset signal is active. write: setportreset: writing a 1 sets portresetstatus. writing a 0 has no effect. 3 read: portovercurrentindicator: this bit reflects the state of the ovrcur pi n dedicated to this port. this field is only valid if noovercurrentprotection is clear ed and overcurrentprotectionmode is set. 0 = no over-current condition; 1 = over- current condition. write: clearportsuspend: writing a 1 initiates the selective resume sequence for the port. writing a 0 has no effect. 2 read: portsuspendstatus: 0 = port is not suspended; 1 = port is selectively suspended. write: setportsuspend: writing a 1 sets portsuspendstatus. writing a 0 has no effect. 1 read: portenablestatus: 0 = port disabled; 1 = port enabled. write: setportenable: writing a 1 sets portenablestatus. writing a 0 has no effect. 0 read: currentconnectstatus: 0 = no device connected; 1 = device connected. note: if deviceremoveable is set (not re movable) this bit is always 1. write: clearportenable: writing 1 a clears portenablestatus. writing a 0 has no effect. note: this register is reset by the usbreset state. table 5-26. usb bar+memory offset xxh: usb controller registers (continued) bit description
amd geode? CS5530A companion device data book 213 register descriptions revision 1.1 offset 58h-5bh hcrhportstatus[2] register (r/w) reset value = 01000002h 31:21 reserved: read/write 0s. 20 portresetstatuschange: this bit indicates that the port reset signal has completed. 0 = port reset is not complete; 1 = port reset is complete. 19 portovercurrentindicatorchange: this bit is set when overcurrentindicator ch anges. writing a 1 clears this bit. writing a 0 has no effect. 18 portsuspendstatuschange: this bit indicates the completion of the selective resume sequence for the port. 0 = port is not resumed; 1 = port resume is complete. 17 portenablestatuschange: this bit indicates that the port has been disa bled due to a hardware event (cleared portena- blestatus). 0 = port has not been disabled; 1 = portenablestatus has been cleared. 16 connectstatuschange: this bit indicates a connect or disconnect event has been detected. writing a 1 clears this bit. writing a 0 has no effect. 0 = no connect/disconnect ev ent; 1 = hardware detection of connect/disconnect event. if deviceremoveable is set, this bit resets to 1. 15:10 reserved: read/write 0s. 9 read: lowspeeddeviceattached: this bit defines the speed (and bud idle) of the attached device. it is only valid when currentconnectstatus is set. 0 = full speed device; 1 = low speed device. write: clearportpower: writing a 1 clears portpowerstatus. writing a 0 has no effect. 8 read: portpowerstatus: this bit reflects the power state of the port regardless of the power switching mode. 0 = port power is off; 1 = port power is on. note: if nopowerswitching is set, this bit is always read as 1. write: setportpower: writing a 1 sets portpowerstatus. writing a 0 has no effect. 7:5 reserved: read/write 0s. 4 read: portresetstatus: 0 = port reset signal is not active ; 1 = port reset signal is active. write: setportreset: writing a 1 sets portresetstatus. writing a 0 has no effect. 3 read: portovercurrentindicator: this bit reflects the state of the ovrcur pi n dedicated to this port. this field is only valid if noovercurrentprotection is clear ed and overcurrentprotectionmode is set. 0 = no over-current condition; 1 = over- current condition. write: clearportsuspend: writing a 1 initiates the selective resume sequence for the port. writing a 0 has no effect. 2 read: portsuspendstatus: 0 = port is not suspended; 1 = port is selectively suspended. write: setportsuspend: writing a 1 sets portsuspendstatus. writing a 0 has no effect. 1 read: portenablestatus: 0 = port disabled; 1 = port enabled. write: setportenable: writing a 1 sets portenablestatus. writing a 0 has no effect. 0 read: currentconnectstatus: 0 = no device connected; 1 = device connected. note: if deviceremoveable is set (not re movable) this bit is always 1. write: clearportenable: writing 1 a clears portenablestatus. writing a 0 has no effect. note: this register is reset by the usbreset state. offset 5ch-5fh reserved reset value = 00000000h offset 60h-9fh reserved reset value = xxh table 5-26. usb bar+memory offset xxh: usb controller registers (continued) bit description
214 amd geode? CS5530A companion device data book register descriptions revision 1.1 offset 100h-103h hcecontrol register (r/w) reset value = 00000000h 31:9 reserved: read/write 0s. 8 a20state: indicates current state of gate a20 on keyboard controller. compared against value written to 60h when gatea20sequence is active. 7 irq12active: indicates a positive transition on irq12 from keyboard controller occurred. software writes this bit to 1 to clear it (set it to 0); a 0 write has no effect. 6 irq1active: indicates a positive transition on irq1 from keyboard controller occurred. softw are writes this bit to 1 to clear it (set it to 0); a 0 write has no effect. 5 gatea20sequence: set by hc when a data value of d1h is written to i/o port 64h. cleared by hc on write to i/o port 64h of any value other than d1h. 4 externalirqen: when set to 1, irq1 and irq12 from the keyboard co ntroller cause an emulation interrupt. the function controlled by this bit is independent of the setting of the emulationenable bit in this register. 3 irqen: when set, the hc generates irq1 or irq12 as long as the ou tputfull bit in hcestatus is set to 1. if the auxoutput- full bit of hcestatus is 0, irq1 is generated: if 1, then an irq12 is generated. 2 characterpending: when set, an emulation interrupt will be generated when the outputfull bit of the hcestatus register is set to 0. 1 emulationinterrupt (read only): this bit is a static decode of the emulation interrupt condition. 0 emulationenable: when set to 1 the hc is enabled for legacy emulati on and will decode accesses to i/o registers 60h and 64h and generate irq1 and/or irq12 when appropriate. the hc al so generates an emulation interrupt at appropriate times to invoke the emulation software. note: this register is used to enable and control the em ulation hardware and report va rious status information. offset 104h-107h hceinput register (r/w) reset value = 000000xxh 31:8 reserved: read/write 0s. 7:0 inputdata: this register holds data written to i/o ports 60h and 64h. note: this register is the emulation side of the legacy input buffer register. offset 108h-10bh hceoutput register (r/w) reset value = 000000xxh 31:8 reserved: read/write 0s. 7:0 outputdata: this register hosts data that is returned when an i/o read of port 60h is performed by application software. note: this register is the emulation side of the legacy output buffer register where keyboard and mous e data is to be written by soft - ware. offset 10ch-10fh hcestatus regi ster (r/w) reset value = 00000000h 31:8 reserved: read/write 0s. 7 parity: indicates parity error on keyboard/mouse data. 6 timeout: used to indicate a time-out 5 auxoutputfull: irq12 is asserted whenever this bit is set to 1 and outputfull is set to 1 and the irqen bit is set. 4 inhibit switch: this bit reflects the state of the keyboard inhibi t switch and is set if the keyboard is not inhibited. 3 cmddata: the hc will set this bit to 0 on an i/o write to port 60h and on an i/o write to port 64h the hc will set this bit to 1. 2 flag: nominally used as a system flag by softw are to indicate a warm or cold boot. 1 inputfull: except for the case of a gate a20 sequence, this bit is set to 1 on an i/o write to address 60h or 64h. while this bit is set to 1 and emulation is enabled, an emulation interrupt condition exists. 0 outputfull: the hc will set this bit to 0 on a read of i/o port 60h. if irqen is set and auxoutputfull is set to 0 then an irq1 is generated as long as this bit is set to 1. if irqen is set and auxoutputfull is set to 1 then and irq12 will be generated a long as this bit is set to 1. while this bit is 0 and char acterpending in hcecontrol is set to 1, an emulation interrupt cond i- tion exists. note: this register is the emulation si de of the legacy status register. table 5-26. usb bar+memory offset xxh: usb controller registers (continued) bit description
amd geode? CS5530A companion device data book 215 register descriptions revision 1.1 5.5 isa legacy i/o register space the bit formats for the isa legacy i/o registers plus two chipset-specific configuration registers used for interrupt mapping in the CS5530A are given in this section. these registers reside in the isa i/o address space in the address range from 000h to fffh and are accessed through typical input/output inst ructions (i.e., cpu direct r/ w) with the designated i/o port address and 8-bit data. the registers are separated into the following categories:  dma channel control registers, see table 5-27  dma page registers, see table 5-28  programmable interval timer registers, see table 5-29  programmable interrupt controller registers, see table 5-30  keyboard controller registers, see table 5-31  real time clock registers, see table 5-32  miscellaneous registers, see table 5-33 (includes 4d0h and 4d1h interrupt edge/level select registers and acpi timer count register at i/o port 121ch) table 5-27. dma channel control registers bit description i/o port 000h (r/w) dma channel 0 address register written as two successive bytes, byte 0, 1. i/o port 001h (r/w) dma channel 0 transfer count register written as two successive bytes, byte 0, 1. i/o port 002h (r/w) dma channel 1 address register written as two successive bytes, byte 0, 1. i/o port 003h (r/w) dma channel 1 transfer count register written as two successive bytes, byte 0, 1. i/o port 004h (r/w) dma channel 2 address register written as two successive bytes, byte 0, 1. i/o port 005h (r/w) dma channel 2 transfer count register written as two successive bytes, byte 0, 1. i/o port 006h (r/w) dma channel 3 address register written as two successive bytes, byte 0, 1. i/o port 007h (r/w) dma channel 3 transfer count register written as two successive bytes, byte 0, 1. i/o port 008h (r/w) read dma status register, channels 3:0 7 channel 3 request: request pending? 0 = no; 1 = yes. 6 channel 2 request: request pending? 0 = no; 1 = yes. 5 channel 1 request: request pending? 0 = no; 1 = yes. 4 channel 0 request: request pending? 0 = no; 1 = yes. 3 channel 3 terminal count: tc reached? 0 = no; 1 = yes. 2 channel 2 terminal count: tc reached? 0 = no; 1 = yes. 1 channel 1 terminal count: tc reached? 0 = no; 1 = yes. 0 channel 0 terminal count: tc reached? 0 = no; 1 = yes. write dma command register, channels 3:0 7 dack sense: 0 = active high; 1 = active low. 6 dreq sense: 0 = active high; 1 = active low. 5 write selection: 0 = late write; 1 = extended write. 4 priority mode: 0 = fixed; 1 = rotating. 3 timing mode: 0 = normal; 1 = compressed. 2 channels 3 through 0: 0 = disable; 1 = enable. 1:0 reserved: set to 0.
216 amd geode? CS5530A companion device data book register descriptions revision 1.1 i/o port 009h (wo) software dma request register, channels 3:0 7:3 reserved: set to 0. 2 reserved: set to 0. 1:0 channel number request select: 00 = channel 0; 01 = channel 1; 10 = channel 2; 11 = channel 3. note: software dma is not supported. i/o port 00ah (r/w) dma channel mask register, channels 3:0 7:3 reserved: set to 0. 2 channel mask: 0 = not masked; 1 = masked. 1:0 channel number mask select: 00 = channel 0; 01 = channel 1; 10 = channel 2; 11 = channel 3. i/o port 00bh (wo) dma channel mode register, channels 3:0 7:6 transfer mode: 00 = demand; 01 = single; 10 = block; 11 = cascade. 5 address direction: 0 = increment; 1 = decrement. 4 auto-initialize: 0 = disable; 1 = enable. 3:2 transfer type: 00 = verify; 01 = memory read; 10 = memory write; 11 = reserved. 1:0 channel number mode select: 00 = channel 0; 01 = channel 1; 10 = channel 2; 11 = channel 3. i/o port 00ch (wo) dma clear byte pointer command, channels 3:0 i/o port 00dh (wo) dma master clear command, channels 3:0 i/o port 00eh (wo) dma clear mask register command, channels 3:0 i/o port 00fh (wo) dma write mask register command, channels 3:0 i/o port 0c0h (r/w) dma channel 4 address register not used. i/o port 0c2h (r/w) dma channel 4 transfer count register not used. i/o port 0c4h (r/w) dma channel 5 address register memory address bytes 1 and 0. i/o port 0c6h (r/w) dma channel 5 transfer count register transfer count bytes 1 and 0 i/o port 0c8h (r/w) dma channel 6 address register memory address bytes 1 and 0. i/o port 0cah (r/w) dma channel 6 transfer count register transfer count bytes 1 and 0. i/o port 0cch (r/w) dma channel 7 address register memory address bytes 1 and 0. i/o port 0ceh (r/w) dma channel 7 transfer count register transfer count bytes 1 and 0. table 5-27. dma channel control registers (continued) bit description
amd geode? CS5530A companion device data book 217 register descriptions revision 1.1 i/o port 0d0h (r/w) read dma status register, channels 7:4 7 channel 7 request: request pending? 0 = no; 1 = yes. 6 channel 6 request: request pending? 0 = no; 1 = yes. 5 channel 5 request: request pending? 0 = no; 1 = yes. 4 undefined 3 channel 7 terminal count: tc reached? 0 = no; 1 = yes. 2 channel 6 terminal count: tc reached? 0 = no; 1 = yes. 1 channel 5 terminal count: tc reached? 0 = no; 1 = yes. 0 undefined write dma command register, channels 7:4 7 dack sense: 0 = active high; 1 = active low. 6 dreq sense: 0 = active high; 1 = active low. 5 write selection: 0 = late write; 1 = extended write. 4 priority mode: 0 = fixed; 1 = rotating. 3 timing mode: 0 = normal; 1 = compressed. 2 channels 7 through 4: 0 = disable; 1 = enable. 1:0 reserved: set to 0. i/o port 0d2h (wo) software dma request register, channels 7:4 7:3 reserved: set to 0. 2 request type: 0 = reset; 1 = set. 1:0 channel number request select: 00 = illegal; 01 = channel 5; 10 = channel 6; 11 = channel 7. note: software dma is not supported i/o port 0d4h (r/w) dma channel mask register, channels 7:0 7:3 reserved: set to 0. 2 channel mask: 0 = not masked; 1 = masked. 1:0 channel number mask select: 00 = channel 4; 01 = channel 5; 10 = channel 6; 11 = channel 7. i/o port 0d6h (wo) dma channel mode register, channels 7:4 7:6 transfer mode: 00 = demand; 01 = single; 10 = block; 11 = cascade. 5 address direction: 0 = increment; 1 = decrement. 4 auto-initialize: 0 = disabled; 1 = enable. 3:2 transfer type: 00 = verify; 01 = memory read; 10 = memory write; 11 = reserved. 1:0 channel number mode select: 00 = channel 4; 01 = channel 5; 10 = channel 6; 11 = channel 7. channel 4 must be programmed in cascade mode. this mode is not the default. i/o port 0d8h (wo) dma clear byte pointer command, channels 7:4 i/o port 0dah (wo) dma master clear command, channels 7:4 i/o port 0dch (wo) dma clear mask register command, channels 7:4 i/o port 0deh (wo) dma write mask register command, channels 7:4 table 5-27. dma channel control registers (continued) bit description
218 amd geode? CS5530A companion device data book register descriptions revision 1.1 table 5-28. dma page registers bit description i/o port 081h (r/w) dma channel 2 low page register address bits [23:16] (byte 2). i/o port 082h (r/w) dma channel 3 low page register address bits [23:16] (byte 2). i/o port 083h (r/w) dma channel 1 low page register address bits [23:16] (byte 2). i/o port 087h (r/w) dma channel 0 low page register address bits [23:16] (byte 2). i/o port 089h (r/w) dma channel 6 low page register address bits [23:16] (byte 2). i/o port 08ah (r/w) dma channel 7 low page register address bits [23:16] (byte 2). i/o port 08bh (r/w) dma channel 5 low page register address bits [23:16] (byte 2). i/o port 08fh (r/w) isa refresh low page register refresh address. i/o port 481h (r/w) dma channel 2 high page register address bits [31:24] (byte 3). note: this register is reset to 00h on any access to port 081h. i/o port 482h (r/w) dma channel 3 high page register address bits [31:24] (byte 3). note: this register is reset to 00h on any access to port 082h. i/o port 483h (r/w) dma channel 1 high page register address bits [31:24] (byte 3). note: this register is reset to 00h on any access to port 083h. i/o port 487h (r/w) dma channel 0 high page register address bits [31:24] (byte 3). note: this register is reset to 00h on any access to port 087h. i/o port 489h (r/w) dma channel 6 high page register address bits [31:24] (byte 3). note: this register is reset to 00h on any access to port 089h. i/o port 48ah (r/w) dma channel 7 high page register address bits [31:24] (byte 3). note: this register is reset to 00h on any access to port 08ah. i/o port 48bh (r/w) dma channel 5 high page register address bits [31:24] (byte 3). note: this register is reset to 00h on any access to port 08bh.
amd geode? CS5530A companion device data book 219 register descriptions revision 1.1 table 5-29. programmable interval timer registers bit description i/o port 040h write pit timer 0 counter 7:0 counter value read pit timer 0 status 7 counter output: state of counter output signal. 6 counter loaded: last count written is loaded? 0 = yes; 1 = no. 5:4 current read/write mode: 00 = counter latch command; 01 = r/w lsb only; 10 = r/w msb only; 11 = r/w lsb, followed by msb. 3:1 current counter mode: 0-5. 0 bcd mode: 0 = binary; 1 = bcd (binary coded decimal). i/o port 041h write pit timer 1 counter (refresh) 7:0 counter value read pit timer 1 status (refresh) 7 counter output: state of counter output signal. 6 counter loaded: last count written is loaded? 0 = yes; 1 = no. 5:4 current read/write mode: 00 = counter latch command; 01 = r/w lsb only; 10 = r/w msb only; 11 = r/w lsb, followed by msb. 3:1 current counter mode: 0-5. 0 bcd mode: 0 = binary; 1 = bcd (binary coded decimal). i/o port 042h write pit timer 2 counter (speaker) 7:0 counter value read pit timer 2 status (speaker) 7 counter output: state of counter output signal. 6 counter loaded: last count written is loaded? 0 = yes; 1 = no. 5:4 current read/write mode: 00 = counter latch command; 01 = r/w lsb only; 10 = r/w msb only; 11 = r/w lsb, followed by msb. 3:1 current counter mode: 0-5. 0 bcd mode: 0 = binary; 1 = bcd (binary coded decimal). i/o port 043h (r/w) pit mode control word register 7:6 counter select: 00 = counter 0; 01 = counter 1; 10 = counter 2; 11 = read-back command (note 1). 5:4 current read/write mode: 00 = counter latch command (note 2); 01 = r/w lsb only; 10 = r/w msb only; 11 = r/w lsb, followed by msb. 3:1 current counter mode: 0-5. 0 bcd mode: 0 = binary; 1 = bcd (binary coded decimal). notes: 1. if bits [7:6] = 11: register functions as read status command bit 5 = latch count, bit 4 = latch status, bit 3 = select counter 2, bit 2 = select counter 1, bit 1 = select counter 0, and bi t 0 = reserved 2. if bits [5:4] = 00: register functions as counter latch command bits [7:6] = selects counter, and [3:0] = don?t care
220 amd geode? CS5530A companion device data book register descriptions revision 1.1 table 5-30. programmable interrupt controller registers bit description i/o port 020h / 0a0h (wo) master / slave pic iwc1 7:5 reserved: set to 0. 4 reserved: set to 1. 3 trigger mode: 0 = edge; 1 = level. 2 vector address interval: 0 = 8-byte intervals; 1 = 4-byte intervals. 1 reserved: set to 0 (cascade mode). 0 reserved: set to 1 (icw4 must be programmed). i/o port 021h / 0a1h (wo) master / slave pic icw2 (after icw1 is written) 7:3 a[7:3]: address lines [7:3] for base vector for interrupt controller. 2:0 reserved: set to 0. i/o port 021h / 0a1h (wo) master / slave pic icw3 (after icw2 is written) master pic icw3 7:0 cascade irq: must be 04h. slave pic icw3 7:0 slave id: must be 02h. i/o port 021h / 0a1h (wo) master / slave pic icw4 (after icw3 is written) 7:5 reserved: set to 0. 4 special fully nested mode: 0 = disable; 1 = enable. this function is not implemented and should al ways be disabled (i.e., set this bit to 0). 3:2 reserved: set to 0. 1 auto eoi: 0 = normal eoi; 1 = auto eoi. 0 reserved: set to 1 (8086/8088 mode). i/o port 021h / 0a1h (r/w) master / slave pic ocw1 (except immediately after icw1 is written) 7 irq7 / irq15 mask: 0 = not masked; 1 = mask. 6 irq6 / irq14 mask: 0 = not masked; 1 = mask. 5 irq5 / irq13 mask: 0 = not masked; 1 = mask. 4 irq4 / irq12 mask: 0 = not masked; 1 = mask. 3 irq3 / irq11 mask: 0 = not masked; 1 = mask. 2 irq2 / irq10 mask: 0 = not masked; 1 = mask. 1 irq1 / irq9 mask: 0 = not masked; 1 = mask. 0 irq0 / irq8 mask: 0 = not masked; 1 = mask. i/o port 020h / 0a0h (wo) master / slave pic ocw2 7:5 rotate/eoi codes 000 = clear rotate in auto eoi mode 100 = set rotate in auto eoi mode 001 = non-specific eoi 101 = rotate on non-specific eoi command 010 = no operation 110 = set priority command (bits [2:0] must be valid) 011 = specific eoi (bits [2:0] must be valid) 111 = rotate on specific eoi command (bits [2:0] must be valid) 4:3 reserved: set to 0. 2:0 irq number (000-111)
amd geode? CS5530A companion device data book 221 register descriptions revision 1.1 i/o port 020h / 0a0h (wo) master / slave pic ocw3 7 reserved: set to 0. 6:5 special mask mode 00 = no operation 10 = reset special mask mode 01 = no operation 11 = set special mask mode 4 reserved: set to 0. 3 reserved: set to 1. 2 reserved: set to 0. poll command at this address is not supported. 1:0 register read mode 00 = no operation 10 = read interrupt request register on next read of port 20h 01 = no operation 11 = read interrupt service register on next read of port 20h i/o port 020h / 0a0h (ro) master / slave pic interrupt request and service registers for ocw3 commands interrupt request register 7 irq7 / irq15 pending: 0 = yes; 1 = no. 6 irq6 / irq14 pending: 0 = yes; 1 = no. 5 irq5 / irq13 pending: 0 = yes; 1 = no. 4 irq4 / irq12 pending: 0 = yes; 1 = no. 3 irq3 / irq11 pending: 0 = yes; 1 = no. 2 irq2 / irq10 pending: 0 = yes; 1 = no. 1 irq1 / irq9 pending: 0 = yes; 1 = no. 0 irq0 / irq8 pending: 0 = yes; 1 = no. interrupt service register 7 irq7 / irq15 in-service: 0 = no; 1 = yes. 6 irq6 / irq14 in-service: 0 = no; 1 = yes. 5 irq5 / irq13 in-service: 0 = no; 1 = yes. 4 irq4 / irq12 in-service: 0 = no; 1 = yes. 3 irq3 / irq11 in-service: 0 = no; 1 = yes. 2 irq2 / irq10 in-service: 0 = no; 1 = yes. 1 irq1 / irq9 in-service: 0 = no; 1 = yes. 0 irq0 / irq8 in-service: 0 = no; 1 = yes. note: the function of this regi ster is set with bits [1:0] in a write to 020h. table 5-30. programmable interrupt controller registers (continued) bit description
222 amd geode? CS5530A companion device data book register descriptions revision 1.1 table 5-31. keyboard controller registers bit description i/o port 060h (r/w) external keyboard controller data register keyboard controller data register: all accesses to this port are passed to the i sa bus. if the fast keyboard gate a20 and reset fea- tures are enabled through bit 7 of the rom/at logic control regist er (f0 index 52h[7]), the respective sequences of writes to t his port assert the a20m# pin or cause a warm cpu reset. i/o port 061h (r/w) port b control register reset value = 00x01100b 7 perr#/serr# status (read only): was a pci bus error (perr#/serr#) asserted by a pci device or by the CS5530A? 0 = no; 1 = yes. this bit can only be set if err_en (bit 2) is set 0. this bit is set 0 after a write to err_en with a 1 or after reset. 6 iochk# status (read only): is an i/o device reporting an error to the CS5530A? 0 = no; 1 = yes. this bit can only be set if iochk_en (bit 3) is set 0. this bit is set 0 after a write to iochk_en with a 1 or after reset. 5 pit out2 state (read only): this bit reflects the current status of the pit counter 2 (out2). 4 toggle (read only): this bit toggles on every falling edge of counter 1 (out1). 3 iochk enable: 0 = generates an nmi if iochk# is driven low by an i/o devi ce to report an error. note that nmi is under smi control. 1 = ignores the iochk# input signal and does not generate nmi. 2 perr#/serr# enable: generates an nmi if perr#/serr# is driven active to report an error. 0 = enable; 1 = disable 1 pit counter2 (spkr): 0 = forces counter 2 output (out2) to zero; 1 = allows counter 2 output (out2) to pass to the speaker. 0 pit counter2 enable: 0 = sets gate2 input low; 1 = sets gate2 input high. i/o port 062h (r/w) external keyboard controller mailbox register keyboard controller mailbox register: accesses to this port will assert kbromcs # if the port 062h/066h decode is enabled through bit 7 of the decode control register 2 (f0 index 5bh[7]). i/o port 064h (r/w) external keyboard controller command register keyboard controller command register: all accesses to this port are passed to the isa bus. if the fast keyboard gate a20 and reset features are enabled through bit 7 of the rom/at logic control regist er (f0 index 52h[7]), the respective sequences of writes t o this port assert the a20m# pin or cause a warm cpu reset. i/o port 066h (r/w) external keyboard controller mailbox register keyboard controller mailbox register: accesses to this port will assert kbromcs# if the port 062h/066h decode is enabled through bit 7 of the decode control register 2 (f0 index 5bh[7]). i/o port 092h port a control register (r/w) reset value = 02h 7:2 reserved: set to 0. 1 a20m# smi assertion: assert a20m#. 0 = enable mask; 1 = disable mask. 0 fast cpu reset: wm_rst smi is asserted to the bios. 0 = disable; 1 = enable. this bit must be cleared before the generation of another reset. table 5-32. real-time clock registers bit description i/o port 070h (wo) rtc address register 7 nmi mask: 0 = enable; 1 = mask. 6:0 rtc register index: a write of this register sends the data out on the isa bus and also causes rtcale to be triggered. note: this register is shadowed within the CS5530A and is read through the rtc shadow register (f0 index bbh). i/o port 071h (r/w) rtc data register a read of this register returns the value of the register indexed by the rtc address register plus initiates a rtccs#. a write of this register sets the value into the register indexed by the rtc address register plus initiates a rtccs#.
amd geode? CS5530A companion device data book 223 register descriptions revision 1.1 table 5-33. miscellaneous registers bit description i/o ports 170h-177h/376h secondary ide registers (r/w) when the local ide functions are enabled, reads or writes to these registers cause the local ide interface signals to operate a ccording to their configuration rather than generating standard isa bus cycles. i/o ports 1f0h-1f7h/3f6h primary ide registers (r/w) when the local ide functions are enabled, reads or writes to these registers cause the local ide interface signals to operate a ccording to their configuration rather than generating standard isa bus cycles. i/o port 4d0h interrupt edge/level select register 1 (r/w) reset value = 00h 7 irq7 edge or level select: selects pic irq7 sensitivity configurat ion. 0 = edge; 1 = level. (notes 1 and 2) 6 irq6 edge or level select: selects pic irq6 sensitivity configurat ion. 0 = edge; 1 = level. (notes 1 and 2) 5 irq5 edge or level select: selects pic irq5 sensitivity configurat ion. 0 = edge; 1 = level. (notes 1 and 2) 4 irq4 edge or level select: selects pic irq4 sensitivity configurat ion. 0 = edge; 1 = level. (notes 1 and 2) 3 irq3 edge or level select: selects pic irq3 sensitivity configurat ion. 0 = edge; 1 = level. (notes 1 and 2) 2 reserved: set to 0. 1 irq1 edge or level select: selects pic irq1 sensitivity configurat ion. 0 = edge; 1 = level. (notes 1 and 2) 0 reserved: set to 0. notes: 1. if icw1 - bit 3 in the pic is set as level, it overrides this setting. 2. this bit is provided to configure a pci interrupt mapped to irq[x] on the pic as level-sensitive (shared). i/o port 4d1h interrupt edge/level select register 2 (r/w) reset value = 00h 7 irq15 edge or level select: selects pic irq15 sensitivity configuration. 0 = edge; 1 = level. (notes 1 and 2) 6 irq14 edge or level select: selects pic irq14 sensitivity configuration. 0 = edge; 1 = level. (notes 1 and 2) 5 reserved: set to 0. 4 irq12 edge or level select: selects pic irq12 sensitivity configuration. 0 = edge; 1 = level. (notes 1 and 2) 3 irq11 edge or level select: selects pic irq11 sensitivity configuration. 0 = edge; 1 = level. (notes 1 and 2) 2 irq10 edge or level select: selects pic irq10 sensitivity configuration. 0 = edge; 1 = level. (notes 1 and 2) 1 irq9 edge or level select: selects pic irq9 sensitivity configurat ion. 0 = edge; 1 = level. (notes 1 and 2) 0 reserved: set to 0. notes: 1. if icw1 - bit 3 in the pic is set as level, it overrides this setting. 2. this bit is provided to configure a pci interrupt mapped to irq[x] on the pic as level-sensitive (shared). i/o port 121ch-121fh (note) acpi timer count register (ro) reset value = 00fffffch acpi_count (read only): this read-only register provides t he current value for the acpi timer. the timer counts at 14.31818/4 mhz (3.579545 mhz). if smi generation is enabled via f0 index 83h[5], an smi is generated when the msb toggles. the msb toggles eve ry 2.343 seconds. top level smi status is reported at f1bar+memory offset 00h/02h[0]. second level smi status is reported is at f0 index 87h/f7h[0]. 31:24 reserved: always returns 0. 23:0 counter note: the acpi timer count register is also accessible through f1bar+offset 1ch.
224 amd geode? CS5530A companion device data book register descriptions revision 1.1 5.6 v-acpi i/o register space the register space designated as v-acpi i/o does not physically exist in the CS5530A. acpi is supported in the CS5530A by virtualizing this register space, called v-acpi. in order for acpi to be supported, the v-acpi vsa module must be included in the bios. the register descriptions that follow, are supplied here for reference only. fixed feature space registers are required to be imple- mented by all acpi-compatible hardware. the fixed fea- ture registers in the vsa/acpi solution are mapped to normal i/o space starting at offset ac00h; however, the designer can relocate this register space at compile time, hence are hereafter referred to as acpi_base. registers within v-acpi (virtualized ac pi) i/o space must only be accessed on their defined boundaries. for example, byte aligned registers must not be accessed via word i/o instructions, word aligned registers must not be accessed as dword i/ o instructions, etc. the v-acpi i/o register space can be broken up into major blocks:  pm event block 1a (pm1a_evt_blk)  pm event block 1a control (pm1a_cnt_blk)  processor register block (p_blk)  command block (cmd_blk)  test/setup block (tst/setup_blk)  general purpose enable 0 block (gpe0_blk) pm1a_evt_blk is 32-bit aligned and contains two 16-bit registers, pm1a_sts and pm1a _en. pm1a_cnt_blk is 32-bit aligned and contains one 16-bit register, pm1a_cnt. pm1a_cnt contains the fixed fea- ture control bits used for various power management enables and as communication flags between bios and the acpi os. p_blk is 32-bit aligned (one register block per processor) and contains two registers p_cnt and p_lvl2. p_lvl3 is currently not supported. ? p_cnt (processor control) - 16-bit register, controls process duty cycle via cpu clock throttling. duty_width = 3 (can be widened) duty_offset = 0 ? p_lvl2 (enter c2 power state) - 8-bit, read only register. when read, causes the processor to enter c2 power state. cmd_blk contains one 8-bit r egister smi_cmd which interprets and processes the acpi commands (defined in fixed acpi description table, refer to acpi specification, section 5.2.5). tst/setup_blk is provided by the vsa technology code and contains two registers, setup_idx and setup_data for the purpose of configuring the CS5530A. specifically, this pair of re gisters enables system software to map gpio pins on the CS5530A to pm1a_sts and gpe0_sts register bits. gpe0_blk has registers used to enable system software to configure gpio (general purpose i/o) pins to generate sci interrupts. gpe0_blk is a 32-bit block aligned on a 4- byte boundary. it contains two 16-bit registers, gpe0_sts and gpe0_en, each of which must be configured by the bios post. in order for a gpe0_sts bit to generate an sci, the corresponding enable bit in gpe0_en must be set. table 5-34 gives the bit formats of the v-acpi i/o registers. table 5-34. v-acpi registers bit description acpi_base 00h-03h p_cnt ? processor control register (r/w) reset value = 00000000h 31:5 reserved: always 0. 4 tht_en: enables throttling of the clock based on the clk_val field. 3 reserved: always 0. 2:0 clk_val: clock throttling value. cpu duty cycle = 000 = reserved 010 = 25% 100 = 50% 110 = 75% 001 = 12.5% 011 = 37.5% 101 = 62.5% 111 = 87.5% acpi_base 04h p_lvl2 ? enter c2 power state register (ro) reset value = 00h reading this 8-bit read only register causes the processor to enter the c2 power st ate. reads of p_lvl2 return 0. writes have n o effect. acpi_base 05h reserved reset value = 00h acpi_base 06h smi_cmd ? os/bios requests register (r/w) reset value = 00h interpret and process the acpi commands (defined in fixed acpi descr iption table, refer to acpi specification, section 5.2.5). 0x01 - acpi_enable 0x02 - acpi_disable 0x03 - s4bios_req (optional)
amd geode? CS5530A companion device data book 225 register descriptions revision 1.1 acpi_base 07h reserved reset value = 00h acpi_base 08h-09h pm1a_sts ? pm1a status register (r/w) reset value = 0000h 15 wake_sts: wake status - set when system was in sleep state and an enabled wakeup occurs. 14:11 reserved 10 rtc_sts: real time clock status - this bit changes to 1 if an rtc alarm causes a wake up event. this bit is only set upon wakeup from a sleep state and irq8 is asserted by the rtc. refer to table 5-37. 9 slpbtn_sts: sleep button status (optional) - this bit changes to 1 when the sleep button is pressed. if slpbtn_en is set, an sci interrupt is generated. this bit must be configured to be set by a gpio pin using setup _idx values 0x10-0x17 in order to be set. refer to table 5- 36. 8 pwrbtn_sts: power button status - this bit is set when power bu tton is pressed. if pwrbtn_en is set, an sci interrupt is asserted. this bit must be configured to be set by a gpio pin using setup _idx values 0x10-0x17 in order to be set. refer to table 5- 36. 7:6 reserved 5 gbl_sts: global status - the bios sets gbl_sts to 1 to release its global lock and return control to the acpi os. at the same time gbl_sts is set, the bios generates an sci. 4 bm_sts: bus master status - this bit is not supported by v-acpi. 3:1 reserved 0 tmr_sts: acpi timer status - this bit changes to 1 whenever bit 23 of the acpi timer (f1bar+memory offset 1ch or i/o port 121ch) changes state. the acpi os is responsible for clearing tmr_sts. if tmr_en (acpi_base 0ah[0] is also set, then a sci interrupt is asserted. note: status bits are ?sticky?. a write of a one (1 ) to a given bit location will reset the bit. acpi_base 0ah-0bh pm1a_en ? pm1a enable register (r/w) reset value = 0000h 15:11 reserved 10 rtc_en: real time clock enable - if set, an sc i is asserted when rtc_sts changes to 1. 9 slpbtn_en: sleep button enable (optional) - if set, an sc i is asserted when slpbtn_sts changes to 1. 8 pwrbtn_en: power button enable - if set, an sci is asserted when pwrbtn_sts changes to 1. 7:6 reserved 5 gbl_en: global lock enable - if set, writing a 1 to gbl_sts causes an sci to be asserted. 4:1 reserved 0 tmr_en: acpi timer enable - if set, an sci is asserted when bit 23 of the acpi timer (f1bar+memory offset 1ch or i/o port 121ch) changes state. acpi_base 0ch-0dh pm1a_cnt ? pm1a control register (r/w) reset value = 0000h 15:14 reserved 13 slp_en (wo): sleep enable (write only) - setting this bit caus es the system to enter the sleep state defined by slp_typx. reads of this bit always return zero. 12:10 slp_typx: sleep type - defines the type of sleep state the system enters when slp_en (bit 13) is set. 000 = sleep state s0 (full on) 100 = sleep state s4 001 = sleep state s1 101 = sleep state s5 (soft off) 010 = sleep state s2 110 = reserved 011 = reserved 111 = reserved 9:3 reserved 2 gbl_rls (wo): global lock release (write only) - used by acpi os to raise an event to the bios software (smi). used by acpi driver to indicate a release of the global lock and t he setting of the pending bit in the facs table (refer to acpi specification, section 5.2.8). 1 bm_rld: this bit is not supported by v-acpi. 0 sci_en: system controller interrupt enable - selects whether power management events are sci or smi. set by hardware based on an acpi_enable/acpi_disable written to the smi_cmd port. table 5-34. v-acpi registers (continued) bit description
226 amd geode? CS5530A companion device data book register descriptions revision 1.1 acpi_base 0eh-0fh setup_idx ? setup index register (r/w) reset value = 0000h setup_idx is a 16-bit register that references an internal setti ng in the vsa (refer to table 5-35). a read of setup_idx return s the last value written to setup_idx. a write of setup_idx selects the index for a corresponding write to setup_data. writes of any unde- fined index values to setup_idx are ignored. if the current val ue of setup_idx is invalid, a read of setup_data returns 0. acpi_base 10h-11h gpe0_sts ? general purpose e vent 0 status register (r/w) reset value = 0000h each bit is set by an external event and cleared by a write of a one to that bit. the gpe0_sts bits are mapped to specific, chi pset-resident gpio signals using the setup_idx and setup_data r egisters. refer to tables 5-35 through 5-37. 15 oem_gpe_s15: original equipment manufacturer general purpose event status bit 15 - oem defined. 14 oem_gpe_s14: original equipment manufacturer general purpose event status bit 14 - oem defined. 13 oem_gpe_s13: original equipment manufacturer general purpose event status bit 13 - oem defined. 12 oem_gpe_s12: original equipment manufacturer general purpose event status bit 12 - oem defined. 11 oem_gpe_s11: original equipment manufacturer general purpose event status bit 11 - oem defined. 10 oem_gpe_s10: original equipment manufacturer general purpose event status bit 10 - oem defined. 9 oem_gpe_s09: original equipment manufacturer general purpose event status bit 9 - oem defined. 8 oem_gpe_s08: original equipment manufacturer general purpose event status bit 8 - oem defined. 7 oem_gpe_s07: original equipment manufacturer general purpose event status bit 7 - oem defined. 6 oem_gpe_s06: original equipment manufacturer general purpose event status bit 6 - oem defined. the recommended mapping for the lid switch input is to use gpio6. if the recommended mapping is used, this bit (bit 6) needs to be mapped to gpio6 at boot time via setup_idx and setup_data. similarly, the lid switch input needs to be routed to gpio6 in hardware. if this met hod is selected, this bit is defined as: lid_sts: lid status - set when lid state changes. if lid_en (acpi_base 12h[6] is set, a sci interrupt is asserted. reset by writing a 1 to this bit. 5 oem_gpe_s05: original equipment manufacturer general purpose event status bit 5 - oem defined. 4 oem_gpe_s04: original equipment manufacturer general purpose event status bit 4 - oem defined. 3 oem_gpe_s03: original equipment manufacturer general purpose event status bit 3 - oem defined. 2 oem_gpe_s02: original equipment manufacturer general purpose event status bit 2 - oem defined. 1 oem_gpe_s01: original equipment manufacturer general purpose event status bit 1 - oem defined. 0 oem_gpe_s00: original equipment manufacturer general purpose event status bit 0 - oem defined. acpi_base 12h-13h gpe0_en ? general purpose e vent 0 enable register (r/w) reset value = 0000h 15 oem_gpe_e15: original equipment manufacturer general purpose event enable bit 15 - when set, enables a sci to be generated when the corresponding gpe0_sts bit is set. 14 oem_gpe_e14: original equipment manufacturer general purpose event enable bit 14 - when set, enables a sci to be generated when the corresponding gpe0_sts bit is set. 13 oem_gpe_e13: original equipment manufacturer general purpose event enable bit 13 - when set, enables a sci to be generated when the corresponding gpe0_sts bit is set. 12 oem_gpe_e12: original equipment manufacturer general purpose event enable bit 12 - when set, enables a sci to be generated when the corresponding gpe0_sts bit is set. 11 oem_gpe_e11: original equipment manufacturer general purpose event enable bit 11 - when set, enables a sci to be generated when the corresponding gpe0_sts bit is set. 10 oem_gpe_e10: original equipment manufacturer general purpose event enable bit 10 - when set, enables a sci to be generated when the corresponding gpe0_sts bit is set. 9 oem_gpe_e09: original equipment manufacturer general purpos e event enable bit 9 - when set, enables a sci to be generated when the corresponding gpe0_sts bit is set. 8 oem_gpe_e08: original equipment manufacturer general purpos e event enable bit 8 - when set, enables a sci to be generated when the corresponding gpe0_sts bit is set. 7 oem_gpe_e07: original equipment manufacturer general purpos e event enable bit 7 - when set, enables a sci to be generated when the corresponding gpe0_sts bit is set. 6 lid_en: lid enable - enables lid_sts to generate a sci when set. 5 oem_gpe_e05: original equipment manufacturer general purpos e event enable bit 5 - when set, enables a sci to be generated when the corresponding gpe0_sts bit is set. 4 oem_gpe_e04: original equipment manufacturer general purpos e event enable bit 4 - when set, enables a sci to be generated when the corresponding gpe0_sts bit is set. table 5-34. v-acpi registers (continued) bit description
amd geode? CS5530A companion device data book 227 register descriptions revision 1.1 3 oem_gpe_e03: original equipment manufacturer general purpos e event enable bit 3 - when set, enables a sci to be generated when the corresponding gpe0_sts bit is set. 2 oem_gpe_e02: original equipment manufacturer general purpos e event enable bit 2 - when set, enables a sci to be generated when the corresponding gpe0_sts bit is set. 1 oem_gpe_e01: original equipment manufacturer general purpos e event enable bit 1 - when set, enables a sci to be generated when the corresponding gpe0_sts bit is set. 0 oem_gpe_e00: original equipment manufacturer general purpos e event enable bit 0 - when set, enables a sci to be generated when the corresponding gpe0_sts bit is set. acpi_base 14h-17h setup_data ? setup data register (r/w) reset value = 00000000h during a read operation, setup_data returns the value of the internal setting specified by the current value in setup_idx (acpi_abase 0eh-0fh) acpi_base 18h-1fh reserved reset value = 00h reserved for future v-acpi implementations. table 5-34. v-acpi registers (continued) bit description table 5-35. setup_idx values index operation 0x00 no operation 0x10 configure gpio0 to pm 1a_sts or gpe0_sts bits 0x11 configure gpio1 to pm 1a_sts or gpe0_sts bits 0x12 configure gpio2 to pm 1a_sts or gpe0_sts bits 0x13 configure gpio3 to pm 1a_sts or gpe0_sts bits 0x14 configure gpio4 to pm 1a_sts or gpe0_sts bits 0x15 configure gpio5 to pm 1a_sts or gpe0_sts bits 0x16 configure gpio6 to pm 1a_sts or gpe0_sts bits 0x17 configure gpio7 to pm 1a_sts or gpe0_sts bits 0x30 configure irq0 to wakeup system 0x31 configure irq1 to wakeup system 0x32 do not use ? reserved for cascade interrupt 0x33 configure irq3 to wakeup system 0x34 configure irq4 to wakeup system 0x35 configure irq5 to wakeup system 0x36 configure irq6 to wakeup system 0x37 configure irq7 to wakeup system 0x38 configure irq8 to wakeup system (defaults to rtc_sts in pm1a_sts) 0x39 configure irq9 to wakeup system. 0x3a configure irq10 to wakeup system. 0x3b configure irq11 to wakeup system 0x3c configure irq12 to wakeup system 0x3d do not use ? reserved for math coprocessor 0x3e configure irq14 to wakeup system 0x3f configure irq15 to wakeup system 0x40 generate gbl_sts ? sets the glb_sts bit and generates a sci to the os 0x41 configure irq to be used for sci 0x42 enable reads of acpi registers 0x43 do atomic i/o sequence 0x50 video power 0x60 soft smi ax = 6000 emulation
228 amd geode? CS5530A companion device data book register descriptions revision 1.1 0x61 soft smi ax = 6001 emulation 0x62 soft smi ax = 6002 emulation 0x63 soft smi ax = 6003 emulation 0x64 audio power control table 5-35. setup_idx values (continued) index operation table 5-36. gpio mapping (0x10-0x17) setup_ data function xx value 0x00 no mapping ? do not use this gpio pin 0x08 assign gpiox to pwrbtn_sts bit in pm1a_sts 0x09 assign gpiox to slpbtn_sts in pm1a_sts 0x10 assign gpiox to bit 0 in gpe0_sts register 0x11 assign gpiox to bit 1 in gpe0_sts register 0x12 assign gpiox to bit 2 in gpe0_sts register 0x13 assign gpiox to bit 3 in gpe0_sts register 0x14 assign gpiox to bit 4 in gpe0_sts register 0x15 assign gpiox to bit 5 in gpe0_sts register 0x16 assign gpiox to bit 6 in gpe0_sts register 0x17 assign gpiox to bit 7 in gpe0_sts register 0x18 assign gpiox to bit 8 in gpe0_sts register 0x19 assign gpiox to bit 9 in gpe0_sts register 0x1a assign gpiox to bit 10 in gpe0_sts register 0x1b assign gpiox to bit 11 in gpe0_sts register 0x1c assign gpiox to bit 12 in gpe0_sts register 0x1d assign gpiox to bit 13 in gpe0_sts register 0x1e assign gpiox to bit 14 in gpe0_sts register 0x1f assign gpiox to bit 15 in gpe0_sts register y value (y values may be ored together to get the desired combination of features) 0x01 falling edge 0x02 rising edge 0x04 power button 0x08 reserved note: for gpio mapping, a value of 0000zyxx is used where: z = a runtime/wake indicator y = the edge to be used xx = a bit in either pm1a_sts or gpe0_sts when using v-acpi both edges of gpio 6 can be sensed. when using the CS5530A, gp io6 provides additional hardware that enables the chipset to generate an smi on both the rising and falling edges of the input signal.
amd geode? CS5530A companion device data book 229 register descriptions revision 1.1 table 5-37. irq wakeup status mapping (0x30-0x3f) setup_ data function 0 do not wakeup on irq activity. 0x0a assign irq wake to bit 10 in pm1a_sts register 0x10 assign irq wake to bit 0 in gpe0_sts register 0x11 assign irq wake to bit 1 in gpe0_sts register 0x12 assign irq wake to bit 2 in gpe0_sts register 0x13 assign irq wake to bit 3 in gpe0_sts register 0x14 assign irq wake to bit 4 in gpe0_sts register 0x15 assign irq wake to bit 5 in gpe0_sts register 0x16 assign irq wake to bit 6 in gpe0_sts register 0x17 assign irq wake to bit 7 in gpe0_sts register 0x18 assign irq wake to bit 8 in gpe0_sts register 0x19 assign irq wake to bit 9 in gpe0_sts register 0x1a assign irq wake to bit 10 in gpe0_sts register 0x1b assign irq wake to bit 11 in gpe0_sts register 0x1c assign irq wake to bit 12 in gpe0_sts register 0x1d assign irq wake to bit 13 in gpe0_sts register 0x1e assign irq wake to bit 14 in gpe0_sts register 0x1f assign irq wake to bit 15 in gpe0_sts register note: when the ability to wakeup on an irq is desired use index 0x31 th rough 0x3f. this will allow sensing of interrupts while sleepi ng and waking of the system when activity occurs. the desired gpe0 status bit will only be set if the system is sleeping and a wake event occurs. the system will only wake if the stat us bit is enabled in the corresponding enable register. irq8 (rtc) is assigned to the rtc_sts bit in the pm1a_sts register by default and should not be changed. for enabling and selection of the gpe0 status bit to be set wh en wake on irq activity is desir ed, use the setup_data values listed above. table 5-38. commands (0x41-0x43, and 0x50) index function 0x41 configure irq to be used for sci: when mapping the sci interrupt setup_idx contains the number of the irq to be used for the sci. valid values are 3-7, 9-12, and 14-15. inva lid values will not change the assignment of the sci irq. the default value for the sci irq is 9. 0x42 enable reads of acpi registers: prior to the issuance of this command only writes can be performed to the v-acpi fixed feature registers. this command must be issued to enable reading of the register s. this is to prevent the user def 1 hook on non-acpi systems from in terfering with system functions. 0x43 do atomic i/o sequence: this command allows a sequence of i/o operati ons to be done with no interruption. certain superi/o chips must receive unlock codes with no interveni ng i/o. in addition other superi/o chips do not allow i/o to devices while in configuration mode. this command will insure that i/o operations are completed without interruption. the address of a sequence of i/o commands is placed in the setup_data register. the command sequence will then be pro- cessed immediately. the i/o command sequence consists of two parts: the signature/ length block and the i/o block. there is only one signature/ length block. there may be one or more i/o blocks. the signature block consists of four dwords (see table 5-39). the i/o block consists of four bytes fo llowed by three dwords (see table 5-40). 0x50 video power: this command will control the power to the softvga. if setup_data is written with a 0, power will be turned off. if a 1 is written, power will be turned on.
230 amd geode? CS5530A companion device data book register descriptions revision 1.1 table 5-39. signature/length block for 0x43 byte offset value 0 signature: always 0x00000070 4 length: the length of the entire buffer including the signature block in bytes. 8 reserved: set to 0 12 reserved: set to 0 table 5-40. i/o block for 0x43 byte offset description 0 byte: operation type. 1 = read 2 = write 3 = read/and/or/write 4 = define index and data ports in addition, values may be or?ed in to the upper two bits of this byte to indicate that special functi ons are desired. 0x80 = do not perform this operation (convert to no-op). 0x40 = this is an index operation. 1 byte: reserved set to 0 2 byte: i/o length - determines whether a byt e, word or dword operation is performed. 1 = byte operation 2 = word operation 3 = dword operation if byte 0 is a 4, then this field is used to indicate the size of the index write. 3 byte: reserved set to 0 4 dword: i/o address - this is the address in the i/o space to be us ed. it is always a word value. if this is a define index/ data port operation, this dword contains the i/o address of the index port. if this is an index operation, other than define, this dword contains the value to be written to the index port. 8 dword: i/o data - the meaning depends on the operation type. read = this is where the data read from the i/o port will be placed. write = this is the data to write to the i/o port. read/and/or/write = this is the data that will be anded with the data read from the i/o port. define index/data port - this dword cont ains the i/o address of the data port. 12 dword: or data - this field is only used in a read/and/or/write operation. it contains the data that will be or?ed after the data read was and?ed with the previ ous field. after the or is done, the data will be re-written to the i/o port. note: in all cases if the data called for is shorter than the field, t he data will be stored or retrieved from the least significant portion of the dword.
amd geode? CS5530A companion device data book 231 register descriptions revision 1.1 table 5-41. audio soft smi emulation (0x60-0x63) soft smi ax setup_idx setup_data 0x6000 0x60 bp register value 0x6001 0x61 bp register value 0x6002 0x62 bx register value 0x6003 0x63 bx register value note: arbitrary registers cannot be set in asl code before issui ng a soft smi. these commands provide an i/o interface to allow audio soft smis to be emulated. table 5-42. audio power control (0x64) data value action 0 power codec off and mute output 1 power codec off, do not mute (allows cd to play) 2 power codec on and un-mute output 3 power codec on only note: this command allows control of power to the audio codec as well as control of amplifier muting.
232 amd geode? CS5530A companion device data book register descriptions revision 1.1
amd geode? CS5530A companion device data book 233 electrical specifications revision 1.1 6.0 electrical specifications this section provides information on electrical connections, absolute maximum ratings, recommended operating condi- tions, and dc/ac characteristics for the geode CS5530A. all voltage values in the elec trical specifications are with respect to v ss unless otherwise noted. for detailed information on the pci bus electrical specifica- tion refer to chapter 4 of the pci bus specification, revi- sion 2.1. 6.1 electrical connections 6.1.1 pull-up resistors table 6-1 lists the pins that are internally connected to a 20-kohm pull-up resistor. when unused, these inputs do not require connection to an external pull-up resistor. 6.1.2 unused input pins all inputs not used by the syst em designer and not listed in table 6-1 should be kept at either v ss or v dd. to prevent possible spurious operation, connect active-high inputs to ground through a 20-kohm (10%) pull-down resistor and active-low inputs to v dd through a 20-kohm (10%) pull-up resistor. 6.1.3 nc-designated pins pins designated nc should be left disconnected. connect- ing an nc pin to a pull-up resistor, pull-down resistor, or an active signal could cause unexpected results and possible circuit malfunctions. 6.1.4 pwr/gnd connections and decoupling testing and operating the CS5530A requires the use of standard high frequency techniques to reduce parasitic effects. these effects can be minimized by filtering the dc power leads with low-inductance decoupling capacitors, using low-impedance wiring, and by using all of the v dd and v ss pins. table 6-1. pins with weak internal pull-up signal name type pin no. ior# i/o ae12 iow# i/o ac11 memr# i/o ae19 memw# i/o af20 sbhe# i/o ae17 sa[19:0]/ sd[19:0] i/o ad10, ae11, af12, ad11, ae25, ad24, ad22, ae21, af21, ac20, ad19, af19, af4, af5, ad5, af6, ac6, ad9, ae6, ad9
234 amd geode? CS5530A companion device data book electrical specifications revision 1.1 6.2 absolute maximum ratings table 6-2 lists absolute maximum ratings for the CS5530A. stresses beyond the listed ratings may cause permanent damage to the device. exposure to conditions beyond these limits may (1) reduce device reliability and (2) result in premature failure even when there is no immediately apparent sign of failure. prolonged exposure to conditions at or near the absolute maximum ratings may also result in reduced useful life and reliability these are stress ratings only and do not imply that operation under any conditions other than those listed under table 6-3 is possible. 6.3 operating conditions table 6-3 lists the recommended operating conditions for the CS5530A. table 6-2. absolute maximum ratings parameter min max units comments operating case temperature 0 110 c power applied storage temperature ?65 150 c no bias supply voltage 4.0 v voltage on any pin ?0.5 5.5 v input clamp current, i ik ?0.5 10 ma power applied output clamp current, i ok 25 ma power applied table 6-3. operating conditions symbol parameter (note 1) min max units comments t c operating case temperature 0 85 c v dd supply voltage 3.14 3.46 v 1. for video interface specific parameters, refer to table 6-17 "crt, tft/tv and mpeg display timing" on page 247.
amd geode? CS5530A companion device data book 235 electrical specifications revision 1.1 6.4 dc characteristics all dc parameters and current measurements in this section were measured under t he operating conditions listed in table 6-3 on page 234, unless otherwise noted. table 6-4. dc characteristics symbol parameter min typ max units comments v il low level input voltagenote 1 8 ma 0.8 v v dd = 3.14v clk 0.8 ide 0.8 pci -0.5 0.3v dd v ih high level input voltage (note 1) 8 ma 2.0 v v dd = 3.14v clk 2.0 ide 2.0 pci 0.5v dd v dd +0.5 v ol low level output voltage (note 1) 8 ma 0.4 v v dd = 3.14v, i ol = 8 ma dotclk 0.4 v dd = 3.14v, i ol = 20 ma fp_clk 0.4 v dd = 3.14v, i ol = 12 ma ide 0.5 v dd = 3.14v, i ol = 12 ma pci 0.1v dd v dd = 3.14v, i ol = 1.5 ma usb 0.3 r l = 1.5 k ? to v dd, v dd = 3.46v v oh high level output voltage (note 1) 8 ma 2.4 v v dd = 3.14v, i oh = -8 ma dotclk 2.4 v dd = 3.14v, i oh = -20 ma fp_clk 2.4 v dd = 3.14v, i oh = -12 ma ide 2.4 v dd = 3.14v, i oh = -400 a pci 0.9v dd v dd = 3.14v, i oh = -0.5 ma usb 2.8 v dd v dd = 3.14v, r l = 15 k ? to v ss i leak input leakage current including hi-z output leakage (note 1) 8 ma, clk, dotclk, fp_clk, ide, pci +/-10 a v dd = v ddio = 3.46v, v pa d = 0 to 3.46v, note 2 +/-200 v dd = v ddio = 3.46v, v pa d = 3.46 to 5.5v, note 2 i pu weak pull-up current (note 1) 8 ma -50 a v ddio = 3.46v, note 2
236 amd geode? CS5530A companion device data book electrical specifications revision 1.1 i oh output high current (note 1) 8 ma -8 ma v dd = v ddio = v ddmin = 3.14v fp_clk -12 ide -0.5 pci -0.5 v dd = v ddio = v ddmin = 3.14v i ol output low current (note 1) 8 ma 8 ma v dd = v ddio = v ddmin = 3.14v fp_clk 12 ide 12 v dd = v ddio = v ddmin = 3.14v pci 1.5 v dd = v ddio = v ddmin = 3.14v v h hysteresis voltage 8 ma, clk (note 1) 350 mv v t+ ? v t- v di usb - differential input sensitivity 0.2 v |(d+)-(d-)|, within v cm , note 3 v cm usb - differential common mode range 0.8 2.5 v includes v di range v se usb - single ended receiver threshold 0.8 2.0 v v crs usb - output signal crossover voltage low speed 1.3 2.0 v v dd = 3.14v to 3.46v, see figure 6-9 and figure 6-10 on page 245 full speed 1.3 2.0 v c in input capacitance (note 1) 8 ma 5 pf note 3 clk 5 12 ide 25 pci 10 c out output capacitance - all digital drivers 7 pf note 3 1. pins with this buffer type are listed in table 3-3 "352 pbga pin assignments - sorted alphabetically by signal name" on page 25. 2. pins with a pull-up always enabled are denoted in table 6-1 "p ins with weak internal pull-up" on page 233. note that the leakage specification does not apply to hard-wired pull-ups. 3. not 100% tested. table 6-4. dc characteristics (continued) symbol parameter min typ max units comments
amd geode? CS5530A companion device data book 237 electrical specifications revision 1.1 6.4.1 definition of system conditions for measuring ?on? parameters the current of the CS5530A is highly dependent on the dclk (dot clock). table 6-5 shows how these factors are con- trolled when measuring the typical aver age and absolute maximum CS5530A current parameters. table 6-6 provides the CS5530A?s core, dac, and pll dc characteristics during various power states. table 6-5. system conditions used to determine CS5530A?s current used during the ?on? state cpu current measurement system conditions v dd (note 1) 1. see table 6-3 on page 234 for nominal and maximum voltages. dclk frequency (note 2) 2. not all system designs support display modes that require a dclk of 157 mhz. therefore, absolute maximum current will not be realized in all system designs. typical average nominal 50 mhz (note 3) 3. a dclk frequency of 50 mhz is derived by setting the disp lay mode to 800x600x8 bpp at 75 hz, using a display image of vertical stripes (4-pixel wide) alternating be tween black and white with power management disabled. absolute maximum max 135 mhz (note 4) 4. a dclk frequency of 157 mhz is derived by setting the di splay mode to 1280x1024x8 bpp at 85 hz, using a display image of vertical stripes (1-pixel wide) alternating between black and white with power management disabled.
238 amd geode? CS5530A companion device data book electrical specifications revision 1.1 table 6-6. dc characteristics during power states symbol parameter min typ max units comments core (note 1) i dd_core active i dd 145 255 ma note 2 and note 3 i ddai_core active idle i dd 85 ma note 4 i ddsm_core suspend mode i dd 29 ma note 5 i ddss_core standby i dd 5.7 ma note 6 dac (note 1) i dd_dac active i dd 60 85 ma note 2 and note 3 i ddai_dac active idle i dd 60 ma note 4 i ddsm_dac suspend mode i dd 0.2 ma note 5 i ddss_dac standby i dd 0.2 ma note 6 pll (note 1) i dd_pll active i dd 66ma i ddai_pll active idle i dd 6 ma note 4 i ddsm_pll suspend mode i dd 0.3 ma note 5 i ddss_pll standby i dd 0.2 ma note 6 extvrefin i dd_extvrefin active i dd 75 a 1. outputs unloaded. 2. maximum current is measured under the following assumptions: pciclk = 33 mhz, usbclk = 48 mhz, dclk = 157 mhz, and vid_clk = 133 mhz. 3. typical current is measured under the following assumptions: pciclk = 33 mhz, usbclk = 48 mhz, dclk = 50 mhz, and vid_clk = 0 mhz. 4. active idle current is measured under the following assumpti ons with suspa# asserted: pciclk = 33 mhz, usbclk = 48 mhz, dclk = 50 mhz, and vid_clk = 0 mhz. 5. suspend current is measur ed under the following assump tions with suspa# asserted: pciclk = 33 mhz, usbclk = 48 mhz, dclk = 0 mhz, and vid_clk = 0 mhz. 6. standby current is measured under the following assumpti ons with suspa# and susp_3v (stop clock signal) asserted: pciclk = 0 mhz, usbclk = 0 mhz, dclk = 0 mhz, and vid_clk = 0 mhz.
amd geode? CS5530A companion device data book 239 electrical specifications revision 1.1 6.5 ac characteristics the following tables list the ac characteristics including output delays, input setup requirements, input hold require- ments and output float delays. the rising-clock-edge refer- ence level, v ref , and other reference levels are shown in table 6-7. input or output signals must cross these levels during testing. input setup and hold times are specified minimums that define the smallest acceptable sampling window for which a synchronous input signal must be stable for correct opera- tion. table 6-7. drive level and measurement points for ac characteristics symbol voltage (v) v ref 1.5 v dd 3.14 v ss 0 table 6-8. ac characteristics symbol parameter min typ max unit comments (note 1) t su input setup time to pciclk 7 ns see figures 6-1 and 6-2 on page 240 t h input hold time to pciclk 0 ns t lh low to high propagation delay (referenced to pciclk, note 2) pci 2 11 ns see figure 6-2 on page 240 and figure 6-3 on page 241 (also known as t val ) t hl high to low propagation delay (referenced to pciclk, note 2) pci 2 11 ns see figure 6-2 on page 240 and figure 6-4 on page 241 (also known as t val ) t rise/fall rising/falling edge rate ide 1.25 v/ns see figures 6-1 and 6-2 on page 240, note 3 1. all tests, unless otherw ise specified, are at v dd = 3.14v to 3.46v, t c = 0c to 85c, and c l = 50 pf. 2. pins with this buffer type are listed in table 3-3 "352 pbga pin assignments - sorted alphabetically by signal name" on page 25. 3. not 100% tested.
240 amd geode? CS5530A companion device data book electrical specifications revision 1.1 figure 6-1. test measurements for ac characteristics figure 6-2. test circuit for ac characteristics clk outputs inputs v dd v ss v ref = 50% v dd valid input valid output n+1 valid output n v ref = 50% v dd v ref = 50% v dd v ss v dd legend: t lh /t hl max = maximum output delay specification t lh /t hl min = minimum output delay specification t su min = minimum input setup specification t h min = minimum input hold specification note: see table 6-7 "drive level and measurement points for ac characteristics" on page 239 for v dd , v ss , and v ref values. t lh /t hl max t lh /t hl min t su min t h min 90% 10% 90% 10% t rise t fall pin v ss c l driver
amd geode? CS5530A companion device data book 241 electrical specifications revision 1.1 figure 6-3. pci rising edge (t lh ) test circuit figure 6-4. pci falling edge (t hl ) test circuit figure 6-5. pci slew rate test circuit pci driver 1/2 in. max. pin 25 ? v ss 10pf pci driver 1/2 in. max. pin v dd 25 ? v ss 10pf pci driver 1/2 in. max. pin v dd 1 k ? 1 k ? v ss 10pf
242 amd geode? CS5530A companion device data book electrical specifications revision 1.1 figure 6-6. 3.3v pciclk waveform table 6-9. clock and reset specifications symbol parameter min max duty cycle unit comments (note 1) output signals -- dclk frequency 25 157.5 40/60 mhz note 2 -- clk_32k frequency 32.768 50/50 khz note 3 -- isaclk frequency 8.33333 mhz input signals -- clk_14mhz frequency 14.31818 45/55 mhz -- usbclk frequency 48 mhz -- tvclk frequency 27 mhz -- vid_clk frequency 135 mhz t cyc pciclk cycle time 30 ns note 4 t high pciclk high time 11 ns t low pciclk low time 11 ns -- pciclk slew rate 1 4 v/ns see figure 6-1 on page 240 and figure 6-5 on page 241 (known as slew r /slew f ), note 5, and note 6 -- pci_rst# slew rate 50 -- mv/ns rising edge only (deasser- tion), note 6 1. all tests, unless otherw ise specified, are at v dd = 3.14v to 3.46v, t c = 0c to 85c, and c l = 50 pf. 2. worst case duty cycle. duty cycle is a function of pll po st divider. dclk is programmable to standard video frequen- cies. typical jitter < 650 ps peak-to-peak. clk_14mhz input jitter < 500 ps peak-to-peak. 3. clk_32k jitter = period of clk_14mhz. clk_32k output frequency = clk_14mhz/436.95621. 4. frequency of operation is from dc to 33 mhz but at a si ngle fixed frequency. operation below 20 mhz is guaranteed by design. 5. rise and fall times are specified in terms of the edge rate measured in v/ns. this slew rate must be met across the minimum peak-to-peak portion of the clock waveform as shown in figure 6-6. 6. not 100% tested. 0.3 v dd 0.4 v dd 0.5 v dd t high 0.6 v dd t low 0.2 v dd t cyc 0.4 v dd , peak-to-peak (minimum)
amd geode? CS5530A companion device data book 243 electrical specifications revision 1.1 figure 6-7. cpu interface timing table 6-10. dclk pll specifications symbol parameter min typ max units comments (note 1) f dclk dclk clock operating frequency 25 157.5 mhz also known as crt clock f ref input reference frequency 14.318 mhz t rise/fall output clock rise/fall time 2 ns @ 25 mhz -- jitter, peak-to-peak -300 300 ps dc duty cycle 40/60 60/40 % 1. all tests, unless otherw ise specified, are at v dd = 3.14v to 3.46v, t c = 0c to 85c, and c l = 50 pf. table 6-11. cpu interface timing symbol parameter min max units comments (note 1) t smi rising pciclk to smi# 3 16 ns t susp# rising pciclk to susp# 6 9 ns t suspasetup suspa# setup to rising pciclk 0 ns t suspahold suspa# hold from rising pciclk 3 ns -- irq13 input asynchronous input for irq decode. -- intr output asynchronous output from irq decode. -- smi# output asynchronous output from smi decode. 1. all tests, unless otherw ise specified, are at v dd = 3.14v to 3.46v, t c = 0c to 85c, and c l = 50 pf. pciclk smi# t smi susp# valid input t suspasetup t suspahold suspa# t susp
244 amd geode? CS5530A companion device data book electrical specifications revision 1.1 figure 6-8. audio interface timing table 6-12. audio interface timing symbol parameter min max units comments (note 1) t bitclk rising bit_clk to sync 15 ns t sdat rising bit_clk to sdata_out 15 ns t sdatsetup sdata_in setup to falling bit_clk 10 ns t sdathold sdata_in hold from falling bit_clk 10 ns 1. all tests, unless otherw ise specified, are at v dd = 3.14v to 3.46v, t c = 0c to 85c, and c l = 50 pf. bit_clk sync sdata_out sdata_in t bitclk t sdat valid input t sdatsetup t sdathold
amd geode? CS5530A companion device data book 245 electrical specifications revision 1.1 figure 6-9. usb timing figure 6-10. usb test circuit table 6-13. usb timing symbol parameter min max unit comments (note 1) full speed mode t r rise time 4 20 ns t f fall time 4 20 ns low speed mode t r rise time 75 ns 300 c l = 350 pf t f fall time 75 ns 300 c l = 350 pf 1. all tests, unless otherw ise specified, are at v dd = 3.14v to 3.46v, t c = 0c to 85c, and c l = 50 pf. v crs differential data lines 90% 90% 10% 10% t f t r usb driver v ss rs c l v ss rs txd+ txd- differential buffer usb driver c l
246 amd geode? CS5530A companion device data book electrical specifications revision 1.1 6.6 display characteristics the following tables and figures describe the characteris- tics of the crt, tft/tv and mpeg display interfaces. it is divided into the following categories:  crt display recommended operating conditions  crt display analog (dac) characteristics  display miscellaneous characteristics  crt, tft/tv and mpeg display timing additionally, figure 6-13 on page 249 is provided showing a typical video connection diagram. table 6-14. crt display recommended operating conditions symbol parameter min typ max units comments av dd power supply connected to av dd1 , av dd2 and av dd3 3.14 3.3 3.46 v r l output load on each of the pins ioutr, ioutg and ioutb 37.5 ohms r1, r2, and r3 as shown in figure 6-13 on page 249 i out output current on each of the pins ioutr, ioutg and ioutb 21 ma r set value of the full-scale adjust resistor connected to iref 680 ohms this resistor should have a 1% tolerance. vext ref external voltage reference con- nected to the extvrefin pin 1.235 v table 6-15. crt display analog (dac) characteristics symbol parameter min typ max units comments (note 1) v om output voltage 0.735 v v oc output current 20 ma inl integral linearity error +/-1 lsb dnl differential linearity error +/-1 lsb t fs full scale settling time 2.5 ns -- dac-to-dac matching 5 % -- power supply rejection 0.7 % @ 1 khz t rise output rise time 3.8 ns note 2 and note 3 t fall output fall time 3.8 ns note 2 and note 4 1. all tests, unless otherw ise specified, are at v dd = 3.14v to 3.46v, t c = 0c to 85c, and c l = 50 pf. 2. timing measurements are made with a 75 ohm doubly-terminated load, with vext ref = 1.235v and r set = 680 ohms. 3. 10% to 90% of full-scale transition. 4. full-scale transition: time from output minimum to maximum, not including clock and data feedthrough.
amd geode? CS5530A companion device data book 247 electrical specifications revision 1.1 table 6-16. display miscellaneous characteristics symbol parameter min typ max units comments white level relative to black 16.74 17.62 18.50 ma iav dd av dd supply current 60 ma (static) table 6-17. crt, tft/tv and mpeg display timing symbol parameter min typ max units comments (note 1) setup/hold time t displaysetup display setup to rising pclk: vsync, hsync, ena_disp, fp_vsync, fp_hsync, pixel[23:0] 2.2 ns see figure 6-1 on page 240. t displayhold display hold from rising pclk: vsync, hsync, ena_disp, fp_vsync, fp_hsync, pixel[23:0] 1.0 ns t vid_valsetup vid_val setup to rising vid_clk 3.0 ns see figure 6-1 on page 240. t vid_valhold vid_val hold from rising vid_clk 0.8 ns t vid_datasetup vid_data setup to rising vid_clk 3.0 ns see figure 6-1 on page 240, note 2 t vid_datahold vid_data hold from rising vid_clk 0.8 ns clock specification t vid_clkmin vid_clk minimum clock period 7.4 ns delay time fpout mindelay , fpout maxdelay tft/tv output delays from fp_clk: fp_data[17:0], fp_hsync_out, fp_vsync_out, fp_disp_ena_out, fp_ena_vdd, fp_ena_bkl, fp_clk_even 0.5 4.5 ns note 3 vid_rdy mindelaye , vid_rdy maxdelaye vid_rdy delay from falling vid_clk (early mode) 3.0 10.5 ns note 4 vid_rdy mindelayn , vid_rdy maxdelayn vid_rdy delay from rising vid_clk (normal mode) 3.0 9.5 ns 1. all tests, unless otherw ise specified, are at v dd = 3.14v to 3.46v, t c = 0c to 85c, and c l = 50 pf. 2. also applies to pixel[23:16] when in 16-bit video mode. 3. all flat panel applications use the fal ling edge of fp_clk to latch their data. 4. the mode for vid_rdy (early or normal) is set with bit 25 of the video configuration register (f4bar+memory offset 00h[25]).
248 amd geode? CS5530A companion device data book electrical specifications revision 1.1 figure 6-11. display tft/tv outputs delays figure 6-12. mpeg timing fp_clk fpout mindelay fpout maxdelay tft/tv outputs vid_clk vid_rdy (early) vid_rdy mindelaye vid_rdy maxdelaye vid_rdymin delayn vid_rdy maxdelayn vid_rdy (normal)
amd geode? CS5530A companion device data book 249 electrical specifications revision 1.1 figure 6-13. typical video connection diagram v dd av dd iref extvrefin av ss ioutg ioutr av ss avss ioutb av ss v dd l4 l5 rset vextref one-point ground to r g b l2 r1 r2 c4 c5 c7 c8 l3 r3 c6 video connector legend part designator value r1-r3 75 ohms, 1% rset 732 ohms, 1% c1-c6 33 pf c7 0.1 f, ceramic c8 2.2 f, electrolytic l1-l3 (optional) 120 ohm ferrite bead l4-l5 (optional) 600 ohm ferrite bead l1 c1 c2 c3
250 amd geode? CS5530A companion device data book electrical specifications revision 1.1
amd geode? CS5530A companion device data book 251 test mode information revision 1.1 7.0 test mode information the CS5530A provides two test modes: 1) the nand tree test mode for board-level automatic test equipment (ate). 2) the i/o test mode fo r system design testing. 7.1 nand tree test mode the nand tree mode is used to test input and bidirectional pins which will be part of the nand tree chain. table 7-1 shows how to set the device for the nand tree test. the output of the nand tree is multiplexed on the susp# output (pin k26). after a por# (pin k24) pulse, all inputs in table 7-2 on page 252 are initialized to a ?1? and then are successively pulled and held to a ?0? starting with susp_3v (the first input pin in the tree). the output wave- form on susp# will toggle on each input change as shown in figure 7-1. por# is included as an input during the nand tree test, after being used to trigger the test first. irq7 (pin ad14) and test (pin d3) must be held high throughout the test. figure 7-1. example: nand tree output waveform table 7-1. nand tree test selection signal name pin no. setting por# k24 0 -> 1 test d3 1 irq7 ad14 1 initial conditions: test = 1, irq7 = 1, por# = (first 0, then 1), all inputs ?1? susp_3v suspa# pserial clk_14mhz susp# (out) nand tree inputs . . . nand tree output the following pins are not in the nand tree: aen, bale, cpu_rst, dack[3:0]#, dack[7:5]#, dclk, ddc_scl, d+_port1, d? _port1, d+_port2, d?_port2, extvrefin, fp_clk, fp_clk_even, fp_disp_ena_out, fp_ena_bkl, fp_ena_vdd, fp_hsync_out, fp_vsync_out, gpcs#, gport_cs#, hsync_out, ide_addr[2:0], ide_cs[1:0]#, ide_dack[1:0]#, ide_ior[1:0]#, ide_iow[1:0]#, ide_rst#, ioutb, ioutg, ioutr, iref, irq7, isaclk, kbromcs#, pc_beep, pci_rst#, plltest, sa_latch, sdata_out, smemr#/rtcale, smemw#/rtccs#, susp#, sync, test, vid_rdy, vsync_out, all ncs, and all analog/digital supplies.
252 amd geode? CS5530A companion device data book test mode information revision 1.1 table 7-2. nand tree test mode pins signal name pin no. susp_3v l24 suspa# l25 pserial l26 clk_14mhz p24 smi# p25 intr p26 irq13 r23 ide_data7 u23 ide_data6 u24 ide_data8 v24 ide_data10 v25 ide_data5 w26 ide_data9 y25 ide_data11 y24 ide_data4 aa26 ide_data12 aa25 ide_data3 ab26 ide_data1 aa24 ide_data13 ab25 ide_data2 ab24 ide_data0 ac26 ide_data14 ac25 ide_data15 ab23 ide_dreq1 ac24 ide_dreq0 ad26 ide_iordy0 ad25 ide_iordy1 ae26 sa14/sd14 ad24 sa15/sd15 ae25 gpio0 ac22 gpio1 ae24 gpio2 af25 gpio3 af24 gpio4 ad22 gpio5 ac21 gpio6 ae23 gpio7 af23 sa13/sd13 ae22 sa10/sd10 ac20 drq7 af22 sa12/sd12 ae21 sa11/sd11 af21 sa9/sd9 ad19 drq6 ae20 memw# af20 memr# ae19 drq5 ad18 sa8/sd8 af19 drq0 ae18 irq11 af18 irq14 ac17 irq15 ad17 sbhe# ae17 irq12 af17 irq10 ae16 iocs16# af16 memcs16# ac15 irq4 ae15 tc af15 irq3 ac14 irq8# ae14 irq6 af14 drq3 ad13 irq5 ae13 irq1 af13 drq1 ad12 ior# ae12 sa17 af12 iow# ac11 sa16 ad11 sa18 ae11 iochrdy af11 sa19 ad10 drq2 ae10 zerows# af10 sa2/sd2 ad9 sa0/sd0 ae9 sa4/sd4 af6 sa1/sd1 ae6 sa6/sd6 af5 sa3/sd3 ac6 irq9 ae5 sa5/sd5 ad5 sa7/sd7 af4 clk_32k ae3 over_cur# w3 power_en v4 usbclk w1 bit_clk v2 sdata_in u4 ddc_sda m4 fp_data12 l1 fp_data0 k3 fp_data13 k2 fp_data14 k1 fp_data2 j3 fp_data1 j2 fp_data3 j1 fp_data15 h2 fp_data16 h3 fp_data4 h1 fp_data8 g1 fp_data5 g2 fp_data7 g3 fp_data6 g4 fp_data9 f1 signal name pin no. fp_data17 f3 fp_data10 e2 fp_data11 d1 fp_vsync c1 fp_hsync c2 ena_disp b1 tvclk b2 pixel0 a1 pixel3 c4 pixel6 d5 pixel4 b3 pixel1 a2 pixel2 a3 pixel11 c5 pixel9 d6 pixel5 b4 pixel7 a4 hsync c6 vsync b5 pixel13 d7 pixel14 c7 pixel10 a5 pixel8 b6 vid_clk a6 pixel17 c8 vid_val b7 pixel12 a7 pixel15 b8 pixel20 d9 pixel21 c9 pixel16 a8 pixel18 b9 pixel19 a9 pixel23 c10 vid_data4 d11 vid_data3 c11 pixel22 b11 vid_data0 a11 vid_data7 c12 vid_data6 b12 vid_data5 a12 vid_data1 c13 vid_data2 b13 pclk a13 ad1 d14 intd# b14 inta# a14 intb# d15 intc# c15 ad3 b15 ad0 a15 ad2 c16 ad5 b16 signal name pin no. ad7 a16 ad4 c17 ad6 b17 ad9 a17 ad8 d18 c/be0# b18 ad12 a18 ad11 b19 ad10 a19 ad15 a20 ad14 b20 ad13 c20 pa r a 2 1 c/be1# b21 serr# a22 perr# b22 lock# c22 devsel# a23 trdy# b23 frame# c23 c/be2# a24 irdy# b24 ad17 a25 ad18 b25 ad16 a26 gnt# d24 ad21 c25 ad19 b26 ad22 c26 ad20 e24 ad26 d25 c/be3# d26 ad23 e25 ad25 g24 stop# e26 ad24 f25 ad27 f26 ad28 g25 ad29 g26 ad31 h25 ad30 j24 hold_req# h26 req# j25 pciclk j26 por# k24 signal name pin no.
amd geode? CS5530A companion device data book 253 test mode information revision 1.1 7.2 i/o test this test affects all output and bidirectional pins. to trigger the i/o test, set the test and irq[3:7] pins according to table 7-3, while holding por# low. the test begins when por# is brought high. starting with the next rising edge of pciclk, the states listed in table 7-4 are entered by all digital output and i/o pins on successive pciclk pulses: the following pins are included in this test:  ad[31:0], aen, bale, c/ be[3:0]#, clk_32k, cpu_rst, dack[7:5,3:0], ddc_scl, ddc_sda, devsel#, fp_clk, fp_clk_even, fp_data[17:0], fp_disp_ena_out, fp_ena_bkl, fp_ena_vdd, fp_hsync_out, fp_vsync_out, frame#, gpcs#, gpio[7:0], gport_cs#, hold_req#, hsync_out, ide_addr[2:0], ide_cs[1:0]#, ide_dack[1:0]#, ide_data[15:0], ide_ior[1:0]#, ide_iow[1:0]#, ide_rst#, intr, iochrdy, ior#, iow#, irdy#, isaclk, kbromcs#, lock#, memcs16#, memr#, memw#, par, pci_rst#, pc_beep, perr#, power_en , req#, sa/sd[15:0], sa[19:16], sa_latch, sbhe #, sdata_out, serr#, smemr#, smemw#, smi#, stop#, susp#, susp_3v, sync, tc, trdy#, vid_rdy, vsync_out note: the sa/sd and sa bus, ior#, iow#, memr#, memw# and sbhe# pins never actually float, because they have internal weak pull-up devices that remain active. the following pins are excluded from this test:  input-only pins: bit_clk, clk_14mhz, dr q[7:5,3:0], ena_disp, fp_hsync, fp_vsync, gnt#, hsync, ide_dreq[1:0], ide_iordy[1:0], inta#, intb#, intc#, intd#, iocs16#, irq1, irq[7:3], irq8#, irq[15:9], over_cur#, pciclk, pclk, pixel[23:0], por#, pserial, sdata_in, suspa#, test, tvclk, usbclk, vid_clk, vid_data [7:0], vid_val, vsync, zerows#.  usb pins: d+_port1, d?_port1, d+_port2, d?_port2, av dd _usb, av ss _usb.  time-critical output: dclk.  analog pins (including supplies): extvrefin, ioutb, ioutg, ioutr, iref, pllagd, plldgn, plldvd, plltest, av ddx , av ssx .  digital supply pins (v dd , v ss ) and no connects (nc). table 7-3. i/o test selection signal name pin no. setting por# k24 x test d3 1 irq3 ac14 0 irq4 ae15 1 irq5 ae13 1 irq6 af14 0 irq7 ad14 1 table 7-4. i/o test sequence clock # output pin states before 1 undefined 1 floating 2high 3low 4 floating 5low 6high 7 floating 8 and beyond undefined
254 amd geode? CS5530A companion device data book test mode information revision 1.1
amd geode? CS5530A companion device data book 255 physical dimensions revision 1.1 8.0 physical dimensions the physical dimensions for the 352 pbga (plastic ball grid array) package are provided in figure 8-1. figure 8-1. 352 pbga mechanical package outline
256 amd geode? CS5530A companion device data book physical dimensions revision 1.1
amd geode? CS5530A companion device data book 257 appendix a: support documentation revision 1.1 appendix a support documentation a.1 revision history this document is a report of the revi sion/creation process of the architectura l specification for the CS5530A companion device. any revisions (i.e., additions, deletions, parameter corrections, etc.) are recorded in the table(s) below. table a-1. revision history revision # (pdf date) revisions / comments 0.1 (4/2/00) completed formatting first-pass of spec. cu rrent spec is updated version of cs5530 data book with additional inputs from engineering. differences bet ween this spec?s revision and the cs5530 data book are denoted with a change bar in the margin. st ill need to proof-read for ?ripple effects? made by engineering changes for next rev. 0.2 (6/16/00) corrections from issues 1.3. 0.3 (6/27/00) further corrections from issues 1.3. partly indexed. 0.4 (7/5/00) corrections from issues 1.3 and 1.5. some issues remain to be resolved. index markers inserted through at chapter. 0.5 (7/19/00) tme/tech pubs edits. see document revision 0.5 for revision history. 0.6 (8/7/00) tme/tech pubs edits. see documen t revision 0.6 for revision history details. 0.7(9/18/00) tme/tech pubs/engr edits. see docu ment revision 0.7 for revision history details. note: next revision to include section on ?recommended soldering parameters? in section 8.0 "physical dimensions". 1.0 (11/10/00) tme/tech pubs/engr edits. see docu ment revision 1.0 for revision history details. note: will create separate applications note on ?rec ommended soldering parameters? as opposed to adding as subsection in data book. 1.1 (5/1/01) tme/engr edits. see table a-2 for details. note: will not create separate applications note on ?recommended soldering parameters?. applica- tions is fulfilling any customer inquiries with a document supplied by the quality group. table a-2. edits to create revision 1.1 section description section 3.0 "signal definitions" section 3.2.2 "clock interface"  changed last sentence of dclk signal description on page 29. did say: ?however, system constraints limit dclk to 150 mhz when dclk is used as the graphics subsystem clock.? now says: ?however, when dclk is used as the graphics subsystem clock, the geode processor determines the maximum dclk frequency.? section 3.2.11 "dis- play interface"  changed resistor value in iref signal description (from 732 ohm to 680 ohm) on page 41.
258 amd geode? CS5530A companion device data book appendix a: support documentation revision 1.1 section 4.8 "display subsystem extensions" section 4.8.3 "video overlay"  added sentence to last paragraph on page 137: ? ?however, system maximum resolution is not determined by the CS5530A since it is not the source of the graphics data and timings.?  section 4.8.5.3 "flat panel support" on page 139 ? added subsection titled ?flat panel power-up/down sequence?. section 6.0 "electrical specifications" section 6.5 "ac char- acteristics"  table 6-8 "ac characteristics" on page 239: ? removed 8 ma, dotclk, and fp_clk t lh and t hl parameters.  table 6-10 "dclk pll specifications" on page 243: ? removed jitter, sigma one param eter from table (completely).  table 6-11 "cpu interface timing" on page 243: ? changed t smi max value from 9 ns to 16 ns. ? changed t suspahold min value from 1 ns to 3 ns.  table 6-15 "crt display analog (dac) characteristics" on page 246: ? added v om max value of 0.735v. ? added v oc max value of 20 ma. ? added t fs max value of 2.5 ns. ?removed c out parameter from table (completely). ? changed t rise max value from 3 to 3.8 ns. ? added t fall max value of 3.8 ns. ? changed r set value in note 2 from 732 ohms to 680 ohms.  table 6-17 "crt, tft/tv and mpeg display timing" on page 247: ? changed t displaysetup min value from 2.5 ns to 2.2 ns. ? changed t vid_valsetup min value from 3.75 ns to 3.0 ns. ? changed t vid_valhold min value from 0 ns to 0.8 ns. ? changed t vid_datasetup min value from 3.75 ns to 3.0 ns. ? changed t vid_datahold min value from 0 ns to 0.8 ns. ? changed t vid_clkmin parameter description from ?vid_clk minimum pulse width? to ?vid_clk minimum clock period?. ? changed fpout mindelay , fpout maxdelay min value from 0.1 ns to 0.5 and max value from 5.2 ns to 4.5 ns. table a-2. edits to create revision 1.1 (continued) section description
one amd place p.o. box 3453, sunnyvale, ca 94088-3453 usa tel: 408-732-2400 or 800-538-8450 twx: 910-339-9280 telex: 34-6306 technical support usa & canada: 800-222-9323 or 408-749-5703 usa & canada: pc microprocessor: 408-749-3060 usa & canada email: pcs.support@amd.com latin america email: spanish.support@amd.com argentina: 001-800-200-1111, after tone 800-859-4478 chile: 800-532-853 mexico: 95-800-222-9323 europe & uk: +44?0-1276-803299 fax: +44?0-1276-803298 france: 0800-908-621 germany: +49?89-450-53199 italy: 800-877224 europe email: euro.tech@amd.com far east fax: 852-2956-0588 japan fax: 81-3-3346-7848 www.amd.com


▲Up To Search▲   

 
Price & Availability of CS5530A

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X