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 49*e33bb646SMark BrownSysreg ID_AA64ISAR0_EL1 3 0 0 6 0 50*e33bb646SMark BrownEnum 63:60 RNDR 51*e33bb646SMark Brown 0b0000 NI 52*e33bb646SMark Brown 0b0001 IMP 53*e33bb646SMark BrownEndEnum 54*e33bb646SMark BrownEnum 59:56 TLB 55*e33bb646SMark Brown 0b0000 NI 56*e33bb646SMark Brown 0b0001 OS 57*e33bb646SMark Brown 0b0010 RANGE 58*e33bb646SMark BrownEndEnum 59*e33bb646SMark BrownEnum 55:52 TS 60*e33bb646SMark Brown 0b0000 NI 61*e33bb646SMark Brown 0b0001 FLAGM 62*e33bb646SMark Brown 0b0010 FLAGM2 63*e33bb646SMark BrownEndEnum 64*e33bb646SMark BrownEnum 51:48 FHM 65*e33bb646SMark Brown 0b0000 NI 66*e33bb646SMark Brown 0b0001 IMP 67*e33bb646SMark BrownEndEnum 68*e33bb646SMark BrownEnum 47:44 DP 69*e33bb646SMark Brown 0b0000 NI 70*e33bb646SMark Brown 0b0001 IMP 71*e33bb646SMark BrownEndEnum 72*e33bb646SMark BrownEnum 43:40 SM4 73*e33bb646SMark Brown 0b0000 NI 74*e33bb646SMark Brown 0b0001 IMP 75*e33bb646SMark BrownEndEnum 76*e33bb646SMark BrownEnum 39:36 SM3 77*e33bb646SMark Brown 0b0000 NI 78*e33bb646SMark Brown 0b0001 IMP 79*e33bb646SMark BrownEndEnum 80*e33bb646SMark BrownEnum 35:32 SHA3 81*e33bb646SMark Brown 0b0000 NI 82*e33bb646SMark Brown 0b0001 IMP 83*e33bb646SMark BrownEndEnum 84*e33bb646SMark BrownEnum 31:28 RDM 85*e33bb646SMark Brown 0b0000 NI 86*e33bb646SMark Brown 0b0001 IMP 87*e33bb646SMark BrownEndEnum 88*e33bb646SMark BrownEnum 27:24 TME 89*e33bb646SMark Brown 0b0000 NI 90*e33bb646SMark Brown 0b0001 IMP 91*e33bb646SMark BrownEndEnum 92*e33bb646SMark BrownEnum 23:20 ATOMIC 93*e33bb646SMark Brown 0b0000 NI 94*e33bb646SMark Brown 0b0010 IMP 95*e33bb646SMark BrownEndEnum 96*e33bb646SMark BrownEnum 19:16 CRC32 97*e33bb646SMark Brown 0b0000 NI 98*e33bb646SMark Brown 0b0001 IMP 99*e33bb646SMark BrownEndEnum 100*e33bb646SMark BrownEnum 15:12 SHA2 101*e33bb646SMark Brown 0b0000 NI 102*e33bb646SMark Brown 0b0001 SHA256 103*e33bb646SMark Brown 0b0010 SHA512 104*e33bb646SMark BrownEndEnum 105*e33bb646SMark BrownEnum 11:8 SHA1 106*e33bb646SMark Brown 0b0000 NI 107*e33bb646SMark Brown 0b0001 IMP 108*e33bb646SMark BrownEndEnum 109*e33bb646SMark BrownEnum 7:4 AES 110*e33bb646SMark Brown 0b0000 NI 111*e33bb646SMark Brown 0b0001 AES 112*e33bb646SMark Brown 0b0010 PMULL 113*e33bb646SMark BrownEndEnum 114*e33bb646SMark BrownRes0 3:0 115*e33bb646SMark BrownEndSysreg 116