162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
262306a36Sopenharmony_ci/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved.
362306a36Sopenharmony_ci */
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#ifndef __ASM_HARDWARE_CP14_H
662306a36Sopenharmony_ci#define __ASM_HARDWARE_CP14_H
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#include <linux/types.h>
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci/* Accessors for CP14 registers */
1162306a36Sopenharmony_ci#define dbg_read(reg)			RCP14_##reg()
1262306a36Sopenharmony_ci#define dbg_write(val, reg)		WCP14_##reg(val)
1362306a36Sopenharmony_ci#define etm_read(reg)			RCP14_##reg()
1462306a36Sopenharmony_ci#define etm_write(val, reg)		WCP14_##reg(val)
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci/* MRC14 and MCR14 */
1762306a36Sopenharmony_ci#define MRC14(op1, crn, crm, op2)					\
1862306a36Sopenharmony_ci({									\
1962306a36Sopenharmony_ciu32 val;								\
2062306a36Sopenharmony_ciasm volatile("mrc p14, "#op1", %0, "#crn", "#crm", "#op2 : "=r" (val));	\
2162306a36Sopenharmony_cival;									\
2262306a36Sopenharmony_ci})
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci#define MCR14(val, op1, crn, crm, op2)					\
2562306a36Sopenharmony_ci({									\
2662306a36Sopenharmony_ciasm volatile("mcr p14, "#op1", %0, "#crn", "#crm", "#op2 : : "r" (val));\
2762306a36Sopenharmony_ci})
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci/*
3062306a36Sopenharmony_ci * Debug Registers
3162306a36Sopenharmony_ci *
3262306a36Sopenharmony_ci * Available only in DBGv7
3362306a36Sopenharmony_ci * DBGECR, DBGDSCCR, DBGDSMCR, DBGDRCR
3462306a36Sopenharmony_ci *
3562306a36Sopenharmony_ci * Available only in DBGv7.1
3662306a36Sopenharmony_ci * DBGBXVRm, DBGOSDLR, DBGDEVID2, DBGDEVID1
3762306a36Sopenharmony_ci *
3862306a36Sopenharmony_ci * Read only
3962306a36Sopenharmony_ci * DBGDIDR, DBGDSCRint, DBGDTRRXint, DBGDRAR, DBGOSLSR, DBGOSSRR, DBGPRSR,
4062306a36Sopenharmony_ci * DBGPRSR, DBGDSAR, DBGAUTHSTATUS, DBGDEVID2, DBGDEVID1, DBGDEVID
4162306a36Sopenharmony_ci *
4262306a36Sopenharmony_ci * Write only
4362306a36Sopenharmony_ci * DBGDTRTXint, DBGOSLAR
4462306a36Sopenharmony_ci */
4562306a36Sopenharmony_ci#define RCP14_DBGDIDR()			MRC14(0, c0, c0, 0)
4662306a36Sopenharmony_ci#define RCP14_DBGDSCRint()		MRC14(0, c0, c1, 0)
4762306a36Sopenharmony_ci#define RCP14_DBGDTRRXint()		MRC14(0, c0, c5, 0)
4862306a36Sopenharmony_ci#define RCP14_DBGWFAR()			MRC14(0, c0, c6, 0)
4962306a36Sopenharmony_ci#define RCP14_DBGVCR()			MRC14(0, c0, c7, 0)
5062306a36Sopenharmony_ci#define RCP14_DBGECR()			MRC14(0, c0, c9, 0)
5162306a36Sopenharmony_ci#define RCP14_DBGDSCCR()		MRC14(0, c0, c10, 0)
5262306a36Sopenharmony_ci#define RCP14_DBGDSMCR()		MRC14(0, c0, c11, 0)
5362306a36Sopenharmony_ci#define RCP14_DBGDTRRXext()		MRC14(0, c0, c0, 2)
5462306a36Sopenharmony_ci#define RCP14_DBGDSCRext()		MRC14(0, c0, c2, 2)
5562306a36Sopenharmony_ci#define RCP14_DBGDTRTXext()		MRC14(0, c0, c3, 2)
5662306a36Sopenharmony_ci#define RCP14_DBGDRCR()			MRC14(0, c0, c4, 2)
5762306a36Sopenharmony_ci#define RCP14_DBGBVR0()			MRC14(0, c0, c0, 4)
5862306a36Sopenharmony_ci#define RCP14_DBGBVR1()			MRC14(0, c0, c1, 4)
5962306a36Sopenharmony_ci#define RCP14_DBGBVR2()			MRC14(0, c0, c2, 4)
6062306a36Sopenharmony_ci#define RCP14_DBGBVR3()			MRC14(0, c0, c3, 4)
6162306a36Sopenharmony_ci#define RCP14_DBGBVR4()			MRC14(0, c0, c4, 4)
6262306a36Sopenharmony_ci#define RCP14_DBGBVR5()			MRC14(0, c0, c5, 4)
6362306a36Sopenharmony_ci#define RCP14_DBGBVR6()			MRC14(0, c0, c6, 4)
6462306a36Sopenharmony_ci#define RCP14_DBGBVR7()			MRC14(0, c0, c7, 4)
6562306a36Sopenharmony_ci#define RCP14_DBGBVR8()			MRC14(0, c0, c8, 4)
6662306a36Sopenharmony_ci#define RCP14_DBGBVR9()			MRC14(0, c0, c9, 4)
6762306a36Sopenharmony_ci#define RCP14_DBGBVR10()		MRC14(0, c0, c10, 4)
6862306a36Sopenharmony_ci#define RCP14_DBGBVR11()		MRC14(0, c0, c11, 4)
6962306a36Sopenharmony_ci#define RCP14_DBGBVR12()		MRC14(0, c0, c12, 4)
7062306a36Sopenharmony_ci#define RCP14_DBGBVR13()		MRC14(0, c0, c13, 4)
7162306a36Sopenharmony_ci#define RCP14_DBGBVR14()		MRC14(0, c0, c14, 4)
7262306a36Sopenharmony_ci#define RCP14_DBGBVR15()		MRC14(0, c0, c15, 4)
7362306a36Sopenharmony_ci#define RCP14_DBGBCR0()			MRC14(0, c0, c0, 5)
7462306a36Sopenharmony_ci#define RCP14_DBGBCR1()			MRC14(0, c0, c1, 5)
7562306a36Sopenharmony_ci#define RCP14_DBGBCR2()			MRC14(0, c0, c2, 5)
7662306a36Sopenharmony_ci#define RCP14_DBGBCR3()			MRC14(0, c0, c3, 5)
7762306a36Sopenharmony_ci#define RCP14_DBGBCR4()			MRC14(0, c0, c4, 5)
7862306a36Sopenharmony_ci#define RCP14_DBGBCR5()			MRC14(0, c0, c5, 5)
7962306a36Sopenharmony_ci#define RCP14_DBGBCR6()			MRC14(0, c0, c6, 5)
8062306a36Sopenharmony_ci#define RCP14_DBGBCR7()			MRC14(0, c0, c7, 5)
8162306a36Sopenharmony_ci#define RCP14_DBGBCR8()			MRC14(0, c0, c8, 5)
8262306a36Sopenharmony_ci#define RCP14_DBGBCR9()			MRC14(0, c0, c9, 5)
8362306a36Sopenharmony_ci#define RCP14_DBGBCR10()		MRC14(0, c0, c10, 5)
8462306a36Sopenharmony_ci#define RCP14_DBGBCR11()		MRC14(0, c0, c11, 5)
8562306a36Sopenharmony_ci#define RCP14_DBGBCR12()		MRC14(0, c0, c12, 5)
8662306a36Sopenharmony_ci#define RCP14_DBGBCR13()		MRC14(0, c0, c13, 5)
8762306a36Sopenharmony_ci#define RCP14_DBGBCR14()		MRC14(0, c0, c14, 5)
8862306a36Sopenharmony_ci#define RCP14_DBGBCR15()		MRC14(0, c0, c15, 5)
8962306a36Sopenharmony_ci#define RCP14_DBGWVR0()			MRC14(0, c0, c0, 6)
9062306a36Sopenharmony_ci#define RCP14_DBGWVR1()			MRC14(0, c0, c1, 6)
9162306a36Sopenharmony_ci#define RCP14_DBGWVR2()			MRC14(0, c0, c2, 6)
9262306a36Sopenharmony_ci#define RCP14_DBGWVR3()			MRC14(0, c0, c3, 6)
9362306a36Sopenharmony_ci#define RCP14_DBGWVR4()			MRC14(0, c0, c4, 6)
9462306a36Sopenharmony_ci#define RCP14_DBGWVR5()			MRC14(0, c0, c5, 6)
9562306a36Sopenharmony_ci#define RCP14_DBGWVR6()			MRC14(0, c0, c6, 6)
9662306a36Sopenharmony_ci#define RCP14_DBGWVR7()			MRC14(0, c0, c7, 6)
9762306a36Sopenharmony_ci#define RCP14_DBGWVR8()			MRC14(0, c0, c8, 6)
9862306a36Sopenharmony_ci#define RCP14_DBGWVR9()			MRC14(0, c0, c9, 6)
9962306a36Sopenharmony_ci#define RCP14_DBGWVR10()		MRC14(0, c0, c10, 6)
10062306a36Sopenharmony_ci#define RCP14_DBGWVR11()		MRC14(0, c0, c11, 6)
10162306a36Sopenharmony_ci#define RCP14_DBGWVR12()		MRC14(0, c0, c12, 6)
10262306a36Sopenharmony_ci#define RCP14_DBGWVR13()		MRC14(0, c0, c13, 6)
10362306a36Sopenharmony_ci#define RCP14_DBGWVR14()		MRC14(0, c0, c14, 6)
10462306a36Sopenharmony_ci#define RCP14_DBGWVR15()		MRC14(0, c0, c15, 6)
10562306a36Sopenharmony_ci#define RCP14_DBGWCR0()			MRC14(0, c0, c0, 7)
10662306a36Sopenharmony_ci#define RCP14_DBGWCR1()			MRC14(0, c0, c1, 7)
10762306a36Sopenharmony_ci#define RCP14_DBGWCR2()			MRC14(0, c0, c2, 7)
10862306a36Sopenharmony_ci#define RCP14_DBGWCR3()			MRC14(0, c0, c3, 7)
10962306a36Sopenharmony_ci#define RCP14_DBGWCR4()			MRC14(0, c0, c4, 7)
11062306a36Sopenharmony_ci#define RCP14_DBGWCR5()			MRC14(0, c0, c5, 7)
11162306a36Sopenharmony_ci#define RCP14_DBGWCR6()			MRC14(0, c0, c6, 7)
11262306a36Sopenharmony_ci#define RCP14_DBGWCR7()			MRC14(0, c0, c7, 7)
11362306a36Sopenharmony_ci#define RCP14_DBGWCR8()			MRC14(0, c0, c8, 7)
11462306a36Sopenharmony_ci#define RCP14_DBGWCR9()			MRC14(0, c0, c9, 7)
11562306a36Sopenharmony_ci#define RCP14_DBGWCR10()		MRC14(0, c0, c10, 7)
11662306a36Sopenharmony_ci#define RCP14_DBGWCR11()		MRC14(0, c0, c11, 7)
11762306a36Sopenharmony_ci#define RCP14_DBGWCR12()		MRC14(0, c0, c12, 7)
11862306a36Sopenharmony_ci#define RCP14_DBGWCR13()		MRC14(0, c0, c13, 7)
11962306a36Sopenharmony_ci#define RCP14_DBGWCR14()		MRC14(0, c0, c14, 7)
12062306a36Sopenharmony_ci#define RCP14_DBGWCR15()		MRC14(0, c0, c15, 7)
12162306a36Sopenharmony_ci#define RCP14_DBGDRAR()			MRC14(0, c1, c0, 0)
12262306a36Sopenharmony_ci#define RCP14_DBGBXVR0()		MRC14(0, c1, c0, 1)
12362306a36Sopenharmony_ci#define RCP14_DBGBXVR1()		MRC14(0, c1, c1, 1)
12462306a36Sopenharmony_ci#define RCP14_DBGBXVR2()		MRC14(0, c1, c2, 1)
12562306a36Sopenharmony_ci#define RCP14_DBGBXVR3()		MRC14(0, c1, c3, 1)
12662306a36Sopenharmony_ci#define RCP14_DBGBXVR4()		MRC14(0, c1, c4, 1)
12762306a36Sopenharmony_ci#define RCP14_DBGBXVR5()		MRC14(0, c1, c5, 1)
12862306a36Sopenharmony_ci#define RCP14_DBGBXVR6()		MRC14(0, c1, c6, 1)
12962306a36Sopenharmony_ci#define RCP14_DBGBXVR7()		MRC14(0, c1, c7, 1)
13062306a36Sopenharmony_ci#define RCP14_DBGBXVR8()		MRC14(0, c1, c8, 1)
13162306a36Sopenharmony_ci#define RCP14_DBGBXVR9()		MRC14(0, c1, c9, 1)
13262306a36Sopenharmony_ci#define RCP14_DBGBXVR10()		MRC14(0, c1, c10, 1)
13362306a36Sopenharmony_ci#define RCP14_DBGBXVR11()		MRC14(0, c1, c11, 1)
13462306a36Sopenharmony_ci#define RCP14_DBGBXVR12()		MRC14(0, c1, c12, 1)
13562306a36Sopenharmony_ci#define RCP14_DBGBXVR13()		MRC14(0, c1, c13, 1)
13662306a36Sopenharmony_ci#define RCP14_DBGBXVR14()		MRC14(0, c1, c14, 1)
13762306a36Sopenharmony_ci#define RCP14_DBGBXVR15()		MRC14(0, c1, c15, 1)
13862306a36Sopenharmony_ci#define RCP14_DBGOSLSR()		MRC14(0, c1, c1, 4)
13962306a36Sopenharmony_ci#define RCP14_DBGOSSRR()		MRC14(0, c1, c2, 4)
14062306a36Sopenharmony_ci#define RCP14_DBGOSDLR()		MRC14(0, c1, c3, 4)
14162306a36Sopenharmony_ci#define RCP14_DBGPRCR()			MRC14(0, c1, c4, 4)
14262306a36Sopenharmony_ci#define RCP14_DBGPRSR()			MRC14(0, c1, c5, 4)
14362306a36Sopenharmony_ci#define RCP14_DBGDSAR()			MRC14(0, c2, c0, 0)
14462306a36Sopenharmony_ci#define RCP14_DBGITCTRL()		MRC14(0, c7, c0, 4)
14562306a36Sopenharmony_ci#define RCP14_DBGCLAIMSET()		MRC14(0, c7, c8, 6)
14662306a36Sopenharmony_ci#define RCP14_DBGCLAIMCLR()		MRC14(0, c7, c9, 6)
14762306a36Sopenharmony_ci#define RCP14_DBGAUTHSTATUS()		MRC14(0, c7, c14, 6)
14862306a36Sopenharmony_ci#define RCP14_DBGDEVID2()		MRC14(0, c7, c0, 7)
14962306a36Sopenharmony_ci#define RCP14_DBGDEVID1()		MRC14(0, c7, c1, 7)
15062306a36Sopenharmony_ci#define RCP14_DBGDEVID()		MRC14(0, c7, c2, 7)
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci#define WCP14_DBGDTRTXint(val)		MCR14(val, 0, c0, c5, 0)
15362306a36Sopenharmony_ci#define WCP14_DBGWFAR(val)		MCR14(val, 0, c0, c6, 0)
15462306a36Sopenharmony_ci#define WCP14_DBGVCR(val)		MCR14(val, 0, c0, c7, 0)
15562306a36Sopenharmony_ci#define WCP14_DBGECR(val)		MCR14(val, 0, c0, c9, 0)
15662306a36Sopenharmony_ci#define WCP14_DBGDSCCR(val)		MCR14(val, 0, c0, c10, 0)
15762306a36Sopenharmony_ci#define WCP14_DBGDSMCR(val)		MCR14(val, 0, c0, c11, 0)
15862306a36Sopenharmony_ci#define WCP14_DBGDTRRXext(val)		MCR14(val, 0, c0, c0, 2)
15962306a36Sopenharmony_ci#define WCP14_DBGDSCRext(val)		MCR14(val, 0, c0, c2, 2)
16062306a36Sopenharmony_ci#define WCP14_DBGDTRTXext(val)		MCR14(val, 0, c0, c3, 2)
16162306a36Sopenharmony_ci#define WCP14_DBGDRCR(val)		MCR14(val, 0, c0, c4, 2)
16262306a36Sopenharmony_ci#define WCP14_DBGBVR0(val)		MCR14(val, 0, c0, c0, 4)
16362306a36Sopenharmony_ci#define WCP14_DBGBVR1(val)		MCR14(val, 0, c0, c1, 4)
16462306a36Sopenharmony_ci#define WCP14_DBGBVR2(val)		MCR14(val, 0, c0, c2, 4)
16562306a36Sopenharmony_ci#define WCP14_DBGBVR3(val)		MCR14(val, 0, c0, c3, 4)
16662306a36Sopenharmony_ci#define WCP14_DBGBVR4(val)		MCR14(val, 0, c0, c4, 4)
16762306a36Sopenharmony_ci#define WCP14_DBGBVR5(val)		MCR14(val, 0, c0, c5, 4)
16862306a36Sopenharmony_ci#define WCP14_DBGBVR6(val)		MCR14(val, 0, c0, c6, 4)
16962306a36Sopenharmony_ci#define WCP14_DBGBVR7(val)		MCR14(val, 0, c0, c7, 4)
17062306a36Sopenharmony_ci#define WCP14_DBGBVR8(val)		MCR14(val, 0, c0, c8, 4)
17162306a36Sopenharmony_ci#define WCP14_DBGBVR9(val)		MCR14(val, 0, c0, c9, 4)
17262306a36Sopenharmony_ci#define WCP14_DBGBVR10(val)		MCR14(val, 0, c0, c10, 4)
17362306a36Sopenharmony_ci#define WCP14_DBGBVR11(val)		MCR14(val, 0, c0, c11, 4)
17462306a36Sopenharmony_ci#define WCP14_DBGBVR12(val)		MCR14(val, 0, c0, c12, 4)
17562306a36Sopenharmony_ci#define WCP14_DBGBVR13(val)		MCR14(val, 0, c0, c13, 4)
17662306a36Sopenharmony_ci#define WCP14_DBGBVR14(val)		MCR14(val, 0, c0, c14, 4)
17762306a36Sopenharmony_ci#define WCP14_DBGBVR15(val)		MCR14(val, 0, c0, c15, 4)
17862306a36Sopenharmony_ci#define WCP14_DBGBCR0(val)		MCR14(val, 0, c0, c0, 5)
17962306a36Sopenharmony_ci#define WCP14_DBGBCR1(val)		MCR14(val, 0, c0, c1, 5)
18062306a36Sopenharmony_ci#define WCP14_DBGBCR2(val)		MCR14(val, 0, c0, c2, 5)
18162306a36Sopenharmony_ci#define WCP14_DBGBCR3(val)		MCR14(val, 0, c0, c3, 5)
18262306a36Sopenharmony_ci#define WCP14_DBGBCR4(val)		MCR14(val, 0, c0, c4, 5)
18362306a36Sopenharmony_ci#define WCP14_DBGBCR5(val)		MCR14(val, 0, c0, c5, 5)
18462306a36Sopenharmony_ci#define WCP14_DBGBCR6(val)		MCR14(val, 0, c0, c6, 5)
18562306a36Sopenharmony_ci#define WCP14_DBGBCR7(val)		MCR14(val, 0, c0, c7, 5)
18662306a36Sopenharmony_ci#define WCP14_DBGBCR8(val)		MCR14(val, 0, c0, c8, 5)
18762306a36Sopenharmony_ci#define WCP14_DBGBCR9(val)		MCR14(val, 0, c0, c9, 5)
18862306a36Sopenharmony_ci#define WCP14_DBGBCR10(val)		MCR14(val, 0, c0, c10, 5)
18962306a36Sopenharmony_ci#define WCP14_DBGBCR11(val)		MCR14(val, 0, c0, c11, 5)
19062306a36Sopenharmony_ci#define WCP14_DBGBCR12(val)		MCR14(val, 0, c0, c12, 5)
19162306a36Sopenharmony_ci#define WCP14_DBGBCR13(val)		MCR14(val, 0, c0, c13, 5)
19262306a36Sopenharmony_ci#define WCP14_DBGBCR14(val)		MCR14(val, 0, c0, c14, 5)
19362306a36Sopenharmony_ci#define WCP14_DBGBCR15(val)		MCR14(val, 0, c0, c15, 5)
19462306a36Sopenharmony_ci#define WCP14_DBGWVR0(val)		MCR14(val, 0, c0, c0, 6)
19562306a36Sopenharmony_ci#define WCP14_DBGWVR1(val)		MCR14(val, 0, c0, c1, 6)
19662306a36Sopenharmony_ci#define WCP14_DBGWVR2(val)		MCR14(val, 0, c0, c2, 6)
19762306a36Sopenharmony_ci#define WCP14_DBGWVR3(val)		MCR14(val, 0, c0, c3, 6)
19862306a36Sopenharmony_ci#define WCP14_DBGWVR4(val)		MCR14(val, 0, c0, c4, 6)
19962306a36Sopenharmony_ci#define WCP14_DBGWVR5(val)		MCR14(val, 0, c0, c5, 6)
20062306a36Sopenharmony_ci#define WCP14_DBGWVR6(val)		MCR14(val, 0, c0, c6, 6)
20162306a36Sopenharmony_ci#define WCP14_DBGWVR7(val)		MCR14(val, 0, c0, c7, 6)
20262306a36Sopenharmony_ci#define WCP14_DBGWVR8(val)		MCR14(val, 0, c0, c8, 6)
20362306a36Sopenharmony_ci#define WCP14_DBGWVR9(val)		MCR14(val, 0, c0, c9, 6)
20462306a36Sopenharmony_ci#define WCP14_DBGWVR10(val)		MCR14(val, 0, c0, c10, 6)
20562306a36Sopenharmony_ci#define WCP14_DBGWVR11(val)		MCR14(val, 0, c0, c11, 6)
20662306a36Sopenharmony_ci#define WCP14_DBGWVR12(val)		MCR14(val, 0, c0, c12, 6)
20762306a36Sopenharmony_ci#define WCP14_DBGWVR13(val)		MCR14(val, 0, c0, c13, 6)
20862306a36Sopenharmony_ci#define WCP14_DBGWVR14(val)		MCR14(val, 0, c0, c14, 6)
20962306a36Sopenharmony_ci#define WCP14_DBGWVR15(val)		MCR14(val, 0, c0, c15, 6)
21062306a36Sopenharmony_ci#define WCP14_DBGWCR0(val)		MCR14(val, 0, c0, c0, 7)
21162306a36Sopenharmony_ci#define WCP14_DBGWCR1(val)		MCR14(val, 0, c0, c1, 7)
21262306a36Sopenharmony_ci#define WCP14_DBGWCR2(val)		MCR14(val, 0, c0, c2, 7)
21362306a36Sopenharmony_ci#define WCP14_DBGWCR3(val)		MCR14(val, 0, c0, c3, 7)
21462306a36Sopenharmony_ci#define WCP14_DBGWCR4(val)		MCR14(val, 0, c0, c4, 7)
21562306a36Sopenharmony_ci#define WCP14_DBGWCR5(val)		MCR14(val, 0, c0, c5, 7)
21662306a36Sopenharmony_ci#define WCP14_DBGWCR6(val)		MCR14(val, 0, c0, c6, 7)
21762306a36Sopenharmony_ci#define WCP14_DBGWCR7(val)		MCR14(val, 0, c0, c7, 7)
21862306a36Sopenharmony_ci#define WCP14_DBGWCR8(val)		MCR14(val, 0, c0, c8, 7)
21962306a36Sopenharmony_ci#define WCP14_DBGWCR9(val)		MCR14(val, 0, c0, c9, 7)
22062306a36Sopenharmony_ci#define WCP14_DBGWCR10(val)		MCR14(val, 0, c0, c10, 7)
22162306a36Sopenharmony_ci#define WCP14_DBGWCR11(val)		MCR14(val, 0, c0, c11, 7)
22262306a36Sopenharmony_ci#define WCP14_DBGWCR12(val)		MCR14(val, 0, c0, c12, 7)
22362306a36Sopenharmony_ci#define WCP14_DBGWCR13(val)		MCR14(val, 0, c0, c13, 7)
22462306a36Sopenharmony_ci#define WCP14_DBGWCR14(val)		MCR14(val, 0, c0, c14, 7)
22562306a36Sopenharmony_ci#define WCP14_DBGWCR15(val)		MCR14(val, 0, c0, c15, 7)
22662306a36Sopenharmony_ci#define WCP14_DBGBXVR0(val)		MCR14(val, 0, c1, c0, 1)
22762306a36Sopenharmony_ci#define WCP14_DBGBXVR1(val)		MCR14(val, 0, c1, c1, 1)
22862306a36Sopenharmony_ci#define WCP14_DBGBXVR2(val)		MCR14(val, 0, c1, c2, 1)
22962306a36Sopenharmony_ci#define WCP14_DBGBXVR3(val)		MCR14(val, 0, c1, c3, 1)
23062306a36Sopenharmony_ci#define WCP14_DBGBXVR4(val)		MCR14(val, 0, c1, c4, 1)
23162306a36Sopenharmony_ci#define WCP14_DBGBXVR5(val)		MCR14(val, 0, c1, c5, 1)
23262306a36Sopenharmony_ci#define WCP14_DBGBXVR6(val)		MCR14(val, 0, c1, c6, 1)
23362306a36Sopenharmony_ci#define WCP14_DBGBXVR7(val)		MCR14(val, 0, c1, c7, 1)
23462306a36Sopenharmony_ci#define WCP14_DBGBXVR8(val)		MCR14(val, 0, c1, c8, 1)
23562306a36Sopenharmony_ci#define WCP14_DBGBXVR9(val)		MCR14(val, 0, c1, c9, 1)
23662306a36Sopenharmony_ci#define WCP14_DBGBXVR10(val)		MCR14(val, 0, c1, c10, 1)
23762306a36Sopenharmony_ci#define WCP14_DBGBXVR11(val)		MCR14(val, 0, c1, c11, 1)
23862306a36Sopenharmony_ci#define WCP14_DBGBXVR12(val)		MCR14(val, 0, c1, c12, 1)
23962306a36Sopenharmony_ci#define WCP14_DBGBXVR13(val)		MCR14(val, 0, c1, c13, 1)
24062306a36Sopenharmony_ci#define WCP14_DBGBXVR14(val)		MCR14(val, 0, c1, c14, 1)
24162306a36Sopenharmony_ci#define WCP14_DBGBXVR15(val)		MCR14(val, 0, c1, c15, 1)
24262306a36Sopenharmony_ci#define WCP14_DBGOSLAR(val)		MCR14(val, 0, c1, c0, 4)
24362306a36Sopenharmony_ci#define WCP14_DBGOSSRR(val)		MCR14(val, 0, c1, c2, 4)
24462306a36Sopenharmony_ci#define WCP14_DBGOSDLR(val)		MCR14(val, 0, c1, c3, 4)
24562306a36Sopenharmony_ci#define WCP14_DBGPRCR(val)		MCR14(val, 0, c1, c4, 4)
24662306a36Sopenharmony_ci#define WCP14_DBGITCTRL(val)		MCR14(val, 0, c7, c0, 4)
24762306a36Sopenharmony_ci#define WCP14_DBGCLAIMSET(val)		MCR14(val, 0, c7, c8, 6)
24862306a36Sopenharmony_ci#define WCP14_DBGCLAIMCLR(val)		MCR14(val, 0, c7, c9, 6)
24962306a36Sopenharmony_ci
25062306a36Sopenharmony_ci/*
25162306a36Sopenharmony_ci * ETM Registers
25262306a36Sopenharmony_ci *
25362306a36Sopenharmony_ci * Available only in ETMv3.3, 3.4, 3.5
25462306a36Sopenharmony_ci * ETMASICCR, ETMTECR2, ETMFFRR, ETMVDEVR, ETMVDCR1, ETMVDCR2, ETMVDCR3,
25562306a36Sopenharmony_ci * ETMDCVRn, ETMDCMRn
25662306a36Sopenharmony_ci *
25762306a36Sopenharmony_ci * Available only in ETMv3.5 as read only
25862306a36Sopenharmony_ci * ETMIDR2
25962306a36Sopenharmony_ci *
26062306a36Sopenharmony_ci * Available only in ETMv3.5, PFTv1.0, 1.1
26162306a36Sopenharmony_ci * ETMTSEVR, ETMVMIDCVR, ETMPDCR
26262306a36Sopenharmony_ci *
26362306a36Sopenharmony_ci * Read only
26462306a36Sopenharmony_ci * ETMCCR, ETMSCR, ETMIDR, ETMCCER, ETMOSLSR
26562306a36Sopenharmony_ci * ETMLSR, ETMAUTHSTATUS, ETMDEVID, ETMDEVTYPE, ETMPIDR4, ETMPIDR5, ETMPIDR6,
26662306a36Sopenharmony_ci * ETMPIDR7, ETMPIDR0, ETMPIDR1, ETMPIDR2, ETMPIDR2, ETMPIDR3, ETMCIDR0,
26762306a36Sopenharmony_ci * ETMCIDR1, ETMCIDR2, ETMCIDR3
26862306a36Sopenharmony_ci *
26962306a36Sopenharmony_ci * Write only
27062306a36Sopenharmony_ci * ETMOSLAR, ETMLAR
27162306a36Sopenharmony_ci * Note: ETMCCER[11] controls WO nature of certain regs. Refer ETM arch spec.
27262306a36Sopenharmony_ci */
27362306a36Sopenharmony_ci#define RCP14_ETMCR()			MRC14(1, c0, c0, 0)
27462306a36Sopenharmony_ci#define RCP14_ETMCCR()			MRC14(1, c0, c1, 0)
27562306a36Sopenharmony_ci#define RCP14_ETMTRIGGER()		MRC14(1, c0, c2, 0)
27662306a36Sopenharmony_ci#define RCP14_ETMASICCR()		MRC14(1, c0, c3, 0)
27762306a36Sopenharmony_ci#define RCP14_ETMSR()			MRC14(1, c0, c4, 0)
27862306a36Sopenharmony_ci#define RCP14_ETMSCR()			MRC14(1, c0, c5, 0)
27962306a36Sopenharmony_ci#define RCP14_ETMTSSCR()		MRC14(1, c0, c6, 0)
28062306a36Sopenharmony_ci#define RCP14_ETMTECR2()		MRC14(1, c0, c7, 0)
28162306a36Sopenharmony_ci#define RCP14_ETMTEEVR()		MRC14(1, c0, c8, 0)
28262306a36Sopenharmony_ci#define RCP14_ETMTECR1()		MRC14(1, c0, c9, 0)
28362306a36Sopenharmony_ci#define RCP14_ETMFFRR()			MRC14(1, c0, c10, 0)
28462306a36Sopenharmony_ci#define RCP14_ETMFFLR()			MRC14(1, c0, c11, 0)
28562306a36Sopenharmony_ci#define RCP14_ETMVDEVR()		MRC14(1, c0, c12, 0)
28662306a36Sopenharmony_ci#define RCP14_ETMVDCR1()		MRC14(1, c0, c13, 0)
28762306a36Sopenharmony_ci#define RCP14_ETMVDCR2()		MRC14(1, c0, c14, 0)
28862306a36Sopenharmony_ci#define RCP14_ETMVDCR3()		MRC14(1, c0, c15, 0)
28962306a36Sopenharmony_ci#define RCP14_ETMACVR0()		MRC14(1, c0, c0, 1)
29062306a36Sopenharmony_ci#define RCP14_ETMACVR1()		MRC14(1, c0, c1, 1)
29162306a36Sopenharmony_ci#define RCP14_ETMACVR2()		MRC14(1, c0, c2, 1)
29262306a36Sopenharmony_ci#define RCP14_ETMACVR3()		MRC14(1, c0, c3, 1)
29362306a36Sopenharmony_ci#define RCP14_ETMACVR4()		MRC14(1, c0, c4, 1)
29462306a36Sopenharmony_ci#define RCP14_ETMACVR5()		MRC14(1, c0, c5, 1)
29562306a36Sopenharmony_ci#define RCP14_ETMACVR6()		MRC14(1, c0, c6, 1)
29662306a36Sopenharmony_ci#define RCP14_ETMACVR7()		MRC14(1, c0, c7, 1)
29762306a36Sopenharmony_ci#define RCP14_ETMACVR8()		MRC14(1, c0, c8, 1)
29862306a36Sopenharmony_ci#define RCP14_ETMACVR9()		MRC14(1, c0, c9, 1)
29962306a36Sopenharmony_ci#define RCP14_ETMACVR10()		MRC14(1, c0, c10, 1)
30062306a36Sopenharmony_ci#define RCP14_ETMACVR11()		MRC14(1, c0, c11, 1)
30162306a36Sopenharmony_ci#define RCP14_ETMACVR12()		MRC14(1, c0, c12, 1)
30262306a36Sopenharmony_ci#define RCP14_ETMACVR13()		MRC14(1, c0, c13, 1)
30362306a36Sopenharmony_ci#define RCP14_ETMACVR14()		MRC14(1, c0, c14, 1)
30462306a36Sopenharmony_ci#define RCP14_ETMACVR15()		MRC14(1, c0, c15, 1)
30562306a36Sopenharmony_ci#define RCP14_ETMACTR0()		MRC14(1, c0, c0, 2)
30662306a36Sopenharmony_ci#define RCP14_ETMACTR1()		MRC14(1, c0, c1, 2)
30762306a36Sopenharmony_ci#define RCP14_ETMACTR2()		MRC14(1, c0, c2, 2)
30862306a36Sopenharmony_ci#define RCP14_ETMACTR3()		MRC14(1, c0, c3, 2)
30962306a36Sopenharmony_ci#define RCP14_ETMACTR4()		MRC14(1, c0, c4, 2)
31062306a36Sopenharmony_ci#define RCP14_ETMACTR5()		MRC14(1, c0, c5, 2)
31162306a36Sopenharmony_ci#define RCP14_ETMACTR6()		MRC14(1, c0, c6, 2)
31262306a36Sopenharmony_ci#define RCP14_ETMACTR7()		MRC14(1, c0, c7, 2)
31362306a36Sopenharmony_ci#define RCP14_ETMACTR8()		MRC14(1, c0, c8, 2)
31462306a36Sopenharmony_ci#define RCP14_ETMACTR9()		MRC14(1, c0, c9, 2)
31562306a36Sopenharmony_ci#define RCP14_ETMACTR10()		MRC14(1, c0, c10, 2)
31662306a36Sopenharmony_ci#define RCP14_ETMACTR11()		MRC14(1, c0, c11, 2)
31762306a36Sopenharmony_ci#define RCP14_ETMACTR12()		MRC14(1, c0, c12, 2)
31862306a36Sopenharmony_ci#define RCP14_ETMACTR13()		MRC14(1, c0, c13, 2)
31962306a36Sopenharmony_ci#define RCP14_ETMACTR14()		MRC14(1, c0, c14, 2)
32062306a36Sopenharmony_ci#define RCP14_ETMACTR15()		MRC14(1, c0, c15, 2)
32162306a36Sopenharmony_ci#define RCP14_ETMDCVR0()		MRC14(1, c0, c0, 3)
32262306a36Sopenharmony_ci#define RCP14_ETMDCVR2()		MRC14(1, c0, c2, 3)
32362306a36Sopenharmony_ci#define RCP14_ETMDCVR4()		MRC14(1, c0, c4, 3)
32462306a36Sopenharmony_ci#define RCP14_ETMDCVR6()		MRC14(1, c0, c6, 3)
32562306a36Sopenharmony_ci#define RCP14_ETMDCVR8()		MRC14(1, c0, c8, 3)
32662306a36Sopenharmony_ci#define RCP14_ETMDCVR10()		MRC14(1, c0, c10, 3)
32762306a36Sopenharmony_ci#define RCP14_ETMDCVR12()		MRC14(1, c0, c12, 3)
32862306a36Sopenharmony_ci#define RCP14_ETMDCVR14()		MRC14(1, c0, c14, 3)
32962306a36Sopenharmony_ci#define RCP14_ETMDCMR0()		MRC14(1, c0, c0, 4)
33062306a36Sopenharmony_ci#define RCP14_ETMDCMR2()		MRC14(1, c0, c2, 4)
33162306a36Sopenharmony_ci#define RCP14_ETMDCMR4()		MRC14(1, c0, c4, 4)
33262306a36Sopenharmony_ci#define RCP14_ETMDCMR6()		MRC14(1, c0, c6, 4)
33362306a36Sopenharmony_ci#define RCP14_ETMDCMR8()		MRC14(1, c0, c8, 4)
33462306a36Sopenharmony_ci#define RCP14_ETMDCMR10()		MRC14(1, c0, c10, 4)
33562306a36Sopenharmony_ci#define RCP14_ETMDCMR12()		MRC14(1, c0, c12, 4)
33662306a36Sopenharmony_ci#define RCP14_ETMDCMR14()		MRC14(1, c0, c14, 4)
33762306a36Sopenharmony_ci#define RCP14_ETMCNTRLDVR0()		MRC14(1, c0, c0, 5)
33862306a36Sopenharmony_ci#define RCP14_ETMCNTRLDVR1()		MRC14(1, c0, c1, 5)
33962306a36Sopenharmony_ci#define RCP14_ETMCNTRLDVR2()		MRC14(1, c0, c2, 5)
34062306a36Sopenharmony_ci#define RCP14_ETMCNTRLDVR3()		MRC14(1, c0, c3, 5)
34162306a36Sopenharmony_ci#define RCP14_ETMCNTENR0()		MRC14(1, c0, c4, 5)
34262306a36Sopenharmony_ci#define RCP14_ETMCNTENR1()		MRC14(1, c0, c5, 5)
34362306a36Sopenharmony_ci#define RCP14_ETMCNTENR2()		MRC14(1, c0, c6, 5)
34462306a36Sopenharmony_ci#define RCP14_ETMCNTENR3()		MRC14(1, c0, c7, 5)
34562306a36Sopenharmony_ci#define RCP14_ETMCNTRLDEVR0()		MRC14(1, c0, c8, 5)
34662306a36Sopenharmony_ci#define RCP14_ETMCNTRLDEVR1()		MRC14(1, c0, c9, 5)
34762306a36Sopenharmony_ci#define RCP14_ETMCNTRLDEVR2()		MRC14(1, c0, c10, 5)
34862306a36Sopenharmony_ci#define RCP14_ETMCNTRLDEVR3()		MRC14(1, c0, c11, 5)
34962306a36Sopenharmony_ci#define RCP14_ETMCNTVR0()		MRC14(1, c0, c12, 5)
35062306a36Sopenharmony_ci#define RCP14_ETMCNTVR1()		MRC14(1, c0, c13, 5)
35162306a36Sopenharmony_ci#define RCP14_ETMCNTVR2()		MRC14(1, c0, c14, 5)
35262306a36Sopenharmony_ci#define RCP14_ETMCNTVR3()		MRC14(1, c0, c15, 5)
35362306a36Sopenharmony_ci#define RCP14_ETMSQ12EVR()		MRC14(1, c0, c0, 6)
35462306a36Sopenharmony_ci#define RCP14_ETMSQ21EVR()		MRC14(1, c0, c1, 6)
35562306a36Sopenharmony_ci#define RCP14_ETMSQ23EVR()		MRC14(1, c0, c2, 6)
35662306a36Sopenharmony_ci#define RCP14_ETMSQ31EVR()		MRC14(1, c0, c3, 6)
35762306a36Sopenharmony_ci#define RCP14_ETMSQ32EVR()		MRC14(1, c0, c4, 6)
35862306a36Sopenharmony_ci#define RCP14_ETMSQ13EVR()		MRC14(1, c0, c5, 6)
35962306a36Sopenharmony_ci#define RCP14_ETMSQR()			MRC14(1, c0, c7, 6)
36062306a36Sopenharmony_ci#define RCP14_ETMEXTOUTEVR0()		MRC14(1, c0, c8, 6)
36162306a36Sopenharmony_ci#define RCP14_ETMEXTOUTEVR1()		MRC14(1, c0, c9, 6)
36262306a36Sopenharmony_ci#define RCP14_ETMEXTOUTEVR2()		MRC14(1, c0, c10, 6)
36362306a36Sopenharmony_ci#define RCP14_ETMEXTOUTEVR3()		MRC14(1, c0, c11, 6)
36462306a36Sopenharmony_ci#define RCP14_ETMCIDCVR0()		MRC14(1, c0, c12, 6)
36562306a36Sopenharmony_ci#define RCP14_ETMCIDCVR1()		MRC14(1, c0, c13, 6)
36662306a36Sopenharmony_ci#define RCP14_ETMCIDCVR2()		MRC14(1, c0, c14, 6)
36762306a36Sopenharmony_ci#define RCP14_ETMCIDCMR()		MRC14(1, c0, c15, 6)
36862306a36Sopenharmony_ci#define RCP14_ETMIMPSPEC0()		MRC14(1, c0, c0, 7)
36962306a36Sopenharmony_ci#define RCP14_ETMIMPSPEC1()		MRC14(1, c0, c1, 7)
37062306a36Sopenharmony_ci#define RCP14_ETMIMPSPEC2()		MRC14(1, c0, c2, 7)
37162306a36Sopenharmony_ci#define RCP14_ETMIMPSPEC3()		MRC14(1, c0, c3, 7)
37262306a36Sopenharmony_ci#define RCP14_ETMIMPSPEC4()		MRC14(1, c0, c4, 7)
37362306a36Sopenharmony_ci#define RCP14_ETMIMPSPEC5()		MRC14(1, c0, c5, 7)
37462306a36Sopenharmony_ci#define RCP14_ETMIMPSPEC6()		MRC14(1, c0, c6, 7)
37562306a36Sopenharmony_ci#define RCP14_ETMIMPSPEC7()		MRC14(1, c0, c7, 7)
37662306a36Sopenharmony_ci#define RCP14_ETMSYNCFR()		MRC14(1, c0, c8, 7)
37762306a36Sopenharmony_ci#define RCP14_ETMIDR()			MRC14(1, c0, c9, 7)
37862306a36Sopenharmony_ci#define RCP14_ETMCCER()			MRC14(1, c0, c10, 7)
37962306a36Sopenharmony_ci#define RCP14_ETMEXTINSELR()		MRC14(1, c0, c11, 7)
38062306a36Sopenharmony_ci#define RCP14_ETMTESSEICR()		MRC14(1, c0, c12, 7)
38162306a36Sopenharmony_ci#define RCP14_ETMEIBCR()		MRC14(1, c0, c13, 7)
38262306a36Sopenharmony_ci#define RCP14_ETMTSEVR()		MRC14(1, c0, c14, 7)
38362306a36Sopenharmony_ci#define RCP14_ETMAUXCR()		MRC14(1, c0, c15, 7)
38462306a36Sopenharmony_ci#define RCP14_ETMTRACEIDR()		MRC14(1, c1, c0, 0)
38562306a36Sopenharmony_ci#define RCP14_ETMIDR2()			MRC14(1, c1, c2, 0)
38662306a36Sopenharmony_ci#define RCP14_ETMVMIDCVR()		MRC14(1, c1, c0, 1)
38762306a36Sopenharmony_ci#define RCP14_ETMOSLSR()		MRC14(1, c1, c1, 4)
38862306a36Sopenharmony_ci/* Not available in PFTv1.1 */
38962306a36Sopenharmony_ci#define RCP14_ETMOSSRR()		MRC14(1, c1, c2, 4)
39062306a36Sopenharmony_ci#define RCP14_ETMPDCR()			MRC14(1, c1, c4, 4)
39162306a36Sopenharmony_ci#define RCP14_ETMPDSR()			MRC14(1, c1, c5, 4)
39262306a36Sopenharmony_ci#define RCP14_ETMITCTRL()		MRC14(1, c7, c0, 4)
39362306a36Sopenharmony_ci#define RCP14_ETMCLAIMSET()		MRC14(1, c7, c8, 6)
39462306a36Sopenharmony_ci#define RCP14_ETMCLAIMCLR()		MRC14(1, c7, c9, 6)
39562306a36Sopenharmony_ci#define RCP14_ETMLSR()			MRC14(1, c7, c13, 6)
39662306a36Sopenharmony_ci#define RCP14_ETMAUTHSTATUS()		MRC14(1, c7, c14, 6)
39762306a36Sopenharmony_ci#define RCP14_ETMDEVID()		MRC14(1, c7, c2, 7)
39862306a36Sopenharmony_ci#define RCP14_ETMDEVTYPE()		MRC14(1, c7, c3, 7)
39962306a36Sopenharmony_ci#define RCP14_ETMPIDR4()		MRC14(1, c7, c4, 7)
40062306a36Sopenharmony_ci#define RCP14_ETMPIDR5()		MRC14(1, c7, c5, 7)
40162306a36Sopenharmony_ci#define RCP14_ETMPIDR6()		MRC14(1, c7, c6, 7)
40262306a36Sopenharmony_ci#define RCP14_ETMPIDR7()		MRC14(1, c7, c7, 7)
40362306a36Sopenharmony_ci#define RCP14_ETMPIDR0()		MRC14(1, c7, c8, 7)
40462306a36Sopenharmony_ci#define RCP14_ETMPIDR1()		MRC14(1, c7, c9, 7)
40562306a36Sopenharmony_ci#define RCP14_ETMPIDR2()		MRC14(1, c7, c10, 7)
40662306a36Sopenharmony_ci#define RCP14_ETMPIDR3()		MRC14(1, c7, c11, 7)
40762306a36Sopenharmony_ci#define RCP14_ETMCIDR0()		MRC14(1, c7, c12, 7)
40862306a36Sopenharmony_ci#define RCP14_ETMCIDR1()		MRC14(1, c7, c13, 7)
40962306a36Sopenharmony_ci#define RCP14_ETMCIDR2()		MRC14(1, c7, c14, 7)
41062306a36Sopenharmony_ci#define RCP14_ETMCIDR3()		MRC14(1, c7, c15, 7)
41162306a36Sopenharmony_ci
41262306a36Sopenharmony_ci#define WCP14_ETMCR(val)		MCR14(val, 1, c0, c0, 0)
41362306a36Sopenharmony_ci#define WCP14_ETMTRIGGER(val)		MCR14(val, 1, c0, c2, 0)
41462306a36Sopenharmony_ci#define WCP14_ETMASICCR(val)		MCR14(val, 1, c0, c3, 0)
41562306a36Sopenharmony_ci#define WCP14_ETMSR(val)		MCR14(val, 1, c0, c4, 0)
41662306a36Sopenharmony_ci#define WCP14_ETMTSSCR(val)		MCR14(val, 1, c0, c6, 0)
41762306a36Sopenharmony_ci#define WCP14_ETMTECR2(val)		MCR14(val, 1, c0, c7, 0)
41862306a36Sopenharmony_ci#define WCP14_ETMTEEVR(val)		MCR14(val, 1, c0, c8, 0)
41962306a36Sopenharmony_ci#define WCP14_ETMTECR1(val)		MCR14(val, 1, c0, c9, 0)
42062306a36Sopenharmony_ci#define WCP14_ETMFFRR(val)		MCR14(val, 1, c0, c10, 0)
42162306a36Sopenharmony_ci#define WCP14_ETMFFLR(val)		MCR14(val, 1, c0, c11, 0)
42262306a36Sopenharmony_ci#define WCP14_ETMVDEVR(val)		MCR14(val, 1, c0, c12, 0)
42362306a36Sopenharmony_ci#define WCP14_ETMVDCR1(val)		MCR14(val, 1, c0, c13, 0)
42462306a36Sopenharmony_ci#define WCP14_ETMVDCR2(val)		MCR14(val, 1, c0, c14, 0)
42562306a36Sopenharmony_ci#define WCP14_ETMVDCR3(val)		MCR14(val, 1, c0, c15, 0)
42662306a36Sopenharmony_ci#define WCP14_ETMACVR0(val)		MCR14(val, 1, c0, c0, 1)
42762306a36Sopenharmony_ci#define WCP14_ETMACVR1(val)		MCR14(val, 1, c0, c1, 1)
42862306a36Sopenharmony_ci#define WCP14_ETMACVR2(val)		MCR14(val, 1, c0, c2, 1)
42962306a36Sopenharmony_ci#define WCP14_ETMACVR3(val)		MCR14(val, 1, c0, c3, 1)
43062306a36Sopenharmony_ci#define WCP14_ETMACVR4(val)		MCR14(val, 1, c0, c4, 1)
43162306a36Sopenharmony_ci#define WCP14_ETMACVR5(val)		MCR14(val, 1, c0, c5, 1)
43262306a36Sopenharmony_ci#define WCP14_ETMACVR6(val)		MCR14(val, 1, c0, c6, 1)
43362306a36Sopenharmony_ci#define WCP14_ETMACVR7(val)		MCR14(val, 1, c0, c7, 1)
43462306a36Sopenharmony_ci#define WCP14_ETMACVR8(val)		MCR14(val, 1, c0, c8, 1)
43562306a36Sopenharmony_ci#define WCP14_ETMACVR9(val)		MCR14(val, 1, c0, c9, 1)
43662306a36Sopenharmony_ci#define WCP14_ETMACVR10(val)		MCR14(val, 1, c0, c10, 1)
43762306a36Sopenharmony_ci#define WCP14_ETMACVR11(val)		MCR14(val, 1, c0, c11, 1)
43862306a36Sopenharmony_ci#define WCP14_ETMACVR12(val)		MCR14(val, 1, c0, c12, 1)
43962306a36Sopenharmony_ci#define WCP14_ETMACVR13(val)		MCR14(val, 1, c0, c13, 1)
44062306a36Sopenharmony_ci#define WCP14_ETMACVR14(val)		MCR14(val, 1, c0, c14, 1)
44162306a36Sopenharmony_ci#define WCP14_ETMACVR15(val)		MCR14(val, 1, c0, c15, 1)
44262306a36Sopenharmony_ci#define WCP14_ETMACTR0(val)		MCR14(val, 1, c0, c0, 2)
44362306a36Sopenharmony_ci#define WCP14_ETMACTR1(val)		MCR14(val, 1, c0, c1, 2)
44462306a36Sopenharmony_ci#define WCP14_ETMACTR2(val)		MCR14(val, 1, c0, c2, 2)
44562306a36Sopenharmony_ci#define WCP14_ETMACTR3(val)		MCR14(val, 1, c0, c3, 2)
44662306a36Sopenharmony_ci#define WCP14_ETMACTR4(val)		MCR14(val, 1, c0, c4, 2)
44762306a36Sopenharmony_ci#define WCP14_ETMACTR5(val)		MCR14(val, 1, c0, c5, 2)
44862306a36Sopenharmony_ci#define WCP14_ETMACTR6(val)		MCR14(val, 1, c0, c6, 2)
44962306a36Sopenharmony_ci#define WCP14_ETMACTR7(val)		MCR14(val, 1, c0, c7, 2)
45062306a36Sopenharmony_ci#define WCP14_ETMACTR8(val)		MCR14(val, 1, c0, c8, 2)
45162306a36Sopenharmony_ci#define WCP14_ETMACTR9(val)		MCR14(val, 1, c0, c9, 2)
45262306a36Sopenharmony_ci#define WCP14_ETMACTR10(val)		MCR14(val, 1, c0, c10, 2)
45362306a36Sopenharmony_ci#define WCP14_ETMACTR11(val)		MCR14(val, 1, c0, c11, 2)
45462306a36Sopenharmony_ci#define WCP14_ETMACTR12(val)		MCR14(val, 1, c0, c12, 2)
45562306a36Sopenharmony_ci#define WCP14_ETMACTR13(val)		MCR14(val, 1, c0, c13, 2)
45662306a36Sopenharmony_ci#define WCP14_ETMACTR14(val)		MCR14(val, 1, c0, c14, 2)
45762306a36Sopenharmony_ci#define WCP14_ETMACTR15(val)		MCR14(val, 1, c0, c15, 2)
45862306a36Sopenharmony_ci#define WCP14_ETMDCVR0(val)		MCR14(val, 1, c0, c0, 3)
45962306a36Sopenharmony_ci#define WCP14_ETMDCVR2(val)		MCR14(val, 1, c0, c2, 3)
46062306a36Sopenharmony_ci#define WCP14_ETMDCVR4(val)		MCR14(val, 1, c0, c4, 3)
46162306a36Sopenharmony_ci#define WCP14_ETMDCVR6(val)		MCR14(val, 1, c0, c6, 3)
46262306a36Sopenharmony_ci#define WCP14_ETMDCVR8(val)		MCR14(val, 1, c0, c8, 3)
46362306a36Sopenharmony_ci#define WCP14_ETMDCVR10(val)		MCR14(val, 1, c0, c10, 3)
46462306a36Sopenharmony_ci#define WCP14_ETMDCVR12(val)		MCR14(val, 1, c0, c12, 3)
46562306a36Sopenharmony_ci#define WCP14_ETMDCVR14(val)		MCR14(val, 1, c0, c14, 3)
46662306a36Sopenharmony_ci#define WCP14_ETMDCMR0(val)		MCR14(val, 1, c0, c0, 4)
46762306a36Sopenharmony_ci#define WCP14_ETMDCMR2(val)		MCR14(val, 1, c0, c2, 4)
46862306a36Sopenharmony_ci#define WCP14_ETMDCMR4(val)		MCR14(val, 1, c0, c4, 4)
46962306a36Sopenharmony_ci#define WCP14_ETMDCMR6(val)		MCR14(val, 1, c0, c6, 4)
47062306a36Sopenharmony_ci#define WCP14_ETMDCMR8(val)		MCR14(val, 1, c0, c8, 4)
47162306a36Sopenharmony_ci#define WCP14_ETMDCMR10(val)		MCR14(val, 1, c0, c10, 4)
47262306a36Sopenharmony_ci#define WCP14_ETMDCMR12(val)		MCR14(val, 1, c0, c12, 4)
47362306a36Sopenharmony_ci#define WCP14_ETMDCMR14(val)		MCR14(val, 1, c0, c14, 4)
47462306a36Sopenharmony_ci#define WCP14_ETMCNTRLDVR0(val)		MCR14(val, 1, c0, c0, 5)
47562306a36Sopenharmony_ci#define WCP14_ETMCNTRLDVR1(val)		MCR14(val, 1, c0, c1, 5)
47662306a36Sopenharmony_ci#define WCP14_ETMCNTRLDVR2(val)		MCR14(val, 1, c0, c2, 5)
47762306a36Sopenharmony_ci#define WCP14_ETMCNTRLDVR3(val)		MCR14(val, 1, c0, c3, 5)
47862306a36Sopenharmony_ci#define WCP14_ETMCNTENR0(val)		MCR14(val, 1, c0, c4, 5)
47962306a36Sopenharmony_ci#define WCP14_ETMCNTENR1(val)		MCR14(val, 1, c0, c5, 5)
48062306a36Sopenharmony_ci#define WCP14_ETMCNTENR2(val)		MCR14(val, 1, c0, c6, 5)
48162306a36Sopenharmony_ci#define WCP14_ETMCNTENR3(val)		MCR14(val, 1, c0, c7, 5)
48262306a36Sopenharmony_ci#define WCP14_ETMCNTRLDEVR0(val)	MCR14(val, 1, c0, c8, 5)
48362306a36Sopenharmony_ci#define WCP14_ETMCNTRLDEVR1(val)	MCR14(val, 1, c0, c9, 5)
48462306a36Sopenharmony_ci#define WCP14_ETMCNTRLDEVR2(val)	MCR14(val, 1, c0, c10, 5)
48562306a36Sopenharmony_ci#define WCP14_ETMCNTRLDEVR3(val)	MCR14(val, 1, c0, c11, 5)
48662306a36Sopenharmony_ci#define WCP14_ETMCNTVR0(val)		MCR14(val, 1, c0, c12, 5)
48762306a36Sopenharmony_ci#define WCP14_ETMCNTVR1(val)		MCR14(val, 1, c0, c13, 5)
48862306a36Sopenharmony_ci#define WCP14_ETMCNTVR2(val)		MCR14(val, 1, c0, c14, 5)
48962306a36Sopenharmony_ci#define WCP14_ETMCNTVR3(val)		MCR14(val, 1, c0, c15, 5)
49062306a36Sopenharmony_ci#define WCP14_ETMSQ12EVR(val)		MCR14(val, 1, c0, c0, 6)
49162306a36Sopenharmony_ci#define WCP14_ETMSQ21EVR(val)		MCR14(val, 1, c0, c1, 6)
49262306a36Sopenharmony_ci#define WCP14_ETMSQ23EVR(val)		MCR14(val, 1, c0, c2, 6)
49362306a36Sopenharmony_ci#define WCP14_ETMSQ31EVR(val)		MCR14(val, 1, c0, c3, 6)
49462306a36Sopenharmony_ci#define WCP14_ETMSQ32EVR(val)		MCR14(val, 1, c0, c4, 6)
49562306a36Sopenharmony_ci#define WCP14_ETMSQ13EVR(val)		MCR14(val, 1, c0, c5, 6)
49662306a36Sopenharmony_ci#define WCP14_ETMSQR(val)		MCR14(val, 1, c0, c7, 6)
49762306a36Sopenharmony_ci#define WCP14_ETMEXTOUTEVR0(val)	MCR14(val, 1, c0, c8, 6)
49862306a36Sopenharmony_ci#define WCP14_ETMEXTOUTEVR1(val)	MCR14(val, 1, c0, c9, 6)
49962306a36Sopenharmony_ci#define WCP14_ETMEXTOUTEVR2(val)	MCR14(val, 1, c0, c10, 6)
50062306a36Sopenharmony_ci#define WCP14_ETMEXTOUTEVR3(val)	MCR14(val, 1, c0, c11, 6)
50162306a36Sopenharmony_ci#define WCP14_ETMCIDCVR0(val)		MCR14(val, 1, c0, c12, 6)
50262306a36Sopenharmony_ci#define WCP14_ETMCIDCVR1(val)		MCR14(val, 1, c0, c13, 6)
50362306a36Sopenharmony_ci#define WCP14_ETMCIDCVR2(val)		MCR14(val, 1, c0, c14, 6)
50462306a36Sopenharmony_ci#define WCP14_ETMCIDCMR(val)		MCR14(val, 1, c0, c15, 6)
50562306a36Sopenharmony_ci#define WCP14_ETMIMPSPEC0(val)		MCR14(val, 1, c0, c0, 7)
50662306a36Sopenharmony_ci#define WCP14_ETMIMPSPEC1(val)		MCR14(val, 1, c0, c1, 7)
50762306a36Sopenharmony_ci#define WCP14_ETMIMPSPEC2(val)		MCR14(val, 1, c0, c2, 7)
50862306a36Sopenharmony_ci#define WCP14_ETMIMPSPEC3(val)		MCR14(val, 1, c0, c3, 7)
50962306a36Sopenharmony_ci#define WCP14_ETMIMPSPEC4(val)		MCR14(val, 1, c0, c4, 7)
51062306a36Sopenharmony_ci#define WCP14_ETMIMPSPEC5(val)		MCR14(val, 1, c0, c5, 7)
51162306a36Sopenharmony_ci#define WCP14_ETMIMPSPEC6(val)		MCR14(val, 1, c0, c6, 7)
51262306a36Sopenharmony_ci#define WCP14_ETMIMPSPEC7(val)		MCR14(val, 1, c0, c7, 7)
51362306a36Sopenharmony_ci/* Can be read only in ETMv3.4, ETMv3.5 */
51462306a36Sopenharmony_ci#define WCP14_ETMSYNCFR(val)		MCR14(val, 1, c0, c8, 7)
51562306a36Sopenharmony_ci#define WCP14_ETMEXTINSELR(val)		MCR14(val, 1, c0, c11, 7)
51662306a36Sopenharmony_ci#define WCP14_ETMTESSEICR(val)		MCR14(val, 1, c0, c12, 7)
51762306a36Sopenharmony_ci#define WCP14_ETMEIBCR(val)		MCR14(val, 1, c0, c13, 7)
51862306a36Sopenharmony_ci#define WCP14_ETMTSEVR(val)		MCR14(val, 1, c0, c14, 7)
51962306a36Sopenharmony_ci#define WCP14_ETMAUXCR(val)		MCR14(val, 1, c0, c15, 7)
52062306a36Sopenharmony_ci#define WCP14_ETMTRACEIDR(val)		MCR14(val, 1, c1, c0, 0)
52162306a36Sopenharmony_ci#define WCP14_ETMIDR2(val)		MCR14(val, 1, c1, c2, 0)
52262306a36Sopenharmony_ci#define WCP14_ETMVMIDCVR(val)		MCR14(val, 1, c1, c0, 1)
52362306a36Sopenharmony_ci#define WCP14_ETMOSLAR(val)		MCR14(val, 1, c1, c0, 4)
52462306a36Sopenharmony_ci/* Not available in PFTv1.1 */
52562306a36Sopenharmony_ci#define WCP14_ETMOSSRR(val)		MCR14(val, 1, c1, c2, 4)
52662306a36Sopenharmony_ci#define WCP14_ETMPDCR(val)		MCR14(val, 1, c1, c4, 4)
52762306a36Sopenharmony_ci#define WCP14_ETMPDSR(val)		MCR14(val, 1, c1, c5, 4)
52862306a36Sopenharmony_ci#define WCP14_ETMITCTRL(val)		MCR14(val, 1, c7, c0, 4)
52962306a36Sopenharmony_ci#define WCP14_ETMCLAIMSET(val)		MCR14(val, 1, c7, c8, 6)
53062306a36Sopenharmony_ci#define WCP14_ETMCLAIMCLR(val)		MCR14(val, 1, c7, c9, 6)
53162306a36Sopenharmony_ci/* Writes to this from CP14 interface are ignored */
53262306a36Sopenharmony_ci#define WCP14_ETMLAR(val)		MCR14(val, 1, c7, c12, 6)
53362306a36Sopenharmony_ci
53462306a36Sopenharmony_ci#endif
535