# SPDX-License-Identifier: GPL-2.0-or-later
# OpenOCD configuration file for Xtensa ESP32S3 target

#  Core definition and ABI
xtensa xtdef	LX
xtensa xtopt	arnum				64
xtensa xtopt	windowed			1

#  Exception/Interrupt Options
xtensa xtopt	exceptions			1
xtensa xtopt	hipriints			1
xtensa xtopt	intlevels			6
xtensa xtopt	excmlevel			3

#  Cache Options

#  Memory Options
xtensa xtmem	irom				0x42000000	0x2000000
xtensa xtmem	irom				0x40000000	0x60000
xtensa xtmem	iram				0x40370000	0x70000
xtensa xtmem	iram				0x600FE000	0x2000
xtensa xtmem	drom				0x3C000000	0x1000000
xtensa xtmem	drom				0x3FF00000	0x20000
xtensa xtmem	dram				0x3FC88000	0x78000
xtensa xtmem	dram				0x600FE000	0x2000
xtensa xtmem	dram				0x50000000	0x2000
xtensa xtmem	dram				0x60000000	0x10000000

#  Memory Protection/Translation Options

#  Debug Options
xtensa xtopt	debuglevel			6
xtensa xtopt	ibreaknum			2
xtensa xtopt	dbreaknum			2
xtensa xtopt	tracemem			0x4000
xtensa xtopt	tracememrev			0
xtensa xtopt	perfcount			2


