summaryrefslogtreecommitdiffstats
path: root/rules/openocd.in
blob: d8fc4004da39fa325f2efa1e8f9e2539b4df6a9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
## SECTION=debug_tools

menuconfig OPENOCD
	tristate
	prompt "OpenOCD                       "

	# libusb-1.x
	select LIBUSB		if OPENOCD_FTDI || OPENOCD_STLINK || OPENOCD_TI_ICDI || OPENOCD_ULINK || OPENOCD_USB_BLASTER_2
	# libusb-1.x or libusb-0.1
	select LIBUSB		if OPENOCD_JLINK || OPENOCD_OSBDM || OPENOCD_OPENDOUS || OPENOCD_AICE
	# libusb-0.1
	select LIBUSB_COMPAT	if OPENOCD_VSLLINK || OPENOCD_USBPROG || OPENOCD_RLINK || OPENOCD_ARMJTAGEW
	select LIBFTDI1		if OPENOCD_USB_BLASTER_LIBFTDI || OPENOCD_PRESTO_LIBFTDI || OPENOCD_OPENJTAG_FTDI

	help
	  The Open On-Chip Debugger (OpenOCD) provides debugging, in-system
	  programming and boundary-scan testing for embedded target devices.
	  It supports JTAG and SWD (direct or via dongle) to access targets.
	  Flash writing is supported for various internal and external types.
	  It is controlled with TCL scripts and can act as gdbserver.

if OPENOCD

# ===== scripts directory =====

config OPENOCD_SCRIPTDIR
	string
	default "/usr/share/openocd/scripts/"
	prompt "OpenOCD script tree"
	help
	  OpenOCD relies on TCL scripts for core and SoC specific configs and
	  setups, interface (debug adapter) specific configs, RAM and flash
	  layout definitions, board init routines, helper routines, and so on.

	  Keeping the default option of "/usr/share/openocd/scripts/" will
	  install all of them (several 100kB) to the target, which is probably
	  not what you want, as they are heavily target dependent.

	  To install only a few required ones, create a tree in projectroot
	  named like the tree configured, so only these will be installed.

	  Clear this config option to omit script installation at all.


# ===== interface drivers =====

config OPENOCD_DUMMY
	bool
	prompt "dummy port driver"

# --- libusb-1.x based

config OPENOCD_FTDI
	bool
	prompt "MPSSE mode of FTDI based devices"

config OPENOCD_STLINK
	bool
	prompt "ST-Link JTAG Programmer"

config OPENOCD_TI_ICDI
	bool
	prompt "TI ICDI JTAG Programmer"

config OPENOCD_ULINK
	bool
	prompt "Keil ULINK JTAG Programmer"

config OPENOCD_USB_BLASTER_2
	bool
	prompt "Altera USB-Blaster II Compatible"

# --- libusb-1.x or libusb-0.1 based

config OPENOCD_JLINK
	bool
	prompt "Segger J-Link JTAG Programmer"

config OPENOCD_OSBDM
	bool
	prompt "OSBDM (JTAG only) Programmer"

config OPENOCD_OPENDOUS
	bool
	prompt "eStick/opendous JTAG Programmer"

config OPENOCD_AICE
	bool
	prompt "Andes JTAG Programmer"

# --- libusb-0.1 based

config OPENOCD_VSLLINK
	bool
	prompt "Versaloon-Link JTAG Programmer"

config OPENOCD_USBPROG
	bool
	prompt "USBProg JTAG Programmer"

config OPENOCD_RLINK
	bool
	prompt "Raisonance RLink JTAG Programmer"

config OPENOCD_ARMJTAGEW
	bool
	prompt "Olimex ARM-JTAG-EW Programmer"

# --- hidapi based
config OPENOCD_CMSIS_DAP
	bool
	# needs libhidapi
	depends on BROKEN
	prompt "CMSIS-DAP Compliant Debugger"

# --- various

config OPENOCD_PARPORT
	bool
	prompt "pc parallel port driver"

if OPENOCD_PARPORT
	config OPENOCD_PARPORT_DISABLE_PARPORT_PPDEV
		bool
		prompt "Disable use of ppdev (/dev/parportN) (x86 only)"

	config OPENOCD_PARPORT_GIVEIO
		bool
		depends on OPENOCD_PARPORT
		prompt "Enable use of giveio (CygWin only)"
endif

config OPENOCD_JTAG_VPI
	bool
	prompt "JTAG VPI"

config OPENOCD_USB_BLASTER_LIBFTDI
	bool
	prompt "Altera USB-Blaster (libftdi driver, opensource)"

config OPENOCD_USB_BLASTER_FTD2XX
	bool
	# needs ftd2xx
	depends on BROKEN
	prompt "Altera USB-Blaster (FTD2XX driver from ftdichip.com)"

config OPENOCD_AMTJTAGACCEL
	bool
	prompt "Amontec JTAG-Accelerator driver"

config OPENOCD_ZY1000
	bool
	# fails to build and disables all other drivers
	depends on BROKEN
	prompt "ZY1000 interface"

if OPENOCD_ZY1000
	config OPENOCD_ZY1000_MASTER
		bool
		prompt "Use ZY1000 JTAG master registers"
endif

config OPENOCD_IOUTIL
	bool
	prompt "ioutil functions - for standalone OpenOCD implementations"

config OPENOCD_EP93XX
	bool
	prompt "EP93xx based SBCs"

config OPENOCD_AT91RM9200
	bool
	prompt "AT91RM9200 based SBCs"

config OPENOCD_BCM2835GPIO
	bool
	prompt "bitbanging on BCM2835 (as found in Raspberry Pi)"

config OPENOCD_GW16012
	bool
	prompt "Gateworks GW16012 JTAG Programmer"

config OPENOCD_PRESTO_LIBFTDI
	bool
	prompt "ASIX Presto Programmer using the libftdi driver"

config OPENOCD_PRESTO_FTD2XX
	# needs ftd2xx
	depends on BROKEN
	bool
	prompt "ASIX Presto Programmer using the FTD2XX driver"

config OPENOCD_OPENJTAG_FTD2XX
	# needs ftd2xx
	depends on BROKEN
	bool
	prompt "OpenJTAG Programmer with ftd2xx driver"

config OPENOCD_OPENJTAG_FTDI
	bool
	prompt "OpenJTAG Programmer with ftdi driver"

config OPENOCD_OOCD_TRACE
	bool
	prompt "prototype OpenOCD+trace ETM capture hardware"

config OPENOCD_BUSPIRATE
	bool
	prompt "Buspirate"

config OPENOCD_SYSFSGPIO
	bool
	prompt "programming driven via sysfs gpios"

config OPENOCD_REMOTE_BITBANG
	bool
	prompt "Remote Bitbang jtag driver"

endif