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 117*7a41a97bSMark BrownSysreg SCTLR_EL1 3 0 1 0 0 118*7a41a97bSMark BrownField 63 TIDCP 119*7a41a97bSMark BrownField 62 SPINMASK 120*7a41a97bSMark BrownField 61 NMI 121*7a41a97bSMark BrownField 60 EnTP2 122*7a41a97bSMark BrownRes0 59:58 123*7a41a97bSMark BrownField 57 EPAN 124*7a41a97bSMark BrownField 56 EnALS 125*7a41a97bSMark BrownField 55 EnAS0 126*7a41a97bSMark BrownField 54 EnASR 127*7a41a97bSMark BrownField 53 TME 128*7a41a97bSMark BrownField 52 TME0 129*7a41a97bSMark BrownField 51 TMT 130*7a41a97bSMark BrownField 50 TMT0 131*7a41a97bSMark BrownField 49:46 TWEDEL 132*7a41a97bSMark BrownField 45 TWEDEn 133*7a41a97bSMark BrownField 44 DSSBS 134*7a41a97bSMark BrownField 43 ATA 135*7a41a97bSMark BrownField 42 ATA0 136*7a41a97bSMark BrownEnum 41:40 TCF 137*7a41a97bSMark Brown 0b00 NONE 138*7a41a97bSMark Brown 0b01 SYNC 139*7a41a97bSMark Brown 0b10 ASYNC 140*7a41a97bSMark Brown 0b11 ASYMM 141*7a41a97bSMark BrownEndEnum 142*7a41a97bSMark BrownEnum 39:38 TCF0 143*7a41a97bSMark Brown 0b00 NONE 144*7a41a97bSMark Brown 0b01 SYNC 145*7a41a97bSMark Brown 0b10 ASYNC 146*7a41a97bSMark Brown 0b11 ASYMM 147*7a41a97bSMark BrownEndEnum 148*7a41a97bSMark BrownField 37 ITFSB 149*7a41a97bSMark BrownField 36 BT1 150*7a41a97bSMark BrownField 35 BT0 151*7a41a97bSMark BrownRes0 34 152*7a41a97bSMark BrownField 33 MSCEn 153*7a41a97bSMark BrownField 32 CMOW 154*7a41a97bSMark BrownField 31 EnIA 155*7a41a97bSMark BrownField 30 EnIB 156*7a41a97bSMark BrownField 29 LSMAOE 157*7a41a97bSMark BrownField 28 nTLSMD 158*7a41a97bSMark BrownField 27 EnDA 159*7a41a97bSMark BrownField 26 UCI 160*7a41a97bSMark BrownField 25 EE 161*7a41a97bSMark BrownField 24 E0E 162*7a41a97bSMark BrownField 23 SPAN 163*7a41a97bSMark BrownField 22 EIS 164*7a41a97bSMark BrownField 21 IESB 165*7a41a97bSMark BrownField 20 TSCXT 166*7a41a97bSMark BrownField 19 WXN 167*7a41a97bSMark BrownField 18 nTWE 168*7a41a97bSMark BrownRes0 17 169*7a41a97bSMark BrownField 16 nTWI 170*7a41a97bSMark BrownField 15 UCT 171*7a41a97bSMark BrownField 14 DZE 172*7a41a97bSMark BrownField 13 EnDB 173*7a41a97bSMark BrownField 12 I 174*7a41a97bSMark BrownField 11 EOS 175*7a41a97bSMark BrownField 10 EnRCTX 176*7a41a97bSMark BrownField 9 UMA 177*7a41a97bSMark BrownField 8 SED 178*7a41a97bSMark BrownField 7 ITD 179*7a41a97bSMark BrownField 6 nAA 180*7a41a97bSMark BrownField 5 CP15BEN 181*7a41a97bSMark BrownField 4 SA0 182*7a41a97bSMark BrownField 3 SA 183*7a41a97bSMark BrownField 2 C 184*7a41a97bSMark BrownField 1 A 185*7a41a97bSMark BrownField 0 M 186*7a41a97bSMark BrownEndSysreg 187*7a41a97bSMark Brown 18841fde735SMark BrownSysregFields TTBRx_EL1 18941fde735SMark BrownField 63:48 ASID 19041fde735SMark BrownField 47:1 BADDR 19141fde735SMark BrownField 0 CnP 19241fde735SMark BrownEndSysregFields 19341fde735SMark Brown 19441fde735SMark BrownSysreg TTBR0_EL1 3 0 2 0 0 19541fde735SMark BrownFields TTBRx_EL1 19641fde735SMark BrownEndSysreg 19741fde735SMark Brown 19841fde735SMark BrownSysreg TTBR1_EL1 3 0 2 0 1 19941fde735SMark BrownFields TTBRx_EL1 20041fde735SMark BrownEndSysreg 201