OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [jtag/] [jp2.h] - Blame information for rev 1259

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1246 markom
#ifndef _JP2_H_
2
#define _JP2_H_
3
 
4 1259 markom
//#define DEBUG 1
5
//#define DEBUG2 1
6
 
7 1246 markom
#define Boolean int
8
#define false 0
9
#define true 1
10
 
11
#define GDB_IN "../sim/rtl_sim/run/gdb_in.dat"
12
#define GDB_OUT "../sim/rtl_sim/run/gdb_out.dat"
13
 
14
#ifdef DEBUG
15
#define debug printf
16
#else
17
#define debug
18
#endif
19
 
20
#ifdef DEBUG2
21
#define debug2 printf
22
#else
23
#define debug2
24
#endif
25
 
26
#if (DEBUG) || (DEBUG2)
27
#define flush_debug() fflush(stdout)
28
#else
29
#define flush_debug()
30
#endif
31
 
32
#define LPT_BASE (base)
33
#define LPT_READ (LPT_BASE+1)
34
#define LPT_WRITE LPT_BASE
35
#if RTL_SIM
36
#define TCLK_BIT (0x01) /* D0, pin #2 */
37
#define TRST_BIT (0x02) /* D1, pin #3 */
38
#define TDI_BIT  (0x04) /* D2, pin #4 */
39
#define TMS_BIT  (0x08) /* D0, pin #5 */
40
#define TDO_BIT  (0x20) /* PE, pin #12 */
41
#define TMS      (0x02)
42
#define TDI      (0x01)
43
#else
44
#ifdef XILINX_PARALLEL_CABLE_III
45
#define TCLK_BIT (0x02) /* D1 pin 3 */
46
#define TRST_BIT (0x10) /* Not used */
47
#define TDI_BIT  (0x01) /* D0 pin 2 */
48
#define TMS_BIT  (0x04) /* D2 pin 4 */
49
#define TDO_BIT  (0x10) /* S6 pin 13*/
50
#define TMS      (0x02)
51
#define TDI      (0x01)
52
#else
53
#ifdef XESS_PARALLEL_CABLE
54
#define TCLK_BIT (0x04) /* D2 pin 4 */
55
#define TRST_BIT (0x08) /* D3 pin 5 */
56
#define TDI_BIT  (0x10) /* D4 pin 6 */
57
#define TMS_BIT  (0x20) /* D5 pin 7 */
58
#define TDO_BIT  (0x20) /* S5 pin 12*/
59
#define TMS      (0x02)
60
#define TDI      (0x01)
61
#endif
62
#endif
63
#endif
64
 
65
#ifdef RTL_SIM
66
# define JTAG_WAIT() usleep(1000)
67
# define JTAG_RETRY_WAIT() usleep (1000)
68
#else
69
# define JTAG_WAIT() {      \
70
  int i;        \
71
  volatile int j;   \
72
  for(i = 0; i < 1000; i++) \
73
    j = i;      \
74
  }
75
# define JTAG_RETRY_WAIT() usleep (1000)
76
#endif
77
 
78
/* Selects crc trailer size in bits. Currently supported: 8 */
79
#define CRC_SIZE (8)
80
 
81
/* Scan chain size in bits.  */
82
#define SC_SIZE (4)
83
 
84
#ifndef ULONGEST
85
#define ULONGEST unsigned long
86
#endif
87
 
88
extern unsigned int serverPort;
89
extern unsigned int server_fd;
90
extern void HandleServerSocket(Boolean block);
91
 
92
extern int err;
93
extern void JTAGRequest(void);
94
extern void GDBRequest(void);
95
 
96
/* read a word from wishbone */
97
int dbg_wb_read32(unsigned long adr, unsigned long *data);
98
 
99
/* write a word to wishbone */
100
int dbg_wb_write32(unsigned long adr, unsigned long data);
101
 
102
/* read a block from wishbone */
103 1259 markom
int dbg_wb_read_block32(unsigned long adr, unsigned long *data, int len);
104 1246 markom
 
105
/* write a block to wishbone */
106
int dbg_wb_write_block32(unsigned long adr, unsigned long *data, int len);
107
 
108
/* read a register from cpu */
109
int dbg_cpu_read32(unsigned long adr, unsigned long *data);
110
 
111
/* read a register from cpu module */
112 1259 markom
int dbg_cpu_read_reg(unsigned long adr, unsigned char *data);
113 1246 markom
 
114
/* write a cpu register */
115
int dbg_cpu_write32(unsigned long adr, unsigned long data);
116
 
117
/* write a cpu module register */
118 1259 markom
int dbg_cpu_write_reg(unsigned long adr, unsigned char data);
119 1246 markom
 
120
 
121
#define DC_SIZE           3
122
#define DC_STATUS_SIZE    4
123
 
124 1259 markom
/* reverse bit ordering! */
125 1246 markom
#define DC_CPU            0
126 1259 markom
#define DC_WISHBONE       4
127 1246 markom
 
128
#define DI_WB_STATUS      0
129
#define DI_WB_WRITE8      1
130
#define DI_WB_WRITE16     2
131
#define DI_WB_WRITE32     3
132
#define DI_WB_GO          4
133
#define DI_WB_READ8       5
134
#define DI_WB_READ16      6
135
#define DI_WB_READ32      7
136
 
137
#define DI_CPU_WRITE8     1
138
#define DI_CPU_WRITE32    2
139
#define DI_CPU_WRITE_REG  3
140
#define DI_CPU_GO         4
141
#define DI_CPU_READ8      5
142
#define DI_CPU_READ32     6
143
#define DI_CPU_READ_REG   7
144
 
145
#define DBG_CRC_SIZE      32
146
#define DBG_CRC_POLY      0x04c11db7
147
 
148
#define DBG_ERR_OK        0
149
#define DBG_ERR_CRC       1
150
#define DBG_ERR_INV_CHAIN 2
151
#define DBG_ERR_BUSERR    3
152
 
153
#define NUM_SOFT_RETRIES  3
154
#define NUM_HARD_RETRIES  3
155
#define NUM_ACCESS_RETRIES 10
156
 
157 1259 markom
#define CHECK(x) check(__FILE__, __LINE__, (x))
158 1246 markom
#endif /* _JP2_H_ */
159
 

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.