1 /***************************************************************************
2 * Copyright (C) 2008 Lou Deluxe *
3 * lou.openocd012@fixit.nospammail.net *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
17 ***************************************************************************/
19 #ifndef OPENOCD_JTAG_DRIVERS_RLINK_ST7_H
20 #define OPENOCD_JTAG_DRIVERS_RLINK_ST7_H
22 #define ST7_FOSC (12 * 1000000)
24 /* This is not a complete enumeration of ST7 registers, but it is sufficient for this interface driver. */
26 #define ST7_PADR (0x0000)
27 #define ST7_PADDR (ST7_PADR + 1)
28 #define ST7_PAOR (ST7_PADR + 2)
29 #define ST7_PBDR (0x0003)
30 #define ST7_PBDDR (ST7_PBDR + 1)
31 #define ST7_PCDR (0x0006)
32 #define ST7_PCDDR (ST7_PCDR + 1)
33 #define ST7_PCOR (ST7_PCDR + 2)
34 #define ST7_PDDR (0x0009)
35 #define ST7_PDDDR (ST7_PDDR + 1)
36 #define ST7_PDOR (ST7_PDDR + 2)
37 #define ST7_PEDR (0x000c)
38 #define ST7_PEDDR (ST7_PEDR + 1)
39 #define ST7_PEOR (ST7_PEDR + 2)
40 #define ST7_PFDR (0x000f)
41 #define ST7_PFDDR (ST7_PFDR + 1)
43 #define ST7_ADCDR (0x0012)
44 #define ST7_ADCCSR (ST7_ADCDR + 1)
46 #define ST7_EP2TXR (0x003e)
47 #define ST7_EP2TXR_STAT_TX0 (1 << 0)
48 #define ST7_EP2TXR_STAT_TX1 (1 << 1)
49 #define ST7_EP2TXR_STAT_DISABLED (0)
50 #define ST7_EP2TXR_STAT_STALL (ST7_EP2TXR_STAT_TX0)
51 #define ST7_EP2TXR_STAT_VALID (ST7_EP2TXR_STAT_TX1 | ST7_EP2TXR_STAT_TX0)
52 #define ST7_EP2TXR_STAT_NAK (ST7_EP2TXR_STAT_TX1)
53 #define ST7_EP2TXR_DTOG_TX (1 << 2)
54 #define ST7_EP2TXR_CTR_TX (1 << 3)
56 #define ST7_USB_BUF_EP0OUT (0x1550)
57 #define ST7_USB_BUF_EP0IN (0x1560)
58 #define ST7_USB_BUF_EP1OUT (0x1570)
59 #define ST7_USB_BUF_EP1IN (0x1580)
60 #define ST7_USB_BUF_EP2UODI (0x1590)
61 #define ST7_USB_BUF_EP2UIDO (0x1650)
63 #define ST7_PA0 (1 << 0)
64 #define ST7_PA1 (1 << 1)
65 #define ST7_PA2 (1 << 2)
66 #define ST7_PA3 (1 << 3)
67 #define ST7_PA4 (1 << 4)
68 #define ST7_PA5 (1 << 5)
69 #define ST7_PA6 (1 << 6)
70 #define ST7_PA7 (1 << 7)
72 #define ST7_PB0 (1 << 0)
73 #define ST7_PB1 (1 << 1)
74 #define ST7_PB2 (1 << 2)
75 #define ST7_PB3 (1 << 3)
76 #define ST7_PB4 (1 << 4)
77 #define ST7_PB5 (1 << 5)
78 #define ST7_PB6 (1 << 6)
79 #define ST7_PB7 (1 << 7)
81 #define ST7_PC0 (1 << 0)
82 #define ST7_PC1 (1 << 1)
83 #define ST7_PC2 (1 << 2)
84 #define ST7_PC3 (1 << 3)
85 #define ST7_PC4 (1 << 4)
86 #define ST7_PC5 (1 << 5)
87 #define ST7_PC6 (1 << 6)
88 #define ST7_PC7 (1 << 7)
90 #define ST7_PD0 (1 << 0)
91 #define ST7_PD1 (1 << 1)
92 #define ST7_PD2 (1 << 2)
93 #define ST7_PD3 (1 << 3)
94 #define ST7_PD4 (1 << 4)
95 #define ST7_PD5 (1 << 5)
96 #define ST7_PD6 (1 << 6)
97 #define ST7_PD7 (1 << 7)
99 #define ST7_PE0 (1 << 0)
100 #define ST7_PE1 (1 << 1)
101 #define ST7_PE2 (1 << 2)
102 #define ST7_PE3 (1 << 3)
103 #define ST7_PE4 (1 << 4)
104 #define ST7_PE5 (1 << 5)
105 #define ST7_PE6 (1 << 6)
106 #define ST7_PE7 (1 << 7)
108 #define ST7_PF0 (1 << 0)
109 #define ST7_PF1 (1 << 1)
110 #define ST7_PF2 (1 << 2)
111 #define ST7_PF3 (1 << 3)
112 #define ST7_PF4 (1 << 4)
113 #define ST7_PF5 (1 << 5)
114 #define ST7_PF6 (1 << 6)
115 #define ST7_PF7 (1 << 7)
117 #endif /* OPENOCD_JTAG_DRIVERS_RLINK_ST7_H */