flash/nor/at91samd: Use 32-bit register writes for ST-Link compat
[fw/openocd] / src / jtag / drivers / rlink_st7.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2
3 /***************************************************************************
4  *   Copyright (C) 2008 Lou Deluxe                                         *
5  *   lou.openocd012@fixit.nospammail.net                                   *
6  ***************************************************************************/
7
8 #ifndef OPENOCD_JTAG_DRIVERS_RLINK_ST7_H
9 #define OPENOCD_JTAG_DRIVERS_RLINK_ST7_H
10
11 #define ST7_FOSC                (12 * 1000000)
12
13 /* This is not a complete enumeration of ST7 registers, but it is sufficient for this interface driver. */
14
15 #define ST7_PADR                (0x0000)
16 #define ST7_PADDR               (ST7_PADR + 1)
17 #define ST7_PAOR                (ST7_PADR + 2)
18 #define ST7_PBDR                (0x0003)
19 #define ST7_PBDDR               (ST7_PBDR + 1)
20 #define ST7_PCDR                (0x0006)
21 #define ST7_PCDDR               (ST7_PCDR + 1)
22 #define ST7_PCOR                (ST7_PCDR + 2)
23 #define ST7_PDDR                (0x0009)
24 #define ST7_PDDDR               (ST7_PDDR + 1)
25 #define ST7_PDOR                (ST7_PDDR + 2)
26 #define ST7_PEDR                (0x000c)
27 #define ST7_PEDDR               (ST7_PEDR + 1)
28 #define ST7_PEOR                (ST7_PEDR + 2)
29 #define ST7_PFDR                (0x000f)
30 #define ST7_PFDDR               (ST7_PFDR + 1)
31
32 #define ST7_ADCDR               (0x0012)
33 #define ST7_ADCCSR              (ST7_ADCDR + 1)
34
35 #define ST7_EP2TXR              (0x003e)
36 #define ST7_EP2TXR_STAT_TX0     (1 << 0)
37 #define ST7_EP2TXR_STAT_TX1     (1 << 1)
38 #define ST7_EP2TXR_STAT_DISABLED        (0)
39 #define ST7_EP2TXR_STAT_STALL   (ST7_EP2TXR_STAT_TX0)
40 #define ST7_EP2TXR_STAT_VALID   (ST7_EP2TXR_STAT_TX1 | ST7_EP2TXR_STAT_TX0)
41 #define ST7_EP2TXR_STAT_NAK     (ST7_EP2TXR_STAT_TX1)
42 #define ST7_EP2TXR_DTOG_TX      (1 << 2)
43 #define ST7_EP2TXR_CTR_TX       (1 << 3)
44
45 #define ST7_USB_BUF_EP0OUT      (0x1550)
46 #define ST7_USB_BUF_EP0IN       (0x1560)
47 #define ST7_USB_BUF_EP1OUT      (0x1570)
48 #define ST7_USB_BUF_EP1IN       (0x1580)
49 #define ST7_USB_BUF_EP2UODI     (0x1590)
50 #define ST7_USB_BUF_EP2UIDO     (0x1650)
51
52 #define ST7_PA0                 (1 << 0)
53 #define ST7_PA1                 (1 << 1)
54 #define ST7_PA2                 (1 << 2)
55 #define ST7_PA3                 (1 << 3)
56 #define ST7_PA4                 (1 << 4)
57 #define ST7_PA5                 (1 << 5)
58 #define ST7_PA6                 (1 << 6)
59 #define ST7_PA7                 (1 << 7)
60
61 #define ST7_PB0                 (1 << 0)
62 #define ST7_PB1                 (1 << 1)
63 #define ST7_PB2                 (1 << 2)
64 #define ST7_PB3                 (1 << 3)
65 #define ST7_PB4                 (1 << 4)
66 #define ST7_PB5                 (1 << 5)
67 #define ST7_PB6                 (1 << 6)
68 #define ST7_PB7                 (1 << 7)
69
70 #define ST7_PC0                 (1 << 0)
71 #define ST7_PC1                 (1 << 1)
72 #define ST7_PC2                 (1 << 2)
73 #define ST7_PC3                 (1 << 3)
74 #define ST7_PC4                 (1 << 4)
75 #define ST7_PC5                 (1 << 5)
76 #define ST7_PC6                 (1 << 6)
77 #define ST7_PC7                 (1 << 7)
78
79 #define ST7_PD0                 (1 << 0)
80 #define ST7_PD1                 (1 << 1)
81 #define ST7_PD2                 (1 << 2)
82 #define ST7_PD3                 (1 << 3)
83 #define ST7_PD4                 (1 << 4)
84 #define ST7_PD5                 (1 << 5)
85 #define ST7_PD6                 (1 << 6)
86 #define ST7_PD7                 (1 << 7)
87
88 #define ST7_PE0                 (1 << 0)
89 #define ST7_PE1                 (1 << 1)
90 #define ST7_PE2                 (1 << 2)
91 #define ST7_PE3                 (1 << 3)
92 #define ST7_PE4                 (1 << 4)
93 #define ST7_PE5                 (1 << 5)
94 #define ST7_PE6                 (1 << 6)
95 #define ST7_PE7                 (1 << 7)
96
97 #define ST7_PF0                 (1 << 0)
98 #define ST7_PF1                 (1 << 1)
99 #define ST7_PF2                 (1 << 2)
100 #define ST7_PF3                 (1 << 3)
101 #define ST7_PF4                 (1 << 4)
102 #define ST7_PF5                 (1 << 5)
103 #define ST7_PF6                 (1 << 6)
104 #define ST7_PF7                 (1 << 7)
105
106 #endif /* OPENOCD_JTAG_DRIVERS_RLINK_ST7_H */