contrib/firmware: add new adapter ANGIE's firmware/bitstream code
[openocd.git] / contrib / firmware / angie / c / include / reg_ezusb.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /****************************************************************************
3 File : reg_ezusb.h *
4 Contents : FX2 microcontroller registers file for NanoXplore *
5 USB-JTAG ANGIE adapter hardware. *
6 Based on openULINK project code by: Martin Schmoelzer. *
7 Copyright 2023, Ahmed Errached BOUDJELIDA, NanoXplore SAS. *
8 <aboudjelida@nanoxplore.com> *
9 <ahmederrachedbjld@gmail.com> *
10 *****************************************************************************/
11
12 #ifndef REG_EZUSB_H
13 #define REG_EZUSB_H
14
15 /**
16 * @file
17 * All information in this file was taken from the EZ-USB FX2 Technical
18 * Reference Manual, Cypress Semiconductor, 3901 North First Street
19 * San Jose, CA 95134 (www.cypress.com).
20 *
21 * The EZ-USB Technical Reference Manual is called "EZ-USB FX2 TRM" hereafter.
22 */
23
24 /* Compiler-specific definitions of SBIT, SFR, SFRX, ... macros */
25 #include <mcs51/compiler.h>
26
27 /* Bit vectors */
28 #define bmbit0 0x01
29 #define bmbit1 0x02
30 #define bmbit2 0x04
31 #define bmbit3 0x08
32 #define bmbit4 0x10
33 #define bmbit5 0x20
34 #define bmbit6 0x40
35 #define bmbit7 0x80
36
37 /**************************************************************************
38 ************************ Special Function Registers **********************
39 ***************************************************************************/
40 SFR(IOA, 0x80);
41 SBIT(IOA0, 0x80, 0);
42 SBIT(IOA1, 0x80, 1);
43 SBIT(IOA2, 0x80, 2);
44 SBIT(IOA3, 0x80, 3);
45 SBIT(IOA4, 0x80, 4);
46 SBIT(IOA5, 0x80, 5);
47 SBIT(IOA6, 0x80, 6);
48 SBIT(IOA7, 0x80, 7);
49
50 SFR(SP, 0x81);
51 SFR(DPL0, 0x82);
52 SFR(DPH0, 0x83);
53 SFR(DPL1, 0x84);
54 SFR(DPL2, 0x85);
55
56 SFR(DPS, 0x86);
57 #define SEL bmbit0
58 /* Bit 1 read-only, always reads '0' */
59 /* Bit 2 read-only, always reads '0' */
60 /* Bit 3 read-only, always reads '0' */
61 /* Bit 4 read-only, always reads '0' */
62 /* Bit 5 read-only, always reads '0' */
63 /* Bit 6 read-only, always reads '0' */
64 /* Bit 7 read-only, always reads '0' */
65
66 SFR(PCON, 0x87);
67 #define IDLE bmbit0
68 #define STOP bmbit1
69 #define GF0 bmbit2
70 #define GF1 bmbit3
71 /* Bit 4 read-only, always reads '1' */
72 /* Bit 5 read-only, always reads '1' */
73 /* Bit 6 unused */
74 #define SMOD0 bmbit7
75
76 SFR(TCON, 0x88);
77 SBIT(IT0, 0x88, 0);
78 SBIT(IE0, 0x88, 1);
79 SBIT(IT1, 0x88, 2);
80 SBIT(IE1, 0x88, 3);
81 SBIT(TR0, 0x88, 4);
82 SBIT(TF0, 0x88, 5);
83 SBIT(TR1, 0x88, 6);
84 SBIT(TF1, 0x88, 7);
85
86 SFR(TMOD, 0x89);
87 SFR(TL0, 0x8A);
88 SFR(TL1, 0x8B);
89 SFR(TH0, 0x8C);
90 SFR(TH1, 0x8D);
91
92 SFR(CKCON, 0x8E);
93 #define MD0 bmbit0
94 #define MD1 bmbit1
95 #define MD2 bmbit2
96 #define T0M bmbit3
97 #define T1M bmbit4
98 #define T2M bmbit5
99 /* Bit 6 unused */
100 /* Bit 7 unused */
101
102 SFR(SPC_FNC, 0x8F);
103 #define BMWRS bmbit0
104 /* Bit 1 read-only, always reads '0' */
105 /* Bit 2 read-only, always reads '0' */
106 /* Bit 3 read-only, always reads '0' */
107 /* Bit 4 read-only, always reads '0' */
108 /* Bit 5 read-only, always reads '0' */
109 /* Bit 6 read-only, always reads '0' */
110 /* Bit 7 read-only, always reads '0' */
111
112 SFR(IOB, 0x90);
113 SBIT(IOB0, 0x90, 0);
114 SBIT(IOB1, 0x90, 1);
115 SBIT(IOB2, 0x90, 2);
116 SBIT(IOB3, 0x90, 3);
117 SBIT(IOB4, 0x90, 4);
118 SBIT(IOB5, 0x90, 5);
119 SBIT(IOB6, 0x90, 6);
120 SBIT(IOB7, 0x90, 7);
121
122 SFR(EXIF, 0x91);
123 SBIT(USBINT, 0x91, 4);
124 SBIT(I2CINT, 0x91, 5);
125 SBIT(IE4, 0x91, 6);
126 SBIT(IE5, 0x91, 7);
127
128 SFR(MPAGE, 0x92);
129 SFR(SCON0, 0x98);
130 SBIT(RI, 0x98, 0);
131 SBIT(TI, 0x98, 1);
132 SBIT(RB8, 0x98, 2);
133 SBIT(TB8, 0x98, 3);
134 SBIT(REN, 0x98, 4);
135 SBIT(SM2, 0x98, 5);
136 SBIT(SM1, 0x98, 6);
137 SBIT(SM0, 0x98, 7);
138
139 SFR(SBUF0, 0x99);
140 SFR(AUTOPTRH1, 0x9A);
141 SFR(AUTOPTRL1, 0x9B);
142 SFR(AUTOPTRH2, 0x9D);
143 SFR(AUTOPTRL2, 0x9E);
144
145 #define AUTOPTR1H AUTOPTRH1 /* for backwards compatibility with examples */
146 #define AUTOPTR1L AUTOPTRL1 /* for backwards compatibility with examples */
147 #define APTR1H AUTOPTRH1 /* for backwards compatibility with examples */
148 #define APTR1L AUTOPTRL1 /* for backwards compatibility with examples */
149
150 SFR(IOC, 0xA0);
151 SBIT(IOC0, 0xA0, 0);
152 SBIT(IOC1, 0xA0, 1);
153 SBIT(IOC2, 0xA0, 2);
154 SBIT(IOC3, 0xA0, 3);
155 SBIT(IOC4, 0xA0, 4);
156 SBIT(IOC5, 0xA0, 5);
157 SBIT(IOC6, 0xA0, 6);
158 SBIT(IOC7, 0xA0, 7);
159
160 SFR(INT2CLR, 0xA1);
161 SFR(INT4CLR, 0xA2);
162 SFR(IE, 0xA8);
163 SBIT(EX0, 0xA8, 0);
164 SBIT(ET0, 0xA8, 1);
165 SBIT(EX1, 0xA8, 2);
166 SBIT(ET1, 0xA8, 3);
167 SBIT(ES0, 0xA8, 4);
168 SBIT(ET2, 0xA8, 5);
169 SBIT(ES1, 0xA8, 6);
170 SBIT(EA, 0xA8, 7);
171
172 SFR(EP2468STAT, 0xAA);
173 #define EP8F bmbit7
174 #define EP8E bmbit6
175 #define EP6F bmbit5
176 #define EP6E bmbit4
177 #define EP4F bmbit3
178 #define EP4E bmbit2
179 #define EP2F bmbit1
180 #define EP2E bmbit0
181
182 SFR(EP24FIFOFLGS, 0xAB);
183 SFR(EP68FIFOFLGS, 0xAC);
184 SFR(AUTOPTRSETUP, 0xAF);
185 SFR(IOD, 0xB0);
186 SBIT(IOD0, 0xB0, 0);
187 SBIT(IOD1, 0xB0, 1);
188 SBIT(IOD2, 0xB0, 2);
189 SBIT(IOD3, 0xB0, 3);
190 SBIT(IOD4, 0xB0, 4);
191 SBIT(IOD5, 0xB0, 5);
192 SBIT(IOD6, 0xB0, 6);
193 SBIT(IOD7, 0xB0, 7);
194
195 SFR(IOE, 0xB1);
196 SFR(OEA, 0xB2);
197 SFR(OEB, 0xB3);
198 SFR(OEC, 0xB4);
199 SFR(OED, 0xB5);
200 SFR(OEE, 0xB6);
201
202 SFR(IP, 0xB8);
203 SBIT(PX0, 0xB8, 0);
204 SBIT(PT0, 0xB8, 1);
205 SBIT(PX1, 0xB8, 2);
206 SBIT(PT1, 0xB8, 3);
207 SBIT(PS0, 0xB8, 4);
208 SBIT(PT2, 0xB8, 5);
209 SBIT(PS1, 0xB8, 6);
210 /* Bit 7 read-only, always reads '1' */
211
212 SFR(EP01STAT, 0xBA);
213 SFR(GPIFTRIG, 0xBB);
214 #define BMGPIFDONE bmbit7
215 #define BMGPIFREAD bmbit2
216 #define GPIF_EP2 0
217 #define GPIF_EP4 1
218 #define GPIF_EP6 2
219 #define GPIF_EP8 3
220
221 SFR(GPIFSGLDATH, 0xBD);
222 SFR(GPIFSGLDATLX, 0xBE);
223 SFR(GPIFSGLDATLNOX, 0xBF);
224
225 SFR(SCON1, 0xC0);
226 SBIT(RI_1, 0xC0, 0);
227 SBIT(TI_1, 0xC0, 1);
228 SBIT(RB8_1, 0xC0, 2);
229 SBIT(TB8_1, 0xC0, 3);
230 SBIT(REN_1, 0xC0, 4);
231 SBIT(SM2_1, 0xC0, 5);
232 SBIT(SM1_1, 0xC0, 6);
233 SBIT(SM0_1, 0xC0, 7);
234
235 SFR(SBUF1, 0xC1);
236 SFR(T2CON, 0xC8);
237 SBIT(CPRL2, 0xC8, 0);
238 SBIT(C_T2, 0xC8, 1);
239 SBIT(TR2, 0xC8, 2);
240 SBIT(EXEN2, 0xC8, 3);
241 SBIT(TCLK, 0xC8, 4);
242 SBIT(RCLK, 0xC8, 5);
243 SBIT(EXF2, 0xC8, 6);
244 SBIT(TF2, 0xC8, 7);
245
246 SFR(RCAP2L, 0xCA);
247 SFR(RCAP2H, 0xCB);
248 SFR(TL2, 0xCC);
249 SFR(TH2, 0xCD);
250 SFR(PSW, 0xD0);
251 SBIT(P, 0xD0, 0);
252 SBIT(F1, 0xD0, 1);
253 SBIT(OV, 0xD0, 2);
254 SBIT(RS0, 0xD0, 3);
255 SBIT(RS1, 0xD0, 4);
256 SBIT(F0, 0xD0, 5);
257 SBIT(AC, 0xD0, 6);
258 SBIT(CY, 0xD0, 7);
259
260 SFR(EICON, 0xD8);
261 /* Bit 0 read-only, always reads '0' */
262 /* Bit 1 read-only, always reads '0' */
263 /* Bit 2 read-only, always reads '0' */
264 SBIT(INT6, 0xD8, 3);
265 SBIT(RESI, 0xD8, 4);
266 SBIT(ERESI, 0xD8, 5);
267 /* Bit 6 read-only, always reads '1' */
268 SBIT(SMOD1, 0xD8, 7);
269
270 SFR(ACC, 0xE0);
271 SFR(EIE, 0xE8);
272 SBIT(EUSB, 0xE8, 0);
273 SBIT(EI2C, 0xE8, 1);
274 SBIT(EX4, 0xE8, 2);
275 SBIT(EX5, 0xE8, 3);
276 SBIT(EWDI, 0xE8, 4);
277 /* Bit 5 read-only, always reads '1' */
278 /* Bit 6 read-only, always reads '1' */
279 /* Bit 7 read-only, always reads '1' */
280
281 SFR(B, 0xF0);
282 SFR(EIP, 0xF8);
283 SBIT(PUSB, 0xF8, 0);
284 SBIT(PI2C, 0xF8, 1);
285 SBIT(PX4, 0xF8, 2);
286 SBIT(PX5, 0xF8, 3);
287 SBIT(PX6, 0xF8, 4);
288 /* Bit 5 read-only, always reads '1' */
289 /* Bit 6 read-only, always reads '1' */
290 /* Bit 7 read-only, always reads '1' */
291
292 /**************************************************************************
293 ***************************** XDATA Registers ****************************
294 ***************************************************************************/
295
296 SFRX(GPIF_WAVE_DATA, 0xE400);
297 SFRX(RES_WAVEDATA_END, 0xE480);
298
299 /* General Configuration */
300 SFRX(CPUCS, 0xE600);
301 #define RES8051 bmbit0
302 #define CLKOE bmbit1
303 #define BMCLKINV bmbit2
304 #define bmclkspd0 bmbit3
305 #define bmclkspd1 bmbit4
306 #define bmclkspd (bmbit4 | bmbit3)
307 #define BMPRTCSTB bmbit5
308
309 /* PCON register */
310 #define BMSMOD0 bmbit7
311
312 SFRX(IFCONFIG, 0xE601);
313 #define BMIFCLKSRC bmbit7
314 #define BM3048MHZ bmbit6
315 #define BMIFCLKOE bmbit5
316 #define BMIFCLKPOL bmbit4
317 #define BMASYNC bmbit3
318 #define BMGSTATE bmbit2
319 #define BMIFCFG1 bmbit1
320 #define BMIFCFG0 bmbit0
321 #define BMIFCFGMASK (BMIFCFG0 | BMIFCFG1)
322 #define BMIFGPIF BMIFCFG1
323
324 SFRX(PINFLAGSAB, 0xE602);
325 SFRX(PINFLAGSCD, 0xE603);
326 SFRX(FIFORESET, 0xE604);
327 #define BMNAKALL bmbit7
328
329 SFRX(BREAKPT, 0xE605);
330 #define BMBREAK bmbit3
331 #define BMBPPULSE bmbit2
332 #define BMBPEN bmbit1
333
334 SFRX(BPADDRH, 0xE606);
335 SFRX(BPADDRL, 0xE607);
336 SFRX(UART230, 0xE608);
337 SFRX(FIFOPINPOLAR, 0xE609);
338 SFRX(REVID, 0xE60A);
339 SFRX(REVCTL, 0xE60B);
340 #define BMNOAUTOARM bmbit1
341 #define BMSKIPCOMMIT bmbit0
342
343 /* Endpoint Configuration */
344 SFRX(EP1OUTCFG, 0xE610);
345 SFRX(EP1INCFG, 0xE611);
346 SFRX(EP2CFG, 0xE612);
347 SFRX(EP4CFG, 0xE613);
348 SFRX(EP6CFG, 0xE614);
349 SFRX(EP8CFG, 0xE615);
350 SFRX(EP2FIFOCFG, 0xE618);
351 SFRX(EP4FIFOCFG, 0xE619);
352 SFRX(EP6FIFOCFG, 0xE61A);
353 SFRX(EP8FIFOCFG, 0xE61B);
354 #define BMINFM bmbit6
355 #define BMOEP bmbit5
356 #define BMAUTOOUT bmbit4
357 #define BMAUTOIN bmbit3
358 #define BMZEROLENIN bmbit2
359 #define BMWORDWIDE bmbit0
360
361 SFRX(EP2AUTOINLENH, 0xE620);
362 SFRX(EP2AUTOINLENL, 0xE621);
363 SFRX(EP4AUTOINLENH, 0xE622);
364 SFRX(EP4AUTOINLENL, 0xE623);
365 SFRX(EP6AUTOINLENH, 0xE612);
366 SFRX(EP6AUTOINLENL, 0xE613);
367 SFRX(EP8AUTOINLENH, 0xE614);
368 SFRX(EP8AUTOINLENL, 0xE615);
369 SFRX(EP2FIFOPFH, 0xE630);
370 SFRX(EP2FIFOPFL, 0xE631);
371 SFRX(EP4FIFOPFH, 0xE632);
372 SFRX(EP4FIFOPFL, 0xE633);
373 SFRX(EP6FIFOPFH, 0xE634);
374 SFRX(EP6FIFOPFL, 0xE635);
375 SFRX(EP8FIFOPFH, 0xE636);
376 SFRX(EP8FIFOPFL, 0xE637);
377 SFRX(EP2ISOINPKTS, 0xE640);
378 SFRX(EP4ISOINPKTS, 0xE641);
379 SFRX(EP6ISOINPKTS, 0xE642);
380 SFRX(EP8ISOINPKTS, 0xE643);
381 SFRX(INPKTEND, 0xE648);
382 SFRX(OUTPKTEND, 0xE649);
383
384 /* Interrupts */
385 SFRX(EP2FIFOIE, 0xE650);
386 SFRX(EP2FIFOIRQ, 0xE651);
387 SFRX(EP4FIFOIE, 0xE652);
388 SFRX(EP4FIFOIRQ, 0xE653);
389 SFRX(EP6FIFOIE, 0xE654);
390 SFRX(EP6FIFOIRQ, 0xE655);
391 SFRX(EP8FIFOIE, 0xE656);
392 SFRX(EP8FIFOIRQ, 0xE657);
393 SFRX(IBNIE, 0xE658);
394 SFRX(IBNIRQ, 0xE659);
395 #define EP0IBN bmbit0
396 #define EP1IBN bmbit1
397 #define EP2IBN bmbit2
398 #define EP4IBN bmbit3
399 #define EP6IBN bmbit4
400 #define EP8IBN bmbit5
401
402 SFRX(NAKIE, 0xE65A);
403 SFRX(NAKIRQ, 0xE65B);
404 #define EP8PING bmbit7
405 #define EP6PING bmbit6
406 #define EP4PING bmbit5
407 #define EP2PING bmbit4
408 #define EP1PING bmbit3
409 #define EP0PING bmbit2
410 #define IBN bmbit0
411
412 SFRX(USBIEN, 0xE65C);
413 SFRX(USBIRQ, 0xE65D);
414 #define SUDAVI bmbit0
415 #define SOFI bmbit1
416 #define SUTOKI bmbit2
417 #define SUSPI bmbit3
418 #define URESI bmbit4
419 #define HSGRANT bmbit5
420 #define EP0ACK bmbit6
421
422 SFRX(EPIE, 0xE65E);
423 SFRX(EPIRQ, 0xE65F);
424 SFRX(GPIFIE, 0xE660);
425 SFRX(GPIFIRQ, 0xE661);
426 SFRX(USBERRIE, 0xE662);
427 SFRX(USBERRIRQ, 0xE663);
428 SFRX(ERRCNTLIM, 0xE664);
429 SFRX(CLRERRCNT, 0xE665);
430 SFRX(INT2IVEC, 0xE666);
431 #define I2V0 bmbit2
432 #define I2V1 bmbit3
433 #define I2V2 bmbit4
434 #define I2V3 bmbit5
435 #define I2V4 bmbit6
436
437 SFRX(INT4IVEC, 0xE667);
438 SFRX(INTSETUP, 0xE668);
439 #define AV4EN bmbit0
440 #define INT4IN bmbit1
441 #define AV2EN bmbit3
442
443 /* Input/Output */
444 SFRX(PORTACFG, 0xE670);
445 #define BMINT0 bmbit0
446 #define BMINT1 bmbit1
447 #define BMFLAGD bmbit7
448
449 SFRX(PORTCCFG, 0xE671);
450 #define BMGPIFA0 bmbit0
451 #define BMGPIFA1 bmbit1
452 #define BMGPIFA2 bmbit2
453 #define BMGPIFA3 bmbit3
454 #define BMGPIFA4 bmbit4
455 #define BMGPIFA5 bmbit5
456 #define BMGPIFA6 bmbit6
457 #define BMGPIFA7 bmbit7
458
459 SFRX(PORTECFG, 0xE672);
460 #define BMT0OUT bmbit0
461 #define BMT1OUT bmbit1
462 #define BMT2OUT bmbit2
463 #define BMRXD0OUT bmbit3
464 #define BMRXD1OUT bmbit4
465 #define BMINT6 bmbit5
466 #define BMT2EX bmbit6
467 #define BMGPIFA8 bmbit7
468
469 SFRX(I2CS, 0xE678);
470 #define BMDONE bmbit0
471 #define BMACK bmbit1
472 #define BMBERR bmbit2
473 #define BMID (bmbit4 | bmbit3)
474 #define BMLASTRD bmbit5
475 #define BMSTOP bmbit6
476 #define BMSTART bmbit7
477
478 SFRX(I2DAT, 0xE679);
479 SFRX(I2CTL, 0xE67A);
480 #define BMSTOPIE bmbit1
481 #define BM400KHZ bmbit0
482
483 SFRX(XAUTODAT1, 0xE67B);
484 SFRX(XAUTODAT2, 0xE67C);
485 #define EXTAUTODAT1 XAUTODAT1
486 #define EXTAUTODAT2 XAUTODAT2
487
488 /* USB Control */
489 SFRX(USBCS, 0xE680);
490 #define SIGRSUME bmbit0
491 #define RENUM bmbit1
492 #define NOSYNSOF bmbit2
493 #define DISCON bmbit3
494 #define HSM bmbit7
495
496 SFRX(SUSPEND, 0xE681);
497 SFRX(WAKEUPCS, 0xE682);
498 #define BMWU2 bmbit7
499 #define BMWU bmbit6
500 #define BMWU2POL bmbit5
501 #define BMWUPOL bmbit4
502 #define BMDPEN bmbit2
503 #define BMWU2EN bmbit1
504 #define BMWUEN bmbit0
505
506 SFRX(TOGCTL, 0xE683);
507 #define BMTOGCTLEPMASK bmbit3 | bmbit2 | bmbit1 | bmbit0
508 #define BMRESETTOGGLE bmbit5
509 #define BMSETTOGGLE bmbit6
510 #define BMQUERYTOGGLE bmbit7
511
512 SFRX(USBFRAMEH, 0xE684);
513 SFRX(USBFRAMEL, 0xE685);
514 SFRX(MICROFRAME, 0xE686);
515 SFRX(FNADDR, 0xE687);
516
517 /* Endpoints */
518 SFRX(EP0BCH, 0xE68A);
519 SFRX(EP0BCL, 0xE68B);
520 SFRX(EP1OUTBC, 0xE68D);
521 SFRX(EP1INBC, 0xE68F);
522 SFRX(EP2BCH, 0xE690);
523 SFRX(EP2BCL, 0xE691);
524 SFRX(EP4BCH, 0xE694);
525 SFRX(EP4BCL, 0xE695);
526 SFRX(EP6BCH, 0xE698);
527 SFRX(EP6BCL, 0xE699);
528 SFRX(EP8BCH, 0xE69C);
529 SFRX(EP8BCL, 0xE69D);
530 SFRX(EP0CS, 0xE6A0);
531 #define HSNAK bmbit7
532
533 SFRX(EP1INCS, 0xE6A2);
534 SFRX(EP1OUTCS, 0xE6A1);
535 #define EPSTALL bmbit0
536 #define EPBSY bmbit1
537
538 SFRX(EP2CS, 0xE6A3);
539 SFRX(EP4CS, 0xE6A4);
540 SFRX(EP6CS, 0xE6A5);
541 SFRX(EP8CS, 0xE6A6);
542 #define BMEPEMPTY bmbit2
543 #define BMEPFULL bmbit3
544 #define BMNPAK (bmbit6 | bmbit5 | bmbit4)
545
546 SFRX(EP2FIFOFLGS, 0xE6A7);
547 SFRX(EP4FIFOFLGS, 0xE6A8);
548 SFRX(EP6FIFOFLGS, 0xE6A9);
549 SFRX(EP8FIFOFLGS, 0xE6AA);
550 SFRX(EP2FIFOBCH, 0xE6AB);
551 SFRX(EP2FIFOBCL, 0xE6AC);
552 SFRX(EP4FIFOBCH, 0xE6AD);
553 SFRX(EP4FIFOBCL, 0xE6AE);
554 SFRX(EP6FIFOBCH, 0xE6AF);
555 SFRX(EP6FIFOBCL, 0xE6B0);
556 SFRX(EP8FIFOBCH, 0xE6B1);
557 SFRX(EP8FIFOBCL, 0xE6B2);
558 SFRX(SUDPTRH, 0xE6B3);
559 SFRX(SUDPTRL, 0xE6B4);
560
561 SFRX(SUDPTRCTL, 0xE6B5);
562 #define BMSDPAUTO bmbit0
563
564 SFRX(SETUPDAT[8], 0xE6B8);
565
566 /* GPIF */
567 SFRX(GPIFWFSELECT, 0xE6C0);
568 SFRX(GPIFIDLECS, 0xE6C1);
569 SFRX(GPIFIDLECTL, 0xE6C2);
570 SFRX(GPIFCTLCFG, 0xE6C3);
571 SFRX(GPIFADRH, 0xE6C4);
572 SFRX(GPIFADRL, 0xE6C5);
573 SFRX(GPIFTCB3, 0xE6CE);
574 SFRX(GPIFTCB2, 0xE6CF);
575 SFRX(GPIFTCB1, 0xE6D0);
576 SFRX(GPIFTCB0, 0xE6D1);
577
578 #define EP2GPIFTCH GPIFTCB1 /* these are here for backwards compatibility */
579 #define EP2GPIFTCL GPIFTCB0
580 #define EP4GPIFTCH GPIFTCB1 /* these are here for backwards compatibility */
581 #define EP4GPIFTCL GPIFTCB0
582 #define EP6GPIFTCH GPIFTCB1 /* these are here for backwards compatibility */
583 #define EP6GPIFTCL GPIFTCB0
584 #define EP8GPIFTCH GPIFTCB1 /* these are here for backwards compatibility */
585 #define EP8GPIFTCL GPIFTCB0
586
587 SFRX(EP2GPIFFLGSEL, 0xE6D2);
588 SFRX(EP2GPIFPFSTOP, 0xE6D3);
589 SFRX(EP2GPIFTRIG, 0xE6D4);
590 SFRX(EP4GPIFFLGSEL, 0xE6DA);
591 SFRX(EP4GPIFPFSTOP, 0xE6DB);
592 SFRX(EP4GPIFTRIG, 0xE6DC);
593 SFRX(EP6GPIFFLGSEL, 0xE6E2);
594 SFRX(EP6GPIFPFSTOP, 0xE6E3);
595 SFRX(EP6GPIFTRIG, 0xE6E4);
596 SFRX(EP8GPIFFLGSEL, 0xE6EA);
597 SFRX(EP8GPIFPFSTOP, 0xE6EB);
598 SFRX(EP8GPIFTRIG, 0xE6EC);
599 SFRX(XGPIFSGLDATH, 0xE6F0);
600 SFRX(XGPIFSGLDATLX, 0xE6F1);
601 SFRX(XGPIFSGLDATLNOX, 0xE6F2);
602 SFRX(GPIFREADYCFG, 0xE6F3);
603 SFRX(GPIFREADYSTAT, 0xE6F4);
604 SFRX(GPIFABORT, 0xE6F5);
605
606 // UDMA
607 SFRX(FLOWSTATE, 0xE6C6);
608 SFRX(FLOWLOGIC, 0xE6C7);
609 SFRX(FLOWEQ0CTL, 0xE6C8);
610 SFRX(FLOWEQ1CTL, 0xE6C9);
611 SFRX(FLOWHOLDOFF, 0xE6CA);
612 SFRX(FLOWSTB, 0xE6CB);
613 SFRX(FLOWSTBEDGE, 0xE6CC);
614 SFRX(FLOWSTBHPERIOD, 0xE6CD);
615 SFRX(GPIFHOLDAMOUNT, 0xE60C);
616 SFRX(UDMACRCH, 0xE67D);
617 SFRX(UDMACRCL, 0xE67E);
618 SFRX(UDMACRCQUAL, 0xE67F);
619
620 /* Debug/Test
621 * The following registers are for Cypress's internal testing purposes only.
622 * These registers are not documented in the datasheet or the Technical Reference
623 * Manual as they were not designed for end user application usage
624 */
625 SFRX(DBUG, 0xE6F8);
626 SFRX(TESTCFG, 0xE6F9);
627 SFRX(USBTEST, 0xE6FA);
628 SFRX(CT1, 0xE6FB);
629 SFRX(CT2, 0xE6FC);
630 SFRX(CT3, 0xE6FD);
631 SFRX(CT4, 0xE6FE);
632
633 /* Endpoint Buffers */
634 SFRX(EP0BUF[64], 0xE740);
635 SFRX(EP1INBUF[64], 0xE7C0);
636 SFRX(EP1OUTBUF[64], 0xE780);
637 SFRX(EP2FIFOBUF[512], 0xF000);
638 SFRX(EP4FIFOBUF[512], 0xF400);
639 SFRX(EP6FIFOBUF[512], 0xF800);
640 SFRX(EP8FIFOBUF[512], 0xFC00);
641
642 /* Error Correction Code (ECC) Registers (FX2LP/FX1 only) */
643 SFRX(ECCCFG, 0xE628);
644 SFRX(ECCRESET, 0xE629);
645 SFRX(ECC1B0, 0xE62A);
646 SFRX(ECC1B1, 0xE62B);
647 SFRX(ECC1B2, 0xE62C);
648 SFRX(ECC2B0, 0xE62D);
649 SFRX(ECC2B1, 0xE62E);
650 SFRX(ECC2B2, 0xE62F);
651
652 /* Feature Registers (FX2LP/FX1 only) */
653 SFRX(GPCR2, 0xE50D);
654 #define BMFULLSPEEDONLY bmbit4
655
656 #endif

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)