#  Core Registers
#  xtregfmt:	Optionally specify "contiguous" vs. "sparse" GDB register map.
#				Default setting is "sparse" and is used with xt-gdb.
#				If contiguous, optional parameter specifies number of registers
#				in "Read General Registers" (g-packet) requests.
#				NOTE: For contiguous format, registers listed in GDB order.
#  xtregs:		Total number of Xtensa registers in the system
xtensa xtregs	228
xtensa xtregfmt	contiguous			128
xtensa xtreg	pc					0x0020
xtensa xtreg	ar0					0x0100
xtensa xtreg	ar1					0x0101
xtensa xtreg	ar2					0x0102
xtensa xtreg	ar3					0x0103
xtensa xtreg	ar4					0x0104
xtensa xtreg	ar5					0x0105
xtensa xtreg	ar6					0x0106
xtensa xtreg	ar7					0x0107
xtensa xtreg	ar8					0x0108
xtensa xtreg	ar9					0x0109
xtensa xtreg	ar10				0x010a
xtensa xtreg	ar11				0x010b
xtensa xtreg	ar12				0x010c
xtensa xtreg	ar13				0x010d
xtensa xtreg	ar14				0x010e
xtensa xtreg	ar15				0x010f
xtensa xtreg	ar16				0x0110
xtensa xtreg	ar17				0x0111
xtensa xtreg	ar18				0x0112
xtensa xtreg	ar19				0x0113
xtensa xtreg	ar20				0x0114
xtensa xtreg	ar21				0x0115
xtensa xtreg	ar22				0x0116
xtensa xtreg	ar23				0x0117
xtensa xtreg	ar24				0x0118
xtensa xtreg	ar25				0x0119
xtensa xtreg	ar26				0x011a
xtensa xtreg	ar27				0x011b
xtensa xtreg	ar28				0x011c
xtensa xtreg	ar29				0x011d
xtensa xtreg	ar30				0x011e
xtensa xtreg	ar31				0x011f
xtensa xtreg	ar32				0x0120
xtensa xtreg	ar33				0x0121
xtensa xtreg	ar34				0x0122
xtensa xtreg	ar35				0x0123
xtensa xtreg	ar36				0x0124
xtensa xtreg	ar37				0x0125
xtensa xtreg	ar38				0x0126
xtensa xtreg	ar39				0x0127
xtensa xtreg	ar40				0x0128
xtensa xtreg	ar41				0x0129
xtensa xtreg	ar42				0x012a
xtensa xtreg	ar43				0x012b
xtensa xtreg	ar44				0x012c
xtensa xtreg	ar45				0x012d
xtensa xtreg	ar46				0x012e
xtensa xtreg	ar47				0x012f
xtensa xtreg	ar48				0x0130
xtensa xtreg	ar49				0x0131
xtensa xtreg	ar50				0x0132
xtensa xtreg	ar51				0x0133
xtensa xtreg	ar52				0x0134
xtensa xtreg	ar53				0x0135
xtensa xtreg	ar54				0x0136
xtensa xtreg	ar55				0x0137
xtensa xtreg	ar56				0x0138
xtensa xtreg	ar57				0x0139
xtensa xtreg	ar58				0x013a
xtensa xtreg	ar59				0x013b
xtensa xtreg	ar60				0x013c
xtensa xtreg	ar61				0x013d
xtensa xtreg	ar62				0x013e
xtensa xtreg	ar63				0x013f
xtensa xtreg	lbeg				0x0200
xtensa xtreg	lend				0x0201
xtensa xtreg	lcount				0x0202
xtensa xtreg	sar					0x0203
xtensa xtreg	windowbase			0x0248
xtensa xtreg	windowstart			0x0249
xtensa xtreg	configid0			0x02b0
xtensa xtreg	configid1			0x02d0
xtensa xtreg	ps					0x02e6
xtensa xtreg	threadptr			0x03e7
xtensa xtreg	br					0x0204
xtensa xtreg	scompare1			0x020c
xtensa xtreg	acclo				0x0210
xtensa xtreg	acchi				0x0211
xtensa xtreg	m0					0x0220
xtensa xtreg	m1					0x0221
xtensa xtreg	m2					0x0222
xtensa xtreg	m3					0x0223
xtensa xtreg	gpio_out			0x030c
xtensa xtreg	f0					0x0030
xtensa xtreg	f1					0x0031
xtensa xtreg	f2					0x0032
xtensa xtreg	f3					0x0033
xtensa xtreg	f4					0x0034
xtensa xtreg	f5					0x0035
xtensa xtreg	f6					0x0036
xtensa xtreg	f7					0x0037
xtensa xtreg	f8					0x0038
xtensa xtreg	f9					0x0039
xtensa xtreg	f10					0x003a
xtensa xtreg	f11					0x003b
xtensa xtreg	f12					0x003c
xtensa xtreg	f13					0x003d
xtensa xtreg	f14					0x003e
xtensa xtreg	f15					0x003f
xtensa xtreg	fcr					0x03e8
xtensa xtreg	fsr					0x03e9
xtensa xtreg	accx_0				0x0300
xtensa xtreg	accx_1				0x0301
xtensa xtreg	qacc_h_0			0x0302
xtensa xtreg	qacc_h_1			0x0303
xtensa xtreg	qacc_h_2			0x0304
xtensa xtreg	qacc_h_3			0x0305
xtensa xtreg	qacc_h_4			0x0306
xtensa xtreg	qacc_l_0			0x0307
xtensa xtreg	qacc_l_1			0x0308
xtensa xtreg	qacc_l_2			0x0309
xtensa xtreg	qacc_l_3			0x030a
xtensa xtreg	qacc_l_4			0x030b
xtensa xtreg	sar_byte			0x030d
xtensa xtreg	fft_bit_width		0x030e
xtensa xtreg	ua_state_0			0x030f
xtensa xtreg	ua_state_1			0x0310
xtensa xtreg	ua_state_2			0x0311
xtensa xtreg	ua_state_3			0x0312
xtensa xtreg	q0					0x1008
xtensa xtreg	q1					0x1009
xtensa xtreg	q2					0x100a
xtensa xtreg	q3					0x100b
xtensa xtreg	q4					0x100c
xtensa xtreg	q5					0x100d
xtensa xtreg	q6					0x100e
xtensa xtreg	q7					0x100f
xtensa xtreg	mmid				0x0259
xtensa xtreg	ibreakenable		0x0260
xtensa xtreg	memctl				0x0261
xtensa xtreg	atomctl				0x0263
xtensa xtreg	ddr					0x0268
xtensa xtreg	ibreaka0			0x0280
xtensa xtreg	ibreaka1			0x0281
xtensa xtreg	dbreaka0			0x0290
xtensa xtreg	dbreaka1			0x0291
xtensa xtreg	dbreakc0			0x02a0
xtensa xtreg	dbreakc1			0x02a1
xtensa xtreg	epc1				0x02b1
xtensa xtreg	epc2				0x02b2
xtensa xtreg	epc3				0x02b3
xtensa xtreg	epc4				0x02b4
xtensa xtreg	epc5				0x02b5
xtensa xtreg	epc6				0x02b6
xtensa xtreg	epc7				0x02b7
xtensa xtreg	depc				0x02c0
xtensa xtreg	eps2				0x02c2
xtensa xtreg	eps3				0x02c3
xtensa xtreg	eps4				0x02c4
xtensa xtreg	eps5				0x02c5
xtensa xtreg	eps6				0x02c6
xtensa xtreg	eps7				0x02c7
xtensa xtreg	excsave1			0x02d1
xtensa xtreg	excsave2			0x02d2
xtensa xtreg	excsave3			0x02d3
xtensa xtreg	excsave4			0x02d4
xtensa xtreg	excsave5			0x02d5
xtensa xtreg	excsave6			0x02d6
xtensa xtreg	excsave7			0x02d7
xtensa xtreg	cpenable			0x02e0
xtensa xtreg	interrupt			0x02e2
xtensa xtreg	intset				0x02e2
xtensa xtreg	intclear			0x02e3
xtensa xtreg	intenable			0x02e4
xtensa xtreg	vecbase				0x02e7
xtensa xtreg	exccause			0x02e8
xtensa xtreg	debugcause			0x02e9
xtensa xtreg	ccount				0x02ea
xtensa xtreg	prid				0x02eb
xtensa xtreg	icount				0x02ec
xtensa xtreg	icountlevel			0x02ed
xtensa xtreg	excvaddr			0x02ee
xtensa xtreg	ccompare0			0x02f0
xtensa xtreg	ccompare1			0x02f1
xtensa xtreg	ccompare2			0x02f2
xtensa xtreg	misc0				0x02f4
xtensa xtreg	misc1				0x02f5
xtensa xtreg	misc2				0x02f6
xtensa xtreg	misc3				0x02f7
xtensa xtreg	pwrctl				0x2028
xtensa xtreg	pwrstat				0x2029
xtensa xtreg	eristat				0x202a
xtensa xtreg	cs_itctrl			0x202b
xtensa xtreg	cs_claimset			0x202c
xtensa xtreg	cs_claimclr			0x202d
xtensa xtreg	cs_lockaccess		0x202e
xtensa xtreg	cs_lockstatus		0x202f
xtensa xtreg	cs_authstatus		0x2030
xtensa xtreg	fault_info			0x203f
xtensa xtreg	trax_id				0x2040
xtensa xtreg	trax_control		0x2041
xtensa xtreg	trax_status			0x2042
xtensa xtreg	trax_data			0x2043
xtensa xtreg	trax_address		0x2044
xtensa xtreg	trax_pctrigger		0x2045
xtensa xtreg	trax_pcmatch		0x2046
xtensa xtreg	trax_delay			0x2047
xtensa xtreg	trax_memstart		0x2048
xtensa xtreg	trax_memend			0x2049
xtensa xtreg	pmg					0x2057
xtensa xtreg	pmpc				0x2058
xtensa xtreg	pm0					0x2059
xtensa xtreg	pm1					0x205a
xtensa xtreg	pmctrl0				0x205b
xtensa xtreg	pmctrl1				0x205c
xtensa xtreg	pmstat0				0x205d
xtensa xtreg	pmstat1				0x205e
xtensa xtreg	ocdid				0x205f
xtensa xtreg	ocd_dcrclr			0x2060
xtensa xtreg	ocd_dcrset			0x2061
xtensa xtreg	ocd_dsr				0x2062
xtensa xtreg	a0					0x0000
xtensa xtreg	a1					0x0001
xtensa xtreg	a2					0x0002
xtensa xtreg	a3					0x0003
xtensa xtreg	a4					0x0004
xtensa xtreg	a5					0x0005
xtensa xtreg	a6					0x0006
xtensa xtreg	a7					0x0007
xtensa xtreg	a8					0x0008
xtensa xtreg	a9					0x0009
xtensa xtreg	a10					0x000a
xtensa xtreg	a11					0x000b
xtensa xtreg	a12					0x000c
xtensa xtreg	a13					0x000d
xtensa xtreg	a14					0x000e
xtensa xtreg	a15					0x000f
