1 / 51

ACR Enumeration Terry.Cole@AMD.Com Fellow Advanced Development Lab AMD

ACR Enumeration Terry.Cole@AMD.Com Fellow Advanced Development Lab AMD. Purpose. This 45-minute presentation walks through the device enumeration process for ACR risers, with examples

rory
Télécharger la présentation

ACR Enumeration Terry.Cole@AMD.Com Fellow Advanced Development Lab AMD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ACR EnumerationTerry.Cole@AMD.Com FellowAdvanced Development LabAMD

  2. Purpose • This 45-minute presentation walks through the device enumeration process for ACR risers, with examples • Guidelines are presented for BIOS vendors and ACR riser device driver vendors, as well as motherboard and riser hardware vendors, that will make device enumeration work

  3. ACR Enumeration • Introduction • Enumeration architecture • Enumeration procedure • Examples • Guidelines for driver andBIOS developers • What can you do next?

  4. ACR EnumerationIntroduction

  5. Introduction To Risers • Risers deliver functions needing connectors • More integrated than PCI cards, USB peripherals, and typically less cost • Less integrated and more flexible than mother-board down solutions • Motherboard down = soldered to planar • Examples: • Existing: soft audio and modem codecs from multiple IP sources • New: complete functions like networking, DSL, cable solutions

  6. Example Risers • AMR, MDC, CNR, ACR • Serial/parallel port risers andUSB port risers

  7. Introduction To ACR • ACR = Advanced Communication Riser • A 2nd generation riser • AMR is the 1st generation riser • Group open to all in the industry • Goals of ACR SIG • Foster diverse and scalable comm, network and audio solutions • Reuse industry technology, components • Compatibility with existing OS • Fit into existing compliance test strategies

  8. ACR Riser

  9. ACR Risers

  10. Residential Client V.90 10/100Base-T HomePNA 1 or 2 2 Ch audio Residential Gateway V.90 10/100Base-T HomePNA 1 or 2 DSL/Cable Multi-Channel Audio Scaleable Solution • Desktop • V.90 • 2 Ch audio • Three ACR Risers • ACR.Basic - Desktop • ACR.Lite - Client • ACR.Hub - Gateway One ACR Motherboard

  11. Value To Driver Owners • Unique Plug and Play IDs are enabled • Ensures specific drivers are loaded • Gives more control to hardware owners • Chipset and motherboard components can be generic, many PHY and device vendors • PHY and riser components can more easily adapt to multiple controllers • Helps avoid multi-function drivers • No new paradigms or wholesale driver rewrites required!

  12. ACR EnumerationArchitecture

  13. ArchitectureIntroduction • The ACR specification provides enumeration mechanism to identify all ACR components to • BIOS • OS • Software device drivers • Ensures that • Device operating parameters are correctlyset by the BIOS • Correct set of drivers is loaded by the OS • Additional vendor-defined information isavailable to the device driver

  14. ArchitectureEnumeration Functions • ACR enumeration has threedistinct steps: • Inventory • “Marriage” • Configuration

  15. Enumeration FunctionsInventory step • Riser related resources on MB arelisted in BIOS storage: • Chipset controllers (network, audio, …) • Motherboard down controllers • Each appears as a PCI based controller • Components on the riser are described in a serial ROM device: • Network PHYs, modem and audio codecs • USB devices, serial devices, IPB devices • Each device attached to an “ACR bus”

  16. Device InventoryBy buses • Devices are listed by bus and function Bus: AC-Link, USB, ACR Serial, Primary MII, Secondary MII, GPSI, 7WS, IPB

  17. Device InventoryBy function • Devices are listed by bus and function • Function: Riser, Sound, Modem, HPNA, Ethernet, DSL, Wireless, Cable Modem, Other

  18. Device InventoryACR Serial Bus System ACR • Two wire SMBus 1.0 compliant • Serial Data and Clock, no third control signal • EPROM at A7 or B0 • Use Controller or GPIO Motherboard Card Vdd Vdd pullups SCL SMBus/I2C Serial Host EEPROM Controller Or GPIO SDA other devices

  19. Device InventorySerial EPROM Data • EPROM data image looks similar to a linked list • Data format is variable length

  20. Enumeration Functions“Marriage” step • Mapping of each riser resource to a MB resource determined by ACR “function number” – one function per bus • Added requirements may be placed on PCI Vendor ID in EPROM • Added requirements may be contained by executable code in EPROM • Runtime environment provided by BIOS • Complete device = motherboard + riser • Will be configured with unique andproper identities

  21. Enumeration FunctionsConfiguration step • Setup of controller to match riser • Vendor and Device ID copied from riser to PCI config space • Subsystem Vendor and Subsystem ID copied from riser to PCI config space • Optionally, PCI class, PCI latency, and PCI power management can also be copied

  22. Enumeration FunctionsConfiguration step • Controllers are disabled if no riser resource is present • Controllers that may not be functionalare also disabled • Example, AC-97 configuration issues such as primary/secondary clock source conflicts

  23. Net Result Of Enumeration • All special activity is pre-boot, making it compatible with existing OS • Unique Plug and Play IDs are enabled, a combination of motherboard/riser ID • BIOS not specific to riser • “Marriages” of risers to controllers can be restricted by either “party” • Unused components in highly integrated chipset/motherboard pose fewer issues • Invisible to OS and user

  24. Examples • Useful enumeration pairings: • Modem codec works with allgeneric controllers • MAC on motherboard works only if a compatible PHY on riser • HPNA PHY works if only one of several compatible controllers on motherboards • DSL controller on motherboard worksonly if specific riser in system • If it doesn’t work, it doesn’t appear in the PCI space to OS

  25. ACR EnumerationProcedure

  26. Procedure • Basic sequence of enumeration events • Hardware steps • BIOS steps • OS steps • Driver steps

  27. Hardware And BIOS • Hardware: • At power up/reset all PCI config registers areset to their defaults • Enable SMBus or GPIO • Under BIOS control: • Search for ACR EPROM • Validate and store EPROM contents • Assign the parameters specified in the EPROM, plus its own defaults, to the PCI config space of each controller supported • Disable all ACR controllers that do not have devices attached to them • Make config space registers read-only

  28. OS And Driver • Under operating system control: • Scan the PCI bus and match .INF files to the ID registers in the configuration space • Load the appropriate device driver, pointed to by its entry in the INF file • Under control of the driver: • Query the BIOS for ACR BIOS presence • Query the BIOS for the default IDs of ACR function controllers • Query the BIOS for the enumeration data or read it from the serial bus

  29. Riser Design Goals • Riser should be designed to enumerate in any motherboard • EPROM data causes controller to be disabled unless motherboard contains an appropriate controller • Risers can be tested with • ACR SIG draft riser test assertions, and • ACR designated reference motherboards

  30. Motherboard Design Goals • Any riser (AMR or ACR) can be plugged in and and it should enumerate fully • Motherboard can be tested with • ACR SIG draft motherboard test assertions, and • ACR SIG designated reference risers

  31. ACR EnumerationExamples

  32. AMR Compatible Modem • Shows AMR style, transferring only subsystem IDs • May also include other optional items: • Riser: serial number • ACR Serial bus: size of EPROM • AC-Link Modem: device checks if riser not compatible with all controllers

  33. Sound And Modem • May include optional items like previous example • If audio features are proprietary, may include device checks to make sure right controller is present

  34. Modem And HPNA • Shows use of device check • May also include optional latency, class, and power management values of PCI controller

  35. Modem, HPNA And Ethernet • Note the easy modularity!

  36. ACR EnumerationGuidelines for Driver and BIOS Developers

  37. Driver Guidelines • Use separate Vendor/Sub-vendor IDs when appropriate to ensure the right driver is loaded • Provide full and appropriate power management of riser resources through PCI power management • Make use of the ACR BIOS function to query standard and private information (protected and 32-bit)

  38. Driver Guidelines • Provide full support for as many combinations of controllers and risers as appropriate • Make use of the serial EPROM device-check features to ensure risers are only used with appropriate controllers • Make use of the serial EPROM features to ensure that drivers are only used with appropriate risers

  39. BIOS Guidelines • Provide AMR style enumeration as a fallback when AMR card insertedinto ACR slot • Provide full description of any motherboard components that sharethe buses that connect to ACR slot • Provide all ACR BIOS functions in both protected mode and 32-bit format

  40. BIOS Guidelines • Follow the ACR BIOS GuidelinesApplication Note • Pre-test BIOS against • ACR SIG draft motherboard test assertions

  41. ACR EnumerationWhat Can You Do Next?

  42. All Development TeamsWhat can you do next? • Use ACR instead of AMR • Follow ACR 1.0 spec, ACR Application Notes, AC-97, MII, and IPB • Identify your designs to ACR SIG • Can be used as examples in compliance testing and interoperability testing • Participate in future ACR SIG Plugfests

  43. Motherboard VendorsWhat can you do next? • Consider moving to riser form-factor • SKU-dependent connectors • Entry level hardware that is often upgraded • Always ship with ACR BIOS! • Don’t use designs that allow insertion of devices that conflict with ACR address • Make use of protection modesas appropriate • For more information, visit www.acrsig.org

  44. Minimum ACR Motherboard • Provide the minimum motherboard connections • USB, • ACR serial, • AC-97

  45. Motherboard VendorsWhat can you do next? • Submit motherboards to WHQL with one of the ACR SIG tested risers • They become candidates for reference boards to test risers independently • Pre-test motherboards against: • ACR designated risers • ACR SIG draft motherboard test assertions document • WHQL system test • Each appropriate WHQL functional test (modem, audio, networking)

  46. Riser VendorsWhat can you do next? • Provide ACR serial bus plus buses for your functions • Always ship risers with fully programmed EPROMs, including the riser company Vendor ID • Always strive to generate unique and complete Plug and Play IDs, relying on enumeration where appropriate • Always locate the serial EPROM at A7or B0 address

  47. Riser VendorsWhat can you do next? • Use the ACR EPROM programming tool to generate error-free EPROM images • Don’t put Ethernet PHY or audio codec down with connectors on riser • Put the PHY/codec on riser with connector • Design all resources so their idle power fits within one PCI idle slot power budget, in case they are unpaired

  48. Riser VendorsWhat can you do next? • Submit risers to WHQL with one of the ACR SIG tested motherboards • They become candidates for reference risers to test motherboards independently • Pre-test risers against • ACR designated motherboards • ACR SIG draft riser test assertions document • Each appropriate WHQL functional test (modem, audio, networking)

  49. More InformationWhat can you do next? • www.acrsig.org to view public information • info@acrsig.org to join and gain members-only access and to get Plugfest information • www.microsoft.com/hwtest for more information about WHQL testing

More Related