6b13f685e
김민수
BSP 최초 추가
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
#ifndef __LINUX_USB_MUSB_H
#define __LINUX_USB_MUSB_H
enum musb_mode {
MUSB_UNDEFINED = 0,
MUSB_HOST,
MUSB_PERIPHERAL,
MUSB_OTG
};
struct clk;
enum musb_fifo_style {
FIFO_RXTX,
FIFO_TX,
FIFO_RX
} __attribute__ ((packed));
enum musb_buf_mode {
BUF_SINGLE,
BUF_DOUBLE
} __attribute__ ((packed));
struct musb_fifo_cfg {
u8 hw_ep_num;
enum musb_fifo_style style;
enum musb_buf_mode mode;
u16 maxpacket;
};
#define MUSB_EP_FIFO(ep, st, m, pkt) \
{ \
.hw_ep_num = ep, \
.style = st, \
.mode = m, \
.maxpacket = pkt, \
}
#define MUSB_EP_FIFO_SINGLE(ep, st, pkt) \
MUSB_EP_FIFO(ep, st, BUF_SINGLE, pkt)
#define MUSB_EP_FIFO_DOUBLE(ep, st, pkt) \
MUSB_EP_FIFO(ep, st, BUF_DOUBLE, pkt)
struct musb_hdrc_eps_bits {
const char name[16];
u8 bits;
};
struct musb_hdrc_config {
struct musb_fifo_cfg *fifo_cfg;
unsigned fifo_cfg_size;
unsigned multipoint:1;
unsigned dyn_fifo:1 __deprecated;
unsigned soft_con:1 __deprecated;
unsigned utm_16:1 __deprecated;
unsigned big_endian:1;
unsigned mult_bulk_tx:1;
unsigned mult_bulk_rx:1;
unsigned high_iso_tx:1;
unsigned high_iso_rx:1;
unsigned dma:1 __deprecated;
unsigned vendor_req:1 __deprecated;
unsigned host_port_deassert_reset_at_resume:1;
u8 num_eps;
u8 dma_channels __deprecated;
u8 dyn_fifo_size;
u8 vendor_ctrl __deprecated;
u8 vendor_stat __deprecated;
u8 dma_req_chan __deprecated;
u8 ram_bits;
struct musb_hdrc_eps_bits *eps_bits __deprecated;
#ifdef CONFIG_BLACKFIN
unsigned int gpio_vrsel;
unsigned int gpio_vrsel_active;
unsigned char clkin;
#endif
};
struct musb_hdrc_platform_data {
u8 mode;
const char *clock;
int (*set_vbus)(struct device *dev, int is_on);
u8 power;
u8 min_power;
u8 potpgt;
unsigned extvbus:1;
int (*set_power)(int state);
struct musb_hdrc_config *config;
void *board_data;
const void *platform_ops;
};
#define TUSB6010_OSCCLK_60 16667 /* psec/clk @ 60.0 MHz */
#define TUSB6010_REFCLK_24 41667 /* psec/clk @ 24.0 MHz XI */
#define TUSB6010_REFCLK_19 52083 /* psec/clk @ 19.2 MHz CLKIN */
#ifdef CONFIG_ARCH_OMAP2
extern int __init tusb6010_setup_interface(
struct musb_hdrc_platform_data *data,
unsigned ps_refclk, unsigned waitpin,
unsigned async_cs, unsigned sync_cs,
unsigned irq, unsigned dmachan);
extern int tusb6010_platform_retime(unsigned is_refclk);
#endif /* OMAP2 */
#endif /* __LINUX_USB_MUSB_H */
|