USB protocol definitions. More...
#include "usb_atmel.h"

Go to the source code of this file.
Classes | |
| struct | usb_association_desc_t |
| Standard USB Interface Association Descriptor structure. More... | |
| struct | usb_conf_desc_t |
| Standard USB configuration descriptor structure. More... | |
| struct | usb_dev_bos_desc_t |
| USB Device BOS descriptor structure. More... | |
| struct | usb_dev_capa_ext_desc_t |
| USB Device Capabilities - USB 2.0 Extension Descriptor structure. More... | |
| struct | usb_dev_desc_t |
| Standard USB device descriptor structure. More... | |
| struct | usb_dev_lpm_desc_t |
| USB Device LPM Descriptor structure. More... | |
| struct | usb_dev_qual_desc_t |
| Standard USB device qualifier descriptor structure. More... | |
| struct | usb_ep_desc_t |
| Standard USB endpoint descriptor structure. More... | |
| struct | usb_iad_desc_t |
| Standard USB association descriptor structure. More... | |
| struct | usb_iface_desc_t |
| Standard USB interface descriptor structure. More... | |
| struct | usb_setup_req_t |
| A USB Device SETUP request. More... | |
| struct | usb_str_desc_t |
| A standard USB string descriptor structure. More... | |
| struct | usb_str_lgid_desc_t |
Macros | |
| #define | HIRD_1025_US 13 |
| #define | HIRD_1100_US 14 |
| #define | HIRD_1175_US 15 |
| #define | HIRD_125_US 1 |
| #define | HIRD_200_US 2 |
| #define | HIRD_275_US 3 |
| #define | HIRD_350_US 4 |
| #define | HIRD_425_US 5 |
| #define | HIRD_500_US 6 |
| #define | HIRD_50_US 0 |
| #define | HIRD_575_US 7 |
| #define | HIRD_650_US 8 |
| #define | HIRD_725_US 9 |
| #define | HIRD_800_US 10 |
| #define | HIRD_875_US 11 |
| #define | HIRD_950_US 12 |
| #define | USB_CONFIG_ATTR_BUS_POWERED (0 << 6) |
| Bus-powered. More... | |
| #define | USB_CONFIG_ATTR_MUST_SET (1 << 7) |
| Must always be set. More... | |
| #define | USB_CONFIG_ATTR_REMOTE_WAKEUP (1 << 5) |
| remote wakeup supported More... | |
| #define | USB_CONFIG_ATTR_SELF_POWERED (1 << 6) |
| Self-powered. More... | |
| #define | USB_CONFIG_MAX_POWER(ma) (((ma) + 1) / 2) |
| Max power in mA. More... | |
| #define | USB_EP_ADDR_MASK 0x0f |
| Mask selecting the index part of an endpoint address. More... | |
| #define | USB_EP_DIR_IN 0x80 |
| Endpoint transfer direction is IN. More... | |
| #define | USB_EP_DIR_OUT 0x00 |
| Endpoint transfer direction is OUT. More... | |
| #define | USB_LPM_ATTRIBUT_BLINKSTATE(value) ((value & 0xF) << 0) |
| #define | USB_LPM_ATTRIBUT_BLINKSTATE_L1 USB_LPM_ATTRIBUT_BLINKSTATE(1) |
| #define | USB_LPM_ATTRIBUT_BLINKSTATE_MASK (0xF << 0) |
| #define | USB_LPM_ATTRIBUT_FIRD(value) ((value & 0xF) << 4) |
| #define | USB_LPM_ATTRIBUT_FIRD_MASK (0xF << 4) |
| #define | USB_LPM_ATTRIBUT_REMOTEWAKE(value) ((value & 1) << 8) |
| #define | USB_LPM_ATTRIBUT_REMOTEWAKE_MASK (1 << 8) |
| #define | USB_MAX_DESC_LEN 255 |
| Maximum length in bytes of a USB descriptor. More... | |
| #define | USB_REQ_DIR_IN (1<<7) |
| Device to host. More... | |
| #define | USB_REQ_DIR_MASK (1<<7) |
| Mask. More... | |
| #define | USB_REQ_DIR_OUT (0<<7) |
| USB request data transfer direction (bmRequestType) More... | |
| #define | USB_REQ_RECIP_DEVICE (0<<0) |
| USB recipient codes (bmRequestType) More... | |
| #define | USB_REQ_RECIP_ENDPOINT (2<<0) |
| Recipient endpoint. More... | |
| #define | USB_REQ_RECIP_INTERFACE (1<<0) |
| Recipient interface. More... | |
| #define | USB_REQ_RECIP_MASK (0x1F) |
| Mask. More... | |
| #define | USB_REQ_RECIP_OTHER (3<<0) |
| Recipient other. More... | |
| #define | USB_REQ_TYPE_CLASS (1<<5) |
| Class-specific request. More... | |
| #define | USB_REQ_TYPE_MASK (3<<5) |
| Mask. More... | |
| #define | USB_REQ_TYPE_STANDARD (0<<5) |
| USB request types (bmRequestType) More... | |
| #define | USB_REQ_TYPE_VENDOR (2<<5) |
| Vendor-specific request. More... | |
| #define | USB_V2_0 0x0200 |
| Value for field bcdUSB. More... | |
| #define | USB_V2_1 0x0201 |
| USB Specification version 2.01. More... | |
Generic definitions (Class, subclass and protocol) | |
| #define | NO_CLASS 0x00 |
| #define | CLASS_VENDOR_SPECIFIC 0xFF |
| #define | NO_SUBCLASS 0x00 |
| #define | NO_PROTOCOL 0x00 |
IAD (Interface Association Descriptor) constants | |
| #define | CLASS_IAD 0xEF |
| #define | SUB_CLASS_IAD 0x02 |
| #define | PROTOCOL_IAD 0x01 |
Typedefs | |
| typedef uint8_t | usb_add_t |
| USB address identifier. More... | |
| typedef uint8_t | usb_ep_t |
| Endpoint identifier. More... | |
USB protocol definitions.
This file contains the USB definitions and data structures provided by the USB 2.0 specification.
Copyright (c) 2009-2018 Microchip Technology Inc. and its subsidiaries.
Definition in file usb_protocol.h.