1 /***************************************************************************
2 * Copyright (C) 2009 - 2010 by Simon Qian <SimonQian@SimonQian.com> *
4 * This program is free software; you can redistribute it and/or modify *
5 * it under the terms of the GNU General Public License as published by *
6 * the Free Software Foundation; either version 2 of the License, or *
7 * (at your option) any later version. *
9 * This program is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12 * GNU General Public License for more details. *
14 * You should have received a copy of the GNU General Public License *
15 * along with this program; if not, write to the *
16 * Free Software Foundation, Inc., *
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
18 ***************************************************************************/
20 #ifndef __USBTOXXX_H_INCLUDED__
21 #define __USBTOXXX_H_INCLUDED__
23 RESULT
usbtoxxx_init(void);
24 RESULT
usbtoxxx_fini(void);
25 RESULT
usbtoxxx_execute_command(void);
27 #define USB_TO_XXX_ABILITIES_LEN 12
28 extern uint8_t usbtoxxx_abilities
[USB_TO_XXX_ABILITIES_LEN
];
29 bool usbtoxxx_interface_supported(uint8_t cmd
);
32 RESULT
usbtoinfo_get_abilities(uint8_t abilities
[USB_TO_XXX_ABILITIES_LEN
]);
35 RESULT
usbtodelay_delay(uint16_t dly
);
36 RESULT
usbtodelay_delayms(uint16_t ms
);
37 RESULT
usbtodelay_delayus(uint16_t us
);
40 RESULT
usbtousart_init(uint8_t interface_index
);
41 RESULT
usbtousart_fini(uint8_t interface_index
);
42 RESULT
usbtousart_config(uint8_t interface_index
, uint32_t baudrate
,
43 uint8_t datalength
, uint8_t mode
);
44 RESULT
usbtousart_send(uint8_t interface_index
, uint8_t *buf
, uint16_t len
);
45 RESULT
usbtousart_receive(uint8_t interface_index
, uint8_t *buf
, uint16_t len
);
46 RESULT
usbtousart_status(uint8_t interface_index
,
47 struct usart_status_t
*status
);
50 RESULT
usbtospi_init(uint8_t interface_index
);
51 RESULT
usbtospi_fini(uint8_t interface_index
);
52 RESULT
usbtospi_config(uint8_t interface_index
, uint32_t kHz
, uint8_t mode
);
53 RESULT
usbtospi_io(uint8_t interface_index
, uint8_t *out
, uint8_t *in
,
57 RESULT
usbtogpio_init(uint8_t interface_index
);
58 RESULT
usbtogpio_fini(uint8_t interface_index
);
59 RESULT
usbtogpio_config(uint8_t interface_index
, uint32_t mask
,
60 uint32_t dir_mask
, uint32_t pull_en_mask
,
61 uint32_t input_pull_mask
);
62 RESULT
usbtogpio_in(uint8_t interface_index
, uint32_t mask
, uint32_t *value
);
63 RESULT
usbtogpio_out(uint8_t interface_index
, uint32_t mask
, uint32_t value
);
66 RESULT
usbtoissp_init(uint8_t interface_index
);
67 RESULT
usbtoissp_fini(uint8_t interface_index
);
68 RESULT
usbtoissp_enter_program_mode(uint8_t interface_index
, uint8_t mode
);
69 RESULT
usbtoissp_leave_program_mode(uint8_t interface_index
, uint8_t mode
);
70 RESULT
usbtoissp_wait_and_poll(uint8_t interface_index
);
71 RESULT
usbtoissp_vector(uint8_t interface_index
, uint8_t operate
, uint8_t addr
,
72 uint8_t data
, uint8_t *buf
);
75 RESULT
usbtolpcicp_init(uint8_t interface_index
);
76 RESULT
usbtolpcicp_fini(uint8_t interface_index
);
77 RESULT
usbtolpcicp_config(uint8_t interface_index
);
78 RESULT
usbtolpcicp_enter_program_mode(uint8_t interface_index
);
79 RESULT
usbtolpcicp_in(uint8_t interface_index
, uint8_t *buff
, uint16_t len
);
80 RESULT
usbtolpcicp_out(uint8_t interface_index
, uint8_t *buff
, uint16_t len
);
81 RESULT
usbtolpcicp_poll_ready(uint8_t interface_index
, uint8_t data
,
82 uint8_t *ret
, uint8_t setmask
, uint8_t clearmask
, uint16_t pollcnt
);
85 RESULT
usbtojtagll_init(uint8_t interface_index
);
86 RESULT
usbtojtagll_fini(uint8_t interface_index
);
87 RESULT
usbtojtagll_config(uint8_t interface_index
, uint32_t kHz
);
88 RESULT
usbtojtagll_tms(uint8_t interface_index
, uint8_t *tms
, uint8_t bytelen
);
89 RESULT
usbtojtagll_tms_clocks(uint8_t interface_index
, uint32_t bytelen
,
91 RESULT
usbtojtagll_scan(uint8_t interface_index
, uint8_t *data
,
92 uint16_t bitlen
, uint8_t tms_before_valid
,
93 uint8_t tms_before
, uint8_t tms_after0
,
97 RESULT
usbtojtaghl_init(uint8_t interface_index
);
98 RESULT
usbtojtaghl_fini(uint8_t interface_index
);
99 RESULT
usbtojtaghl_config(uint8_t interface_index
, uint32_t kHz
, uint8_t ub
,
100 uint8_t ua
, uint16_t bb
, uint16_t ba
);
101 RESULT
usbtojtaghl_ir(uint8_t interface_index
, uint8_t *ir
, uint16_t bitlen
,
102 uint8_t idle
, uint8_t want_ret
);
103 RESULT
usbtojtaghl_dr(uint8_t interface_index
, uint8_t *dr
, uint16_t bitlen
,
104 uint8_t idle
, uint8_t want_ret
);
105 RESULT
usbtojtaghl_tms(uint8_t interface_index
, uint8_t *tms
, uint16_t bitlen
);
106 RESULT
usbtojtaghl_runtest(uint8_t interface_index
, uint32_t cycles
);
107 RESULT
usbtojtaghl_register_callback(uint8_t index
, jtag_callback_t send_callback
,
108 jtag_callback_t receive_callback
);
110 /* USB_TO_JTAG_RAW */
111 RESULT
usbtojtagraw_init(uint8_t interface_index
);
112 RESULT
usbtojtagraw_fini(uint8_t interface_index
);
113 RESULT
usbtojtagraw_config(uint8_t interface_index
, uint32_t kHz
);
114 RESULT
usbtojtagraw_execute(uint8_t interface_index
, uint8_t *tdi
,
115 uint8_t *tms
, uint8_t *tdo
, uint32_t bitlen
);
118 RESULT
usbtoc2_init(uint8_t interface_index
);
119 RESULT
usbtoc2_fini(uint8_t interface_index
);
120 RESULT
usbtoc2_writeaddr(uint8_t interface_index
, uint8_t addr
);
121 RESULT
usbtoc2_readaddr(uint8_t interface_index
, uint8_t *data
);
122 RESULT
usbtoc2_writedata(uint8_t interface_index
, uint8_t *buf
, uint8_t len
);
123 RESULT
usbtoc2_readdata(uint8_t interface_index
, uint8_t *buf
, uint8_t len
);
126 RESULT
usbtoi2c_init(uint8_t interface_index
);
127 RESULT
usbtoi2c_fini(uint8_t interface_index
);
128 RESULT
usbtoi2c_config(uint8_t interface_index
, uint16_t kHz
,
129 uint16_t byte_interval
, uint16_t max_dly
);
130 RESULT
usbtoi2c_read(uint8_t interface_index
, uint16_t chip_addr
,
131 uint8_t *data
, uint16_t data_len
, uint8_t stop
,
133 RESULT
usbtoi2c_write(uint8_t interface_index
, uint16_t chip_addr
,
134 uint8_t *data
, uint16_t data_len
, uint8_t stop
);
136 /* USB_TO_MSP430_JTAG */
137 RESULT
usbtomsp430jtag_init(uint8_t interface_index
);
138 RESULT
usbtomsp430jtag_fini(uint8_t interface_index
);
139 RESULT
usbtomsp430jtag_config(uint8_t interface_index
, uint8_t has_test
);
140 RESULT
usbtomsp430jtag_ir(uint8_t interface_index
, uint8_t *ir
,
142 RESULT
usbtomsp430jtag_dr(uint8_t interface_index
, uint32_t *dr
,
143 uint8_t bitlen
, uint8_t want_ret
);
144 RESULT
usbtomsp430jtag_tclk(uint8_t interface_index
, uint8_t value
);
145 RESULT
usbtomsp430jtag_tclk_strobe(uint8_t interface_index
, uint16_t cnt
);
146 RESULT
usbtomsp430jtag_reset(uint8_t interface_index
);
147 RESULT
usbtomsp430jtag_poll(uint8_t interface_index
, uint32_t dr
,
148 uint32_t mask
, uint32_t value
, uint8_t len
,
149 uint16_t poll_cnt
, uint8_t toggle_tclk
);
151 /* USB_TO_MSP430_SBW */
152 RESULT
usbtomsp430sbw_init(uint8_t interface_index
);
153 RESULT
usbtomsp430sbw_fini(uint8_t interface_index
);
154 RESULT
usbtomsp430sbw_config(uint8_t interface_index
, uint8_t has_test
);
155 RESULT
usbtomsp430sbw_ir(uint8_t interface_index
, uint8_t *ir
,
157 RESULT
usbtomsp430sbw_dr(uint8_t interface_index
, uint32_t *dr
,
158 uint8_t bitlen
, uint8_t want_ret
);
159 RESULT
usbtomsp430sbw_tclk(uint8_t interface_index
, uint8_t value
);
160 RESULT
usbtomsp430sbw_tclk_strobe(uint8_t interface_index
, uint16_t cnt
);
161 RESULT
usbtomsp430sbw_reset(uint8_t interface_index
);
162 RESULT
usbtomsp430sbw_poll(uint8_t interface_index
, uint32_t dr
, uint32_t mask
,
163 uint32_t value
, uint8_t len
, uint16_t poll_cnt
,
164 uint8_t toggle_tclk
);
167 RESULT
usbtopwr_init(uint8_t interface_index
);
168 RESULT
usbtopwr_fini(uint8_t interface_index
);
169 RESULT
usbtopwr_config(uint8_t interface_index
);
170 RESULT
usbtopwr_output(uint8_t interface_index
, uint16_t mV
);
173 RESULT
usbtopoll_start(uint16_t retry_cnt
, uint16_t interval_us
);
174 RESULT
usbtopoll_end(void);
175 RESULT
usbtopoll_checkok(uint8_t equ
, uint16_t offset
, uint8_t size
,
176 uint32_t mask
, uint32_t value
);
177 RESULT
usbtopoll_checkfail(uint8_t equ
, uint16_t offset
, uint8_t size
,
178 uint32_t mask
, uint32_t value
);
179 RESULT
usbtopoll_verifybuff(uint16_t offset
, uint16_t size
, uint8_t *buff
);
182 RESULT
usbtoswd_init(uint8_t interface_index
);
183 RESULT
usbtoswd_fini(uint8_t interface_index
);
184 RESULT
usbtoswd_config(uint8_t interface_index
, uint8_t trn
, uint16_t retry
,
186 RESULT
usbtoswd_seqout(uint8_t interface_index
, uint8_t *data
, uint16_t bitlen
);
187 RESULT
usbtoswd_seqin(uint8_t interface_index
, uint8_t *data
, uint16_t bitlen
);
188 RESULT
usbtoswd_transact(uint8_t interface_index
, uint8_t request
,
189 uint32_t *data
, uint8_t *ack
);
192 RESULT
usbtoswim_init(uint8_t interface_index
);
193 RESULT
usbtoswim_fini(uint8_t interface_index
);
194 RESULT
usbtoswim_config(uint8_t interface_index
, uint8_t mHz
, uint8_t cnt0
,
196 RESULT
usbtoswim_srst(uint8_t interface_index
);
197 RESULT
usbtoswim_wotf(uint8_t interface_index
, uint8_t *data
,
198 uint16_t bytelen
, uint32_t addr
);
199 RESULT
usbtoswim_rotf(uint8_t interface_index
, uint8_t *data
,
200 uint16_t bytelen
, uint32_t addr
);
201 RESULT
usbtoswim_sync(uint8_t interface_index
, uint8_t mHz
);
202 RESULT
usbtoswim_enable(uint8_t interface_index
);
205 RESULT
usbtobdm_init(uint8_t interface_index
);
206 RESULT
usbtobdm_fini(uint8_t interface_index
);
207 RESULT
usbtobdm_sync(uint8_t interface_index
, uint16_t *khz
);
208 RESULT
usbtobdm_transact(uint8_t interface_index
, uint8_t *out
,
209 uint8_t outlen
, uint8_t *in
, uint8_t inlen
, uint8_t delay
, uint8_t ack
);
212 RESULT
usbtodusi_init(uint8_t interface_index
);
213 RESULT
usbtodusi_fini(uint8_t interface_index
);
214 RESULT
usbtodusi_config(uint8_t interface_index
, uint32_t kHz
, uint8_t mode
);
215 RESULT
usbtodusi_io(uint8_t interface_index
, uint8_t *mo
, uint8_t *mi
,
216 uint8_t *so
, uint8_t *si
, uint32_t bitlen
);
218 /* USB_TO_MICROWIRE */
219 RESULT
usbtomicrowire_init(uint8_t interface_index
);
220 RESULT
usbtomicrowire_fini(uint8_t interface_index
);
221 RESULT
usbtomicrowire_config(uint8_t interface_index
, uint16_t kHz
,
222 uint8_t sel_polarity
);
223 RESULT
usbtomicrowire_transport(uint8_t interface_index
,
224 uint32_t opcode
, uint8_t opcode_bitlen
,
225 uint32_t addr
, uint8_t addr_bitlen
,
226 uint32_t data
, uint8_t data_bitlen
,
227 uint8_t *reply
, uint8_t reply_bitlen
);
228 RESULT
usbtomicrowire_poll(uint8_t interface_index
, uint16_t interval_us
,
232 RESULT
usbtopwm_init(uint8_t interface_index
);
233 RESULT
usbtopwm_fini(uint8_t interface_index
);
234 RESULT
usbtopwm_config(uint8_t interface_index
, uint16_t kHz
, uint8_t mode
);
235 RESULT
usbtopwm_out(uint8_t interface_index
, uint16_t count
, uint16_t *rate
);
236 RESULT
usbtopwm_in(uint8_t interface_index
, uint16_t count
, uint16_t *rate
);
238 #endif /* __USBTOXXX_H_INCLUDED__ */
Linking to existing account procedure
If you already have an account and want to add another login method
you
MUST first sign in with your existing account and
then change URL to read
https://review.openocd.org/login/?link
to get to this page again but this time it'll work for linking. Thank you.
SSH host keys fingerprints
1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=.. |
|+o.. . |
|*.o . . |
|+B . . . |
|Bo. = o S |
|Oo.+ + = |
|oB=.* = . o |
| =+=.+ + E |
|. .=o . o |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)