]> git.ipfire.org Git - people/ms/u-boot.git/blame - drivers/usb/musb/musb_hcd.h
include: move various macros to include/linux/kernel.h
[people/ms/u-boot.git] / drivers / usb / musb / musb_hcd.h
CommitLineData
a1428969
TA
1/*
2 * Mentor USB OTG Core host controller driver.
3 *
4 * Copyright (c) 2008 Texas Instruments
5 *
1a459660 6 * SPDX-License-Identifier: GPL-2.0+
a1428969
TA
7 *
8 * Author: Thomas Abraham t-abraham@ti.com, Texas Instruments
9 */
10
11#ifndef __MUSB_HCD_H__
12#define __MUSB_HCD_H__
13
14#include "musb_core.h"
15#ifdef CONFIG_USB_KEYBOARD
52cb4d4f 16#include <stdio_dev.h>
a1428969
TA
17extern unsigned char new[];
18#endif
19
c3a012ce
BW
20#ifndef CONFIG_MUSB_TIMEOUT
21# define CONFIG_MUSB_TIMEOUT 100000
22#endif
23
a1428969
TA
24/* This defines the endpoint number used for control transfers */
25#define MUSB_CONTROL_EP 0
26
27/* This defines the endpoint number used for bulk transfer */
e608f221
BW
28#ifndef MUSB_BULK_EP
29# define MUSB_BULK_EP 1
30#endif
a1428969
TA
31
32/* This defines the endpoint number used for interrupt transfer */
33#define MUSB_INTR_EP 2
34
35/* Determine the operating speed of MUSB core */
36#define musb_ishighspeed() \
37 ((readb(&musbr->power) & MUSB_POWER_HSMODE) \
38 >> MUSB_POWER_HSMODE_SHIFT)
39
321790f6
BW
40/* USB HUB CONSTANTS (not OHCI-specific; see hub.h) */
41
42/* destination of request */
43#define RH_INTERFACE 0x01
44#define RH_ENDPOINT 0x02
45#define RH_OTHER 0x03
46
47#define RH_CLASS 0x20
48#define RH_VENDOR 0x40
49
50/* Requests: bRequest << 8 | bmRequestType */
51#define RH_GET_STATUS 0x0080
52#define RH_CLEAR_FEATURE 0x0100
53#define RH_SET_FEATURE 0x0300
54#define RH_SET_ADDRESS 0x0500
55#define RH_GET_DESCRIPTOR 0x0680
56#define RH_SET_DESCRIPTOR 0x0700
57#define RH_GET_CONFIGURATION 0x0880
58#define RH_SET_CONFIGURATION 0x0900
59#define RH_GET_STATE 0x0280
60#define RH_GET_INTERFACE 0x0A80
61#define RH_SET_INTERFACE 0x0B00
62#define RH_SYNC_FRAME 0x0C80
63/* Our Vendor Specific Request */
64#define RH_SET_EP 0x2000
65
66/* Hub port features */
67#define RH_PORT_CONNECTION 0x00
68#define RH_PORT_ENABLE 0x01
69#define RH_PORT_SUSPEND 0x02
70#define RH_PORT_OVER_CURRENT 0x03
71#define RH_PORT_RESET 0x04
72#define RH_PORT_POWER 0x08
73#define RH_PORT_LOW_SPEED 0x09
74
75#define RH_C_PORT_CONNECTION 0x10
76#define RH_C_PORT_ENABLE 0x11
77#define RH_C_PORT_SUSPEND 0x12
78#define RH_C_PORT_OVER_CURRENT 0x13
79#define RH_C_PORT_RESET 0x14
80
81/* Hub features */
82#define RH_C_HUB_LOCAL_POWER 0x00
83#define RH_C_HUB_OVER_CURRENT 0x01
84
85#define RH_DEVICE_REMOTE_WAKEUP 0x00
86#define RH_ENDPOINT_STALL 0x01
87
88#define RH_ACK 0x01
89#define RH_REQ_ERR -1
90#define RH_NACK 0x00
91
a1428969
TA
92/* extern functions */
93extern int musb_platform_init(void);
94extern void musb_platform_deinit(void);
95
96#endif /* __MUSB_HCD_H__ */