* (C) Copyright 2001
* Denis Peter, MPL AG Switzerland
*
- * SPDX-License-Identifier: GPL-2.0+
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
*
* Note: Part of this code has been derived from linux
+ *
*/
#ifndef _USB_DEFS_H_
#define _USB_DEFS_H_
#define USB_DIR_OUT 0
#define USB_DIR_IN 0x80
-/*
- * bmRequestType: USB Device Requests, table 9.2 USB 2.0 spec.
- * (shifted) direction/type/recipient.
- */
-#define DeviceRequest \
- ((USB_DIR_IN | USB_TYPE_STANDARD | USB_RECIP_DEVICE) << 8)
-
-#define DeviceOutRequest \
- ((USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEVICE) << 8)
-
-#define InterfaceRequest \
- ((USB_DIR_IN | USB_TYPE_STANDARD | USB_RECIP_INTERFACE) << 8)
-
-#define EndpointRequest \
- ((USB_DIR_IN | USB_TYPE_STANDARD | USB_RECIP_INTERFACE) << 8)
-
-#define EndpointOutRequest \
- ((USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_INTERFACE) << 8)
+/* USB device speeds */
+#define USB_SPEED_FULL 0x0 /* 12Mbps */
+#define USB_SPEED_LOW 0x1 /* 1.5Mbps */
+#define USB_SPEED_HIGH 0x2 /* 480Mbps */
+#define USB_SPEED_RESERVED 0x3
/* Descriptor types */
#define USB_DT_DEVICE 0x01
#define USB_REQ_SET_IDLE 0x0A
#define USB_REQ_SET_PROTOCOL 0x0B
-/* Device features */
-#define USB_FEAT_HALT 0x00
-#define USB_FEAT_WAKEUP 0x01
-#define USB_FEAT_TEST 0x02
-
-/* Test modes */
-#define USB_TEST_MODE_J 0x01
-#define USB_TEST_MODE_K 0x02
-#define USB_TEST_MODE_SE0_NAK 0x03
-#define USB_TEST_MODE_PACKET 0x04
-#define USB_TEST_MODE_FORCE_ENABLE 0x05
-
/* "pipe" definitions */
#define USB_PORT_FEAT_C_SUSPEND 18
#define USB_PORT_FEAT_C_OVER_CURRENT 19
#define USB_PORT_FEAT_C_RESET 20
-#define USB_PORT_FEAT_TEST 21
-
-/*
- * Changes to Port feature numbers for Super speed,
- * from USB 3.0 spec Table 10-8
- */
-#define USB_SS_PORT_FEAT_U1_TIMEOUT 23
-#define USB_SS_PORT_FEAT_U2_TIMEOUT 24
-#define USB_SS_PORT_FEAT_C_LINK_STATE 25
-#define USB_SS_PORT_FEAT_C_CONFIG_ERROR 26
-#define USB_SS_PORT_FEAT_BH_RESET 28
-#define USB_SS_PORT_FEAT_C_BH_RESET 29
/* wPortStatus bits */
#define USB_PORT_STAT_CONNECTION 0x0001
#define USB_PORT_STAT_POWER 0x0100
#define USB_PORT_STAT_LOW_SPEED 0x0200
#define USB_PORT_STAT_HIGH_SPEED 0x0400 /* support for EHCI */
-#define USB_PORT_STAT_SUPER_SPEED 0x0600 /* faking support to XHCI */
-#define USB_PORT_STAT_SPEED_MASK \
+#define USB_PORT_STAT_SPEED \
(USB_PORT_STAT_LOW_SPEED | USB_PORT_STAT_HIGH_SPEED)
-/*
- * Changes to wPortStatus bit field in USB 3.0
- * See USB 3.0 spec Table 10-11
- */
-#define USB_SS_PORT_STAT_LINK_STATE 0x01e0
-#define USB_SS_PORT_STAT_POWER 0x0200
-#define USB_SS_PORT_STAT_SPEED 0x1c00
-#define USB_SS_PORT_STAT_SPEED_5GBPS 0x0000
-
/* wPortChange bits */
#define USB_PORT_STAT_C_CONNECTION 0x0001
#define USB_PORT_STAT_C_ENABLE 0x0002
#define USB_PORT_STAT_C_OVERCURRENT 0x0008
#define USB_PORT_STAT_C_RESET 0x0010
-/*
- * Changes to wPortChange bit fields in USB 3.0
- * See USB 3.0 spec Table 10-12
- */
-#define USB_SS_PORT_STAT_C_BH_RESET 0x0020
-#define USB_SS_PORT_STAT_C_LINK_STATE 0x0040
-#define USB_SS_PORT_STAT_C_CONFIG_ERROR 0x0080
-
/* wHubCharacteristics (masks) */
#define HUB_CHAR_LPSM 0x0003
#define HUB_CHAR_COMPOUND 0x0004
#define HUB_CHAR_OCPM 0x0018
/*
- * Hub Status & Hub Change bit masks
+ *Hub Status & Hub Change bit masks
*/
#define HUB_STATUS_LOCAL_POWER 0x0001
#define HUB_STATUS_OVERCURRENT 0x0002