6 int ohci_init(struct usb_s *cntl);
7 int ohci_control(u32 endp, int dir, const void *cmd, int cmdsize
8 , void *data, int datasize);
9 struct usb_pipe *ohci_alloc_intr_pipe(u32 endp, int period);
10 int ohci_poll_intr(struct usb_pipe *pipe, void *data);
13 /****************************************************************
14 * ohci structs and flags
15 ****************************************************************/
24 #define ED_ISO (1 << 15)
25 #define ED_SKIP (1 << 14)
26 #define ED_LOWSPEED (1 << 13)
27 #define ED_OUT (0x01 << 11)
28 #define ED_IN (0x02 << 11)
40 #define TD_CC 0xf0000000
41 #define TD_CC_GET(td_p) ((td_p >>28) & 0x0f)
42 #define TD_DI 0x00E00000
44 #define TD_DONE 0x00020000
45 #define TD_ISO 0x00010000
47 #define TD_EC 0x0C000000
48 #define TD_T 0x03000000
49 #define TD_T_DATA0 0x02000000
50 #define TD_T_DATA1 0x03000000
51 #define TD_T_TOGGLE 0x00000000
52 #define TD_DP 0x00180000
53 #define TD_DP_SETUP 0x00000000
54 #define TD_DP_IN 0x00100000
55 #define TD_DP_OUT 0x00080000
57 #define TD_R 0x00040000
77 u32 ed_controlcurrent;
91 u32 roothub_portstatus[15];
94 #define OHCI_CTRL_CBSR (3 << 0)
95 #define OHCI_CTRL_PLE (1 << 2)
96 #define OHCI_CTRL_CLE (1 << 4)
97 #define OHCI_CTRL_HCFS (3 << 6)
98 # define OHCI_USB_RESET (0 << 6)
99 # define OHCI_USB_OPER (2 << 6)
100 #define OHCI_CTRL_RWC (1 << 9)
102 #define OHCI_HCR (1 << 0)
103 #define OHCI_CLF (1 << 1)
105 #define OHCI_INTR_MIE (1 << 31)
107 #define RH_PS_CCS 0x00000001
108 #define RH_PS_PES 0x00000002
109 #define RH_PS_PSS 0x00000004
110 #define RH_PS_POCI 0x00000008
111 #define RH_PS_PRS 0x00000010
112 #define RH_PS_PPS 0x00000100
113 #define RH_PS_LSDA 0x00000200
114 #define RH_PS_CSC 0x00010000
115 #define RH_PS_PESC 0x00020000
116 #define RH_PS_PSSC 0x00040000
117 #define RH_PS_OCIC 0x00080000
118 #define RH_PS_PRSC 0x00100000
120 #define RH_HS_LPS 0x00000001
121 #define RH_HS_OCI 0x00000002
122 #define RH_HS_DRWE 0x00008000
123 #define RH_HS_LPSC 0x00010000
124 #define RH_HS_OCIC 0x00020000
125 #define RH_HS_CRWE 0x80000000
127 #define RH_B_DR 0x0000ffff
128 #define RH_B_PPCM 0xffff0000
130 #define RH_A_NDP (0xff << 0)
131 #define RH_A_PSM (1 << 8)
132 #define RH_A_NPS (1 << 9)
133 #define RH_A_DT (1 << 10)
134 #define RH_A_OCPM (1 << 11)
135 #define RH_A_NOCP (1 << 12)
136 #define RH_A_POTPGT (0xff << 24)