# /system/configuration/devices.csv — the device→driver registry.
#
# The device manager reads this at boot and binds each device a bus driver
# reports to the driver named here. It is AUTHORITATIVE: a device that no row
# matches goes unbound (logged), never guessed. Edit this file to teach the
# system new hardware — no recompile of the device manager required.
#
# One rule per line, nine comma-separated fields. '#' starts a comment
# (whole-line or trailing); blank lines are ignored. Whitespace around a field
# is trimmed, so columns may be padded for readability.
#
#   bus      which bus reported the device: pci | usb | acpi
#   base     PCI base class  / USB class          (hex)
#   class    PCI subclass    / USB subclass        (hex)
#   prog_if  PCI prog-IF     / USB protocol         (hex)
#   vendor   PCI vendor id   / USB idVendor          (hex)
#   device   PCI device id   / USB idProduct          (hex)
#   subsystem PCI subsystem, packed (ssvid<<16)|ssid   (hex)
#   hid      ACPI _HID string (e.g. PNP0303); blank for pci/usb
#   driver   full ramdisk path of the driver to spawn
#
# '*' or an empty field is a wildcard. When several rows match one device the
# MOST SPECIFIC wins (pinning vendor/device/hid beats pinning only a class), so
# a generic class rule and a precise vendor:device rule can coexist.
#
# bus   base class prog_if vendor device subsystem hid       driver
pci,    0C,  03,   30,     *,     *,     *,        *,        /system/drivers/usb-xhci-bus
pci,    03,  80,   *,      1AF4,  1050,  *,        *,        /system/drivers/virtio-gpu
usb,    03,  01,   01,     *,     *,     *,        *,        /system/drivers/usb-hid-keyboard
usb,    03,  01,   02,     *,     *,     *,        *,        /system/drivers/usb-hid-mouse
usb,    08,  06,   50,     *,     *,     *,        *,        /system/drivers/usb-storage
acpi,   *,   *,    *,      *,     *,     *,        PNP0303,  /system/drivers/ps2-bus
acpi,   *,   *,    *,      *,     *,     *,        PNP0F13,  /system/drivers/ps2-bus
