Class Code Table


Class Codes

Class

Description

0x00

Devices built before class codes (i.e. pre PCI 2.0)

0x01

Mass storage controller

0x02

Network controller

0x03

Display controller

0x04

Multimedia device

0x05

Memory Controller

0x06

Bridge Device

0x07

Simple communications controllers

0x08

Base system peripherals

0x09

Inupt devices

0x0A

Docking Stations

0x0B

Processorts

0x0C

Serial bus controllers

0x0D-0xFE

Reserved

0xFF

Misc

Class Code 0: Pre 2.0

Sub-Class

Prog. I/F

Description

0x00

0x00

All devices other than VGA

0x01

0x01

VGA device

Class Code 1: Mass Storage Controllers

Sub-Class

Prog. I/F

Description

0x00

0x00

SCSI Controller

0x01

0xXX

IDE controller. The Prog I/F is defined as follows:

bits

Desc

0

Operating mode (primary)

1

Programmable indicator (primary)

2

Operating mode (secondary)

3

Programmable indicator (secondary)

6..4

Reserved (zero)

7

Master IDE device

0x02

0x00

Floppy disk controller

0x03

0x00

IPI controller

0x04

0x00

RAID controller

0x80

0x00

Other mass storage controller

Class Code 2: Network Controllers

Sub-Class

Prog. I/F

Description

0x00

0x00

Ethernet controller

0x01

0x00

Token ring

0x02

0x00

FDDI controller

0x03

0x00

ATM controller

0x80

0x00

Other network conteroller

Class Code 3: Display Controllers

Sub-Class

Prog. I/F

Description

0x00

0x00

VGA compatable controller. Has mapping for 0xA0000..0xBFFFF and io addresses 0x3B0..0x3BB.

0x01

8514 compatable

0x01

0x00

XGA controller

0x80

0x80

Other display controller

Class Code 4: Multimedia Devices

Sub-Class

Prog. I/F

Description

0x00

0x00

Video device

0x01

0x00

Audio device

0x80

0x00

Other multimedia device

Class Code 5: Memory Controllers

Sub-Class

Prog. I/F

Description

0x00

0x00

RAM controller

0x01

0x00

Flash memory controller

0x80

0x00

Other memory controller

Class Code 6: Bridge Devices

Sub-Class

Prog. I/F

Description

0x00

0x00

Host/PCI bridge

0x01

0x00

PCI/ISA bridge

0x02

0x00

PCI/EISA bridge

0x03

0x00

PCI/Micro Channel bridge

0x04

0x00

PCI/PCI bridge

0x05

0x00

PCI/PCMCIA bridge

0x06

0x00

PCI/NuBus bridge

0x07

0x00

PCI/CardBus bridge

0x80

0x00

Other bridge type

Class Code 7: Simple Communications Controllers

Sub-Class

Prog. I/F

Description

0x00

0x00

Generic XT compatable serial controller

0x01

16450 compatable serial controller

0x02

16550 compatable serial controller

0x01

0x00

Parallel port

0x01

Bi-directional parallel port

0x02

ECP 1.X parallel port

0x80

0x00

Other commonications device

Class Code 8: Base System Peripherals

Sub-Class

Prog. I/F

Description

0x00

0x00

Generic 8259 programmable interrupt controller (PIC)

0x01

ISA PIC

0x02

EISA PIC

0x01

0x00

Generic 8237 DMA controller

0x01

ISA DMA controller

0x02

EISA DMA controller

0x02

0x00

Generic 8254 timer

0x01

ISA system timer

0x02

EISA system timer

0x03

0x00

Generic RTC controller

0x01

ISA RTC controller

0x80

0x00

Other system peripheral

Class Code 9: Input Devices

Sub-Class

Prog. I/F

Description

0x00

0x00

Keyboard controller

0x01

0x00

Digitizer (pen)

0x02

0x00

Mouse controller

0x80

0x00

Other input controller

Class Code A: Docking Stations

Sub-Class

Prog. I/F

Description

0x00

0x00

Generic docking station

0x80

0x00

Other type of docking station

Class Code B: Processors

Sub-Class

Prog. I/F

Description

0x00

0x00

386

0x01

0x00

486

0x02

0x00

Pentium

0x10

0x00

Alpha

0x20

0x00

PowerPC

0x40

0x00

Co-Processor

Class Code C: Serial Bus Controllers

Sub-Class

Prog. I/F

Description

0x00

0x00

Firewire (IEEE 1394)

0x01

0x00

ACCESS bus

0x02

0x00

SSA (Serial Storage Architecture)

0x03

0x00

USB (Universal Serial Bus)