28
October 11, 2000 1

October 11, 20001. 2 BIOS Considerations for USB 2.0 Kangkang Shen Phoenix Technologies Ltd

Embed Size (px)

Citation preview

October 11, 2000 1

October 11, 2000 2

BIOS Considerationsfor USB 2.0

BIOS Considerationsfor USB 2.0

Kangkang ShenKangkang ShenPhoenix Technologies Ltd.Phoenix Technologies Ltd.

October 11, 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

October 11, 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

October 11, 2000 5

USB BIOS Requirementsfor Keyboard and MiceUSB BIOS Requirementsfor Keyboard and Mice

Design for Desktops, Portables andDesign for Desktops, Portables andServer SystemsServer Systems

Support for Multiple Host ControllersSupport 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

October 11, 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

October 11, 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 Controller on a An SMI is generated by the Host Controller on a

“Transfer Completion” event“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.

October 11, 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

wr60wr64rd60rd64IRQ’s

wr60wr64rd60rd64IRQ’s

Universal HCI Open HCI

SMISMITrapTrap

KbcKbc SMISMITrapTraplatchlatch

October 11, 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

BIOS TransitionBIOS Transition

USB AwareUSB AwareOperating SystemOperating System

Non-USB AwareNon-USB AwareOperating SystemOperating System

BIOS

OSOS

October 11, 2000 10

PS/2-Only ArchitecturePS/2-Only Architecture

BIOS

OSOS

BIOS Keyboard/Mouse ServicesBIOS Keyboard/Mouse Services

Application / Operation System LayerApplication / Operation System Layer

PS/2 Keyboard & MousePS/2 Keyboard & Mouse

Keyboard ControllerKeyboard Controllerrd P60h, wr P60h, rd P64h & wr P64hrd P60h, wr P60h, rd P64h & wr P64h

October 11, 2000 11

BIOS: USB & PS/2 ArchitectureBIOS: USB & PS/2 Architecture

BIOS

BIOS Keyboard/Mouse ServicesBIOS Keyboard/Mouse ServicesBIOS Keyboard/Mouse ServicesBIOS Keyboard/Mouse Services

Application / Operation System Layer

USB Keyboard(Hub) & MouseUSB Keyboard(Hub) & Mouse

Keyboard ControllerKeyboard Controllerrd P60h, wr P60h, rd P64h & wr P64hrd P60h, wr P60h, rd P64h & wr P64h Rd P64h (Status)

Keyboard Controller

PS/2 Keyboard & MousePS/2 Keyboard & Mouse

Keyboard EmulationKeyboard EmulationKeyboard EmulationKeyboard Emulation Mouse EmulationMouse EmulationMouse EmulationMouse EmulationPCI EnumerationPCI Enumeration

InitializationInitialization

Host Controller ServicesHost Controller ServicesUSB ServicesUSB Services

Universal HCIUniversal HCI

UHCI Block UHCI Block DiagramDiagram

UHCI Block UHCI Block DiagramDiagram

October 11, 2000 12

BIOS: USB & PS/2 ArchitectureBIOS: USB & PS/2 Architecture

BIOS

BIOS Keyboard/Mouse ServicesBIOS Keyboard/Mouse ServicesBIOS Keyboard/Mouse ServicesBIOS Keyboard/Mouse Services

Application / Operation System Layer

USB Keyboard(Hub) & MouseUSB Keyboard(Hub) & Mouse

Keyboard Controller EmulationKeyboard Controller EmulationRead & Write P60h/P64h EmulationRead & Write P60h/P64h Emulation

Keyboard Controller

PS/2 Keyboard & MousePS/2 Keyboard & Mouse

Keyboard EmulationKeyboard EmulationKeyboard EmulationKeyboard Emulation Mouse EmulationMouse EmulationMouse EmulationMouse EmulationPCI EnumerationPCI Enumeration

InitializationInitialization

Host Controller ServicesHost Controller ServicesUSB ServicesUSB Services

Open HCIOpen HCI

OHCI Block OHCI Block DiagramDiagram

OHCI Block OHCI Block DiagramDiagram

OHCI Legacy Registers

