Presentation is loading. Please wait.

Presentation is loading. Please wait.

ACR Enumeration Fellow Advanced Development Lab AMD.

Similar presentations


Presentation on theme: "ACR Enumeration Fellow Advanced Development Lab AMD."— Presentation transcript:

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

2

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

51


Download ppt "ACR Enumeration Fellow Advanced Development Lab AMD."

Similar presentations


Ads by Google