6 void ohci_init(void *data);
8 void ohci_free_pipe(struct usb_pipe *p);
9 struct usb_pipe *ohci_alloc_control_pipe(u32 endp);
10 int ohci_control(struct usb_pipe *p, int dir, const void *cmd, int cmdsize
11 , void *data, int datasize);
12 struct usb_pipe *ohci_alloc_intr_pipe(u32 endp, int frameexp);
13 int ohci_poll_intr(struct usb_pipe *pipe, void *data);
16 /****************************************************************
17 * ohci structs and flags
18 ****************************************************************/
27 #define ED_ISO (1 << 15)
28 #define ED_SKIP (1 << 14)
29 #define ED_LOWSPEED (1 << 13)
30 #define ED_OUT (0x01 << 11)
31 #define ED_IN (0x02 << 11)
43 #define TD_CC 0xf0000000
44 #define TD_CC_GET(td_p) ((td_p >>28) & 0x0f)
45 #define TD_DI 0x00E00000
47 #define TD_DONE 0x00020000
48 #define TD_ISO 0x00010000
50 #define TD_EC 0x0C000000
51 #define TD_T 0x03000000
52 #define TD_T_DATA0 0x02000000
53 #define TD_T_DATA1 0x03000000
54 #define TD_T_TOGGLE 0x00000000
55 #define TD_DP 0x00180000
56 #define TD_DP_SETUP 0x00000000
57 #define TD_DP_IN 0x00100000
58 #define TD_DP_OUT 0x00080000
60 #define TD_R 0x00040000
80 u32 ed_controlcurrent;
94 u32 roothub_portstatus[15];
97 #define OHCI_CTRL_CBSR (3 << 0)
98 #define OHCI_CTRL_PLE (1 << 2)
99 #define OHCI_CTRL_CLE (1 << 4)
100 #define OHCI_CTRL_BLE (1 << 5)
101 #define OHCI_CTRL_HCFS (3 << 6)
102 # define OHCI_USB_RESET (0 << 6)
103 # define OHCI_USB_OPER (2 << 6)
104 #define OHCI_CTRL_RWC (1 << 9)
106 #define OHCI_HCR (1 << 0)
107 #define OHCI_CLF (1 << 1)
109 #define OHCI_INTR_MIE (1 << 31)
111 #define RH_PS_CCS 0x00000001
112 #define RH_PS_PES 0x00000002
113 #define RH_PS_PSS 0x00000004
114 #define RH_PS_POCI 0x00000008
115 #define RH_PS_PRS 0x00000010
116 #define RH_PS_PPS 0x00000100
117 #define RH_PS_LSDA 0x00000200
118 #define RH_PS_CSC 0x00010000
119 #define RH_PS_PESC 0x00020000
120 #define RH_PS_PSSC 0x00040000
121 #define RH_PS_OCIC 0x00080000
122 #define RH_PS_PRSC 0x00100000
124 #define RH_HS_LPS 0x00000001
125 #define RH_HS_OCI 0x00000002
126 #define RH_HS_DRWE 0x00008000
127 #define RH_HS_LPSC 0x00010000
128 #define RH_HS_OCIC 0x00020000
129 #define RH_HS_CRWE 0x80000000
131 #define RH_B_DR 0x0000ffff
132 #define RH_B_PPCM 0xffff0000
134 #define RH_A_NDP (0xff << 0)
135 #define RH_A_PSM (1 << 8)
136 #define RH_A_NPS (1 << 9)
137 #define RH_A_DT (1 << 10)
138 #define RH_A_OCPM (1 << 11)
139 #define RH_A_NOCP (1 << 12)
140 #define RH_A_POTPGT (0xff << 24)