October 11, 2000 13

SMI PerformanceSMI Performance

10 SMI’s per Keystoke (5 Make + 5 Break)10 SMI’s per Keystoke (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

October 11, 2000 14

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 same as currentLegacy-Free Keyboard Feature set same as current Keyboard Controller hardware issues finally addressedKeyboard Controller hardware issues finally addressed 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– New OS hand-off required for IRQ keyboard emulationNew OS hand-off required for IRQ keyboard emulation

IRQ1 and IRQ12 are releasedIRQ1 and IRQ12 are released Keyboard Module simplifiedKeyboard Module simplified

October 11, 2000 15

Current DesktopCurrent Desktop

Desktop & Server Block DiagramDesktop & Server Block DiagramDesktop & Server Block DiagramDesktop & Server Block Diagram

USB KeyboardPS/2 Keyboard

KeyboardKeyboardControllerController

IRQ1IRQ12

ISA

SMI

PCI

USB

Desktop

USB HostUSB HostControllerController

October 11, 2000 16

Legacy-Free DesktopLegacy-Free Desktop

Desktop & Server Block DiagramDesktop & Server Block DiagramDesktop & Server Block DiagramDesktop & Server Block Diagram

USB Keyboard

EOT(PCI IRQ)

PCI

USB

Desktop

USB HostUSB HostControllerController

October 11, 2000 17

Replacing the FloppyReplacing the Floppy

Host HubHub

DeviceDevice

DeviceDevice

DeviceDevice

DeviceDevice

DeviceDevice

October 11, 2000 18

What Constitutes A Mass Storage Device?What Constitutes A Mass Storage 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

October 11, 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 expected device during Serial number keeps A: on the expected device during

a hot-pluga hot-plug Allows for interchange of devicesAllows for interchange of devices

– When devices are re-inserted they can maintain their When devices are re-inserted they can maintain their original drive lettersoriginal drive letters

October 11, 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

October 11, 2000 21

Appropriate DevicesAppropriate Devices

Devices with minor speed considerationsDevices with minor speed considerations– Large FloppyLarge Floppy– Slow TapeSlow Tape– Any Mass Storage device which is interfaced via Any Mass Storage device which is interfaced via

parallel port, todayparallel 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.

October 11, 2000 22

Special Use DevicesSpecial Use Devices

Laptops are driving these devicesLaptops are driving these devices IA ProductsIA Products USB 2.0 changes these from special use USB 2.0 changes these from special use

devices to normal use devices for Laptops, devices to normal use devices for Laptops, Desktops, Workstations, & ServersDesktops, Workstations, & Servers

October 11, 2000 23

USB Boot In ConclusionUSB Boot In Conclusion

Phoenix is currently offering support forPhoenix is currently offering support for– FloppyFloppy– ZipZip– Hard DriveHard Drive– CD-ROMCD-ROM

In processIn process– Hard drive for USB 2.0Hard drive for USB 2.0

Devices to follow as neededDevices to follow as needed

October 11, 2000 24

Support USB 2.0 HostSupport USB 2.0 Host

USB 2.0USB 2.0Host ChipHost ChipUSB 2.0USB 2.0Host ChipHost 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 USB 1.1 SignalsSignals

USB 2.0 USB 2.0 SignalsSignals

October 11, 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

October 11, 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

October 11, 2000 27

SummarySummary

USB keyboard legacy emulation should be USB keyboard legacy emulation should be shipped on all systems with USB and KBCshipped on all systems with USB and KBC

USB mass storage is now available as a USB mass storage is now available as a secondary boot devicesecondary boot device

Require serial numbers in your massRequire serial numbers in your massstorage devicesstorage devices

Send us some prototype USB 2.0 massSend us some prototype USB 2.0 massstorage devicesstorage devices

October 11, 2000 28

For More InformationFor More Information

WWW.USB.ORGWWW.USB.ORG WWW.PHOENIX.COMWWW.PHOENIX.COM For questions related to Phoenix BIOSesFor questions related to Phoenix BIOSes

– E-Mail E-Mail [email protected][email protected] – E-Mail E-Mail [email protected][email protected]