October 11, 20001
2 BIOS Considerations for USB 2.0 Kangkang Shen Phoenix Technologies Ltd.
October 11, Agenda w BIOS Candidates w USB BIOS support for Keyboard and Mouse w Booting from USB w BIOS support for USB 2.0
October 11, BIOS Candidates w USB Keyboard support – Basic need of all environments w USB Mouse support – For GUI and DOS game environments w USB Floppy, HardDisk, CD ROM support – Potential future candidates - INT13H Interface
October 11, USB BIOS Requirements for Keyboard and Mice w Design for Desktops, Portables and Server Systems w Support for Multiple Host Controllers w Enumeration should handle all legal Bus topologies w USB Devices must coexist with PS/2 Devices w Must support multiple USB Keyboards & USB Mice
October 11, USB BIOS Requirements for Keyboard and Mice w Each USB Keyboard has its own Typematic Rate w Hot Attach/Detach must be supported w Must be able to transition to the USB Aware O/S w USB support performance must be usable – Must not notice the difference between PS/2 & USB w USB must not degrade System performance – When USB Devices are idle – When “PS/2 Devices only” mode is selected
October 11, Device Emulation Overview w Both the PS/2 Mouse & PS/2 Keyboard are emulated along with the Keyboard Controller w An SMI is generated on accesses to the KBC w An SMI is generated by the Host Controller on a “Transfer Completion” event w USB Data is converted & sent to the System – UHCI: Echoed through the Keyboard Controller – OHCI: Placed in the Legacy Registers.
October 11, Device Emulation Overview w Block diagrams of UHCI & OHCI SMI Trapping – UHCI: KBC Status and IRQ’s come from the KBC – OHCI: KBC Status and IRQ’s come from the Host Controller’s Legacy hardware wr60 wr64 rd60 rd64 IRQ’s wr60 wr64 rd60 rd64 IRQ’s Universal HCIOpen HCI SMI Trap Kbc latch
October 11, USB BIOS & O/S Support BIOS Initialization USB Initialization BIOS surrenders to the O/S BIOS legacy support stays intact BIOS Transition USB Aware Operating System Non-USB Aware Operating System BIOS OS
October 11, PS/2-Only Architecture BIOS OS BIOS Keyboard/Mouse Services Application / Operation System Layer PS/2 Keyboard & Mouse Keyboard Controller rd P60h, wr P60h, rd P64h & wr P64h
October 11, BIOS: USB & PS/2 Architecture BIOS BIOS Keyboard/Mouse Services Application / Operation System Layer USB Keyboard(Hub) & Mouse Keyboard Controller rd P60h, wr P60h, rd P64h & wr P64h Rd P64h (Status) Keyboard Controller PS/2 Keyboard & Mouse Keyboard Emulation Mouse Emulation PCI Enumeration Initialization Host Controller Services USB Services Universal HCI UHCI Block Diagram
October 11, BIOS: USB & PS/2 Architecture BIOS BIOS Keyboard/Mouse Services Application / Operation System Layer USB Keyboard(Hub) & Mouse Keyboard Controller Emulation Read & Write P60h/P64h Emulation Keyboard Controller PS/2 Keyboard & Mouse Keyboard Emulation Mouse Emulation PCI Enumeration Initialization Host Controller Services USB Services Open HCI OHCI Block Diagram OHCI Legacy Registers
October 11, SMI Performance w 10 SMI’s per Keystoke (5 Make + 5 Break) – USB Device Transfer Completion (hcTransfer) – INT09h’s Disable of the Keyboard Interface (ADh) – INT09h’s Read of Port 60h – INT09h’s Re-Enable of the Keyboard Interface (AEh) – Persistence Callback (UHCI only) u On OHCI the Rd P60h & the Persistence are the same SMI w Arrow Keys w/NumLk 34 SMI’s per Keystroke
October 11, Legacy-Free Keyboard w Keyboard and Mouse still available during POST w INT15H (C2H), INT16H Compatible w Legacy-Free Keyboard Feature set same as current w Keyboard Controller hardware issues finally addressed w GateA20 Confusion and Problems are eliminated w USB SMI Emulation is no longer required – USB uses a standard IRQ instead – New OS hand-off required for IRQ keyboard emulation w IRQ1 and IRQ12 are released w Keyboard Module simplified
October 11, Current Desktop
October 11, Legacy-Free Desktop Desktop & Server Block Diagram USB Keyboard EOT (PCI IRQ) PCI USB Desktop USB Host Controller
October 11, Replacing the Floppy Host Hub Device Device Device Device Device
October 11, What Constitutes A Mass Storage Device? w Any SCSI device w Any ATAPI device w Two transport mechanisms – Control-Bulk-Interrupt (CBI) – Bulk-Only Transport (BOT) – Can be found at
October 11, Why Serial Number w Allows for a change in topology – The user can hot-plug USB devices – This causes a bus re-enumeration – USB physical addresses can change – Serial number keeps A: on the expected device during a hot-plug w Allows for interchange of devices – When devices are re-inserted they can maintain their original drive letters
October 11, Requesting Serial Number w Serial Number is required for devices that follow the BOT specification w Serial Number is optional for devices that follow the CBI specification – Mainly USB 1.44MB floppy drives Require Serial Number Support for Your USB Floppy Drive
October 11, Appropriate Devices w Devices with minor speed considerations – Large Floppy – Slow Tape – Any Mass Storage device which is interfaced via parallel port, today w USB 2.0 will bring many new devices to USB – Hard Drives, CD-ROM drives, etc.
October 11, Special Use Devices w Laptops are driving these devices w IA Products w USB 2.0 changes these from special use devices to normal use devices for Laptops, Desktops, Workstations, & Servers
October 11, USB Boot In Conclusion w Phoenix is currently offering support for – Floppy – Zip – Hard Drive – CD-ROM w In process – Hard drive for USB 2.0 w Devices to follow as needed
October 11, Support USB 2.0 Host USB 2.0 Host Chip RouterRouter USB 1.1 Host USB 1.1 Signals USB 2.0 Host USB 2.0 Signals USB 1.1 Signals USB 2.0 Signals
October 11, BIOS Support for Hybrid Controller w BIOS Can Support HS/FS device at FS – Using Classic portion – No new code required – Performance degraded w BIOS Can Support FS/LS device at FS/LS – Using Classic portion – No new code required
October 11, BIOS Support for HS Controller w New code to support – HS devices – FS/LS devices using split transaction
October 11, Summary w USB keyboard legacy emulation should be shipped on all systems with USB and KBC w USB mass storage is now available as a secondary boot device w Require serial numbers in your mass storage devices w Send us some prototype USB 2.0 mass storage devices
October 11, For More Information w w w For questions related to Phoenix BIOSes – –