xref: /linux/arch/arm64/tools/sysreg (revision 01baa57ad6865bf60d5fcd77b31b2bd8bb155176)
166847e06SMark Rutland# SPDX-License-Identifier: GPL-2.0-only
266847e06SMark Rutland#
366847e06SMark Rutland# System register metadata
466847e06SMark Rutland
566847e06SMark Rutland# Each System register is described by a Sysreg block:
666847e06SMark Rutland
766847e06SMark Rutland# Sysreg 	<name>	<op0> 	<op1>	<crn>	<crm>	<op2>
866847e06SMark Rutland# <field>
966847e06SMark Rutland# ...
1066847e06SMark Rutland# EndSysreg
1166847e06SMark Rutland
1266847e06SMark Rutland# Within a Sysreg block, each field can be described as one of:
1366847e06SMark Rutland
1466847e06SMark Rutland# Res0	<msb>[:<lsb>]
1566847e06SMark Rutland
1666847e06SMark Rutland# Res1	<msb>[:<lsb>]
1766847e06SMark Rutland
1866847e06SMark Rutland# Field	<msb>[:<lsb>]	<name>
1966847e06SMark Rutland
2066847e06SMark Rutland# Enum	<msb>[:<lsb>]	<name>
2166847e06SMark Rutland#	<enumval>	<enumname>
2266847e06SMark Rutland#	...
2366847e06SMark Rutland# EndEnum
2466847e06SMark Rutland
2566847e06SMark Rutland# Alternatively if multiple registers share the same layout then
2666847e06SMark Rutland# a SysregFields block can be used to describe the shared layout
2766847e06SMark Rutland
2866847e06SMark Rutland# SysregFields	<fieldsname>
2966847e06SMark Rutland# <field>
3066847e06SMark Rutland# ...
3166847e06SMark Rutland# EndSysregFields
3266847e06SMark Rutland
3366847e06SMark Rutland# and referenced from within the Sysreg:
3466847e06SMark Rutland
3566847e06SMark Rutland# Sysreg 	<name>	<op0> 	<op1>	<crn>	<crm>	<op2>
3666847e06SMark Rutland# Fields	<fieldsname>
3766847e06SMark Rutland# EndSysreg
3866847e06SMark Rutland
3966847e06SMark Rutland# For ID registers we adopt a few conventions for translating the
4066847e06SMark Rutland# language in the ARM into defines:
4166847e06SMark Rutland#
4266847e06SMark Rutland# NI  - Not implemented
4366847e06SMark Rutland# IMP - Implemented
4466847e06SMark Rutland#
4566847e06SMark Rutland# In general it is recommended that new enumeration items be named for the
4666847e06SMark Rutland# feature that introduces them (eg, FEAT_LS64_ACCDATA introduces enumeration
4766847e06SMark Rutland# item ACCDATA) though it may be more taseful to do something else.
4866847e06SMark Rutland
49e33bb646SMark BrownSysreg	ID_AA64ISAR0_EL1	3	0	0	6	0
50e33bb646SMark BrownEnum	63:60	RNDR
51e33bb646SMark Brown	0b0000	NI
52e33bb646SMark Brown	0b0001	IMP
53e33bb646SMark BrownEndEnum
54e33bb646SMark BrownEnum	59:56	TLB
55e33bb646SMark Brown	0b0000	NI
56e33bb646SMark Brown	0b0001	OS
57e33bb646SMark Brown	0b0010	RANGE
58e33bb646SMark BrownEndEnum
59e33bb646SMark BrownEnum	55:52	TS
60e33bb646SMark Brown	0b0000	NI
61e33bb646SMark Brown	0b0001	FLAGM
62e33bb646SMark Brown	0b0010	FLAGM2
63e33bb646SMark BrownEndEnum
64e33bb646SMark BrownEnum	51:48	FHM
65e33bb646SMark Brown	0b0000	NI
66e33bb646SMark Brown	0b0001	IMP
67e33bb646SMark BrownEndEnum
68e33bb646SMark BrownEnum	47:44	DP
69e33bb646SMark Brown	0b0000	NI
70e33bb646SMark Brown	0b0001	IMP
71e33bb646SMark BrownEndEnum
72e33bb646SMark BrownEnum	43:40	SM4
73e33bb646SMark Brown	0b0000	NI
74e33bb646SMark Brown	0b0001	IMP
75e33bb646SMark BrownEndEnum
76e33bb646SMark BrownEnum	39:36	SM3
77e33bb646SMark Brown	0b0000	NI
78e33bb646SMark Brown	0b0001	IMP
79e33bb646SMark BrownEndEnum
80e33bb646SMark BrownEnum	35:32	SHA3
81e33bb646SMark Brown	0b0000	NI
82e33bb646SMark Brown	0b0001	IMP
83e33bb646SMark BrownEndEnum
84e33bb646SMark BrownEnum	31:28	RDM
85e33bb646SMark Brown	0b0000	NI
86e33bb646SMark Brown	0b0001	IMP
87e33bb646SMark BrownEndEnum
88e33bb646SMark BrownEnum	27:24	TME
89e33bb646SMark Brown	0b0000	NI
90e33bb646SMark Brown	0b0001	IMP
91e33bb646SMark BrownEndEnum
92e33bb646SMark BrownEnum	23:20	ATOMIC
93e33bb646SMark Brown	0b0000	NI
94e33bb646SMark Brown	0b0010	IMP
95e33bb646SMark BrownEndEnum
96e33bb646SMark BrownEnum	19:16	CRC32
97e33bb646SMark Brown	0b0000	NI
98e33bb646SMark Brown	0b0001	IMP
99e33bb646SMark BrownEndEnum
100e33bb646SMark BrownEnum	15:12	SHA2
101e33bb646SMark Brown	0b0000	NI
102e33bb646SMark Brown	0b0001	SHA256
103e33bb646SMark Brown	0b0010	SHA512
104e33bb646SMark BrownEndEnum
105e33bb646SMark BrownEnum	11:8	SHA1
106e33bb646SMark Brown	0b0000	NI
107e33bb646SMark Brown	0b0001	IMP
108e33bb646SMark BrownEndEnum
109e33bb646SMark BrownEnum	7:4	AES
110e33bb646SMark Brown	0b0000	NI
111e33bb646SMark Brown	0b0001	AES
112e33bb646SMark Brown	0b0010	PMULL
113e33bb646SMark BrownEndEnum
114e33bb646SMark BrownRes0	3:0
115e33bb646SMark BrownEndSysreg
11641fde735SMark Brown
1177a41a97bSMark BrownSysreg	SCTLR_EL1	3	0	1	0	0
1187a41a97bSMark BrownField	63	TIDCP
1197a41a97bSMark BrownField	62	SPINMASK
1207a41a97bSMark BrownField	61	NMI
1217a41a97bSMark BrownField	60	EnTP2
1227a41a97bSMark BrownRes0	59:58
1237a41a97bSMark BrownField	57	EPAN
1247a41a97bSMark BrownField	56	EnALS
1257a41a97bSMark BrownField	55	EnAS0
1267a41a97bSMark BrownField	54	EnASR
1277a41a97bSMark BrownField	53	TME
1287a41a97bSMark BrownField	52	TME0
1297a41a97bSMark BrownField	51	TMT
1307a41a97bSMark BrownField	50	TMT0
1317a41a97bSMark BrownField	49:46	TWEDEL
1327a41a97bSMark BrownField	45	TWEDEn
1337a41a97bSMark BrownField	44	DSSBS
1347a41a97bSMark BrownField	43	ATA
1357a41a97bSMark BrownField	42	ATA0
1367a41a97bSMark BrownEnum	41:40	TCF
1377a41a97bSMark Brown	0b00	NONE
1387a41a97bSMark Brown	0b01	SYNC
1397a41a97bSMark Brown	0b10	ASYNC
1407a41a97bSMark Brown	0b11	ASYMM
1417a41a97bSMark BrownEndEnum
1427a41a97bSMark BrownEnum	39:38	TCF0
1437a41a97bSMark Brown	0b00	NONE
1447a41a97bSMark Brown	0b01	SYNC
1457a41a97bSMark Brown	0b10	ASYNC
1467a41a97bSMark Brown	0b11	ASYMM
1477a41a97bSMark BrownEndEnum
1487a41a97bSMark BrownField	37	ITFSB
1497a41a97bSMark BrownField	36	BT1
1507a41a97bSMark BrownField	35	BT0
1517a41a97bSMark BrownRes0	34
1527a41a97bSMark BrownField	33	MSCEn
1537a41a97bSMark BrownField	32	CMOW
1547a41a97bSMark BrownField	31	EnIA
1557a41a97bSMark BrownField	30	EnIB
1567a41a97bSMark BrownField	29	LSMAOE
1577a41a97bSMark BrownField	28	nTLSMD
1587a41a97bSMark BrownField	27	EnDA
1597a41a97bSMark BrownField	26	UCI
1607a41a97bSMark BrownField	25	EE
1617a41a97bSMark BrownField	24	E0E
1627a41a97bSMark BrownField	23	SPAN
1637a41a97bSMark BrownField	22	EIS
1647a41a97bSMark BrownField	21	IESB
1657a41a97bSMark BrownField	20	TSCXT
1667a41a97bSMark BrownField	19	WXN
1677a41a97bSMark BrownField	18	nTWE
1687a41a97bSMark BrownRes0	17
1697a41a97bSMark BrownField	16	nTWI
1707a41a97bSMark BrownField	15	UCT
1717a41a97bSMark BrownField	14	DZE
1727a41a97bSMark BrownField	13	EnDB
1737a41a97bSMark BrownField	12	I
1747a41a97bSMark BrownField	11	EOS
1757a41a97bSMark BrownField	10	EnRCTX
1767a41a97bSMark BrownField	9	UMA
1777a41a97bSMark BrownField	8	SED
1787a41a97bSMark BrownField	7	ITD
1797a41a97bSMark BrownField	6	nAA
1807a41a97bSMark BrownField	5	CP15BEN
1817a41a97bSMark BrownField	4	SA0
1827a41a97bSMark BrownField	3	SA
1837a41a97bSMark BrownField	2	C
1847a41a97bSMark BrownField	1	A
1857a41a97bSMark BrownField	0	M
1867a41a97bSMark BrownEndSysreg
1877a41a97bSMark Brown
188b5c0f105SMark BrownSysregFields	CPACR_ELx
189b5c0f105SMark BrownRes0	63:29
190b5c0f105SMark BrownField	28	TTA
191b5c0f105SMark BrownRes0	27:26
192b5c0f105SMark BrownField	25:24	SMEN
193b5c0f105SMark BrownRes0	23:22
194b5c0f105SMark BrownField	21:20	FPEN
195b5c0f105SMark BrownRes0	19:18
196b5c0f105SMark BrownField	17:16	ZEN
197b5c0f105SMark BrownRes0	15:0
198b5c0f105SMark BrownEndSysregFields
199b5c0f105SMark Brown
200b5c0f105SMark BrownSysreg	CPACR_EL1	3	0	1	0	2
201b5c0f105SMark BrownFields	CPACR_ELx
202b5c0f105SMark BrownEndSysreg
203b5c0f105SMark Brown
2049321f049SMark BrownSysreg	SMPRI_EL1	3	0	1	2	4
2059321f049SMark BrownRes0	63:4
2069321f049SMark BrownField	3:0	PRIORITY
2079321f049SMark BrownEndSysreg
2089321f049SMark Brown
20989e9fb32SMark BrownSysregFields	ZCR_ELx
21089e9fb32SMark BrownRes0	63:9
21189e9fb32SMark BrownRaz	8:4
21289e9fb32SMark BrownField	3:0	LEN
21389e9fb32SMark BrownEndSysregFields
21489e9fb32SMark Brown
21589e9fb32SMark BrownSysreg ZCR_EL1	3	0	1	2	0
21689e9fb32SMark BrownFields ZCR_ELx
21789e9fb32SMark BrownEndSysreg
21889e9fb32SMark Brown
2190d1322e7SMark BrownSysregFields	SMCR_ELx
2200d1322e7SMark BrownRes0	63:32
2210d1322e7SMark BrownField	31	FA64
2220d1322e7SMark BrownRes0	30:9
2230d1322e7SMark BrownRaz	8:4
2240d1322e7SMark BrownField	3:0	LEN
2250d1322e7SMark BrownEndSysregFields
2260d1322e7SMark Brown
2270d1322e7SMark BrownSysreg	SMCR_EL1	3	0	1	2	6
2280d1322e7SMark BrownFields	SMCR_ELx
2290d1322e7SMark BrownEndSysreg
2300d1322e7SMark Brown
2318c12e22cSMark BrownSysregFields	CONTEXTIDR_ELx
2328c12e22cSMark BrownRes0	63:32
2338c12e22cSMark BrownField	31:0	PROCID
2348c12e22cSMark BrownEndSysregFields
2358c12e22cSMark Brown
2368c12e22cSMark BrownSysreg	CONTEXTIDR_EL1	3	0	13	0	1
2378c12e22cSMark BrownFields	CONTEXTIDR_ELx
2388c12e22cSMark BrownEndSysreg
2398c12e22cSMark Brown
240af65ea97SMark BrownSysreg	CLIDR_EL1	3	1	0	0	1
241af65ea97SMark BrownRes0	63:47
242af65ea97SMark BrownField	46:33	Ttypen
243af65ea97SMark BrownField	32:30	ICB
244af65ea97SMark BrownField	29:27	LoUU
245af65ea97SMark BrownField	26:24	LoC
246af65ea97SMark BrownField	23:21	LoUIS
247af65ea97SMark BrownField	20:18	Ctype7
248af65ea97SMark BrownField	17:15	Ctype6
249af65ea97SMark BrownField	14:12	Ctype5
250af65ea97SMark BrownField	11:9	Ctype4
251af65ea97SMark BrownField	8:6	Ctype3
252af65ea97SMark BrownField	5:3	Ctype2
253af65ea97SMark BrownField	2:0	Ctype1
254af65ea97SMark BrownEndSysreg
255af65ea97SMark Brown
256c37b8700SMark BrownSysreg	SMIDR_EL1	3	1	0	0	6
257c37b8700SMark BrownRes0	63:32
258c37b8700SMark BrownField	31:24	IMPLEMENTER
259c37b8700SMark BrownField	23:16	REVISION
260c37b8700SMark BrownField	15	SMPS
261c37b8700SMark BrownRes0	14:12
262c37b8700SMark BrownField	11:0	AFFINITY
263c37b8700SMark BrownEndSysreg
264c37b8700SMark Brown
2658bd354b3SMark BrownSysreg	CSSELR_EL1	3	2	0	0	0
2668bd354b3SMark BrownRes0	63:5
2678bd354b3SMark BrownField	4	TnD
2688bd354b3SMark BrownField	3:1	Level
2698bd354b3SMark BrownField	0	InD
2708bd354b3SMark BrownEndSysreg
2718bd354b3SMark Brown
27211e12a91SMark BrownSysreg	SVCR	3	3	4	2	2
27311e12a91SMark BrownRes0	63:2
27411e12a91SMark BrownField	1	ZA
27511e12a91SMark BrownField	0	SM
27611e12a91SMark BrownEndSysreg
27711e12a91SMark Brown
27889e9fb32SMark BrownSysreg	ZCR_EL2	3	4	1	2	0
27989e9fb32SMark BrownFields	ZCR_ELx
28089e9fb32SMark BrownEndSysreg
28189e9fb32SMark Brown
2828e053810SMark BrownSysreg	SMPRIMAP_EL2	3	4	1	2	5
2838e053810SMark BrownField	63:60	P15
2848e053810SMark BrownField	59:56	P14
2858e053810SMark BrownField	55:52	P13
2868e053810SMark BrownField	51:48	P12
2878e053810SMark BrownField	47:44	P11
2888e053810SMark BrownField	43:40	P10
2898e053810SMark BrownField	39:36	F9
2908e053810SMark BrownField	35:32	P8
2918e053810SMark BrownField	31:28	P7
2928e053810SMark BrownField	27:24	P6
2938e053810SMark BrownField	23:20	P5
2948e053810SMark BrownField	19:16	P4
2958e053810SMark BrownField	15:12	P3
2968e053810SMark BrownField	11:8	P2
2978e053810SMark BrownField	7:4	P1
2988e053810SMark BrownField	3:0	P0
2998e053810SMark BrownEndSysreg
3008e053810SMark Brown
3010d1322e7SMark BrownSysreg	SMCR_EL2	3	4	1	2	6
3020d1322e7SMark BrownFields	SMCR_ELx
3030d1322e7SMark BrownEndSysreg
3040d1322e7SMark Brown
305*01baa57aSMark BrownSysreg	DACR32_EL2	3	4	3	0	0
306*01baa57aSMark BrownRes0	63:32
307*01baa57aSMark BrownField	31:30	D15
308*01baa57aSMark BrownField	29:28	D14
309*01baa57aSMark BrownField	27:26	D13
310*01baa57aSMark BrownField	25:24	D12
311*01baa57aSMark BrownField	23:22	D11
312*01baa57aSMark BrownField	21:20	D10
313*01baa57aSMark BrownField	19:18	D9
314*01baa57aSMark BrownField	17:16	D8
315*01baa57aSMark BrownField	15:14	D7
316*01baa57aSMark BrownField	13:12	D6
317*01baa57aSMark BrownField	11:10	D5
318*01baa57aSMark BrownField	9:8	D4
319*01baa57aSMark BrownField	7:6	D3
320*01baa57aSMark BrownField	5:4	D2
321*01baa57aSMark BrownField	3:2	D1
322*01baa57aSMark BrownField	1:0	D0
323*01baa57aSMark BrownEndSysreg
324*01baa57aSMark Brown
3258c12e22cSMark BrownSysreg	CONTEXTIDR_EL2	3	4	13	0	1
3268c12e22cSMark BrownFields	CONTEXTIDR_ELx
3278c12e22cSMark BrownEndSysreg
3288c12e22cSMark Brown
329b5c0f105SMark BrownSysreg	CPACR_EL12	3	5	1	0	2
330b5c0f105SMark BrownFields	CPACR_ELx
331b5c0f105SMark BrownEndSysreg
332b5c0f105SMark Brown
33389e9fb32SMark BrownSysreg	ZCR_EL12	3	5	1	2	0
33489e9fb32SMark BrownFields	ZCR_ELx
33589e9fb32SMark BrownEndSysreg
33689e9fb32SMark Brown
3370d1322e7SMark BrownSysreg	SMCR_EL12	3	5	1	2	6
3380d1322e7SMark BrownFields	SMCR_ELx
3390d1322e7SMark BrownEndSysreg
3400d1322e7SMark Brown
3418c12e22cSMark BrownSysreg	CONTEXTIDR_EL12	3	5	13	0	1
3428c12e22cSMark BrownFields	CONTEXTIDR_ELx
3438c12e22cSMark BrownEndSysreg
3448c12e22cSMark Brown
34541fde735SMark BrownSysregFields TTBRx_EL1
34641fde735SMark BrownField	63:48	ASID
34741fde735SMark BrownField	47:1	BADDR
34841fde735SMark BrownField	0	CnP
34941fde735SMark BrownEndSysregFields
35041fde735SMark Brown
35141fde735SMark BrownSysreg	TTBR0_EL1	3	0	2	0	0
35241fde735SMark BrownFields	TTBRx_EL1
35341fde735SMark BrownEndSysreg
35441fde735SMark Brown
35541fde735SMark BrownSysreg	TTBR1_EL1	3	0	2	0	1
35641fde735SMark BrownFields	TTBRx_EL1
35741fde735SMark BrownEndSysreg
358