Title: ACR Enumeration Terry.ColeAMD.Com Fellow Advanced Development Lab AMD
1ACR EnumerationTerry.Cole_at_AMD.Com
FellowAdvanced Development LabAMD
2(No Transcript)
3Purpose
- 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
4ACR Enumeration
- Introduction
- Enumeration architecture
- Enumeration procedure
- Examples
- Guidelines for driver andBIOS developers
- What can you do next?
5ACR EnumerationIntroduction
6Introduction 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
7Example Risers
- AMR, MDC, CNR, ACR
- Serial/parallel port risers andUSB port risers
8Introduction 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
9ACR Riser
10ACR Risers
11Scaleable 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-Channel Audio
- Three ACR Risers
- ACR.Basic - Desktop
- ACR.Lite - Client
- ACR.Hub - Gateway
One ACR Motherboard
12Value 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!
13ACR EnumerationArchitecture
14ArchitectureIntroduction
- 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
15ArchitectureEnumeration Functions
- ACR enumeration has threedistinct steps
- Inventory
- Marriage
- Configuration
16Enumeration 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
17Device InventoryBy buses
- Devices are listed by bus and function
- Bus AC-Link, USB, ACR Serial, Primary MII,
Secondary MII, GPSI, 7WS, IPB
18Device InventoryBy function
- Devices are listed by bus and function
- Function
- Riser, Sound, Modem, HPNA, Ethernet, DSL,
Wireless, Cable Modem, Other
19Device InventoryACR Serial Bus
ACR
System
- Two wire SMBus 1.0 compliant
- Serial Data and Clock, no third control signal
- EPROM at A7 or B0
- Use Controller or GPIO
Card
Motherboard
Vdd
Vdd
pullups
SCL
SMBus/I2C
Serial
Host
EEPROM
Controller Or GPIO
SDA
other
devices
20Device InventorySerial EPROM Data
- EPROM data image looks similar to a linked list
- Data format is variable length
21Enumeration FunctionsMarriage 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
22Enumeration 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
23Enumeration 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
24Net 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
25Examples
- 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 doesnt work, it doesnt appear in the PCI
space to OS
26ACR EnumerationProcedure
27Procedure
- Basic sequence of enumeration events
- Hardware steps
- BIOS steps
- OS steps
- Driver steps
28Hardware 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
29OS 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
30Riser 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
31Motherboard 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
32ACR EnumerationExamples
33AMR 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
34Sound 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
35Modem And HPNA
- Shows use of device check
- May also include optional latency, class, and
power management values of PCI controller
36Modem, HPNA And Ethernet
- Note the easy modularity!
37ACR EnumerationGuidelines for Driver and BIOS
Developers
38Driver 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)
39Driver 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
40BIOS 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
41BIOS Guidelines
- Follow the ACR BIOS GuidelinesApplication Note
- Pre-test BIOS against
- ACR SIG draft motherboard test assertions
42ACR EnumerationWhat Can You Do Next?
43All 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
44Motherboard 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!
- Dont 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
45Minimum ACR Motherboard
- Provide the minimum motherboard connections
- USB,
- ACR serial,
- AC-97
46Motherboard 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)
47Riser 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
48Riser VendorsWhat 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 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
49Riser 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)
50More InformationWhat can you do next?
- www.acrsig.org to view public information
- info_at_acrsig.org to join and gain members-only
access and to get Plugfest information - www.microsoft.com/hwtest for more information
about WHQL testing
51(No Transcript)