Download presentation
Presentation is loading. Please wait.
Published byDavid Moody Modified over 9 years ago
1
ACR Enumeration Terry.Cole@AMD.Com Fellow Advanced Development Lab AMD
3
Purpose This 45-minute presentation walks through the device enumeration process for ACR risers, with examples 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 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
4
ACR Enumeration Introduction Introduction Enumeration architecture Enumeration architecture Enumeration procedure Enumeration procedure Examples Examples Guidelines for driver and BIOS developers Guidelines for driver and BIOS developers What can you do next? What can you do next?
5
ACR Enumeration Introduction
6
Introduction To Risers Risers deliver functions needing connectors 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: Examples: Existing: soft audio and modem codecs from multiple IP sources New: complete functions like networking, DSL, cable solutions
7
Example Risers AMR, MDC, CNR, ACR AMR, MDC, CNR, ACR Serial/parallel port risers and USB port risers Serial/parallel port risers and USB port risers
8
Introduction To ACR ACR = Advanced Communication Riser ACR = Advanced Communication Riser A 2nd generation riser AMR is the 1st generation riser Group open to all in the industry Group open to all in the industry Goals of ACR SIG 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
9
ACR Riser
10
ACR Risers
11
Scaleable Solution Residential Client V.90 V.90 10/100Base-T 10/100Base-T HomePNA 1 or 2 HomePNA 1 or 2 2 Ch audio 2 Ch audio Residential Gateway V.90 V.90 10/100Base-T 10/100Base-T HomePNA 1 or 2 HomePNA 1 or 2 DSL/Cable DSL/Cable Multi-Channel Audio Multi-Channel Audio Desktop V.90 V.90 2 Ch audio 2 Ch audio Three ACR Risers ACR.Basic - Desktop ACR.Basic - Desktop ACR.Lite - Client ACR.Lite - Client ACR.Hub - Gateway ACR.Hub - Gateway One ACR Motherboard
12
Value To Driver Owners Unique Plug and Play IDs are enabled Unique Plug and Play IDs are enabled Ensures specific drivers are loaded Gives more control to hardware owners 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 Helps avoid multi-function drivers No new paradigms or wholesale driver rewrites required! No new paradigms or wholesale driver rewrites required!
13
ACR Enumeration Architecture
14
Architecture Introduction The ACR specification provides enumeration mechanism to identify all ACR components to The ACR specification provides enumeration mechanism to identify all ACR components to BIOS OS Software device drivers Ensures that 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
15
Architecture Enumeration Functions ACR enumeration has three distinct steps: ACR enumeration has three distinct steps: Inventory “Marriage” Configuration
16
Enumeration Functions Inventory step Riser related resources on MB are listed in BIOS storage: 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 riser are described in a serial ROM device: 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”
17
Device Inventory By buses Devices are listed by bus and function Devices are listed by bus and function Bus: AC- Link, USB, ACR Serial, Primary MII, Secondary MII, GPSI, 7WS, IPB Bus: AC- Link, USB, ACR Serial, Primary MII, Secondary MII, GPSI, 7WS, IPB
18
Device Inventory By function Devices are listed by bus and function Devices are listed by bus and function Function: Riser, Sound, Modem, HPNA, Ethernet, DSL, Wireless, Cable Modem, Other Riser, Sound, Modem, HPNA, Ethernet, DSL, Wireless, Cable Modem, Other
19
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 SMBus 1.0 compliant Two wire SMBus 1.0 compliant Serial Data and Clock, no third control signal EPROM at A7 or B0 EPROM at A7 or B0 Use Controller or GPIO Use Controller or GPIO
20
Device Inventory Serial EPROM Data EPROM data image looks similar to a linked list EPROM data image looks similar to a linked list Data format is variable length Data format is variable length
21
Enumeration Functions “Marriage” step Mapping of each riser resource to a MB resource determined by ACR “function number” – one function per bus 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 Complete device = motherboard + riser Will be configured with unique and proper identities
22
Enumeration Functions Configuration step Setup of controller to match riser 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
23
Enumeration Functions Configuration step Controllers are disabled if no riser resource is present 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
24
Net Result Of Enumeration All special activity is pre-boot, making it compatible with existing OS 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 Unique Plug and Play IDs are enabled, a combination of motherboard/riser ID BIOS not specific to riser BIOS not specific to riser “Marriages” of risers to controllers can be restricted by either “party” “Marriages” of risers to controllers can be restricted by either “party” Unused components in highly integrated chipset/motherboard pose fewer issues Unused components in highly integrated chipset/motherboard pose fewer issues Invisible to OS and user
25
Examples Useful enumeration pairings: 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 system If it doesn’t work, it doesn’t appear in the PCI space to OS If it doesn’t work, it doesn’t appear in the PCI space to OS
26
ACR Enumeration Procedure
27
Procedure Basic sequence of enumeration events Basic sequence of enumeration events Hardware steps BIOS steps OS steps Driver steps
28
Hardware And BIOS Hardware: Hardware: At power up/reset all PCI config registers are set to their defaults Enable SMBus or GPIO Under BIOS control: 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
29
OS And Driver Under operating system control: 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: 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
30
Riser Design Goals Riser should be designed to enumerate in any motherboard Riser should be designed to enumerate in any motherboard EPROM data causes controller to be disabled unless motherboard contains an appropriate controller EPROM data causes controller to be disabled unless motherboard contains an appropriate controller Risers can be tested with Risers can be tested with ACR SIG draft riser test assertions, and ACR designated reference motherboards
31
Motherboard Design Goals Any riser (AMR or ACR) can be plugged in and and it should enumerate fully Any riser (AMR or ACR) can be plugged in and and it should enumerate fully Motherboard can be tested with Motherboard can be tested with ACR SIG draft motherboard test assertions, and ACR SIG designated reference risers
32
ACR Enumeration Examples
33
AMR Compatible Modem Bytes EPROM Contents 4 “ACR 1.0” 2 Riser Object 5 Device ID of riser maker (PCI ID) 19 Product name of riser: “ACME Turbo Modem” 2 Modem on AC-Link Object 5 Desired Subsystem IDs 3 END object (with checksum) Shows AMR style, transferring only subsystem IDs Shows AMR style, transferring only subsystem IDs May also include other optional items: 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
34
Sound And Modem May include optional items like previous example May include optional items like previous example If audio features are proprietary, may include device checks to make sure right controller is present If audio features are proprietary, may include device checks to make sure right controller is present Bytes EPROM Contents 4 “ACR 1.0” 2 Riser Object 5 Device ID of riser maker (PCI ID) 19 Product name of riser: “WHIZ Audio Modem” 2 Audio on AC-Link Object 5 Desired Subsystem IDs (2) 2 Modem on AC-Link Object 5 Desired Subsystem IDs (2) 3 END object (with checksum)
35
Modem And HPNA Shows use of device check Shows use of device check May also include optional latency, class, and power management values of PCI controller May also include optional latency, class, and power management values of PCI controller Bytes EPROM Contents 4 “ACR 1.0” 2 Riser Object 5 Device ID of riser maker (PCI ID) 24 Product name of riser:”WHAMMO Modem HPNA G92” 2 Modem on AC-Link Object 9 Desired Device IDs (2) 2 Home Networking on Primary MII Object 5 Desired Subsystem IDs (2) 26 Device check against 3 compatible controllers 5 MAC Address 3 END Object (with checksum)
36
Modem, HPNA And Ethernet Note the easy modularity! Note the easy modularity! Bytes EPROM Contents 4 “ACR 1.0” 2 Riser Object 5 Device ID of riser maker (PCI ID) 21 Product name of riser:”BANGO Home Gateway” 2 Modem on AC-Link Object 5 Desired Device IDs (2) 2 Ethernet on Primary MII Object 9 Desired Device IDs (4) 5 MAC Address 2 Home Networking on Secondary MII 9 Desired Device IDs (4) 5 MAC Address 3 END Object (with checksum)
37
ACR Enumeration Guidelines for Driver and BIOS Developers
38
Driver Guidelines Use separate Vendor/Sub-vendor IDs when appropriate to ensure the right driver is loaded 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 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) Make use of the ACR BIOS function to query standard and private information (protected and 32-bit)
39
Driver Guidelines Provide full support for as many combinations of controllers and risers as appropriate 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 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 Make use of the serial EPROM features to ensure that drivers are only used with appropriate risers
40
BIOS Guidelines Provide AMR style enumeration as a fallback when AMR card inserted into ACR slot 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 full description of any motherboard components that share the buses that connect to ACR slot Provide all ACR BIOS functions in both protected mode and 32-bit format Provide all ACR BIOS functions in both protected mode and 32-bit format
41
BIOS Guidelines Follow the ACR BIOS Guidelines Application Note Follow the ACR BIOS Guidelines Application Note Pre-test BIOS against Pre-test BIOS against ACR SIG draft motherboard test assertions
42
ACR Enumeration What Can You Do Next?
43
All Development Teams What can you do next? Use ACR instead of AMR Use ACR instead of AMR Follow ACR 1.0 spec, ACR Application Notes, AC-97, MII, and IPB Follow ACR 1.0 spec, ACR Application Notes, AC-97, MII, and IPB Identify your designs to ACR SIG Identify your designs to ACR SIG Can be used as examples in compliance testing and interoperability testing Participate in future ACR SIG Plugfests Participate in future ACR SIG Plugfests
44
Motherboard Vendors What can you do next? Consider moving to riser form-factor Consider moving to riser form-factor SKU-dependent connectors Entry level hardware that is often upgraded Always ship with ACR BIOS! Always ship with ACR BIOS! Don’t use designs that allow insertion of devices that conflict with ACR address Don’t use designs that allow insertion of devices that conflict with ACR address Make use of protection modes as appropriate Make use of protection modes as appropriate For more information, visit www.acrsig.org
45
Minimum ACR Motherboard Provide the minimum motherboard connections Provide the minimum motherboard connections USB, ACR serial, AC-97
46
Motherboard Vendors What can you do next? Submit motherboards to WHQL with one of the ACR SIG tested risers 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: 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)
47
Riser Vendors What can you do next? Provide ACR serial bus plus buses for your functions Provide ACR serial bus plus buses for your functions Always ship risers with fully programmed EPROMs, including the riser company Vendor ID 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 strive to generate unique and complete Plug and Play IDs, relying on enumeration where appropriate Always locate the serial EPROM at A7 or B0 address Always locate the serial EPROM at A7 or B0 address
48
Riser Vendors What can you do next? Use the ACR EPROM programming tool to generate error-free EPROM images 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 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 Design all resources so their idle power fits within one PCI idle slot power budget, in case they are unpaired
49
Riser Vendors What can you do next? Submit risers to WHQL with one of the ACR SIG tested motherboards 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 Pre-test risers against ACR designated motherboards ACR SIG draft riser test assertions document Each appropriate WHQL functional test (modem, audio, networking)
50
More Information What can you do next? www.acrsig.org to view public information www.acrsig.org to view public information www.acrsig.org info@acrsig.org to join and gain members-only access and to get Plugfest information info@acrsig.org to join and gain members-only access and to get Plugfest information info@acrsig.org www.microsoft.com/hwtest for more information about WHQL testing www.microsoft.com/hwtest for more information about WHQL testing www.microsoft.com/hwtest
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.