may 17, 20002 bios considerations for usb 2.0 saleem yamani phoenix technologies ltd
TRANSCRIPT
May 17, 2000 2
BIOS Considerations for USB 2.0
BIOS Considerations for USB 2.0
Saleem YamaniSaleem Yamani
Phoenix Technologies Ltd.Phoenix Technologies Ltd.
May 17, 2000 3
AgendaAgenda
BIOS CandidatesBIOS Candidates USB BIOS support for Keyboard and MouseUSB BIOS support for Keyboard and Mouse Booting from USBBooting from USB BIOS support for USB 2.0BIOS support for USB 2.0 Q & AQ & A
May 17, 2000 4
BIOS CandidatesBIOS Candidates
USB Keyboard supportUSB Keyboard support– Basic need of all environmentsBasic need of all environments
USB Mouse supportUSB Mouse support– For GUI and DOS game environmentsFor GUI and DOS game environments
USB Floppy, HardDisk, CD ROM supportUSB Floppy, HardDisk, CD ROM support– Potential future candidates - INT13H InterfacePotential future candidates - INT13H Interface
May 17, 2000 5
USB BIOS Requirementsfor Keyboard and MiceUSB BIOS Requirementsfor Keyboard and Mice
Design for Desktops, Portables and Server SystemsDesign for Desktops, Portables and Server Systems Build time support for Multiple Host ControllersBuild time support for Multiple Host Controllers Enumeration should handle all legalEnumeration should handle all legal
Bus topologiesBus topologies USB Devices must coexist with PS/2 DevicesUSB Devices must coexist with PS/2 Devices Must support multiple USB Keyboards &Must support multiple USB Keyboards &
USB MiceUSB Mice
May 17, 2000 6
USB BIOS Requirementsfor Keyboard and MiceUSB BIOS Requirementsfor Keyboard and Mice
Each USB Keyboard has its own Typematic RateEach USB Keyboard has its own Typematic Rate Hot Attach/Detach must be supportedHot Attach/Detach must be supported Must be able to transition to the USB Aware O/SMust be able to transition to the USB Aware O/S USB support performance must be usableUSB support performance must be usable
– Must not notice the difference between PS/2 & USBMust not notice the difference between PS/2 & USB USB must not degrade System performanceUSB must not degrade System performance
– When USB Devices are idleWhen USB Devices are idle– When “PS/2 Devices only” mode is selectedWhen “PS/2 Devices only” mode is selected
May 17, 2000 7
Device Emulation OverviewDevice Emulation Overview
Both the PS/2 Mouse & PS/2 Keyboard are Both the PS/2 Mouse & PS/2 Keyboard are emulated along with the Keyboard Controlleremulated along with the Keyboard Controller
An SMI is generated on accesses to the KBCAn SMI is generated on accesses to the KBC An SMI is generated by the Host ControllerAn SMI is generated by the Host Controller
on a “Transfer Completion” eventon a “Transfer Completion” event USB Data is converted & sent to the SystemUSB Data is converted & sent to the System
– UHCI: Echoed through the Keyboard ControllerUHCI: Echoed through the Keyboard Controller– OHCI: Placed in the Legacy Registers.OHCI: Placed in the Legacy Registers.
May 17, 2000 8
Device Emulation OverviewDevice Emulation Overview
Block diagrams of UHCI & OHCI SMI TrappingBlock diagrams of UHCI & OHCI SMI Trapping– UHCI: KBC Status and IRQ’s come from the KBCUHCI: KBC Status and IRQ’s come from the KBC– OHCI: KBC Status and IRQ’s come from the Host OHCI: KBC Status and IRQ’s come from the Host
Controller’s Legacy hardwareController’s Legacy hardware
wr60wr64rd60rd64
IRQ’s
SMISMITrapTrap
KbcKbc
Universal HCI
SMISMITrapTrap KbcKbcLatchLatch
Open HCI
wr60wr64rd60rd64
IRQ’s
May 17, 2000 9
USB BIOS & O/S SupportUSB BIOS & O/S Support
BIOS InitializationBIOS Initialization
USB InitializationUSB Initialization
BIOS SurrendersBIOS Surrendersto the O/Sto the O/S
BIOS LegacyBIOS LegacySupport StaysSupport Stays
IntactIntact
USB AwareUSB AwareOperating SystemOperating System
Non-USB AwareNon-USB AwareOperating SystemOperating SystemNon-USB AwareNon-USB Aware
Operating SystemOperating System
BIOS TransitionBIOS Transition
BIOS
OSOS
May 17, 2000 10
SMI PerformanceSMI Performance
10 SMI’s per Keystroke (5 Make + 5 Break)10 SMI’s per Keystroke (5 Make + 5 Break)– USB Device Transfer Completion (hcTransfer)USB Device Transfer Completion (hcTransfer)– INT09h’s Disable of the Keyboard Interface (ADh)INT09h’s Disable of the Keyboard Interface (ADh)– INT09h’s Read of Port 60hINT09h’s Read of Port 60h– INT09h’s Re-Enable of the Keyboard Interface (AEh)INT09h’s Re-Enable of the Keyboard Interface (AEh)– Persistence Callback (UHCI only)Persistence Callback (UHCI only)
On OHCI the Rd P60h & the Persistence are the same SMIOn OHCI the Rd P60h & the Persistence are the same SMI
Arrow Keys w/NumLk 34 SMI’s per KeystrokeArrow Keys w/NumLk 34 SMI’s per Keystroke
May 17, 2000 11
Legacy-Free KeyboardLegacy-Free Keyboard
Keyboard and Mouse still available during POSTKeyboard and Mouse still available during POST INT15H (C2H), INT16H CompatibleINT15H (C2H), INT16H Compatible Legacy-Free Keyboard Feature set sameLegacy-Free Keyboard Feature set same
as currentas current Keyboard Controller hardware issuesKeyboard Controller hardware issues
finally addressedfinally addressed
May 17, 2000 12
Legacy-Free KeyboardLegacy-Free Keyboard
GateA20 Confusion and Problems are eliminatedGateA20 Confusion and Problems are eliminated USB SMI Emulation is no longer requiredUSB SMI Emulation is no longer required
– USB uses a standard IRQ insteadUSB uses a standard IRQ instead IRQ1 and IRQ12 are releasedIRQ1 and IRQ12 are released Keyboard Module simplifiedKeyboard Module simplified
ContinuedContinued
May 17, 2000 13
Current DesktopCurrent DesktopDesktop & Server Block DiagramDesktop & Server Block Diagram
ISA PCI
IRQ1IRQ12
SMI
Desktop
PS/2 KeyboardPS/2 Keyboard USB KeyboardUSB Keyboard
KeyboardKeyboardControllerController
USB HostUSB HostControllerController
USB
May 17, 2000 14
Legacy-Free DesktopLegacy-Free DesktopDesktop & Server Block DiagramDesktop & Server Block Diagram
PCI
EOT(PCI IRQ)
Desktop
USB KeyboardUSB Keyboard
USB HostUSB HostControllerController
USB
May 17, 2000 15
Replacing the FloppyReplacing the Floppy
HostHost Hub
DeviceDevice
DeviceDevice
DeviceDevice
DeviceDevice
DeviceDevice
May 17, 2000 16
Boot From USB?Boot From USB?
Any device which must function before the OSAny device which must function before the OSis launched is a boot deviceis launched is a boot device– Devices required for BIOS utilitiesDevices required for BIOS utilities
Keyboard, MouseKeyboard, Mouse– Initial Program Load (IPL) devicesInitial Program Load (IPL) devices
Floppy, Tape, CD, LS-120, Zip, etc.Floppy, Tape, CD, LS-120, Zip, etc.
May 17, 2000 17
Unique USB ChallengesUnique USB Challenges
Hot-plug BusHot-plug Bus– DOS does not allow hot-pluggingDOS does not allow hot-plugging– BIOS is not structured for hot-pluggingBIOS is not structured for hot-plugging
Master/Slave BusMaster/Slave Bus– CPU intensive, devices do not speak unlessCPU intensive, devices do not speak unless
they are spoken toothey are spoken too– Requires a hand-offRequires a hand-off
May 17, 2000 18
What Constitutes a Mass Storage Device?What Constitutes a Mass Storage Device?
The USB Mass Storage document definesThe USB Mass Storage document definesa SCSI to USB bridgea SCSI to USB bridge– This is not limited to rotating media, it canThis is not limited to rotating media, it can
include any ATAPI or SCSI deviceinclude any ATAPI or SCSI device Any SCSI deviceAny SCSI device Any ATAPI deviceAny ATAPI device Two transport mechanismsTwo transport mechanisms
– Control-Bulk-Interrupt (CBI)Control-Bulk-Interrupt (CBI)– Bulk-Only Transport (BOT)Bulk-Only Transport (BOT)– Can be found at WWW.USB.ORGCan be found at WWW.USB.ORG
May 17, 2000 19
Why Serial NumberWhy Serial Number
Allows for a change in topologyAllows for a change in topology– The user can hot-plug USB devicesThe user can hot-plug USB devices– This causes a bus re-enumerationThis causes a bus re-enumeration– USB physical addresses can changeUSB physical addresses can change– Serial number keeps A: on the expectedSerial number keeps A: on the expected
device during a hot-plugdevice during a hot-plug Allows for interchange of devicesAllows for interchange of devices
– When devices are re-inserted they canWhen devices are re-inserted they canmaintain their original drive lettersmaintain their original drive letters
May 17, 2000 20
Requesting Serial NumberRequesting Serial Number
Serial Number is required for devices that follow Serial Number is required for devices that follow the BOT specificationthe BOT specification
Serial Number is optional for devices that follow Serial Number is optional for devices that follow the CBI specificationthe CBI specification– Mainly USB 1.44MB floppy drivesMainly USB 1.44MB floppy drives
Require Serial Number SupportRequire Serial Number SupportFor Your USB Floppy DriveFor Your USB Floppy Drive
Require Serial Number SupportRequire Serial Number SupportFor Your USB Floppy DriveFor Your USB Floppy Drive
May 17, 2000 21
Appropriate MSD DevicesAppropriate MSD Devices
Devices with minor speed considerationsDevices with minor speed considerations– Large FloppyLarge Floppy– Slow TapeSlow Tape– Any Mass Storage device which is interfacedAny Mass Storage device which is interfaced
via parallel port, todayvia parallel port, today USB 2.0 will bring many new devices to USBUSB 2.0 will bring many new devices to USB
– Hard Drives, CD-ROM drives, etc.Hard Drives, CD-ROM drives, etc.
May 17, 2000 22
Special Use DevicesSpecial Use Devices
Laptops are driving these devicesLaptops are driving these devices Likely storage devices which canLikely storage devices which can
consume the entire busconsume the entire bus– CDCD– Solid StateSolid State– SCSI to USB bridgeSCSI to USB bridge– TapeTape
USB 2.0 changes these from special use to normal USB 2.0 changes these from special use to normal use devices for laptops, desktops, work stations, use devices for laptops, desktops, work stations, and serversand servers
May 17, 2000 23
USB Boot In ConclusionUSB Boot In Conclusion
Phoenix is currently offering support forPhoenix is currently offering support for– FloppyFloppy– ZipZip
In processIn process– CD-ROMCD-ROM
Devices to follow as neededDevices to follow as needed
May 17, 2000 24
BIOS Support for USB 2.0BIOS Support for USB 2.0
Initial Host Controllers will be hybrid typeInitial Host Controllers will be hybrid type– ““Classic” core handles USB 1.0/1.1 devicesClassic” core handles USB 1.0/1.1 devices– ““High speed” core handles USB 2.0 devicesHigh speed” core handles USB 2.0 devices– Router routes traffic to either “classic” orRouter routes traffic to either “classic” or
“high speed” core“high speed” core Greater system resources to supportGreater system resources to support
– ““Classic” Host controllerClassic” Host controller– ““High speed” Host Controller High speed” Host Controller
May 17, 2000 25
BIOS Support forHybrid ControllerBIOS Support forHybrid Controller
BIOS Can Support HS/FS device at FSBIOS Can Support HS/FS device at FS– Using Classic portionUsing Classic portion– No new code requiredNo new code required– Performance degradedPerformance degraded
BIOS Can Support FS/LS device at FS/LSBIOS Can Support FS/LS device at FS/LS– Using Classic portionUsing Classic portion– No new code requiredNo new code required
May 17, 2000 26
BIOS Support forHS ControllerBIOS Support forHS Controller
New code to support New code to support – HS devicesHS devices– FS/LS devices using split transactionFS/LS devices using split transaction
May 17, 2000 27
USB 2.0USB 2.0Host ChipHost ChipUSB 2.0USB 2.0Host ChipHost Chip
USB 2.0 Host ArchitectureEarly Discrete Host ChipUSB 2.0 Host ArchitectureEarly Discrete Host Chip
RouterRouterRouterRouter
USB 1.1USB 1.1HostHost
USB 1.1USB 1.1HostHost
USB 1.1 USB 1.1 signalssignalsUSB 1.1 USB 1.1 signalssignals
USB 2.0USB 2.0HostHost
USB 2.0USB 2.0HostHost
USB 2.0 USB 2.0 signalssignalsUSB 2.0 USB 2.0 signalssignals
USB 1.1 signals
USB 2.0 signals
May 17, 2000 28
USB 2.0USB 2.0Host ChipHost ChipUSB 2.0USB 2.0Host ChipHost Chip
USB 2.0 Host ArchitectureFinal Host DesignUSB 2.0 Host ArchitectureFinal Host Design
USB 2.0 HubUSB 2.0 HubUSB 2.0 HubUSB 2.0 Hub
USB 1.1 USB 1.1 signalssignals
USB 2.0USB 2.0HostHost
USB 2.0USB 2.0HostHost
USB 2.0 USB 2.0 signalssignals
USB 2.0 USB 2.0 signalssignals
May 17, 2000 29
USB HS/FS/LS CompatibilityUSB HS/FS/LS Compatibility
USB 1.1USB 1.1USB 2.0USB 2.0
\65\6 0m
m
USB 1.1USB 1.1
Hub
USB 2.0USB 2.0
Hub
May 17, 2000 30
USB HS/FS/LS CompatibilityUSB HS/FS/LS Compatibility
USB2.0 DeviceUSB2.0 Device
USB 1.0/1.1 USB 1.0/1.1 DeviceDevice
USB 1.0/1.1 USB 1.0/1.1 HostHost USB2.0 HostUSB2.0 Host
Device connects and Device connects and functions in “classic functions in “classic
mode”mode”
Device connects Device connects and functions in and functions in “classic mode”“classic mode”
Device connects and Device connects and functions in “high functions in “high
speed mode”speed mode”
Device connects in Device connects in “classic mode” and if “classic mode” and if capable, functions in capable, functions in
“classic mode”“classic mode”