1、ACR Enumeration Terry.ColeAMD.Com Fellow Advanced Development Lab AMD,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 hardwar
2、e vendors, that will make device enumeration work,ACR Enumeration,Introduction Enumeration architecture Enumeration procedure Examples Guidelines for driver and BIOS developers What can you do next?,ACR Enumeration Introduction,Introduction To Risers,Risers deliver functions needing connectors More
3、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 so
4、lutions,Example Risers,AMR, MDC, CNR, ACR Serial/parallel port risers and USB port risers,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 aud
5、io solutions Reuse industry technology, components Compatibility with existing OS Fit into existing compliance test strategies,ACR Riser,ACR Risers,Scaleable Solution,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-C
6、hannel Audio,Desktop V.90 2 Ch audio,Three ACR Risers ACR.Basic - Desktop ACR.Lite - Client ACR.Hub - Gateway,One ACR Motherboard,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 c
7、an 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!,ACR Enumeration Architecture,Architecture Introduction,The ACR specification provides enumerati
8、on mechanism to identify all ACR components to BIOS OS Software device drivers Ensures that Device operating parameters are correctly set by the BIOS Correct set of drivers is loaded by the OS Additional vendor-defined information is available to the device driver,Architecture Enumeration Functions,
9、ACR enumeration has three distinct steps: Inventory “Marriage” Configuration,Enumeration Functions Inventory step,Riser related resources on MB are listed in BIOS storage: Chipset controllers (network, audio, ) Motherboard down controllers Each appears as a PCI based controller Components on the ris
10、er 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”,Device Inventory By buses,Devices are listed by bus and functionBus: AC-Link, USB, ACR Serial, Primary MII, Secondary MII, GPSI, 7WS, IPB,Device
11、 Inventory By function,Devices are listed by bus and function Function: Riser, Sound, Modem, HPNA, Ethernet, DSL, Wireless, Cable Modem, Other,Device Inventory ACR Serial Bus,Serial,EEPROM,SMBus/I2C,Host,Controller Or GPIO,ACR,Card,System,Motherboard,Vdd,pullups,Vdd,SCL,SDA,other,devices,Two wire SM
12、Bus 1.0 compliant Serial Data and Clock, no third control signal EPROM at A7 or B0 Use Controller or GPIO,Device Inventory Serial EPROM Data,EPROM data image looks similar to a linked list Data format is variable length,Enumeration Functions “Marriage” step,Mapping of each riser resource to a MB res
13、ource 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 and prop
14、er identities,Enumeration Functions Configuration 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
15、,Enumeration Functions Configuration step,Controllers are disabled if no riser resource is present Controllers that may not be functional are also disabled Example, AC-97 configuration issues such as primary/secondary clock source conflicts,Net Result Of Enumeration,All special activity is pre-boot,
16、 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 Invisibl
17、e to OS and user,Examples,Useful enumeration pairings: Modem codec works with all generic 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 works only if specific riser in
18、system If it doesnt work, it doesnt appear in the PCI space to OS,ACR Enumeration Procedure,Procedure,Basic sequence of enumeration events Hardware steps BIOS steps OS steps Driver steps,Hardware And BIOS,Hardware: At power up/reset all PCI config registers are set to their defaults Enable SMBus or
19、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
20、read-only,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 fo
21、r the default IDs of ACR function controllers Query the BIOS for the enumeration data or read it from the serial bus,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 ca
22、n be tested with ACR SIG draft riser test assertions, and ACR designated reference motherboards,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 referen
23、ce risers,ACR Enumeration Examples,AMR Compatible Modem,Shows AMR style, transferring only subsystem IDsMay 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,Sound And Modem,May include opti
24、onal items like previous example If audio features are proprietary, may include device checks to make sure right controller is present,Modem And HPNA,Shows use of device check May also include optional latency, class, and power management values of PCI controller,Modem, HPNA And Ethernet,Note the ea
25、sy modularity!,ACR Enumeration Guidelines for Driver and BIOS Developers,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 f
26、unction to query standard and private information (protected and 32-bit),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
27、 the serial EPROM features to ensure that drivers are only used with appropriate risers,BIOS Guidelines,Provide AMR style enumeration as a fallback when AMR card inserted into ACR slot Provide full description of any motherboard components that share the buses that connect to ACR slot Provide all AC
28、R BIOS functions in both protected mode and 32-bit format,BIOS Guidelines,Follow the ACR BIOS Guidelines Application Note Pre-test BIOS against ACR SIG draft motherboard test assertions,ACR Enumeration What Can You Do Next?,All Development Teams What can you do next?,Use ACR instead of AMR Follow AC
29、R 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,Motherboard Vendors What can you do next?,Consider moving to riser form-factor SKU-dependent conn
30、ectors Entry level hardware that is often upgraded Always ship with ACR BIOS! Dont use designs that allow insertion of devices that conflict with ACR address Make use of protection modes as appropriate For more information, visit www.acrsig.org,Minimum ACR Motherboard,Provide the minimum motherboard
31、 connections USB, ACR serial, AC-97,Motherboard Vendors What 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
32、 assertions document WHQL system test Each appropriate WHQL functional test (modem, audio, networking),Riser Vendors What 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 gene
33、rate unique and complete Plug and Play IDs, relying on enumeration where appropriate Always locate the serial EPROM at A7 or B0 address,Riser Vendors What can you do next?,Use the ACR EPROM programming tool to generate error-free EPROM images Dont put Ethernet PHY or audio codec down with connectors
34、 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,Riser Vendors What can you do next?,Submit risers to WHQL with one of the ACR SIG tested motherboards They become candidates for referenc
35、e 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),More Information What can you do next?,www.acrsig.org to view public information infoacrsig.org to join and gain members-only access and to get Plugfest information for more information about WHQL testing,