xref: /OK3568_Linux_fs/kernel/drivers/hwtracing/coresight/mali/sources/ela/coresight-ela600.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 /*
3  *
4  * (C) COPYRIGHT 2022 ARM Limited. All rights reserved.
5  *
6  * This program is free software and is provided to you under the terms of the
7  * GNU General Public License version 2 as published by the Free Software
8  * Foundation, and any use by you of this program is subject to the terms
9  * of such GNU license.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, you can access it online at
18  * http://www.gnu.org/licenses/gpl-2.0.html.
19  *
20  */
21 
22 #ifndef _CORESIGHT_ELA600_H
23 #define _CORESIGHT_ELA600_H
24 
25 #include <linux/bits.h>
26 
27 #define ELA_CTRL 0x000
28 #define ELA_TIMECTRL 0x004
29 #define ELA_TSSR 0x008
30 #define ELA_ATBCTRL 0x00C
31 #define ELA_PTACTION 0x010
32 #define ELA_AUXCTRL 0x014
33 #define ELA_CNTSEL 0x018
34 
35 #define ELA_CTSR 0x020
36 #define ELA_CCVR 0x024
37 #define ELA_CAVR 0x028
38 #define ELA_RDCAPTID 0x02C
39 #define ELA_RDCAPTIDEXT 0x030
40 
41 #define ELA_RRAR 0x040
42 #define ELA_RRDR 0x044
43 #define ELA_RWAR 0x048
44 #define ELA_RWDR 0x04C
45 
46 #define ELA_SIGSEL(x) (0x100 + 0x100 * (x))
47 #define ELA_TRIGCTRL(x) (ELA_SIGSEL(x) + 0x004)
48 #define ELA_NEXTSTATE(x) (ELA_SIGSEL(x) + 0x008)
49 #define ELA_ACTION(x) (ELA_SIGSEL(x) + 0x00C)
50 #define ELA_ALTNEXTSTATE(x) (ELA_SIGSEL(x) + 0x010)
51 #define ELA_ALTACTION(x) (ELA_SIGSEL(x) + 0x014)
52 #define ELA_COMPCTRL(x) (ELA_SIGSEL(x) + 0x018)
53 #define ELA_ALTCOMPCTRL(x) (ELA_SIGSEL(x) + 0x01C)
54 #define ELA_COUNTCOMP(x) (ELA_SIGSEL(x) + 0x020)
55 #define ELA_TWBSEL(x) (ELA_SIGSEL(x) + 0x028)
56 #define ELA_EXTMASK(x) (ELA_SIGSEL(x) + 0x030)
57 #define ELA_EXTCOMP(x) (ELA_SIGSEL(x) + 0x034)
58 #define ELA_QUALMASK(x) (ELA_SIGSEL(x) + 0x038)
59 #define ELA_QUALCOMP(x) (ELA_SIGSEL(x) + 0x03C)
60 #define ELA_SIGMASK(x, y) (ELA_SIGSEL(x) + 0x040 + 4 * (y))
61 #define ELA_SIGCOMP(x, y) (ELA_SIGSEL(x) + 0x080 + 4 * (y))
62 
63 #define ELA_ITTRIGOUT 0xEE8
64 #define ELA_ITATBDATA 0xEEC
65 #define ELA_ITATBCTR1 0xEF0
66 #define ELA_ITATBCTR0 0xEF4
67 #define ELA_ITTRIGIN 0xEF8
68 #define ELA_ITCTRL 0xF00
69 
70 #define ELA_AUTHSTATUS 0xFB8
71 
72 #define ELA_DEVARCH 0xFBC
73 #define ELA_DEVID2 0xFC0
74 #define ELA_DEVID1 0xFC4
75 #define ELA_DEVID 0xFC8
76 #define ELA_DEVTYPE 0xFCC
77 
78 #define ELA_PIDR4 0xFD0
79 #define ELA_PIDR5 0xFD4
80 #define ELA_PIDR6 0xFD8
81 #define ELA_PIDR7 0xFDC
82 #define ELA_PIDR0 0xFE0
83 #define ELA_PIDR1 0xFE4
84 #define ELA_PIDR2 0xFE8
85 #define ELA_PIDR3 0xFEC
86 #define ELA_CIDR0 0xFF0
87 #define ELA_CIDR1 0xFF4
88 #define ELA_CIDR2 0xFF8
89 #define ELA_CIDR3 0xFFC
90 
91 /* REGISTER MASKS */
92 #define ELA_CTRL_RUN BIT(0)
93 #define ELA_CTRL_TRACE_BUSY BIT(1)
94 
95 #define ELA_TIMECTRL_TSEN BIT(16)
96 #define ELA_TIMECTRL_TSINT GEN_MASK(15, 12)
97 #define ELA_TIMECTRL_TCSEL1 GEN_MASK(7, 4)
98 #define ELA_TIMECTRL_TCSEL0 GEN_MASK(3, 0)
99 
100 #define ELA_ATBCTRL_PREDICT BIT(31)
101 #define ELA_ATBCTRL_ATID_TRIG_EN BIT(15)
102 #define ELA_ATBCTRL_ATID_VALUE GEN_MASK(14, 8)
103 #define ELA_ATBCTRL_ASYNC_INTERVAL GEN_MASK(7, 0)
104 
105 #define ELA_ACTION_ELAOUTPUT GEN_MASK(7, 4)
106 #define ELA_ACTION_TRACE BIT(3)
107 #define ELA_ACTION_STOPCLOCK BIT(2)
108 #define ELA_ACTION_CTTRIGOUT GEN_MASK(1, 0)
109 
110 #define ELA_AUXCTRL_FLUSH_DIS BIT(0)
111 
112 #define ELA_SIGSEL_JCN_REQUEST BIT(0)
113 #define ELA_SIGSEL_JCN_RESPONSE BIT(1)
114 #define ELA_SIGSEL_CEU_EXECUTION BIT(2)
115 #define ELA_SIGSEL_MCU_AHBP BIT(3)
116 #define ELA_SIGSEL_HOST_AXI BIT(4)
117 
118 #define ELA_TRIGCTRL_ALTCOMPSEL BIT(15)
119 #define ELA_TRIGCTRL_ALTCOMP GEN_MASK(14, 12)
120 #define ELA_TRIGCTRL_CAPTID GEN_MASK(11, 10)
121 #define ELA_TRIGCTRL_COUNTBRK BIT(9)
122 #define ELA_TRIGCTRL_COUNTCLR BIT(8)
123 #define ELA_TRIGCTRL_TRACE GEN_MASK(7, 6)
124 #define ELA_TRIGCTRL_COUNTSRC BIT(5)
125 #define ELA_TRIGCTRL_WATCHRST BIT(4)
126 #define ELA_TRIGCTRL_COMPSEL BIT(3)
127 #define ELA_TRIGCTRL_COMP GEN_MASK(2, 0)
128 
129 #endif /* _CORESIGHT_ELA600_H */
130