coreboot/src/include/usb_ch9.h
<<
>>
Prefs
   1/*
   2 * This file is part of the coreboot project.
   3 *
   4 * Copyright (C) 2007 AMD
   5 * Written by Yinghai Lu <yinghai.lu@amd.com> for AMD.
   6 *
   7 * This program is free software; you can redistribute it and/or modify
   8 * it under the terms of the GNU General Public License as published by
   9 * the Free Software Foundation; version 2 of the License.
  10 *
  11 * This program is distributed in the hope that it will be useful,
  12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14 * GNU General Public License for more details.
  15 *
  16 * You should have received a copy of the GNU General Public License
  17 * along with this program; if not, write to the Free Software
  18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA, 02110-1301 USA
  19 */
  20
  21#ifndef USB_CH9_H
  22#define USB_CH9_H
  23
  24#define USB_DIR_OUT                     0               /* to device */
  25#define USB_DIR_IN                      0x80            /* to host */
  26
  27/*
  28 * USB types, the second of three bRequestType fields
  29 */
  30#define USB_TYPE_MASK                   (0x03 << 5)
  31#define USB_TYPE_STANDARD               (0x00 << 5)
  32#define USB_TYPE_CLASS                  (0x01 << 5)
  33#define USB_TYPE_VENDOR                 (0x02 << 5)
  34#define USB_TYPE_RESERVED               (0x03 << 5)
  35/*
  36 * USB recipients, the third of three bRequestType fields
  37 */
  38#define USB_RECIP_MASK                  0x1f
  39#define USB_RECIP_DEVICE                0x00
  40#define USB_RECIP_INTERFACE             0x01
  41#define USB_RECIP_ENDPOINT              0x02
  42#define USB_RECIP_OTHER                 0x03
  43/* From Wireless USB 1.0 */
  44#define USB_RECIP_PORT                  0x04
  45#define USB_RECIP_RPIPE                 0x05
  46
  47/*
  48 * Standard requests, for the bRequest field of a SETUP packet.
  49 *
  50 * These are qualified by the bRequestType field, so that for example
  51 * TYPE_CLASS or TYPE_VENDOR specific feature flags could be retrieved
  52 * by a GET_STATUS request.
  53 */
  54#define USB_REQ_GET_STATUS              0x00
  55#define USB_REQ_CLEAR_FEATURE           0x01
  56#define USB_REQ_SET_FEATURE             0x03
  57#define USB_REQ_SET_ADDRESS             0x05
  58#define USB_REQ_GET_DESCRIPTOR          0x06
  59#define USB_REQ_SET_DESCRIPTOR          0x07
  60#define USB_REQ_GET_CONFIGURATION       0x08
  61#define USB_REQ_SET_CONFIGURATION       0x09
  62#define USB_REQ_GET_INTERFACE           0x0A
  63#define USB_REQ_SET_INTERFACE           0x0B
  64#define USB_REQ_SYNCH_FRAME             0x0C
  65
  66#define USB_REQ_SET_ENCRYPTION          0x0D    /* Wireless USB */
  67#define USB_REQ_GET_ENCRYPTION          0x0E
  68#define USB_REQ_RPIPE_ABORT             0x0E
  69#define USB_REQ_SET_HANDSHAKE           0x0F
  70#define USB_REQ_RPIPE_RESET             0x0F
  71#define USB_REQ_GET_HANDSHAKE           0x10
  72#define USB_REQ_SET_CONNECTION          0x11
  73#define USB_REQ_SET_SECURITY_DATA       0x12
  74#define USB_REQ_GET_SECURITY_DATA       0x13
  75#define USB_REQ_SET_WUSB_DATA           0x14
  76#define USB_REQ_LOOPBACK_DATA_WRITE     0x15
  77#define USB_REQ_LOOPBACK_DATA_READ      0x16
  78#define USB_REQ_SET_INTERFACE_DS        0x17
  79
  80#define USB_DT_DEBUG                    0x0a
  81
  82#define USB_DEVICE_DEBUG_MODE           6       /* (special devices only) */
  83
  84struct usb_ctrlrequest {
  85        u8  bRequestType;
  86        u8  bRequest;
  87        u16 wValue;
  88        u16 wIndex;
  89        u16 wLength;
  90} __attribute__ ((packed));
  91
  92struct usb_debug_descriptor {
  93        u8  bLength;
  94        u8  bDescriptorType;
  95
  96        /* bulk endpoints with 8 byte maxpacket */
  97        u8  bDebugInEndpoint;
  98        u8  bDebugOutEndpoint;
  99};
 100
 101#endif
 102
 103
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.