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