| // Copyright 2019 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| library fuchsia.usb; |
| |
| // TODO(fxb/62024): For now these protocol definitions are manually defined to match protodefs.h. |
| // Usually fuchsia.<namespace>.BIND_PROTOCOL.DEVICE would map to ZX_PROTOCOL_<namespace>, but in |
| // this case it maps to ZX_PROTOCOL_USB_DEVICE. This is because the USB protocol is implemented by |
| // two kinds of drivers: those that acquire an entire device (ZX_PROTOCOL_USB_DEVICE) and those |
| // acquire a single interface of the device (ZX_PROTOCOL_USB_INTERFACE). ZX_PROTOCOL_USB is still |
| // used for the banjo protocol for both kinds of drivers. |
| extend uint fuchsia.BIND_PROTOCOL { |
| DEVICE = 34, |
| BUS = 35, |
| COMPOSITE = 36, |
| DCI = 37, |
| INTERFACE = 38, |
| PERIPHERAL = 39, |
| FUNCTION = 40, |
| }; |
| |
| extend uint fuchsia.BIND_USB_VID { |
| FTDI = 0x0403, |
| CYPRESS = 0x04b4, |
| ASIX = 0x0b95, |
| REALTEK = 0x0bda, |
| ATHEROS = 0x0cf3, |
| SIERRA = 0x1199, |
| RALINK = 0x148f, |
| GOOGLE = 0x18d1, |
| INTEL = 0x8087, |
| }; |
| |
| extend uint fuchsia.BIND_USB_PID { |
| ASIX = 0x772B, |
| AX88179 = 0x1790, |
| }; |
| |
| // See https://www.usb.org/defined-class-codes |
| extend uint fuchsia.BIND_USB_CLASS { |
| AUDIO = 0x01, |
| COMM = 0x02, |
| HID = 0x03, |
| PHYSICAL = 0x05, |
| IMAGE = 0x06, |
| PRINTER = 0x07, |
| MASS_STORAGE = 0x08, |
| HUB = 0x09, |
| CDC_DATA = 0x10, |
| SMART_CARD = 0x0b, |
| CONTENT_SECURITY = 0x0d, |
| VIDEO = 0x0e, |
| PERSONAL_HEALTHCARE = 0x0f, |
| AUDIO_VIDEO = 0x10, |
| BILLBOARD = 0x11, |
| USB_C_BRIDGE = 0x12, |
| DIAGNOSTIC = 0xdc, |
| WIRELESS = 0xe0, |
| MISC = 0xef, |
| APPLICATION_SPECIFIC = 0xfe, |
| VENDOR_SPECIFIC = 0xff, |
| }; |
| |
| extend uint fuchsia.BIND_USB_SUBCLASS { |
| VIDEO_CONTROL = 0x01, |
| VIDEO_STREAMING = 0x02, |
| VIDEO_INTERFACE_COLLECTION = 0x03, |
| |
| MISC_RNDIS = 0x04, |
| |
| ETHERNET = 0x06, |
| }; |
| |
| extend uint fuchsia.BIND_USB_PROTOCOL { |
| UNDEFINED = 0x00, |
| |
| MISC_RNDIS_ETHERNET = 0x01, |
| }; |