OpenTitan
Introduction to OpenTitan
OpenTitan is an open source silicon Root of Trust (RoT) project. OpenTitan will make the silicon RoT design and implementation more transparent, trustworthy, and secure for enterprises, platform providers, and chip manufacturers. OpenTitan is administered by lowRISC CIC as a collaborative project to produce high quality, open IP for instantiation as a full-featured product. This repository exists to enable collaboration across partners participating in the OpenTitan project.
Getting Started
To get started with OpenTitan, see the Getting Started page. For additional resources when working with OpenTitan, see the list of user guides. For details on coding styles or how to use our project-specific tooling, see the reference manuals. Lastly, the Hardware Dashboard page contains technical documentation on the SoC, the Ibex processor core, and the individual IP blocks. For questions about how the project is organized, see the project landing spot for more information.
Understanding OpenTitan
Datasheets
Documentation
Development
Repository Structure
The underlying repo is set up as a monolithic repository to contain RTL, helper scripts, technical documentation, and other software necessary to produce our hardware designs.
Unless otherwise noted, everything in the repository is covered by the Apache License, Version 2.0. See the LICENSE file and repository README for more information on licensing and see the user guides below for more information on development methodology.
Hardware
This page serves as the landing spot for all hardware development within the OpenTitan project.
We start off by providing links to the results of various tool-flows run on all of our Comportable IPs.
This includes DV simulations, FPV and lint, all of which are run with the dvsim
tool which serves as the common frontend.
The Comportable IPs following it provides links to their design specifications and DV documents, and tracks their current stage of development. See the Hardware Development Stages for description of the hardware stages and how they are determined.
Next, we focus on all available processor cores and provide links to their design specifications, DV documents and the DV simulation results.
Finally, we provide the same set of information for all available top level designs.
Results of tool-flows
- DV simulation summary results, with coverage (nightly)
- FPV sec_cm results (weekly)
- FPV ip results (weekly)
- FPV prim results (weekly)
- AscentLint summary results (nightly)
- Verilator lint summary results (nightly)
- Style lint summary results (nightly)
- DV Style lint summary results (nightly)
- FPV Style lint summary results (nightly)
Comportable IPs
Processor cores
core_ibex
- User manual
- DV document
- DV simulation results, with coverage (nightly) (TBD)
Earl Grey chip-level results
- Datasheet
- Specification
- DV Document
- DV simulation results, with coverage (nightly)
- Connectivity results (nightly)
- AscentLint results (nightly)
- Verilator lint results (nightly)
- Style lint results (nightly)
- DV Style lint results (nightly)
- CDC results (nightly)
Earl Grey-specific comportable IPs
Design Spec | DV Document | Spec Version | Development Stage | Notes | |||
---|---|---|---|---|---|---|---|
clkmgr |
DV | 1.0 | L1 | D2S | V2S | S2 |
|
pinmux |
DV | 1.0 | L1 | D3 | V2 | S2 | Use FPV to perform block level verification. |
pwrmgr |
DV | 0.1 | L1 | D1 | V0 | S0 |
|
1.0 | L1 | D2S | V2S | S2 |
|
||
rstmgr |
DV | 1.0 | L1 | D2S | V2S | S2 |
|
sensor_ctrl |
DV | 1.0 | L1 | D3 | N/A | - | Verified at the top-level. |
alert_handler |
DV | 1.0 | L1 | D3 | V2S | S2 | Use both FPV and DV to perform block level verification. |
rv_plic |
DV | 1.0 | L1 | D3 | V2 | S2 | Use FPV to perform block level verification. |
Hardware documentation overview
{{% sectionContent %}}
Top Earlgrey
Specification
The specification of Earlgrey is located here.
Tool: TopGen
Top Earlgrey is being generated by the integration tool, topgen
(util/topgen.py
). Please do not revise rtl/top_earlgrey.sv
, the crossbar
modules, and the interrupt controller directly. Those files are auto-generated
and sit in the repository for browsing purpose.
How to create top module
Top module rtl/top_earlgrey.sv
is created by topgen.py
. Current top module
is created with below command.
../../util/topgen.py -t data/top_earlgrey.hjson -o . -v
It generates files below:
rtl/top_earlgrey.sv
: Top module generated from the templatedata/top_earlgrey.sv.tpl
with the configuration filedata/top_earlgrey.hjson
rtl/xbar_main.sv
andrtl/tl_main_pkg.sv
: Crossbar module. As of now, earlgrey has only one main crossbar. tlgen library is used to generate these files.rtl/rv_plic*.sv
anddata/rv_plic.hjson
: Interrupt controller module.hw/ip/rv_plic/util/reg_rv_plic.py
tool is used to create RV_PLIC having the number of interrupts specified in the hjson.
Adding new blocks into top level
Modify data/top_earlgrey.hjson
to include new module
- If new block has interrupts, also add to the
interrupt_module
definition
Modify xbar_main.hjson
for the host / device connectivity
Modify configurations
Main configuration for Top Earlgrey is in data/top_earlgrey.hjson
. The users
need to specify the list of peripherals, memories, crossbars, and the interrupts
in the configuration file. The tool then reads relevant information from the
each peripheral blocks’ configuration. For instance, if uart
module is used,
the tool reads hw/ip/uart/data/uart{_reg}.hjson
and parses the information such
as input/output, the size of its register space, and interrupts.
For the memories, the tool utilizes the type
and instantiates relevant modules
including the converter from TL-UL interface to the native interfaces (SRAM,
ROM, eFlash). The user only needs to describe the base address and the memory
size.
The crossbar should be defined in the separate file. Please take a look at
data/xbar_main.hjson
as an example. In the top configuration, it needs to
define the xbar and the clock, then the tool calls tlgen library to create the
crossbar design. Please remind that the instance name in the crossbar and that
in the module field should be matched for topgen to create fields that tlgen
uses.
Modify the template
Main top template file is data/top_earlgrey.sv.tpl
. In most cases, it isn’t
require to modify the template file. For instance, to add new IP into the top,
the user just needs to add the IP to the module
field and revise the crossbar
connections in the crossbar configuration.
There might be some cases that needs to revise the template. As of now, a few modules are hard-coded such as RISC-V core and the debug module. If any of these modules need to be revised or some new modules not matching to the comportability spec, it needs to be manually instantiated in the template file.
OpenTitan Earl Grey Chip Datasheet
Overview
The OpenTitan Earl Grey chip is a low-power secure microcontroller that is designed for several use cases requiring hardware security. The block diagram is shown above and shows the system configuration, including the Ibex processor and all of the memories and comportable IPs.
As can be seen in the block diagram, the system is split into a fast processor core domain that runs on a 100MHz jittery clock, and a peripheral domain that runs at 24MHz. Further, a portion of the peripheral domain, the analog sensor top and the padring can stay always-on. The rest of the system can be shut off as part of the sleep mode.
The OpenTitan Earl Grey chip provides the following features:
OpenTitan Earl Grey Features | |
---|---|
|
|
Detailed Specification
For more detailed documentation including the pinout and system address map, see OpenTitan Earl Grey Chip Specification. The OpenTitan Earl Grey Chip DV Document describes the chip-level DV environment and contains the chip-level test plan.
OpenTitan Earl Grey Chip Specification
This document describes the OpenTitan Earl Grey chip functionality in detail. For an overview, refer to the OpenTitan Earl Grey Chip Datasheet.
Theory of Operations
The netlist chip_earlgrey_asic
contains the features listed above and is intended for ASIC synthesis, whereas the netlist chip_earlgrey_cw310
provides an emulation environment for the cw310
FPGA board.
The code for Ibex is developed in its own lowRISC repo, and is vendored in to this repository.
Surrounding Ibex is a suite of Comportable peripherals that follow the Comportability Guidelines for lowRISC peripheral IP.
Each of these IP has its own specification.
See the table produced in the hardware documentation page for links to those specifications.
Design Details
This section provides some details for the processor and the peripherals. See their representative specifications for more information. This section also contains a brief overview of some of the features of the final product.
Clocking and Reset
Clocks and resets are supplied from the Analog Sensor Top, referred to as ast) from this point onwards in the document.
ast
supplies a number of clocks into top_earlgrey
.
- sys: main jittery system clock used for higher performance blocks and security (processory, memory and crypto blocks).
- io: a fixed clock used for peripheral blocks such as timers and I/O functionality, such as SPI or I2C.
- usb: a fixed clock used specifically for usb operations.
- aon: an always on, low frequency clock used for power management and low speed timers.
These clocks are then divided down and distributed to the rest of the system. See clock manager) for more details.
ast
also supplies a number of power-okay signals to top_earlgrey
, and these are used as asynchronous root resets.
- vcaon_pok: The always on domain of the system is ready.
- vcmain_pok: The main operating domain of the system is ready.
When one of these power-okay signals drop, the corresponding domain in top_earlgrey
is reset.
Please refer to reset manager) for more details.
Resets throughout the design are asynchronous active low as per the Comportability specification.
Once reset, the reset vector begins in ROM, whose job is to validate code in the embedded flash before jumping to it. Valid code is assumed to have been instantiated into the flash, if not, the ROM shuts down the device unless prompted to bootstrap.
There are multiple avenues to load valid code into the flash:
- JTAG initiated flash programming.
- ROM bootstrap
AST Clocking and Reset Relationship
While the ast supplies clocks and resets to the top_earlgrey
, it also contains additional functions that interact with the design.
These include the RNG
, ADC
, jittery clock controls and an assortment of other sensors.
The operating clocks and resets for these interfaces are supplied by the device in order to ensure correct synchronous operations.
The clock mapping is shown below:
AST Port | top_earlgrey Clock |
---|---|
clk_ast_adc_i | aon |
clk_ast_alert_i | io_div4 |
clk_ast_es_i | sys |
clk_ast_rng_i | sys |
clk_ast_tlul_i | io_div4 |
clk_ast_usb_i | usb |
The reset clock domain is identical to the table above, and the power domain mapping is shown below
AST Port | top_earlgrey Power Domain |
---|---|
rst_ast_adc_i | always-on |
rst_ast_alert_i | main |
rst_ast_es_i | main |
rst_ast_rng_i | main |
rst_ast_tlul_i | main |
rst_ast_usb_i | main |
System Reset Handling and Flash
Since top_earlgrey
contains flash, it is important to examine the memory’s relationship with resets.
For flash, resets that occur during a stateful operation (program or erase) must be carefully handled to ensure the flash memory is not damaged. There are three reset scenarios:
- Reset due to external supply lowering.
- Reset due to internal peripheral request.
- Reset due to lower power entry and exit.
Reset due to External Supply
Device resets due to supply dropping below a specific threshold are commonly known as “brown-out”. When this occurs, the flash memory must go through specialized sequencing to ensure the cells are not damaged. This process is handled exclusively between ast and the flash. Please see the relevant section for more details.
Reset due to Internal Request
When the device receives an internal request to reset (for example aon_timer), device power is kept on and the flash is directly reset. It is assumed that the flash device, when powered, will be able to correctly handle such a sequence and properly protect itself.
Reset due to Low Power Entry
When the device receives a low power entry request while flash activity is ongoing, the pwrmgr) is responsible for ensuring the entry request is aborted.
Main processor (core_ibex
)
The main processor (core_ibex
) is a small and efficient, 32-bit, in-order RISC-V core with a 2-stage pipeline that implements the RV32IMC instruction set architecture.
It was initially developed as part of the PULP platform under the name “Zero-riscy” [1], and has been contributed to lowRISC who maintains it and develops it further.
See the core_ibex specification for more details of the core.
In addition to the standard RISC-V functionality, Ibex implements M (machine) and U (user) mode per the RISC-V standard.
Attached to the Ibex core are a debug module (DM) and interrupt module (PLIC).
JTAG / Debug module
One feature available for Earl Grey processor core is debug access. By interfacing with JTAG pins, logic in the debug module allows the core to enter debug mode (per RISC-V 0.13 debug spec), and gives the design the ability to inject code either into the device - by emulating an instruction - or into memory. Full details can be found in the rv_dm specification.
Interrupt Controller
Adjacent to the Ibex core is an interrupt controller that implements the RISC-V PLIC standard. This accepts a vector of interrupt sources within the device, and assigns leveling and priority to them before sending to the core for handling. See the details in the rv_plic specification.
Performance
Ibex currently achieves a CoreMark per MHz of 2.36 on the earlgrey verilator system. Performance improvements are ongoing, including the following items being considered:
- Adding a new ALU to calculate branch targets to remove a cycle of latency on taken conditional branches (currently the single ALU is used to compute the branch condition then the branch target the cycle following if the branch is taken).
- A 3rd pipeline stage to perform register writeback, this will remove a cycle of latency from all loads and stores and prevent a pipeline stall where a response to a load or store is available the cycle after the request.
- Implement a single-cycle multiplier.
- Produce an imprecise exception on an error response to a store allowing Ibex to continue executing past a store without waiting for the response.
The method for including these features, e.g. whether they will be configurable options or not, is still being discussed.
The Ibex documentation has more details on the current pipeline operation, including stall behaviour for each instruction in the Pipeline Details section.
The CoreMark performance achieved relies in part on single-cycle access to instruction memory. An instruction cache is planned to help maintain this performance when using flash memory that will likely not have single-cycle access times.
CoreMark was compiled with GCC 9.2.0 with flags: -march=rv32imc -mabi=ilp32 -mcmodel=medany -mtune=sifive-3-series -O3 -falign-functions=16 -funroll-all-loops -finline-functions -falign-jumps=4 -mstrict-align
Memory
The device contains three memory address spaces for instruction and data.
Instruction ROM (32kB) is the target for the Ibex processor after release of external reset. The ROM contains hard-coded instructions whose purpose is to do a minimal subset of platform checking before checking the next stage of code. The next stage - a boot loader stored in embedded flash memory - is the first piece of code that is not hard-coded into the silicon of the device, and thus must be signature checked. The ROM executes this signature check by implementing a RSA-check algorithm on the full contents of the boot loader. The details of this check will come at a later date. For verification execute-time reasons, this RSA check will be overridable in the FPGA and verification platforms (details TBD). This is part of the Secure Boot Process that will be detailed in a security section in the future.
Earl Grey contains 1024kB of embedded-flash (e-flash) memory for code storage. This is intended to house the boot loader mentioned above, as well as the operating system and application that layers on top. At this time there is no operating system provided; applications are simple proof of concept code to show that the chip can do with a bare-metal framework.
Embedded-flash is the intended technology for a silicon design implementing the full OpenTitan device. It has interesting and challenging parameters that are unique to the technology that the silicon is implemented in. Earl Grey, as an FPGA proof of concept, will model these parameters in its emulation of the memory in order to prepare for the replacement with the silicon flash macros that will come. This includes the read-speeds, the page-sized erase and program interfaces, the two-bank update scheme, and the non-volatile nature of the memory. Since by definition these details can’t be finalized until a silicon technology node is chosen, these can only be emulated in the FPGA environment. We will choose parameters that are considered roughly equivalent of the state of the art embedded-flash macros on the market today.
Details on how e-flash memory is used by software will be detailed in future Secure Boot Process and Software sections over time.
The intent is for the contents of the embedded flash code to survive FPGA reset as it would as a NVM in silicon. Loading of the FPGA with initial content, or updating with new content, is described in other software specifications. The SPI device peripheral is provided as a method to bulk-load e-flash memory. The processor debug port (via JTAG) is also available for code loading. See those specifications for more details.
Also included is a 128kB of SRAM available for data storage (stack, heap, etc.) by the Ibex processor. It is also available for code storage, though that is not its intended purpose.
The base address of the ROM, Flash, and SRAM are given in the address map section later in this document.
Peripherals
Earl Grey contains a suite of “peripherals”, or subservient execution units connected to the Ibex processor by means of a bus interconnect. Each of these peripherals follows an interface scheme dictated in the Comportability Specification.. That specification details how the processor communicates with the peripheral (via TLUL interconnect); how the peripheral communicates with the chip IO (via fixed or multiplexable IO); how the peripheral communicates with the processor (interrupts); and how the peripheral communicates security events (via alerts). See that specification for generic details on this scheme.
Chip IO Peripherals
Pin Multiplexor Module (pinmux
)
The pin multiplexor’s purpose is to route between peripherals and the available multiplexable IO of the chip. At this time, the pin multiplexor is provided, but it is not used to its full potential. In addition, the multiplexor device manages control or pad attributes like drive strength, technology (OD, OS, etc), pull up, pull down, etc., of the chip’s external IO. It is notable that there are many differences between an FPGA implementation of Earl Grey and an ASIC version when it comes to pins and pads. Some pad attributes with analog characteristics like drive strength, slew rate and Open Drain technology are not supported on all platforms.
The pin multiplexor is a peripheral on the TLUL bus, with collections of registers that provide software configurability. See the pinmux specification for how to connect peripheral IO to chip IO and for information on pad control features.
UART
The chip contains one UART peripheral that implement single-lane duplex UART functionality. The outputs and inputs can be configured to any chip IO via the pinmux.
See the UART specification for more details on this peripheral.
GPIO
The chip contains one GPIO peripheral that creates 32 bits of bidirectional communication with the outside world via the pinmux. Via pinmux any of the 32 pins of GPIO can be connected to any of the 32 MIO chip pins, in any direction. See the GPIO specification for more details on this peripheral. See the pinmux specification for how to connect peripheral IO to chip IO.
SPI device
The SPI device implements multiple modes:
- Firmware mode
- TPM mode
- Flash mode
- Passthrough mode
Firmware Mode is a generic data transfer mode. It can be used by software to construct a simple firmware upgrade mechanism for in-field devices.
TPM mode supports SPI transfers in compliance with the TPM PC Client Platform. The interface is single data lane and supports built-in data back pressuring.
Flash mode supports serial flash emulation. Typical commands such as read status, address mode, read data and program data are either natively supported or can be emulated.
Passthrough mode supports serial flash passthrough from an upstream SPI host to a downstream serial flash device.
See the SPI device specification for more details.
USB device
The chip contains a single module that supports USB device mode at full speed. In addition to normal functionality, USB suspend / resume is supported alongside the chip’s low power modes.
See the USB device specification for more details.
I2C host
In order to be able to command I2C devices on systems where Earl Grey will be included, I2C host functionality will be required. This will include standard, full, and fast mode, up to 1Mbaud. More details of the I2C host module will come in a later specification update. The pins of the I2C host will be available to connect to any of the multiplexable IO (MIO) of the Earl Grey device. More than one I2C host module might be instantiated in the top level.
Security Peripherals
AES
AES is the primary symmetric encryption and decryption mechanism used in OpenTitan protocols. AES runs with key sizes of 128b, 192b, or 256b. The module can select encryption or decryption of data that arrives in 16 byte quantities to be encrypted or decrypted using different block cipher modes of operation. It supports ECB mode, CBC mode, CFB mode, OFB mode and CTR mode.
The GCM mode is not implemented in hardware, but can be constructed using AES in counter mode. The integrity tag calculation can be implemented in Ibex and accelerated via bitmanip instructions.
Details on how to write key and data material into the peripheral, how to initiate encryption and decryption, and how to read out results, are available in the AES specification.
SHA-256/HMAC
SHA-256 is the primary hashing algorithm used in OpenTitan protocols. SHA-256 is a member of the SHA-2 family of hashing algorithms, where the digest (or hash output) is of 256b length, regardless of the data size of the input to be hashed. The data is sent into the SHA peripheral after declaring the beginning of a hash request (effectively zeroing out the internal state to initial conditions), 32b at a time. Once all data has been sent, the user can indicate the completion of the hash request (with optional partial-word final write). The peripheral produces the hash result available for register read by the user. All data transfer is processor-available, i.e. data is passed into the module via register writes.
HMAC is a message authentication protocol layered on top of a hashing function (in this case SHA-256), mixing in a secret key for cryptographic purposes. HMAC is a particular application of appending the secret key in a prescribed manner, twice, around the hashing (via SHA-256) of the message.
Details on how to write key and data material into the peripheral, how to initiate hashing / authentication, and how to read out results, are available in the SHA/HMAC specification.
Alert Handler
Alerts, as defined in the Comportability Specification, are defined as security-sensitive interrupts that need to be handled in a timely manner to respond to a security threat. Unlike standard interrupts, they are not solely handled by software. Alerts trigger a first-stage request to be handled by software in the standard mode as interrupts, but trigger a second-stage response by the alert handler if software is not able to respond. This ensures that the underlying concern is guaranteed to be addressed if the processor is busy, wedged, or itself under attack.
Each peripheral has an option to present a list of individual alerts, representing individual threats that require handling. These alerts are sent in a particular encoding method to the alert handler module, itself a peripheral on the system bus. See the details of the alert handler specification for more information.
TRNG entropy source
Randomness is a critical part of any security chip. It provides variations in execution that can keep attackers from predicting when the best time is to attack. It provides secret material used for identity and cryptographic purposes. It can be seeded into algorithmic computation to obscure sensitive data values. In short, it is a source of critical functionality that must be designed to be truly random, but also free from attack itself.
Most TRNGs (True Random Number Generators) are analog designs, taking advantage of some physical event or process that is non-deterministic. Example designs rely on metastability, electronic noise, timing variations, thermal noise, quantum variation, etc. These are then filtered and sent into a pool of entropy that the device can sample at any time, for whatever purposes are needed. The creation, filtering, storage, protection, and dissemination of the randomness are all deep topics of intense research in their own right.
The primary interface to the entropy pool is a read request of available random bits. The TRNG interface can indicate how many bits are available, and then software can read from this pool, if available. Reading of entropy that is not available should immediately trigger an interrupt or an alert.
Since silicon is required to contain an analog design tied to the final chosen silicon technology process, our FPGA implementation can only approximate the results. We however fully specify the software interface to the TRNG in a digital wrapper. In FPGA we emulate the randomness with something akin to a PRBS.
Other peripherals
Timer(s)
Timers are critical for operating systems to ensure guaranteed performance for users. To some level they are even required by the RISC-V specification. At this time, one timer is provided, a 64b free running timer with a guaranteed (within a certain percentage) frequency. A second one acting as a watchdog timer that can be used to backstop the processor in the case of it being unresponsive (usually due to development code that is wedged, rather than for instance due to security attack) will be provided in the future. The goal is for both of these to be satisfied with the same timer module.
The specification for the timer can be found here.
Flash Controller
The final peripheral discussed in this release of the netlist is an emulated flash controller. As mentioned in the memory section, up to 1024kB of emulated embedded flash is available for code and data storage. The primary read path for this data is in the standard memory address space. Writes to that address space are ignored, however, since one can not write to flash in a standard way. Instead, to write to flash, software must interact with the flash controller.
Flash functionality include three primary commands: read, erase, and program.
Read, as mentioned above, is standard, and uses the chip memory address space.
Erase is done at a page level, where the page size is parameterizable in the flash controller.
Upon receiving an erase request, the flash controller wipes all contents of that page, rendering the data in all 1
s state (0xFFFFFFFF
per word).
Afterwards, software can program individual words to any value.
It is notable that software can continue to attempt to program words even before another erase, but it is not physically possible to return a flash bit back to a '1'
state without another erase.
So future content is in effect an AND of the current content and the written value.
next_value = AND(current_value, write_word)
Erase and program are slow. A typical erase time is measured in milliseconds, program times in microseconds. The flash controller peripheral in this release approximates those expected times.
Security is also a concern, since secret data can be stored in the flash. Some memory protection is provided by the flash controller. For more details see the flash controller module specification.
Interconnection
Interconnecting the processor and peripheral and memory units is a bus network built upon the TileLink-Uncached-Light protocol. See the OpenTitan bus specification for more details.
Topology
top_earlgrey
has a two-level hierarchy for its bus network.
Close to the CPU is the high-speed cluster, with low access latency.
Farther from the CPU, through a low-speed bridge, is the low-speed cluster, with higher access latency.
Performance
The following table describes the typical number of CPU cycles from a transaction’s launch to its completion for a device in the specified cluster. Note that these values assume there is no bus contention.
Cluster | CPU Access Latency |
---|---|
High speed | 2 CPU cycles |
Low speed | 18-20 CPU cycles |
Memory Map
The base addresses of the memory and peripherals are given in the table below.
The choice of memory, or lack thereof at location 0x0 confers two exclusive benefits:
- If there are no memories at location 0x0, then null pointers will immediately error and be noticed by software (the xbar will fail to decode and route)
- If SRAM is placed at 0, accesses to data located within 2KB of 0x0 can be accomplished with a single instruction and thus reduce code size.
For the purpose of top_earlgrey
, the first option has been chosen to benefit software development and testing
Name | Type | Byte Address |
---|---|---|
uart0 | uart | 0x40000000 (regs) |
uart1 | uart | 0x40010000 (regs) |
uart2 | uart | 0x40020000 (regs) |
uart3 | uart | 0x40030000 (regs) |
gpio | gpio | 0x40040000 (regs) |
spi_device | spi_device | 0x40050000 (regs) |
i2c0 | i2c | 0x40080000 (regs) |
i2c1 | i2c | 0x40090000 (regs) |
i2c2 | i2c | 0x400A0000 (regs) |
pattgen | pattgen | 0x400E0000 (regs) |
rv_timer | rv_timer | 0x40100000 (regs) |
otp_ctrl | otp_ctrl | 0x40130000 (core) |
0x40132000 (prim) | ||
lc_ctrl | lc_ctrl | 0x40140000 (regs) |
alert_handler | alert_handler | 0x40150000 (regs) |
spi_host0 | spi_host | 0x40300000 (regs) |
spi_host1 | spi_host | 0x40310000 (regs) |
usbdev | usbdev | 0x40320000 (regs) |
pwrmgr_aon | pwrmgr | 0x40400000 (regs) |
rstmgr_aon | rstmgr | 0x40410000 (regs) |
clkmgr_aon | clkmgr | 0x40420000 (regs) |
sysrst_ctrl_aon | sysrst_ctrl | 0x40430000 (regs) |
adc_ctrl_aon | adc_ctrl | 0x40440000 (regs) |
pwm_aon | pwm | 0x40450000 (regs) |
pinmux_aon | pinmux | 0x40460000 (regs) |
aon_timer_aon | aon_timer | 0x40470000 (regs) |
ast | ast | 0x40480000 (regs) |
sensor_ctrl | sensor_ctrl | 0x40490000 (regs) |
sram_ctrl_ret_aon | sram_ctrl | 0x40500000 (regs) |
0x40600000 (ram) | ||
flash_ctrl | flash_ctrl | 0x41000000 (core) |
0x41008000 (prim) | ||
0x20000000 (mem) | ||
rv_dm | rv_dm | 0x00010000 (mem) |
0x41200000 (regs) | ||
rv_plic | rv_plic | 0x48000000 (regs) |
aes | aes | 0x41100000 (regs) |
hmac | hmac | 0x41110000 (regs) |
kmac | kmac | 0x41120000 (regs) |
otbn | otbn | 0x41130000 (regs) |
keymgr | keymgr | 0x41140000 (regs) |
csrng | csrng | 0x41150000 (regs) |
entropy_src | entropy_src | 0x41160000 (regs) |
edn0 | edn | 0x41170000 (regs) |
edn1 | edn | 0x41180000 (regs) |
sram_ctrl_main | sram_ctrl | 0x411C0000 (regs) |
0x10000000 (ram) | ||
rom_ctrl | rom_ctrl | 0x00008000 (rom) |
0x411e0000 (regs) | ||
rv_core_ibex | rv_core_ibex | 0x411F0000 (cfg) |
Hardware Interfaces
Pinout
ID | Name | Bank | Type | Connection Type | Description |
---|---|---|---|---|---|
0 | POR_N | VCC | InputStd | manual | System reset |
1 | USB_P | VCC | DualBidirTol | manual | USB P signal |
2 | USB_N | VCC | DualBidirTol | manual | USB N signal |
3 | CC1 | AVCC | InputStd | manual | ADC input 1 |
4 | CC2 | AVCC | InputStd | manual | ADC input 2 |
5 | FLASH_TEST_VOLT | VCC | AnalogIn0 | manual | Flash test voltage input |
6 | FLASH_TEST_MODE0 | VCC | InputStd | manual | Flash test mode signal |
7 | FLASH_TEST_MODE1 | VCC | InputStd | manual | Flash test mode signal |
8 | OTP_EXT_VOLT | VCC | AnalogIn1 | manual | OTP external voltage input |
9 | SPI_HOST_D0 | VIOA | BidirStd | direct | SPI host data |
10 | SPI_HOST_D1 | VIOA | BidirStd | direct | SPI host data |
11 | SPI_HOST_D2 | VIOA | BidirStd | direct | SPI host data |
12 | SPI_HOST_D3 | VIOA | BidirStd | direct | SPI host data |
13 | SPI_HOST_CLK | VIOA | BidirStd | direct | SPI host clock |
14 | SPI_HOST_CS_L | VIOA | BidirStd | direct | SPI host chip select |
15 | SPI_DEV_D0 | VIOA | BidirStd | direct | SPI device data |
16 | SPI_DEV_D1 | VIOA | BidirStd | direct | SPI device data |
17 | SPI_DEV_D2 | VIOA | BidirStd | direct | SPI device data |
18 | SPI_DEV_D3 | VIOA | BidirStd | direct | SPI device data |
19 | SPI_DEV_CLK | VIOA | InputStd | direct | SPI device clock |
20 | SPI_DEV_CS_L | VIOA | InputStd | direct | SPI device chip select |
0 | IOA0 | VIOA | BidirStd | muxed | Muxed IO pad |
1 | IOA1 | VIOA | BidirStd | muxed | Muxed IO pad |
2 | IOA2 | VIOA | BidirStd | muxed | Muxed IO pad |
3 | IOA3 | VIOA | BidirStd | muxed | Muxed IO pad |
4 | IOA4 | VIOA | BidirStd | muxed | Muxed IO pad |
5 | IOA5 | VIOA | BidirStd | muxed | Muxed IO pad |
6 | IOA6 | VIOA | BidirOd | muxed | Muxed IO pad |
7 | IOA7 | VIOA | BidirOd | muxed | Muxed IO pad |
8 | IOA8 | VIOA | BidirOd | muxed | Muxed IO pad |
9 | IOB0 | VIOB | BidirStd | muxed | Muxed IO pad |
10 | IOB1 | VIOB | BidirStd | muxed | Muxed IO pad |
11 | IOB2 | VIOB | BidirStd | muxed | Muxed IO pad |
12 | IOB3 | VIOB | BidirStd | muxed | Muxed IO pad |
13 | IOB4 | VIOB | BidirStd | muxed | Muxed IO pad |
14 | IOB5 | VIOB | BidirStd | muxed | Muxed IO pad |
15 | IOB6 | VIOB | BidirStd | muxed | Muxed IO pad |
16 | IOB7 | VIOB | BidirStd | muxed | Muxed IO pad |
17 | IOB8 | VIOB | BidirStd | muxed | Muxed IO pad |
18 | IOB9 | VIOB | BidirOd | muxed | Muxed IO pad |
19 | IOB10 | VIOB | BidirOd | muxed | Muxed IO pad |
20 | IOB11 | VIOB | BidirOd | muxed | Muxed IO pad |
21 | IOB12 | VIOB | BidirOd | muxed | Muxed IO pad |
22 | IOC0 | VCC | BidirStd | muxed | Muxed IO pad |
23 | IOC1 | VCC | BidirStd | muxed | Muxed IO pad |
24 | IOC2 | VCC | BidirStd | muxed | Muxed IO pad |
25 | IOC3 | VCC | BidirStd | muxed | Muxed IO pad |
26 | IOC4 | VCC | BidirStd | muxed | Muxed IO pad |
27 | IOC5 | VCC | BidirStd | muxed | Muxed IO pad |
28 | IOC6 | VCC | BidirStd | muxed | Muxed IO pad |
29 | IOC7 | VCC | BidirStd | muxed | Muxed IO pad |
30 | IOC8 | VCC | BidirStd | muxed | Muxed IO pad |
31 | IOC9 | VCC | BidirStd | muxed | Muxed IO pad |
32 | IOC10 | VCC | BidirOd | muxed | Muxed IO pad |
33 | IOC11 | VCC | BidirOd | muxed | Muxed IO pad |
34 | IOC12 | VCC | BidirOd | muxed | Muxed IO pad |
35 | IOR0 | VCC | BidirStd | muxed | Muxed IO pad |
36 | IOR1 | VCC | BidirStd | muxed | Muxed IO pad |
37 | IOR2 | VCC | BidirStd | muxed | Muxed IO pad |
38 | IOR3 | VCC | BidirStd | muxed | Muxed IO pad |
39 | IOR4 | VCC | BidirStd | muxed | Muxed IO pad |
40 | IOR5 | VCC | BidirStd | muxed | Muxed IO pad |
41 | IOR6 | VCC | BidirStd | muxed | Muxed IO pad |
42 | IOR7 | VCC | BidirStd | muxed | Muxed IO pad |
21 | IOR8 | VCC | BidirOd | direct | Dedicated sysrst_ctrl output (ec_rst_l) |
22 | IOR9 | VCC | BidirOd | direct | Dedicated sysrst_ctrl output (flash_wp_l)) |
43 | IOR10 | VCC | BidirOd | muxed | Muxed IO pad |
44 | IOR11 | VCC | BidirOd | muxed | Muxed IO pad |
45 | IOR12 | VCC | BidirOd | muxed | Muxed IO pad |
46 | IOR13 | VCC | BidirOd | muxed | Muxed IO pad |
RTL Implementation Notes
At this time, the top-level netlist for earlgrey is a combination of hand-written SystemVerilog RTL with auto-generated sections for wiring of comportability interfaces.
There is a script for this auto-generation, centered around the top-level descriptor file top_earlgrey.hjson
found in the repository.
A full definition of this descriptor file, its features, and related scripting is forthcoming.
This tooling generates the interconnecting crossbar (via TLUL
) as well as the instantiations at the top level.
It also feeds into this document generation to ensure that the chosen address locations are documented automatically using the data in the source files.
Top Level vs Chip Targets
It should first be NOTED that there is some subtlety on the notion of hierarchy within the top level.
There is netlist automation to create the module top_earlgrey
as indicated in sections of this specification that follow.
On top of that module, hierarchically in the repo, are chip level instantiation targets directed towards a particular use case.
This includes chip_earlgrey_cw310
for use in FPGA, and chip_earlgrey_asic
for use (eventually) in a silicon implementation.
These chip level targets will include the actual pads as needed by the target platform.
At the time of this writing the two are not in perfect synchronization, but the intention will be for them to be as identical as possible.
Where appropriate, including the block diagram below, notes will be provided where the hierarchy subtleties are explained.
FPGA Platform
TODO: This section needs to be updated once pin updates are complete.
In the FPGA platform, the logic for the JTAG and the SPI device are multiplexed within chip_earlgrey_cw310
.
This is done for ease of programming by the external host.
References
OpenTitan Earl Grey Chip DV Document
Goals
- DV
- Verify
top_earlgrey
features by running dynamic simulations with a SV/UVM based testbench. - Verify the integration of all pre-verified IPs instantiated in the chip.
- Verify the integration and the internal design of non-pre-verified IPs instantiated in the chip.
- Verify system level scenarios for correctness of our design assumptions and behavior.
- Verify the full chip configuration and memory address space by running the automated tests.
- Stress test the XBAR structures in the chip.
- Verify
- FPV
- Verify the connectivity of signals (that are excluded from functional DV above) from point A to point B.
- Secure verification
- Check for leakage of secure data into unsecure locations / paths and vice-versa using the Cadence SPV tool.
Current status
Design features
For detailed information on top_earlgrey
design features, please see the Earl Grey Top Level Specification.
Testbench architecture
The top_earlgrey
chip level testbench has been constructed based on the CIP testbench architecture.
Block diagram
TBD
Top level testbench
Top level testbench is located at hw/ip/top_earlgrey/dv/tb/tb.sv
.
It instantiates the top_earlgrey
DUT module hw/top_earlgrey/rtl/autogen/chip_earlgrey_asic.sv
.
In addition, it instantiates the following interfaces, connects them to the DUT and sets their handle into uvm_config_db
:
- Clock and reset interface
- Main clock as well as USB clock
- TileLink host interface
- This is connected to the CPU’s data port.
- JTAG interface
- SPI interface
- UART interface
- SW logger interface (for test boot ROM as well as the test SW)
- SW test status monitor
- Backdoor memory interfaces (for ROM, SRAM and the flask banks)
- Individual control pins:
- Bootstrap
- JTAG/SPI switch
- SRST_N
Common DV utility components
The following utilities provide generic helper tasks and functions to perform activities that are common across the project:
Global types & methods
All common types and methods defined at the package level can be found in the chip_env_pkg
.
Some of them in use are:
[list a few parameters, types & methods; no need to mention all]
TL_agent
The full chip testbench instantiates (already handled in CIP base env) the tl_agent which provides the ability to drive and independently monitor random traffic via TL host interface into CHIP device.
UART Agent
[Describe here or add link to its README]
SPI Agent
[Describe here or add link to its README]
JTAG Agent
[Describe here or add link to its README]
I2C Agent
[Describe here or add link to its README]
USB20 Agent
[Describe here or add link to its README]
UVM RAL Model
The CHIP RAL model is created with the ralgen
FuseSoC generator script automatically when the simulation is at the build stage.
It can be created manually (separately) by running make
in the the hw/
area.
Reference models
Testbench configurations
Stub CPU mode
Bare-metal SW test mode
XBAR integration mode
Stimulus strategy
Test sequences
All test sequences reside in hw/ip/chip/dv/env/seq_lib
.
The chip_base_vseq
virtual sequence is extended from cip_base_vseq
and serves as a starting point.
All test sequences are extended from chip_base_vseq
.
It provides commonly used handles, variables, functions and tasks that the test sequences can simple use / call.
Some of the most commonly used tasks / functions are as follows:
- task 1:
- task 2:
Functional coverage
To ensure high quality constrained random stimulus, it is necessary to develop a functional coverage model. The following covergroups have been developed to prove that the test intent has been adequately met:
- cg1:
- cg2:
Self-checking strategy
Scoreboard
The chip_scoreboard
is primarily used for end to end checking.
It creates the following analysis ports to retrieve the data monitored by corresponding interface agents:
- analysis port1:
- analysis port2:
Assertions
- TLUL assertions: The
tb/chip_bind.sv
binds thetlul_assert
assertions to the IP to ensure TileLink interface protocol compliance. - Unknown checks on DUT outputs: The RTL has assertions to ensure all outputs are initialized to known values after coming out of reset.
- assert prop 1:
- assert prop 2:
Building and running tests
DV simulations for top_earlgrey
are run with the dvsim
tool.
Please take a look at the link for detailed information on the usage, capabilities, features and known issues.
The basic UART transmit and receive test can be run with the following command:
$ ./util/dvsim/dvsim.py hw/top_earlgrey/dv/chip_sim_cfg.hjson -i chip_sw_uart_tx_rx
For a list of available tests to run, please see the ‘Tests’ column in the testplan below.
Regressions
Sanity
SW access
Nightly
Testplan (RTL simulations)
Testplan (Gate level simulations)
Note that the descriptions of the test below may be replicated from the table above. Testplan
Analog Sensor Top Technical Specification
Overview
AST, also known as the analog sensor top, is the OpenTitan analog and security companion. Within AST are various analog functions (such as clocks, regulators, random number generators) needed to make the device function, as well as physical security sensors necessary to protect the device from physical attacks or manipulation.
At a high level, AST communicates with a number of OpenTitan comportable modules. See diagram below.
In the following sections, each family of connection is briefly described and explained. Note, the analog connections to AST are not shown in the diagram, but will be explained as well.
Interface Signals Table
Table notes
Signal naming conventions used in this document
It complies with OpenTitan names and suffixes with some augmentations.
-
Clock signals start with clk_*
-
Inputs and outputs are marked with *_i/o
-
Analog signals are marked with *_a
-
Non-core level signals are marked with *_h
-
Dual and negative polarity signals are marked with *_p/n
Clock domains column
-
sys - system clock, mainly used for high performance and security modules. Up to 100MHz
-
io - peripheral clock source, mainly used for peripherals and I/O related functionality. Up to 96MHz (divided by 4 by the clock manager)
-
usb - USB module source clock. 48MHz
-
aon - Always-on domain clock. The only active clock while chip is in deep-sleep power state, 200KHz
-
async - when listed as async, it means it does not matter what domain drives the signal
-
Input clocks: Each functional interface has a dedicated clock named after the interface.
Signal Name & Affiliation | I/O | Width/ Type/ Struct |
Clock Domain | Description |
Power Supplies | ||||
VCC | I | VCC is the main power supply. It is driven from an external source and is used to power the internal VCMAIN and VCAON power domains. VCC must always be present when the device is functioning; VCC is also used to power a number of pads that must be always on when the device is functioning. |
||
AVCC | I | Analog blocks power supply. AVCC and AGND are analog supply and ground signals for the AST analog functions. They mainly serve for ADC and USB clock functionality. AVCC is expected to be driven by the same voltage regulator and have similar power availability as VCC. AVCC and AGND have dedicated package balls/pins. In the future, package pins sharing with VCC and GND may be considered based on post-silicon test results. | ||
VCMAIN | O | Main core power, driven by internal capless voltage regulator | ||
VCAON | O | Core voltage power for always-on domain (same voltage range as VCMAIN) | ||
VIOA | I | IO supply, powering a set of pads. Unlike VCC, the IO supplies can be turned off by external components and the device will continue to function, the unpowered pads however, become inoperable. | ||
VIOB | I | Same as VIOA, but for a different set of pads. | ||
GND | I | Ground | ||
AGND | I | Analog ground (see AVCC for further details) | ||
Power Control and Reset | ||||
otp_power_seq_i | I | 2 | async | Contains the power sequencing signals coming from the OTP macro. |
otp_power_seq_h_o | O | 2 | async | Contains the power sequencing signals going to the OTP macro (VCC domain). |
flash_power_down_h_o | O | 1 | async | Connected to flash (VCC domain). Used for flash power management. |
flash_power_ready_h_o | O | 1 | async | Connected to flash (VCC domain). Used for flash power management. |
vcmain_pok (aka vcmain_pok_o) |
O | ast_pwst | async | Main core power-exist indication. Used by the OpenTitan power manager to determine the state of the main digital supply during power up and power down sequencing. |
vcaon_pok (aka vcaon_pok_o) |
O | ast_pwst | async | Always-on power-exist indication. Used by the OpenTitan power manager for power-on reset root. |
vioa_pok (aka vioa_pok_o) |
O | ast_pwst | async | VIOA power-exist indications. Used as a power-OK status signal. |
viob_pok (aka viob_pok_o) |
O | ast_pwst | async | VIOB power-exist indication. Used as a power-OK status signal. |
por_ni | I | 1 | async | Power on reset input signal to AST. See Resets section for further details |
main_pd_ni | I | 1 | aon | Power down enable for main core power 0: main core power is down (deep-sleep state) 1: main core power is up It may take up to 200 uS from this signal transition to power switching completion by AST (not including boot time and so). Note that flash must be prepared for power down before this signal is asserted. |
main_env_iso_en_i | I | 1 | aon | Preliminary indication of VCMAIN isolation signal (main_iso_en) assertion. It is used by AST logic to latch interface signals which may no longer be valid after main_iso_en is active. This signal must be set at least 30ns before main_iso_en is active and must remain active at least 30ns after main_iso_en is no longer active. Note that main_iso_en itself asserts ahead of main_pd_ni. ie, the pwrmgr will set this signal to '1' before requesting the power be turned off. Similar, on power-on, the isolation is only released after power is restored and all powered off modules have been reset. |
ast_init_done_o | O | mubi4 | tlul | When set, it indicates that the AST initialization was performed. Note that this signal may not be set while the chip is in TEST* or RMA lifecycle states. |
Clock Outputs | ||||
clk_src_sys_o | O | 1 | sys | 100 MHz clock with jitter (main clock domain). Used as the main system clock. |
clk_src_sys_val_o | O | 1 | async | System clock valid. Used as "ack" signals for the power manager |
clk_src_sys_en_i | I | 1 | aon | System clock enable. |
clk_src_sys_jen_i | I | mubi4 | async | System clock jitter enable |
clk_src_aon_o | O | 1 | aon | 200 KHz clock for always-on domain. |
clk_src_aon_val_o | O | 1 | async | aon clock valid |
clk_src_usb_o | O | 1 | usb | 48 MHz clock for USB. To comply with USB full speed clock specification, it supports frequency accuracy of +/-2500 ppm when usb_ref_pulse_i is available and +/-3% otherwise. It may take up to 50 ms for this clock to reach the accuracy target from the time 'usb_ref_pulse_i' is available. USB clock calibration interface is further detailed here. |
clk_src_usb_val_o | O | 1 | async | USB clock valid |
clk_src_usb_en_i | I | 1 | aon | USB clock enable |
usb_ref_pulse_i | I | 1 | usb | USB reference pulse +/-500ppm. When valid, it is expected to pulse for one usb clock cycle every 1ms. |
usb_ref_val_i | I | 1 | usb | USB reference valid. This bit serves as a valid signal for the usb_ref_pulse_i signal. It is set to 1 after the first valid usb_ref_pulse_i event is detected and remains high as long as usb_ref_pulse_i continues to behave as expected (per usb_ref_pulse description). Once usb_ref_pulse deviates from its expected behavior, usb_ref_val_i immediately negates to 0 and remains 0 until after the next valid usb_ref_val pulse. |
clk_src_io_o | O | 1 | io | 96 MHz clock with +/-3% frequency accuracy. Used for peripherals that require a fixed frequency, for example SPI and UART |
clk_src_io_val_o | O | 1 | async | I/O and timer clock valid. Used as "ack" signals for the Power manager. |
clk_src_io_en_i | I | 1 | aon | I/O and timer clock enable |
clk_src_io_48m_o | O | mubi4 | aon | Clock frequency indicator. When set, it indicates that the clk_src_io_o's frequency is 48 MHz; otherwise, it is 96 MHz. |
Clock & Reset Inputs | ||||
clk_ast_adc_i | I | 1 | adc | ADC interface clock input |
clk_ast_rng_i | I | 1 | rng | RNG interface clock input |
clk_ast_usb_i | I | 1 | usb | USB reference interface clock input |
clk_ast_es_i | I | 1 | es | Entropy source interface clock input |
clk_ast_alert_i | I | 1 | alert | Alert interface clock input |
clk_ast_tlul_i | I | 1 | tlul | TLUL bus interface clock input |
rst_ast_adc_ni | I | 1 | adc | ADC interface reset (active low) |
rst_ast_rng_ni | I | 1 | rng | RNG interface reset (active low) |
rst_ast_usb_ni | I | 1 | usb | USB reference interface reset (active low) |
rst_ast_es_ni | I | 1 | es | Entropy source interface reset (active low) |
rst_ast_alert_ni | I | 1 | alert | Alert interface interface reset (active low) |
rst_ast_tlul_ni | I | 1 | tlul | TLUL bus reference interface reset (active low) |
Register Access Interface | ||||
tlul | I/O | tl_* | tlul | TLUL bus interface. Mainly used for configuration, calibration and trimming. At boot time, data is copied from non-volatile storage into AST registers by the SW boot entity. This interface has no further use beyond this point. Runtime interaction with AST is performed by other signals as described in this document. |
Analog modules | ||||
adc_a0_ai | I | awire | async | ADC analog input channels 0 to be measured. Signal type is awire (see ana_pkg.sv) |
adc_a1_ai | I | awire | async | ADC analog input channels 1 to be measured. Signal type is awire (see ana_pkg.sv) |
adc_d_o | O | 10 | adc | ADC digital data |
adc_chnsel_i | I | 2 | adc | ADC input channel select (one hot). No more than one channel should be selected at a time. Any change in 'adc_chnsel_i' value must go through all '0'. Changing 'adc_chnsel_i' from '0' value to non-'0' value starts an ADC conversion. |
adc_d_val_o | O | 1 | adc | ADC digital data valid |
adc_pd_i | I | 1 | adc | ADC power down - for saving power during deep-sleep state between measurements. When this signal is high, ADC module is in off state, otherwise, it is in active state. For further description about adc_pd_i usage, see ADC module description below. |
entropy_req_o | O | edn_req | es | Request entropy from EDN |
entropy_rsp_i | I | edn_rsp | es | EDN entropy request acknowledgement and data. |
rng_en_i | I | 1 | rng | Input from controller to enable RNG |
rng_fips_i | I | 1 | rng | Indicates that the AST RNG module is requested to output FIPS SP-800-90B grade RNG bits. This may, but not necessarily affect bit-rate. This bit is a placeholder. The use of this signal inside AST is TBD. |
rng_val_o | O | 1 | rng | RNG bit valid. This is a per-transaction valid. rng_b_o can be sampled whenever this bit is high. |
rng_b_o | O | 4 | rng | RNG digital bit streams. The downstream controller of this signal should sample the rng_b_o whenever rng_val_o is high. |
Countermeasures and Alerts | ||||
alert_req_o | O | ast_alert_req | alert | Alert events. There are 11 such events. The alerts are associated with countermeasures like Active shield, clock glitch detector, voltage glitch detector, temperature sensor, and others. |
alert_rsp_i | I | ast_alert_rsp | alert | This structure contains acknowledge signals and force-trigger by software signals for each alert event. The acknowledge signals are assumed to be synchronous pulses. |
Trimming Test and Debug | ||||
dft_scan_md_o | O | mubi4 | Scan mode indication signal. Controllable only when DFT features are enabled (Test and RMA states). Otherwise, these signals are grounded to 0. | |
scan_shift_en_o | O | 1 | Scan shift enable | |
scan_reset_no | O | 1 | Scan reset | |
clk_ast_ext_i | I | 1 | async | External clock. While AST generates most of its clocks on-die, it still needs an external clock for clock calibration and first flash/OTP programming. Clock calibration: AST clock sources are inaccurate by default and must be calibrated prior to use. The results of the calibration are stored in OTP and reloaded by software upon system boot. First Flash / OTP programming: AST clock sources are inaccurate by default and may be out of range for initial flash and OTP programming. In this situation, an external clock may be required for initial programming such that a software image can be loaded to calibrate clocks and advance life cycle. |
dft_strap_test_i | I | dft_strap_test_req | async | Strap inputs for DFT selection |
flash_bist_en_o | O | mubi4 | Flash BIST enable | |
vcc_supp_i | I | 1 | async | VCC Supply Test. (supply indication for DV purposes). In FPGA Verilog view, the respective POK signal follows this signal. In other Verilog views this signal should be connected to constant '1' and will be disconnected inside the AST. |
vcmain_supp_i | I | 1 | async | VCMAIN Supply Test. (supply indication for DV purposes). In FPGA Verilog view, the respective POK signal follows this signal. In other Verilog views this signal should be connected to constant '1' and will be disconnected inside the AST. |
vcaon_supp_i | I | 1 | async | VCAON Supply Test. (supply indication for DV purposes). In FPGA Verilog view, the respective POK signal follows this signal. In other Verilog views this signal should be connected to constant '1' and will be disconnected inside the AST. |
vioa_supp_i | I | 1 | async | VIOA Supply Test. (supply indication for DV purposes). In FPGA Verilog view, the respective POK signal follows this signal. In other Verilog views this signal should be connected to constant '1' and will be disconnected inside the AST. |
viob_supp_i | I | 1 | async | VIOB Supply Test. (supply indication for DV purposes). In FPGA Verilog view, the respective POK signal follows this signal. In other Verilog views this signal should be connected to constant '1' and will be disconnected inside the AST. |
ast2pad_t0_ao, ast2pad_t1_ao | I/O | async | Analog debug signals. These signals should be connected directly to chip PADs. They can share PADs with functional signals but when they are used for their analog debug function, the functional I/O must be in tri-state. | |
dpram_rmf_o, dpram_rml_o, spram_rm_o, sprgf_rm_o, sprom_rm_o |
O | dpm_rm | async | RAM/ROM Read-write Margin Trimming |
padmux2ast_i | I | 6 | async | Digital debug input signals (routed to pin mux). These signals are controllable only when DFT features are enabled (Test and RMA states). Otherwise, these signals are grounded to 0. |
ast2padmux_o | O | 9 | async | Digital debug output signals (routed to pin mux). These signals are only outputted when DFT features are enabled (Test and RMA states). Otherwise, these signals are grounded to 0. |
usb_io_pu_cal_o | O | 20 | async | USB I/O calibration and trimming |
io_clk_byp_req_i | I | mubi4 | async | External clock mux override request for OTP bootstrap purposes. AST responds to the request by setting io_clk_byp_ack_o to 'On'. When this bit is set and ack was received, clk_ast_ext_i serves as the io_clk clock root. Note: When 'On' (after ack), clk_src_io_o clock max frequency is limited to 50 MHz |
io_clk_byp_ack_o | O | mubi4 | async | AST response to io_clk_byp_req_i. The ack is set to 'On' after clock switching function is performed. |
all_clk_byp_req_i | I | mubi4 | async | External clock mux override request for OTP bootstrap purposes. AST responds to the request by setting io_clk_byp_ack_o to 'On'. When this bit is set and ack was received, clk_ast_ext_i serves as the io_clk clock root. Note: When 'On' (after ack), clk_src_io_o clock max frequency is limited to 50 MHz |
all_clk_byp_ack_o | O | mubi4 | async | AST response to io_clk_byp_req_i. The ack is set to 'On' after clock switching function is performed. |
ext_freq_is_96m_i | I | mubi4 | async | External clock frequency indication to AST. When set, it indicates that the external clock is 96MHz. |
lc_dft_en_i | I | lc_tx | async | DFT enable |
fla_obs_i | I | 8 | async | Flash observe bus for debug |
otp_bos_i | I | 8 | async | OTP observe bus for debug |
usb_obs_i | I | 1 | async | USB differential receiver output observe for debug |
otm_obs_i | I | 8 | async | OpenTitan modules observe bus for debug (optional) |
obs_ctrl_o | O | ast_obs_ctrl | async | Observability control structure. It contains observability module selection, signal group selection and enable logic. Open source modules may choose to use this infrastructure for selecting and gating observability signals to be driven into otm_obs_i bus. Whether to actually use this interface or not for open source modules observability is a project decision. |
sns_clks_i | I | clkmgr_out | async | Clocks observability |
sns_rst_i | I | rstmgr_out_t | async | Resets observability |
sns_spi_ext_clk_i | I | 1 | async | SPI external clock observability |
Interfaces Description Note
The information below augments the Interface Signals Table. For further details, see the corresponding signals description in the table.
Power Connectivity
Note: Power signals may not appear in the verilog files, however, they are described for completeness.
External Supplies
AST has four external power supplies VCC, AVCC, VIOA and VIOB. VCC is the main supply, AVCC is an analog VCC supply. VIOA and VIOB are two additional I/O supplies.
Core Supplies
The core supplies are generated from the VCC supply. There are two core supply domains: VCMAIN and VCAON. VCAON, as its name implies, is the always-on core supply used to power components that stay active during device low power states. VCMAIN on the other hand, powers most chip logic such as RISC-V processor, crypto modules and almost all memories and peripherals. The VCMAIN supply can be turned off when requested, VCAON on the other hand, is active whenever VCC is active. AST core logic is powered by VCAON.
Power Control and Reset
Core Power Control and Indication
VCMAIN is the only supply that can be directly influenced by OpenTitan. The power manager can request VCMAIN to shutdown through main_pd_ni. The state of VCMAIN is reflected by the vcmain_pok_o signal.
IO Power Indication
IO power state is reflected to OpenTitan by vioa_pok_o and viob_pok_o signals
Main (VCC) Power Detection and Flash Protection
On VCC power-down detection, ‘flash_power_ready_h_o’, is immediately negated. In addition, SYS clock, IO clock and USB clock are stopped. This means that negation of the VCC supply always triggers the flash brown-out (BOR) protection circuitry.
When entering deep-sleep mode, ‘flash_power_down_h_o’ is asserted before negating VCMAIN until VCMAIN is back up.
Resets
The AST supports the generation of the root reset for the reset manager. It is driven by ‘vcaon_pok_o’ which is generated inside AST. The ‘vcaon_pok_o’ is activated when the following conditions are met: VCC is detected, internal voltage regulator is active and ‘por_ni’ reset input is inactive. ‘por_ni’ is driven by an external chip reset pin. The following table and diagrams describe the AST sub-modules resets.
Components | Reset by | Comments |
---|---|---|
Regulators, ‘power-OK’ logic and always-on clock | self-start / vcaon_pok_o | These circuits come to life shortly after VCC crosses its detection threshold. vcaon_pok_o serves as their register configuration reset. |
System/USB/IO clock generators | vcmain_pok_o | vcmain_pok_o is also fed by vcaon_pok_o and por_ni. |
Interface functions | Input reset | Per the corresponding interface clock domain reset input. |
Clock Outputs
AST generates four clocks: System clock, IO clock, USB clock and Always-on clock. Most clocks have ‘enable’ inputs and a corresponding ‘valid’ output. When the enable is de-asserted, the corresponding clock stops and valid is dropped to 0. When the enable is asserted, the clocks begin outputting in a ‘glitchless’ manner and the valid is raised to 1. Unless noted otherwise, clocks duty cycle is 50% +/-5%. At boot time, clocks start toggling at a different (typically slower) frequency than their target. They are configured to their target frequency by the ROM code. Once configured, their frequency is maintained within +/-3% of their target as long as the chip remains in its intended operating conditions until the next boot.
The OpenTitan power and clock managers are responsible for manipulating the enables and observing the valids to know when clocks can be safely released to the system.
USB Clock Calibration
The USB clock requires an accuracy that cannot be achieved by the AST clocks natively. As a result, information from USB frames are used to calibrate the clock.
Clock and Reset Inputs
The root clocks and resets are generated inside AST. However, the clocks go through gating and optional division in the OpenTitan top level and propagate back into AST as feedback clocks, each with associated synchronized reset de-assertion to ensure it can synchronize with the various comportable modules. The input resets are used for the different AST interface functions. For further details about AST resets, see Resets section.
Note: There are several reasons for routing leaf clocks back into AST instead of using the root clocks directly
-
The leaf clocks may be divided down from the root clock and that frequency is used to drive the interface. For example, clk_src_io_clk_o is 96MHz, but comportable modules use either 48MHz or 24MHz.
-
The leaf clocks and root clocks have very different clock tree depths and may be difficult for timing closure if they interacted directly.
-
Decouple AST internal design from OpenTitan top-level interfaces clock and reset selection.
Register Access Interface
AST registers can be accessed via TL-UL interface. These registers are used for test and calibration purposes and are not required for runtime operation. See the Interface Signals Table for more details.
AST registers initialization during boot.
In PROD*/DEV Lifecycle states, the ROM code must copy all AST REGA registers values from OTP to AST. During other Lifecycle states, the ROM code may also copy all AST REGA registers. It is recommended for the ROM code to condition the copy by a digest verification of the register values. If such a digest is too complicated, a simple tag can be used to condition the copy instead. The AST register copy operation must be performed in order and must include all REGA registers (starting from REGA0 and ending at the last REGA). AST sets the ast_init_done_o signal after the copy completion.
After the copy, ROM code can either poll for ast_init_done_o assertion with 100 us timeout (in practice, it should take way less) or ignore it and let the next SW layers handle it. It is recommended to set an OTP field for determining the ROM code action.
The boot code is expected to check all AST output alert signals before handing over the control to the next code layer (ROM_EXT). The ROM code response per alert should be defined in a dedicated OTP space. Recommended response types (per alert):
-
Do nothing and don’t clear the event
-
Do nothing (continue to the next SW layer) and clear the event
-
Log the event in some NV space and halt
-
Halt immediately
Note that in TEST_UNLOCK*/RMA state, the booter should always act per #1 regardless of the OTP setting.
It is recommended to redundantly code the OTP fields that control the ROM code branching and also to protect the branching code from fault injection.
ADC
AST contains an analog to digital converter that can be used to sample various input signals. For OpenTitan this will primarily be used for debug cable detection. To activate the ADC, the corresponding comportable module must first activate the ADC through ‘adc_pd_i’. Once activated, it should select the channel to sample. Channel transition from zero to non-zero value starts the ADC conversion. The ADC output is synchronous to the ADC controller.
ADC Usage Flow
-
Activate the ADC by negating ‘adc_pd_i’
-
Wait 30 uS for the ADC to wake up.
-
Select an analog channel to measure by setting the corresponding bit in ‘adc_chnsel_i’ bus. This triggers a measurement.
-
Wait until ‘adc_d_val’ is set and read the result via ‘adc_d_o’
-
Clear ‘adc_chnsel_i’ bus to 0. Note that adc_chnsel must be cleared to 0 before a new channel is selected.
-
Repeat steps 3-5 if more channels or more measurements are required
-
Deactivate the ADC by setting ‘adc_pd_i’ to save power.
Random Number Generator
AST contains a random number generator that outputs random number bitstreams whenever it is enabled. After enabled by the comportable controller through ‘rng_en_i’, the AST begins generating multiple independent four random bit streams. rng_b_o bit streams are valid and can be sampled whenever ‘rng_val_o’ is asserted according to the following diagram.
The expected rng_b_o valid output rate is about 50KHz. For more information on the RNG interface, please see the OpenTitan entropy source module.
Entropy Consumption
AST consumes entropy for defensive purposes. However, AST does not consume its raw entropy directly. Instead, AST receives entropy from the Entropy Distribution Network (EDN). Note that entropy_ack and entropy_i are packed into enropy_rsp_i in the interface. Also note that once entropy_req_o is set, it will remain set until ack or until reset.
Countermeasures and Alerts
Alert Events
AST’s sensors and detectors, when triggered, output alert events to a sensor controller. The event signals are level until acknowledged by the controller. Further, the events are differentially encoded to ensure they cannot be hard-wired or faulted to either ‘1’ or ‘0’.
Inside the sensor controller, the events are then converted into alerts as part of the wider OpenTitan alert handling system.
Alert Signaling
Outgoing alert events are level. Incoming event ack signals clear the alert event (similar to an interrupt). Outgoing alert events should be OR’d inside the sensor or power manager (depending on what level of deep sleep support is needed) to generate wakeup, that way AST does not need to do any additional handling for wakeups during low power mode.
The AST defines each alert signal in both positive (P) and negative (N) polarity (see ast_dif_t typedef with ‘p’ and ‘n’ signals), however, the P and N signals are not necessarily fully differential, for example, at times, it might occur that both P and N are at the same value. For alert_o case, the correct way to treat it is to propagate an alert signal if either P is high or N is low.
Countermeasures
Most countermeasure enablement is controlled by Nuvoton via the registers interface. Clock jitter is an exception because there is a reasoning for dynamically turning it on and off (security/performance tradeoff). Unless stated otherwise, countermeasures are active in all modes but deep-sleep.
Alert Handler Technical Specification
Overview
This document specifies the functionality of the alert handler mechanism. The alert handler is a module that is a peripheral on the chip interconnect bus, and thus follows the Comportability Specification. It gathers alerts - defined as interrupt-type signals from other peripherals that are designated as potential security threats - throughout the design, and converts them to interrupts that the processor can handle. If the processor does not handle them, the alert handler mechanism provides hardware responses to handle the threat.
Features
-
Differentially-signaled, asynchronous alert inputs from
NAlerts
peripheral sources, whereNAlerts
is a function of the requirements of the peripherals. -
Ping testing of alert sources:
- responder module requests periodic alert response from each source to ensure proper wiring.
- reset-asserted and clock-gated information is used to temporarily pause the ping mechanism on alert channels that are in a low-power state.
-
Register locking on all configuration registers.
- Once locked, can not be modified by software until next system reset.
-
Register-based assignment of alert to alert-class.
- Four classes, can be individually disabled.
- Each class generates one interrupt.
- Disambiguation history for software to determine which alert caused the class interrupt.
- Each class has configurable response time for escalation.
- Disable allows for ignoring alerts, should only be used in cases when alerts are faulty. Undesirable access is enforced by locking the register state after initial configuration.
-
Register-based escalation controls.
- Number of alerts in class before escalation.
- Timeout for unhandled alert IRQs can also trigger escalation.
- Configurable escalation enables for 4 escalation signals.
- Could map to NMI, wipe secrets signal, lower privilege, chip reset, etc.
- Escalation signals differentially-signaled with heartbeat, will trigger response if differential or heartbeat failure at destination.
- Configurable time in cycles between each escalation level.
-
Two locally sourced hardware alerts.
- Differential signaling from a source has failed.
- Ping response from a source has failed.
Description
The alert handler module manages incoming alerts from throughout the system, classifies them, sends interrupts, and escalates interrupts to hardware responses if the processor does not respond to any interrupts. The intention is for this module to be a stand-in for security responses in the case where the processor can not handle the security alerts.
It is first notable that all security alerts are rare events. Module and top level designers should only designate events as alerts if they are expected to never happen, and if they have potential security consequences. Examples are parity errors (which might indicate an attack), illegal actions on cryptography or security modules, physical sensors of environmental modification (e.g. voltage, temperature), etc. Alerts will be routed through this module and initially converted to interrupts for the processor to handle. The expectation is that the secure operating system has a protocol for handling any such alert interrupt in software. The operating system should respond, then clear the interrupt. Since these are possible security attacks, the response is not always obvious, but the response is beyond the scope of this document.
This module is designed to help the full chip respond to security threats in the case where the processor is not trusted: either it has been attacked, or is not responding. It does this by escalating alerts beyond a processor interrupt. It provides four such escalation signals that can be routed to chip functions for attack responses. This could include such functions as wiping secret chip material, power down, reset, etc. It is beyond the scope of this document to specify what those escalation responses are at the chip level.
To ease software management of alerts, classification is provided whereby each alert can be classified into one of four classes. How the classification is done by software is beyond the scope of this document, but it is suggested that alerts of a similar profile (risk of occurring, level of security concern, frequency of false trigger, etc) are classed together. For each class a counter of alerts is kept, clearable by software. If that counter exceeds a programmable maximum value, then the escalation protocol for that class begins.
The details for alert signaling, classification, and escalation are all given in the Theory of Operations section.
Theory of Operation
Block Diagram
The figure below shows a block diagram of the alert handler module, as well as a few examples of alert senders in other peripheral modules.
In this diagram, there are seven sources of alerts: three sources from external modules (two from periph0
and one from periph1
), and four local sources (alert_ping_fail
, alert_sig_int
, esc_ping_fail
, esc_sig_int
).
The local sources represent alerts that are created by this module itself. See the later section on special local alerts.
Also shown are internal modules for classification, interrupt generation, accumulation, escalation, ping generation and alert-channel low-power control. These are described later in the document. Note that the differential alert sender and receiver blocks used for alert signaling support both asynchronous and synchronous clocking schemes, and hence peripherals able to raise alerts may be placed in clock domains different from that of the alert handler (Jittered clock domains are also supported in the asynchronous clocking scheme). Proper care must however be taken when formulating the timing constraints for the diff pairs, and when determining clock-dependent parameters (such as the ping timeout) of the design. On the escalation sender / receiver side, the differential signaling blocks employ a fully synchronous clocking scheme throughout.
Hardware Interfaces
Parameters
The following table lists the main parameters used throughout the alert handler design. Note that the alert handler is generated based on the system configuration, and hence these parameters are placed into a package as “localparams”. The parameterization rules are explained in more detail in the architectural description.
Localparam | Default (Max) | Top Earlgrey | Description |
---|---|---|---|
NAlerts | 8 (248) | see RTL | Number of alert instances. Maximum number bounded by LFSR implementation that generates ping timing. |
NLpg | 1 | see RTL | Number of unique low-power groups as determined by topgen. |
LpgMap | {0} | see RTL | Array mapping each alert to a unique low-power group as determined by topgen. |
EscCntWidth | 32 (32) | 32 | Width of the escalation counters in bit. |
AccuCntWidth | 16 (32) | 16 | Width of the alert accumulation counters in bit. |
AsyncOn | ’0 (2^NAlerts -1) | see RTL | This is a bit array specifying whether a certain alert sender / receiver pair goes across an asynchronous boundary or not. |
The next table lists free parameters in the prim_alert_sender
and
prim_alert receiver
submodules.
Parameter | Default (Max) | Description |
---|---|---|
AsyncOn | 1'b0 (1'b1 ) | 0: Synchronous, 1: Asynchronous, determines whether additional synchronizer flops and logic need to be instantiated. |
Signals
The table below lists other alert handler module signals.
The number of alert instances is parametric and hence alert and ping diff pairs are grouped together in packed arrays.
The diff pair signals are indexed with the corresponding alert instance <number>
.
Signal | Direction | Type | Description |
---|---|---|---|
edn_o | output | otp_edn_req_t | Entropy request to the entropy distribution network for LFSR reseeding and ephemeral key derivation. |
edn_i | input | otp_edn_rsp_t | Entropy acknowledgment to the entropy distribution network for LFSR reseeding and ephemeral key derivation. |
alert_tx_i[<number>] | input | packed alert_tx_t array | Incoming alert or ping response(s), differentially encoded. Index range: [NAlerts-1:0] |
alert_rx_o[<number>] | output | packed alert_rx_t array | Outgoing alert acknowledgment and ping requests, differentially encoded. Index range: [NAlerts-1:0] |
esc_tx_o[<sev>] | output | packed esc_tx_t array | Escalation or ping request, differentially encoded. Index corresponds to severity level, and ranges from 0 to 3. |
esc_rx_i[<sev>] | input | packed esc_rx_t array | Escalation ping response, differentially encoded. Index corresponds to severity level, and ranges from 0 to 3. |
lpg_cg_en_i[<lpg>] | input | packed mubi4_t array | Incoming clock gated indication from clock manager. Index range: [NLpg-1:0] |
lpg_rst_en_i[<lpg>] | input | packed mubi4_t array | Incoming reset asserted indication from reset manager. Index range: [NLpg-1:0] |
crashdump_o | output | packed struct | This is a collection of alert handler state registers that can be latched by hardware debugging circuitry, if needed. |
Entropy Network Connections
The LFSR ping timer needs to be periodically reseeded.
Therefore, the alert handler is connected to the entropy distribution network via the edn_i/o
signals.
Alert Channels
For each alert, there is a pair of input and two pairs of output signals. These signals are connected to a differential sender module within the source, and a differential receiver module within the alert handler. Both of these modules are described in more detail in the following section. These signal pairs carry differentially encoded messages that enable two types of signaling: a native alert and a ping/response test of the alert mechanism. The latter is to ensure that all alert senders are always active and have not been the target of an attack.
Escalation Channels
For each escalation action in the system, there is a pair of input and a pair of output signals, encapsulated in the esc_rx_t
and esc_tx_t
types.
These signals are connected to a differential sender module within the alert handler, and a differential receiver module within the module that performs a particular escalation action (for example the reset manager or life cycle controllers).
The signal pairs carry differentially encoded messages that enable two types of signaling: a native escalation and a ping/response test of the escalation mechanism.
The latter is to ensure that all escalation receivers are always active and have not been the target of an attack.
Low-power Indication Signals
The lpg_cg_en_i
and lpg_rst_en_i
are two arrays with multibit indication signals from the clock and reset managers.
These indication signals convey whether a specific group of alert senders are either clock gated or in reset.
As explained in more detail below, this information is used to temporarily halt the ping timer mechanism on channels that are in a low-power state in order to prevent false positives.
Crashdump Output
The crashdump_o
struct outputs a snapshot of CSRs and alert handler state bits that can be read by hardware debugging circuitry:
typedef struct packed {
// alerts
logic [NAlerts-1:0] alert_cause; // alert cause bits
logic [6:0] loc_alert_cause; // local alert cause bits
// class state
logic [3:0][15:0] class_accum_cnt; // current accumulator value
logic [3:0][31:0] class_esc_cnt; // current escalation counter value
cstate_e [3:0] class_esc_state; // current escalation protocol state
} alert_crashdump_t;
This can be useful for extracting more information about possible failures or bugs without having to use the tile-link bus interface (which may become unresponsive under certain circumstances). It is recommended for the top level to store this information in an always-on location.
Note that the crashdump state is continuously output via crashdump_o
until the latching trigger condition is true for the first time (see CLASSA_CRASHDUMP_TRIGGER_SHADOWED
).
After that, the crashdump_o
is held constant until all classes that have escalated are cleared.
This is done so that it is possible to capture the true alert cause before spurious alert events start to pop up due to escalation countermeasures with excessive side effects (like life cycle scrapping for example).
If classes that have escalated are not configured as clearable, then it is not possible to re-arm the crashdump latching mechanism at runtime and the alert handler has to be reset.
Design Details
This section gives the full design details of the alert handler module and its submodules.
Alert Definition
Alerts are defined as events that have security implications, and should be handled by the main processor, or escalated to other hardware modules to take action.
Each peripheral has the option to define one or more alert signals.
Those peripherals should instantiate one module (prim_alert_sender
) to convert the event associated with that alert into a signal to the alert handler module.
The alert handler instantiates one receiver module (prim_alert_receiver
) per alert, then handles the classification, accumulation, and escalation of the received signal.
The differential signaling submodules may either use a synchronous or asynchronous clocking scheme, since the message type to be transferred is a single discrete event.
Differential Alert Signaling
Each alert sender is connected to the corresponding alert receiver via the 3 differential pairs alert_tx_i/o.alert_p/n
, alert_rx_i/o.ack_p/n
and alert_rx_i/o.ping_p/n
, as illustrated below:
Alerts are encoded differentially and signaled using a full handshake on the alert_tx_i/o.alert_p/n
and alert_rx_i/o.ack_p/n
wires.
The use of a full handshake protocol allows this mechanism to be used with an asynchronous clocking strategy, where peripherals may reside in a different clock domain than the alert handler.
The full handshake guarantees that alert messages are correctly back-pressured and no alert is “lost” at the asynchronous boundary due to (possibly variable) clock ratios greater or less than 1.0.
The “native alert message” will be repeated on the output wires as long as the alert event is still true within the peripheral.
The wave pattern below illustrates differential full handshake mechanism.
The handshake pattern is repeated as long as the alert is true. The sender will wait for 2 cycles between handshakes.
Note that the alert is immediately propagated to alert_o
once the initial level change on alert_tx_i.alert_p/n
has been received and synchronized to the local clock on the receiver side.
This ensures that the first occurrence of an alert is always propagated - even if the handshake lines have been manipulated to emulate backpressure.
(In such a scenario, all subsequent alerts would be back-pressured and eventually the ping testing mechanism described in the next subsection would detect that the wires have been tampered with.)
The alert sender and receiver modules can either be used synchronously or asynchronously. The signaling protocol remains the same in both cases, but the additional synchronizer flops at the diff pair inputs may be omitted, which results in lower signaling latency.
Ping Testing
In order to ensure that the event sending modules have not been compromised, the alert receiver module prim_alert_receiver
will “ping” or line-test the senders periodically every few microseconds.
Pings timing is randomized so their appearance can not be predicted.
The ping timing is generated by a central LFSR-based timer within the alert handler that randomly asserts the ping_req_i
signal of a particular prim_alert_receiver
module.
Once ping_req_i
is asserted, the receiver module encodes the ping message as a level change on the differential alert_rx_o.ping_p/n
output, and waits until the sender responds with a full handshake on the alert_tx_i.alert_p/n
and alert_rx_o.ack_p/n
lines.
Once that handshake is complete, the ping_ok_o
signal is asserted.
The LFSR timer has a programmable ping timeout, after which it will automatically assert a “pingfail” alert.
That timeout is a function of the clock ratios present in the system, and has to be programmed accordingly at system startup (as explained later in the LFSR timer subsection).
The following wave diagram illustrates a correct ping sequence, viewed from the receiver side:
In the unlikely case that a ping request collides with a native alert at the sender side, the native alert is held back until the ping handshake has been completed. This slightly delays the transmission of a native alert, but the alert will eventually be signaled. Further, if an alert is sent out right before a ping requests comes in at the sender side, the receiver will treat the alert as a ping response. However, the “true” ping response will be returned right after the alert handshake completed, and thus the alert will eventually be signaled with a slight delay.
Note that in both collision cases mentioned, the delay will be in the order of the handshake length, plus the constant amount of pause cycles between handshakes (2 sender cycles).
Monitoring of Signal Integrity Issues
All differential pairs are monitored for signal integrity issues, and if an encoding failure is detected, the receiver module asserts a signal integrity alert via integ_fail_o
. In particular, this covers the following failure cases:
-
The
alert_tx_i.alert_p/n
pair is not correctly encoded on the receiver side. This can be directly flagged as an integrity failure on the receiver side. -
The
alert_rx_i.ping_p/n
or thealert_rx_i.ack_p/n
pairs are not correctly encoded on the sender side. This is signaled to the receiver by setting thealert_tx_o.alert_p/n
wires to the same value, and that value will be continuously toggled. This implicitly triggers a signal integrity alert on the receiver side.
Some of these failure patterns are illustrated in the wave diagram below:
Note that if signal integrity failures occur during ping or alert handshaking, it is possible that the protocol state-machines lock up and the alert sender and receiver modules become unresponsive. However, the above mechanisms ensure that this will always trigger either a signal integrity alert or eventually a “pingfail” alert.
Skew on Asynchronous Differential Pairs
Note that there is likely a (small) skew present within each differential pair of the signaling mechanism above. Since these pairs cross clock domain boundaries, it may thus happen that a level change appears in staggered manner after resynchronization, as illustrated below:
This behavior is permissible, but needs to be accounted for in the protocol logic. Further, the skew within the differential pair should be constrained to be smaller than the shortest clock period in the system. This ensures that the staggered level changes appear at most 1 cycle apart from each other.
LFSR Timer
The ping_req_i
inputs of all signaling modules (prim_alert_receiver
, prim_esc_sender
) instantiated within the alert handler are connected to a central ping timer that alternatingly pings either an alert line or an escalation line after waiting for a pseudo-random amount of clock cycles.
Further, this ping timer also randomly selects a particular alert line to be pinged (escalation senders are always pinged in-order due to the ping monitoring mechanism on the escalation side).
That should make it more difficult to predict the next ping occurrence based on past observations.
The ping timer is implemented using an LFSR-based PRNG of Galois type.
This ping timer is reseeded with fresh entropy from EDN roughly every 500k cycles which corresponds to around 16 ping operations on average.
The LFSR is 32bits wide, but only 24bits of its state are actually being used to generate the random timer count and select the alert line to be pinged.
I.e., the 32bits first go through a fixed permutation function, and then bits [23:16]
are used to determine which alert line to ping.
The random cycle count is created by OR’ing bits [15:0]
with the constant 3'b100
as follows:
cycle_cnt = permuted[15:0] | 3'b100;
This constant DC offset introduces a minimum ping spacing of 4 cycles (1 cycle + margin) to ensure that the handshake protocols of the sender/receiver pairs work.
After selecting one of the peripherals to ping, the LFSR timer waits until either the corresponding *_ping_ok[<number>]
signal is asserted, or until the programmable ping timeout value is reached.
In both cases, the LFSR timer proceeds with the next ping, but in the second case it will additionally raise a “pingfail” alert.
The ping enable signal remains asserted during the time where the LFSR counter waits.
The timeout value is a function of the ratios between the alert handler clock and peripheral clocks present in the system, and can be programmed at startup time via the register PING_TIMEOUT_CYC_SHADOWED
.
Note that the ping timer directly flags a “pingfail” alert if a spurious “ping ok” message comes in that has not been requested.
As described in the programmers guide below, the ping timer has to be enabled explicitly. Only alerts that have been enabled and locked will be pinged in order to avoid spurious alerts. Escalation channels are always enabled, and hence will always be pinged once this mechanism has been turned on.
In addition to the ping timer mechanism described above, the escalation receivers contain monitoring counters that monitor the liveness of the alert handler (described in more detail in this section. This mechanism requires that the maximum wait time between escalation receiver pings is bounded. To that end, escalation senders are pinged in-order every second ping operation (i.e., the wait time is randomized, but the selection of the escalation line is not).
Alert Receiving
The alert handler module contains one alert receiver module (prim_alert_receiver
) per sending module.
This receiver module has three outputs based upon the signaling of the input alert.
Primary is the signal of a received native alert, shown in the top-level diagram as alert_triggered[<number>]
.
Also generated are two other outputs, one that signals a differential encoding error (alert_integ_fail[<number>]
), and one that signals the receipt of a ping response (alert_ping_ok[<number>]
).
Each “triggered” alert received is sent into the classification block for individual configuration.
All of the integ_fail
signals are OR’ed together to create one alert for classification.
The ping responses are fed to the LFSR timer, which determines whether a ping has correctly completed within the timeout window or not.
Alert Classification and Interrupts
Each of the incoming and local alert signals can be classified generically to one of four classes, or disabled for no classification at all. These are the classes A, B, C, and D. There is no pre-determined definition of a class, that is left to software. But for guidance, software can consider that some alert types are similar to others; some alert types are more “noisy” than others (i.e. when triggered they stay on for long periods of time); some are more critical than others, etc.
For each alert class (A-D), an interrupt is generally sent. Like all other peripheral interrupts, there is a triad of registers: enable, status, test. Thus like all other interrupts, software should handle the source of the interrupt (in this case, the original alert), then clear the state. Since the interrupt class is disassociated with the original alert (due to the classification process), software can access cause registers to determine which alerts have fired since the last clearing. Since alerts are expected to be rare (if ever) events, the complexity of dealing with multiple interrupts per class firing during the same time period should not be of concern. See the programming section on interrupt clearing.
Each of the four interrupts can optionally trigger a timeout counter that triggers escalation if the interrupt is not handled and cleared within a certain time frame. This feature is explained in more detail in the next subsection about escalation mechanisms.
Note that an interrupt always fires once an alert has been registered in the corresponding class. Interrupts are not dependent on escalation mechanisms like alert accumulation or timeout as described in the next subsection.
Escalation Mechanisms
There are two mechanisms per class that can trigger the corresponding escalation protocol:
-
The first consists of an accumulation counter that counts the amount of alert occurrences within a particular class. An alert classified to class A indicates that on every received alert trigger, the accumulation counter for class A is incremented. Note: since alerts are expected to be rare or never occur, the module does not attempt to count every alert per cycle, but rather all triggers per class are ORd before sending to the accumulation counter as an increment signal. Once the threshold has been reached, the next occurrence triggers the escalation escalation protocol for this particular class. The counter is a saturation counter, meaning that it will not wrap around once it hits the maximum representable count. This mechanism has two associated CSRs:
- Accumulation max value.
This is the total number (sum of all alerts classified in this group) of alerts required to enter escalation phase (see below).
Example register is
CLASSA_ACCUM_THRESH_SHADOWED
. - Current accumulation register.
This clearable register indicates how many alerts have been accumulated to date.
Software should clear before it reaches the accumulation setting to avoid escalation.
Example register is
CLASSA_ACCUM_CNT
.
- Accumulation max value.
This is the total number (sum of all alerts classified in this group) of alerts required to enter escalation phase (see below).
Example register is
-
The second way is an interrupt timeout counter which triggers escalation if an alert interrupt is not handled within the programmable timeout window. Once the counter hits the timeout threshold, the escalation protocol is triggered. The corresponding CSRs are:
- Interrupt timeout value in cycles
CLASSA_TIMEOUT_CYC_SHADOWED
. The interrupt timeout is disabled if this is set to 0 (default). - The current interrupt timeout value can be read via
CLASSA_ESC_CNT
ifCLASSA_STATE
is in theTimeout
state. Software should clear the corresponding interrupt state bitINTR_STATE.CLASSA
before the timeout expires to avoid escalation.
- Interrupt timeout value in cycles
Technically, the interrupt timeout feature (2. above) is implemented using the same counter used to time the escalation phases. This is possible since escalation phases or interrupt timeout periods are non-overlapping (escalation always takes precedence should it be triggered).
Programmable Escalation Protocol
There are four output escalation signals, 0, 1, 2, and 3. There is no predetermined definition of an escalation signal, that is left to the top-level integration. Examples could be processor Non Maskable Interrupt (NMI), privilege lowering, secret wiping, chip reset, etc. Typically the assumption is that escalation level 0 is the first to trigger, followed by 1, 2, and then 3, emulating a “fuse” that is lit that can’t be stopped once the first triggers (this is however not a requirement). See register section for discussion of counter clearing and register locking to determine the finality of accumulation triggers.
Each class can be programmed with its own escalation protocol.
If one of the two mechanisms described above fires, a timer for that particular class is started.
The timer can be programmed with up to 4 delays (e.g., CLASSA_PHASE0_CYC
), each representing a distinct escalation phase (0 - 3).
Each of the four escalation severity outputs (0 - 3) are by default configured to be asserted during the corresponding phase, e.g., severity 0 in phase 0, severity 1 in phase 1, etc.
However, this mapping can be freely reassigned by modifying the corresponding enable/phase mappings (e.g., CLASSA_CTRL_SHADOWED.E0_MAP
for enable bit 0 of class A).
This mapping will be locked in together with the alert enable configuration after initial configuration.
SW can stop a triggered escalation protocol by clearing the corresponding escalation counter (e.g., CLASSA_ESC_CNT
).
Protection of this clearing is up to software, see the register control section that follows for CLASSA_CTRL_SHADOWED.LOCK
.
It should be noted that each of the escalation phases have a duration of at least 1 clock cycle, even if the cycle count of a particular phase has been set to 0.
The next waveform shows the gathering of alerts of one class until eventually the escalation protocol is engaged. In this diagram, two different alerts are shown for class A, and the gathering and escalation configuration values are shown.
In this diagram, the first alert triggers an interrupt to class A. The assumption is that the processor is wedged or taken over, in which case it does not handle the interrupt. Once enough interrupts gather (16 in this case), the first escalation phase is entered, followed by three more (each phase has its own programmable length). Note that the accumulator threshold is set to 15 in order to trigger on the 16th occurrence. If escalation shall be triggered on the first occurrence within an alert class, the accumulation threshold shall be set to 0. Also note that it takes one cycle to activate escalation and enter phase 0.
The next wave shows a case where an interrupt remains unhandled and hence the interrupt timeout counter triggers escalation.
It should be noted here that the differential escalation signaling protocol distinguishes ‘true’ escalation conditions from mere pings by encoding them as pulses that are N + 1 cycles long. This is reflected in the two wave diagrams above. Refer to the subsequent section on escalation signaling for more details.
Escalation Signaling
For each of the four escalation severities, the alert handler instantiates a prim_esc_sender
module and each of the four escalation countermeasures instantiates an prim_esc_receiver
module.
The signaling mechanism has similarities with the alert signaling mechanism - but it is a fully synchronous protocol.
Hence, it must be ensured at the top-level that all escalation sender and receiver modules are using the same clock and reset
signals.
As illustrated in the following block diagram, a sender-receiver pair is connected with two differential lines, one going from sender to receiver and the other going from receiver to sender.
Upon receiving an escalation enable pulse of width N > 0 at the esc_req_i
input, the escalation sender encodes that signal as a differential pulse of width N+1 on esc_tx.esc_p/n
.
The receiver decodes that message and asserts the esc_req_o
output after one cycle of delay.
Further, it acknowledges the receipt of that message by continuously toggling the esc_rx.resp_p/n
signals as long as the escalation signal is asserted.
Any failure to respond correctly will trigger a integ_fail_o
alert, as illustrated below:
Further, any differential signal mismatch on both the esc_tx_i.esc_p/n
and esc_rx_i.resp_p/n
lines will trigger an integ_fail_o
alert.
Mismatches on esc_rx_i.resp_p/n
can be directly detected at the sender.
Mismatches on the esc_tx_i.esc_p/n
line will be signaled back to the sender by setting both the positive and negative response wires to the same value - and that value is being toggled each cycle.
This implicitly triggers a signal integrity alert on the sender side.
In addition to that, a signal integrity error on the esc_tx_i.esc_p/n
lines will lead to assertion of the esc_req_o
output, since it cannot be guaranteed that the back signalling mechanism always works when the sender / receiver pair is being tampered with.
This back-signaling mechanism can be leveraged to fast-track escalation and use another countermeasure in case it is detected that a particular escalation signaling path has been tampered with.
Some signal integrity failure cases are illustrated in the wave diagram below:
Ping Testing of the Escalation Signals
Similarly to the alert signaling scheme, the escalation signaling lines can be pinged / line tested in order to test whether the escalation receiver has been tampered with.
This is achieved by asserting ping_req_i
at the escalation sender module.
A ping request is encoded as a single cycle pulse on the esc_tx_o.esc_p/n
outputs.
Hence, the receiver module will not decode this single cycle pulse as an escalation enable message, but it will respond to it with a “1010” pattern on the esc_rx_i.resp_p/n
lines.
The escalation sender module will assert ping_ok_o
if that pattern is received correctly after one cycle of latency.
Otherwise, the escalation sender will first assert integ_fail_o
later, after the programmable ping timeout is reached, the LFSR timer will raise a “pingfail” alert.
The integ_fail_o
triggers in this case since “no ping response” and “wrong ping response” are ambiguous in this setting, and it has been decided to not suppress integrity failures when expecting a ping response.
This mechanism is illustrated below from the viewpoint of the sender module.
Note that the escalation signal always takes precedence, and the ping_req_i
will just be acknowledged with ping_ok_o
in case esc_req_i
is already asserted.
An ongoing ping sequence will be aborted immediately.
Another thing to note is that the ping and escalation response sequences have to start exactly one cycle after either a ping or escalation event has been signaled.
Otherwise the escalation sender will assert integ_fail_o
immediately.
Monitoring of Pings at the Escalation Receiver Side
Escalation receivers contain a mechanism to monitor the liveness of the alert handler itself. In particular, the receivers passively monitor the ping requests sent out by the alert handler using a timeout counter. If ping requests are absent for too long, the corresponding escalation action will be automatically asserted until reset.
The monitoring mechanism builds on top of the following properties of the alert handler system:
-
the ping mechanism can only be enabled, but not disabled. This allows us to start the timeout counter once the first ping request arrives at a particular escalation receiver.
-
the escalation receivers are in the same clock/reset domain as the alert handler. This ensures that we are seeing the same clock frequency, and the mechanism is properly reset together with the alert handler logic.
-
the maximum cycle count between subsequent pings on the same escalation line is bounded, even though the wait counts are randomized. This allows us to compute a safe and fixed timeout threshold based on design constants.
Low-power Management of Alert Channels
Due to the various clock and reset domains in the OpenTitan system, the alert handler ping mechanism needs to have additional logic to deal with alert senders that are either held in reset, or that are clock gated. This is needed to ensure that no false alarms are produced by the ping mechanism when an alert channel (sender / receiver pair) does not respond due to the sender being either in reset or clock gated.
Since the FSMs associated with an alert channel may end up in an inconsistent state when the sender is reset or gated while an asynchronous event handshake is in progress, this logic also needs to be able to re-initialize affected alert channels whenever the channels comes back from reset / clock gated state.
Assumptions
The following diagram shows a typical arrangement of alert sender (TX) and receiver (RX) pairs.
It is assumed that:
- The alert handler clock domain cannot be gated by SW. This means that this clock domain is only ever disabled as part of the power-down sequence of the corresponding power domain.
- The alert senders are in general located within different clock and reset domains than the alert receivers within the alert handler, and thus use the asynchronous event handshake mode.
- Some alert senders may be located in an always-on (AON) power domain, within different clock and reset groups than the alert handler.
- The alert handler may be located in an non-AON power domain, and may thus undergo a reset cycle where it cannot be guaranteed that all alert senders are reset as well (i.e., some alert senders may retain their state).
Further, we assume that we can get the following side-band information from the clock and reset managers in the system:
- All relevant reset signals pertaining to alert sender domains
- All relevant clock enable signals pertaining to alert sender domains
Scenarios
With the assumptions above, the following two problematic scenarios can occur.
Alert Handler in Reset
It may happen that the alert handler is reset while some alert senders (e.g. those located in the AON domain) are not. In general, if the associated alert channels are idle during an alert handler reset cycle, no problems arise.
However, if an alert channel is reset while it is handling a ping request or an alert event, the sender / receiver FSMs may end up in an inconsistent state upon deassertion of the alert handler reset. This can either lead to spurious alert or ping events, or a completely locked up alert channel which will be flagged eventually by the ping mechanism.
Alert Sender in Reset or Clock-gated
If any of the alert senders is either put into reset or its clock is disabled while the alert handler is operational, the ping mechanism inside the alert handler will eventually report a ping failure because of missing ping responses from the affected alert channel(s).
Further, if the alert sender is reset while the corresponding alert channel is handling a ping request or an alert event, the sender / receiver FSMs may end up in an inconsistent state after reset deassertion.
Employed Solution
As elaborated before, the side effects of resetting / clock gating either the alert handler or any of the alert senders are inconsistent FSM states, leading to locked up alert channels, or spurious alert or ping events. To address these issues, we have to:
- make sure spurious events (alert and ping_ok outputs of the alert receivers) are suppressed if an alert channel is clock gated or in reset,
- provide a mechanism for resetting an alert channel to an operational state once the associated clock is re-enabled, or the associated reset is released,
- trigger this reset mechanism on all alert channels whenever the alert handler itself has been reset.
To attain this, the idea is to make use of side-band information available from the clock and reset managers to detect whether an alert channel (or a group of alert channels with the same clock and reset on the sender side) has to be put into a low-power state. In the following we will refer to such a clock / reset domain grouping as a low-power group (LPG).
The mechanism is illustrated below for a single LPG (in practice, this logic is replicated for each LPG that is identified in the system):
The clock gating enable (lpg_cg_en
) and reset enable (lpg_rst_en
) indications are routed as multibit signals to the alert handler, where they are synchronized to the alert handler clock and logically combined using an OR function to form a combined low-power indication signal that is multibit encoded.
This multibit indication signal is then routed to all alert receivers, where it is used to trigger re-initialization of each alert channel, and bypass the ping requests from the ping mechanism.
To that end, two extra init states are added to the alert receiver FSMs to perform this in-band reset, as indicated in the state diagram below:
Whenever the init_trig
multibit signal of an LPG is asserted, all corresponding sender FSMs are moved into the InitReq
state.
In that state, the alert receivers immediately acknowledge ping requests from the ping mechanism, and ignore alert events from the sender side.
In addition to that, the receivers intentionally place a signal integrity error onto the ping_p
/ ping_n
, ack_p
/ ack_n
lines going from receivers to the senders.
This causes the senders to 1) move into the signal integrity error state, and 2) respond by placing a signal integrity error onto the alert_p
/ alert_n
lines, which serves as an initialization “acknowledge” signal in this case.
Since the sender FSMs fall back into the Idle
state once the signal integrity error disappears, this procedure essentially implements an in-band reset mechanism with an acknowledgement handshake that can be used to determine whether the reset has been successful.
Implementation Aspects
Ping Mechanism Bypass
Note that the ping bypass mechanism is to be implemented in a way that pings are only ack’ed immediately if 1) the FSM is in the InitReq
state, and 2) the init_trig
signal is still asserted.
This allows to subject the initialization process of each alert channel to the ping mechanism for channels that are recovering from a reset or clock gated cycle on the sender side.
I.e., alert channels that get stuck during the initialization process can be detected by the ping mechanism since ping requests are not immediately ack’ed anymore once init_trig
is deasserted.
FSM Encoding
Since there are many alert channels in the design, the receiver and sender FSMs themselves are not sparsely encoded. Instead, we rely on the ping mechanism to detect alert channels that are in a bad state. The specific implementation of the ping bypass mentioned in the previous subsection ensures that the ping mechanism can also be used to monitor the initialization sequence of alert channels.
Latency / Skew Considerations
Due to asynchronous transitions and different path latencies in the system, a change in reset or clock gating state will experience a different latency through the alert channels than through the indication signals (rst_n
and clk_en
) that are connected to the low-power control logic.
It is consequently possible for a group of alert senders to already be in reset or clock gated state, while the corresponding LPG logic does not yet know about this state change - and vice versa.
In practice, this means that ping requests may be pending for several cycles until the LPG logic detects a reset or clock-gated condition and disables the corresponding alert channel(s).
Fortunately, such delay can be tolerated by setting the ping timeout to a sufficiently large value (see CLASSA_TIMEOUT_CYC_SHADOWED
).
As for alert events, this latency difference should not pose a problem. Alert events may get stuck in the alert sender due to a reset or clock-gated condition - but this is to be expected.
Integration Considerations
Note that due to the aforementioned latency tolerance built into the ping timer, it is permissible to connect any reset or clock enable indication signal from the relevant clock group to the LPG logic. I.e., the only requirement is that the indication signals are logically related to the resets and clocks routed to the alert senders, and that the skew between reset / clock state changes and the indication signals is bounded.
The topgen script is extended so that it can identify all LPGs and the associated alert channels. This information is then used to parameterize the alert handler design, and make the necessary top-level connections from the reset and clock management controllers to the alert handler.
Hardening Against Glitch Attacks
In addition to the differential alert and escalation signalling scheme, the internal state machines and counters are hardened against glitch attacks as described bellow:
- Ping Timer:
- The FSM is sparsely encoded.
- The LFSR and the counter are duplicated.
- If the FSM or counter are glitched into an invalid state, all internal ping fail alerts will be permanently asserted.
- Escalation Timers:
- The escalation timer FSMs are sparsely encoded.
- The escalation timer counters are duplicated.
- The escalation accumulators are duplicated.
- If one of these FSMs, counters or accumulators are glitched into an invalid state, all escalation actions will be triggered and the affected FSM goes into a terminal
FsmError
state.
- CSRs:
- Critical configuration CSRs are shadowed.
- The shadow CSRs can trigger additional internal alerts for CSR storage and update failures. These internal alerts are fed back into the alert classifier in the same manner as the ping and integrity failure alerts.
- LPGs:
- Clock-gated and reset-asserted indication signals that are routed from clock and reset managers to the alert handler are encoded with multibit signals.
ALERT_HANDLER DV document
Goals
- DV
- Verify all ALERT_HANDLER IP features by running dynamic simulations with a SV/UVM based testbench
- Develop and run all tests based on the testplan below towards closing code and functional coverage on the IP and all of its sub-modules
- Verify transmitter and receiver pairs for alert (/hw/ip/prim/dv/prim_alert) and escalation (/hw/ip/prim/dv/prim_esc) via direct stimulus.
- FPV
- Verify TileLink device protocol compliance with an SVA based testbench
- Verify transmitter and receiver pairs for alert and escalator
- Verify alert_handler_esc_timer and alert_handler_ping_timer
Current status
Design features
For detailed information on ALERT_HANDLER design features, please see the ALERT_HANDLER HWIP technical specification.
Testbench architecture
ALERT_HANDLER testbench has been constructed based on the CIP testbench architecture.
Block diagram
Top level testbench
Top level testbench is located at hw/ip/alert_handler/dv/tb/tb.sv
. It instantiates the ALERT_HANDLER DUT module hw/ip/alert_handler/rtl/alert_handler.sv
.
In addition, it instantiates the following interfaces, connects them to the DUT and sets their handle into uvm_config_db
:
- Clock and reset interface
- TileLink host interface
- ALERT_HANDLER IOs
- Alerts and escalations(
alert_esc_if
) - Interrupts (
pins_if
) - Devmode (
pins_if
)
The alert_handler testbench environment can be reused in chip level testing.
Common DV utility components
The following utilities provide generic helper tasks and functions to perform activities that are common across the project:
Global types & methods
All common types and methods defined at the package level can be found in
alert_handler_env_pkg
. Some of them in use are:
parameter uint NUM_MAX_ESC_SEV = 8;
TL_agent
ALERT_HANDLER testbench instantiates (already handled in CIP base env) tl_agent which provides the ability to drive and independently monitor random traffic via TL host interface into ALERT_HANDLER device.
ALERT_ESC Agent
ALERT_ESC agent is used to drive and monitor transmitter and receiver pairs for the alerts and escalators. Alert_handler DUT includes alert_receivers and esc_senders, so the alert_esc agent will drive output signals of the alert_senders and esc_receivers.
UVM RAL Model
The ALERT_HANDLER RAL model is created with the ralgen
FuseSoC generator script automatically when the simulation is at the build stage.
It can be created manually by invoking regtool
.
Stimulus strategy
Test sequences
All test sequences reside in hw/ip/alert_handler/dv/env/seq_lib
.
The alert_handler_base_vseq
virtual sequence is extended from cip_base_vseq
and serves as a starting point.
All test sequences are extended from alert_handler_base_vseq
.
It provides commonly used handles, variables, functions and tasks that the test sequences can simple use / call.
Some of the most commonly used tasks / functions are as follows:
- alert_handler_init: Configure alert_handler DUT by writing to
intr_en
,alert_en_shadowed_*
,alert_class_shadowed_*
,loc_alert_en_shadowed_*
,loc_alert_class_shadowed_*
registers. - drive_alert: Drive alert_tx signal pairs through
alert_sender_driver
. - drive_esc_rsp: Drive esc_rx signal pairs through
esc_receiver_driver
. - read_ecs_status: Readout registers that reflect escalation status, including
classa/b/c/d_accum_cnt
,classa/b/c/d_esc_cnt
, andclassa/b/c/d_state
. - wait_alert_handshake_done: Wait for alert_rx/tx handshake to finish. If the alert’s low-power-group(LPG) is enabled, immediately return.
- wait_esc_handshake_done: Wait for esc_rx/tx handshake to finish by reading
class*_state
registers and check esc_rx/tx signals. - set_alert_lpg: Given alert index, find the linked LPG group and enabled the LPG group by driving
lpg_cg_en
orlpg_rst_en
to Mubi4True. - run_esc_rsp_seq_nonblocking: A non-blocking sequence to drive
esc_tx
when received escalation or escalation-ping requests. - run_alert_ping_rsp_seq_nonblocking: A non-blocking sequence to drive
alert_rx
when received alert-ping requests.
Functional coverage
To ensure high quality constrained random stimulus, it is necessary to develop a functional coverage model. The detailed covergroups are documented under alert_handler testplan.
Self-checking strategy
Scoreboard
The alert_handler_scoreboard
is primarily used for end to end checking.
It creates the following analysis ports to retrieve the data monitored by corresponding interface agents:
- tl_a_chan_fifo: tl address channel
- tl_d_chan_fifo: tl data channel
- alert_fifo: An array of
alert_fifo
that connects to corresponding alert_monitors - esc_fifo: An array of
esc_fifo
that connects to corresponding esc_monitors
Alert_handler scoreboard monitors all valid CSR registers, alert handshakes, and escalation handshakes. To ensure certain alert, interrupt, or escalation signals are triggered at the expected time, the alert_handler scoreboard implemented a few counters:
- intr_cnter_per_class[NUM_ALERT_HANDLER_CLASSES]: Count number of clock cycles that the interrupt bit stays high.
If the stored number is larger than the
timeout_cyc
registers, the corresponding escalation is expected to be triggered - accum_cnter_per_class[NUM_ALERT_HANDLER_CLASSES]: Count number of alerts triggered under the same class.
If the stored number is larger than the
accum_threshold
registers, the corresponding escalation is expected to be triggered - esc_cnter_per_signal[NUM_ESC_SIGNALS]: Count number of clock cycles that each escalation signal stays high.
Compare the counter against
phase_cyc
registers
The alert_handler scoreboard is parameterized to support different number of classes, alert pairs, and escalation pairs.
Assertions
- TLUL assertions: The
tb/alert_handler_bind.sv
binds thetlul_assert
assertions to the IP to ensure TileLink interface protocol compliance. - Unknown checks on DUT outputs: The RTL has assertions to ensure all outputs are initialized to known values after coming out of reset.
Building and running tests
We are using our in-house developed regression tool for building and running our tests and regressions. Please take a look at the link for detailed information on the usage, capabilities, features and known issues. Here’s how to run a smoke test:
$ $REPO_TOP/util/dvsim/dvsim.py $REPO_TOP/hw/$CHIP/ip_autogen/alert_handler/dv/alert_handler_sim_cfg.hjson -i alert_handler_smoke
In this run command, $CHIP can be top_earlgrey, etc.
Testplan
Testpoints
Stage | Name | Tests | Description |
---|---|---|---|
V1 | smoke | alert_handler_smoke |
|
V1 | csr_hw_reset | alert_handler_csr_hw_reset | Verify the reset values as indicated in the RAL specification.
|
V1 | csr_rw | alert_handler_csr_rw | Verify accessibility of CSRs as indicated in the RAL specification.
|
V1 | csr_bit_bash | alert_handler_csr_bit_bash | Verify no aliasing within individual bits of a CSR.
|
V1 | csr_aliasing | alert_handler_csr_aliasing | Verify no aliasing within the CSR address space.
|
V1 | csr_mem_rw_with_rand_reset | alert_handler_csr_mem_rw_with_rand_reset | Verify random reset during CSR/memory access.
|
V1 | regwen_csr_and_corresponding_lockable_csr | alert_handler_csr_rw alert_handler_csr_aliasing | Verify regwen CSR and its corresponding lockable CSRs.
Note:
This is only applicable if the block contains regwen and locakable CSRs. |
V2 | esc_accum | alert_handler_esc_alert_accum | Based on the smoke test, this test will focus on testing the escalation accumulation feature. So all the escalations in the test will be triggered by alert accumulation. |
V2 | esc_timeout | alert_handler_esc_intr_timeout | Based on the smoke test, this test will focus on testing the escalation timeout feature. So all the escalations in the test will be triggered by interrupt timeout. |
V2 | entropy | alert_handler_entropy | Based on the smoke test, this test enables ping testing, and check if the ping feature correctly pings all devices within certain period of time. |
V2 | sig_int_fail | alert_handler_sig_int_fail | This test will randomly inject differential pair failures on alert tx/rx pairs and the escalator tx/rx pairs. Then check if integrity failure alert is triggered and escalated. |
V2 | clk_skew | alert_handler_smoke | This test will randomly inject clock skew within the differential pairs. Then check no alert is raised. |
V2 | random_alerts | alert_handler_random_alerts | Input random alerts and randomly write phase cycles. |
V2 | random_classes | alert_handler_random_classes | Based on random_alerts test, this test will also randomly enable interrupt classes. |
V2 | ping_timeout | alert_handler_ping_timeout | Based on entropy test, this test request alert_sender and esc_receiver drivers to randomly create ping requests timeout stimulus. Checks:
|
V2 | lpg | alert_handler_lpg alert_handler_lpg_stub_clk | Test alert_handler low_power_group(lpg) request. Stimulus:
Checks:
|
V2 | stress_all | alert_handler_stress_all | Combine above sequences in one test to run sequentially with the following exclusions:
|
V2 | alert_handler_entropy_stress_test | alert_handler_entropy_stress | Stress the alert_handler's entropy request and make sure there is no spurious alert. Stimulus:
|
V2 | alert_handler_alert_accum_saturation | alert_handler_alert_accum_saturation | This sequence forces all four alert classes' accumulate counters to a large value that is close to the max saturation value. Then the sequence triggers alerts until the count saturates. Checks:
|
V2 | intr_test | alert_handler_intr_test | Verify common intr_test CSRs that allows SW to mock-inject interrupts.
|
V2 | tl_d_oob_addr_access | alert_handler_tl_errors | Access out of bounds address and verify correctness of response / behavior |
V2 | tl_d_illegal_access | alert_handler_tl_errors | Drive unsupported requests via TL interface and verify correctness of response / behavior. Below error cases are tested bases on the TLUL spec
|
V2 | tl_d_outstanding_access | alert_handler_csr_hw_reset alert_handler_csr_rw alert_handler_csr_aliasing alert_handler_same_csr_outstanding | Drive back-to-back requests without waiting for response to ensure there is one transaction outstanding within the TL device. Also, verify one outstanding when back- to-back accesses are made to the same address. |
V2 | tl_d_partial_access | alert_handler_csr_hw_reset alert_handler_csr_rw alert_handler_csr_aliasing alert_handler_same_csr_outstanding | Access CSR with one or more bytes of data. For read, expect to return all word value of the CSR. For write, enabling bytes should cover all CSR valid fields. |
V2S | shadow_reg_update_error | alert_handler_shadow_reg_errors | Verify shadowed registers' update error.
|
V2S | shadow_reg_read_clear_staged_value | alert_handler_shadow_reg_errors | Verify reading a shadowed register will clear its staged value.
|
V2S | shadow_reg_storage_error | alert_handler_shadow_reg_errors | Verify shadowed registers' storage error.
|
V2S | shadowed_reset_glitch | alert_handler_shadow_reg_errors | Verify toggle shadowed_rst_n pin can trigger storage error.
|
V2S | shadow_reg_update_error_with_csr_rw | alert_handler_shadow_reg_errors_with_csr_rw | Run shadow_reg_update_error sequence in parallel with csr_rw sequence.
|
V2S | tl_intg_err | alert_handler_tl_intg_err alert_handler_sec_cm | Verify that the data integrity check violation generates an alert.
|
V2S | sec_cm_bus_integrity | alert_handler_tl_intg_err | Verify the countermeasure(s) BUS.INTEGRITY. |
V2S | sec_cm_config_shadow | alert_handler_shadow_reg_errors | Verify the countermeasure(s) CONFIG.SHADOW. |
V2S | sec_cm_ping_timer_config_regwen | alert_handler_smoke | Verify the countermeasure(s) PING_TIMER.CONFIG.REGWEN. |
V2S | sec_cm_alert_config_regwen | alert_handler_smoke | Verify the countermeasure(s) ALERT.CONFIG.REGWEN. |
V2S | sec_cm_alert_loc_config_regwen | alert_handler_smoke | Verify the countermeasure(s) ALERT_LOC.CONFIG.REGWEN. |
V2S | sec_cm_class_config_regwen | alert_handler_smoke | Verify the countermeasure(s) CLASS.CONFIG.REGWEN. |
V2S | sec_cm_alert_intersig_diff | alert_handler_sig_int_fail | Verify the countermeasure(s) ALERT.INTERSIG.DIFF. |
V2S | sec_cm_lpg_intersig_mubi | alert_handler_lpg | Verify the countermeasure(s) LPG.INTERSIG.MUBI. |
V2S | sec_cm_esc_intersig_diff | alert_handler_sig_int_fail | Verify the countermeasure(s) ESC.INTERSIG.DIFF. |
V2S | sec_cm_alert_rx_intersig_bkgn_chk | alert_handler_entropy | Verify the countermeasure(s) ALERT_RX.INTERSIG.BKGN_CHK. |
V2S | sec_cm_esc_tx_intersig_bkgn_chk | alert_handler_entropy | Verify the countermeasure(s) ESC_TX.INTERSIG.BKGN_CHK. |
V2S | sec_cm_esc_rx_intersig_bkgn_chk | N/A | Verify the countermeasure(s) ESC_RX.INTERSIG.BKGN_CHK. |
V2S | sec_cm_esc_timer_fsm_sparse | alert_handler_sec_cm | Verify the countermeasure(s) ESC_TIMER.FSM.SPARSE. |
V2S | sec_cm_ping_timer_fsm_sparse | alert_handler_sec_cm | Verify the countermeasure(s) PING_TIMER.FSM.SPARSE. |
V2S | sec_cm_esc_timer_fsm_local_esc | alert_handler_sec_cm | Verify the countermeasure(s) ESC_TIMER.FSM.LOCAL_ESC. |
V2S | sec_cm_ping_timer_fsm_local_esc | alert_handler_sec_cm | Verify the countermeasure(s) PING_TIMER.FSM.LOCAL_ESC. |
V2S | sec_cm_esc_timer_fsm_global_esc | alert_handler_sec_cm | Verify the countermeasure(s) ESC_TIMER.FSM.GLOBAL_ESC. |
V2S | sec_cm_accu_ctr_redun | alert_handler_sec_cm | Verify the countermeasure(s) ACCU.CTR.REDUN. |
V2S | sec_cm_esc_timer_ctr_redun | alert_handler_sec_cm | Verify the countermeasure(s) ESC_TIMER.CTR.REDUN. |
V2S | sec_cm_ping_timer_ctr_redun | alert_handler_sec_cm | Verify the countermeasure(s) PING_TIMER.CTR.REDUN. |
V2S | sec_cm_ping_timer_lfsr_redun | alert_handler_sec_cm | Verify the countermeasure(s) PING_TIMER.LFSR.REDUN. |
V3 | stress_all_with_rand_reset | alert_handler_stress_all_with_rand_reset | This test runs 3 parallel threads - stress_all, tl_errors and random reset. After reset is asserted, the test will read and check all valid CSR registers. |
Covergroups
Name | Description |
---|---|
accum_cnt_cg | Covers escalation due to accumulated alerts.
|
alert_cause_cg | Covers alert_cause register and related items.
|
alert_class_regwen_cg | Covers if regwen is locked for alert_class registers. |
alert_en_regwen_cg | Covers if regwen is locked for alert_en registers. |
alert_handshake_complete_cg | Cover if the alert handshake completes. |
alert_loc_alert_cause_cg | Covers loc_alert_cause register regarding alert.
|
alert_lpg_cg | Covers alert lpg status during an alert request. Cover if its lower-power-group (lpg) is enabled or disabled during an alert request. |
alert_ping_with_lpg_wrap_cg | Covers ping requests are initiated with LPG enabled or disabled. |
alert_trans_cg | Cover if the transaction is a ping request or an actual alert request. |
class_accum_thresh_regwen_cg | Covers if regwen is locked for class_accum_thresh registers. |
class_clr_regwen_cg | Covers if regwen is locked for class_clr registers. |
class_crashdump_trigger_regwen_cg | Covers if regwen is locked for class_crashdump_trigger registers. |
class_ctrl_regwen_cg | Covers if regwen is locked for class_ctrl registers. |
class_phase_cyc_regwen_cg | Covers if regwen is locked for class_phase_cyc registers. |
class_timeout_cyc_regwen_cg | Covers if regwen is locked for class_timeout_cyc registers. |
clear_esc_cnt_cg | Covers escalation counter being cleared by class_clr_shadowed register. |
clear_intr_cnt_cg | Covers interrupt counter being cleared by class_clr_shadowed register. |
crashdump_trigger_cg | Covers which phase triggers crashdump. |
cycles_bwtween_pings_cg | Covers how many cycles are there between two ping requests. |
esc_handshake_complete_cg | Cover if the escalation handshake completes. |
esc_loc_alert_cause_cg | Covers loc_alert_cause register regarding escalation.
|
esc_sig_length_cg | Covers escalation signal length for each escalation signal. |
esc_trans_cg | Cover if the transaction is a ping request or an actual escalation request. |
intr_timeout_cnt_cg | Covers escalation due to interrupt timeout.
|
loc_alert_class_regwen_cg | Covers if regwen is locked for loc_alert_class registers. |
loc_alert_en_regwen_cg | Covers if regwen is locked for loc_alert_en registers. |
num_checked_pings_cg | Covers if simulation runs long enough to capture more than twenty ping requests. |
num_edn_reqs_cg | Covers if simulation runs long enough to capture more than five EDN requests. |
regwen_val_when_new_value_written_cg | Cover each lockable reg field with these 2 cases:
This is only applicable if the block contains regwen and locakable CSRs. |
shadow_field_errs_cg | Cover all shadow register errors for each register field. For all register fields within the shadowed register, this coverpoint covers the following errors:
|
tl_errors_cg | Cover the following error cases on TL-UL bus:
|
tl_intg_err_cg | Cover all kinds of integrity errors (command, data or both) and cover number of error bits on each integrity check. Cover the kinds of integrity errors with byte enabled write on memory if applicable: Some memories store the integrity values. When there is a subword write, design re-calculate the integrity with full word data and update integrity in the memory. This coverage ensures that memory byte write has been issued and the related design logic has been verfied. |
Programmer’s Guide
Power-up and Reset Considerations
False alerts during power-up and reset are not possible since the alerts are disabled by default, and need to be configured and locked in by the firmware. The ping timer won’t start until initial configuration is over and the registers are locked in.
The low-power state management of alert channels is handled entirely by hardware and hence this is transparent to software. Note however that the LPGs inherit the security properties of the associated clock groups and resets. This means that the low-power state of certain alerts can be controlled by SW by means of clock gating or block reset. For example, certain crypto blocks are located in a transactional clock group which can be clock gated by SW - and this also affects the associated alerts of these crypto blocks. See clock and reset managers for more detail.
Initialization
To initialize the block, software running at a high privilege levels (early in the security settings process) should do the following:
-
For each alert and each local alert:
-
Determine if alert is enabled (should only be false if alert is known to be faulty). Set
ALERT_EN_SHADOWED_0.EN_A_0
andLOC_ALERT_EN_SHADOWED_0.EN_LA_0
accordingly. -
Determine which class (A..D) the alert is associated with. Set
ALERT_CLASS_SHADOWED_0.CLASS_A_0
andLOC_ALERT_CLASS_SHADOWED_0.CLASS_LA_0
accordingly. -
Optionally lock each alert configuration by writing 0 to
ALERT_REGWEN_0.EN_0
orLOC_ALERT_REGWEN_0.EN_0
. Note however that only locked and enabled alerts are going to be pinged using the ping mechanism. This ensures that spurious ping failures cannot occur when previously enabled alerts are being disabled again (before locking).
-
-
Set the ping timeout value
PING_TIMEOUT_CYC_SHADOWED
. This value is dependent on the clock ratios present in the system. -
For each class (A..D):
-
Determine whether to enable escalation mechanisms (accumulation / interrupt timeout) for this particular class. Set
CLASSA_CTRL_SHADOWED.EN
accordingly. -
Determine if this class of alerts allows clearing of escalation once it has begun. Set
CLASSA_CTRL_SHADOWED.LOCK
to true if clearing should be disabled. If true, once escalation protocol begins, it can not be stopped, the assumption being that it ends in a chip reset else it will be rendered useless thenceforth. -
Determine the number of alerts required to be accumulated before escalation protocol kicks in. Set
CLASSA_ACCUM_THRESH
accordingly. -
Determine whether the interrupt associated with that class needs a timeout. If yes, set
CLASSA_TIMEOUT_CYC_SHADOWED
to an appropriate value greater than zero (zero corresponds to an infinite timeout and disables the mechanism). -
For each escalation phase (0..3):
- Determine length of each escalation phase by setting
CLASSA_PHASE0_CYC
accordingly
- Determine length of each escalation phase by setting
-
For each escalation signal (0..3):
- Determine whether to enable the escalation signal, and set the
CLASSA_CTRL_SHADOWED.E0_EN
bit accordingly (default is enabled). Note that setting all of theE*_EN
bits to 0 within a class has the same effect of disabling the entire class by settingCLASSA_CTRL_SHADOWED.EN
to zero. - Determine the phase -> escalation mapping of this class and program it via the
CLASSA_CTRL_SHADOWED.E0_MAP
values if it needs to be changed from the default mapping (0->0, 1->1, 2->2, 3->3).
- Determine whether to enable the escalation signal, and set the
-
Optionally lock the class configuration by writing 0 to
CLASSA_CTRL_SHADOWED.REGWEN
.
-
-
After initial configuration at startup, enable the ping timer mechanism by writing 1 to
PING_TIMER_EN
. It is also recommended to lock the ping timer configuration by clearingPING_TIMER_REGWEN
. Note that only locked and enabled alerts are going to be pinged using the ping mechanism. This ensures that spurious ping failures cannot occur when previously enabled alerts are being disabled again (before locking).
Interrupt Handling
For every alert that is enabled, an interrupt will be triggered on class A, B, C, or D. To handle an interrupt of a particular class, software should execute the following steps:
-
If needed, check the escalation state of this class by reading
CLASSA_STATE
. This reveals whether escalation protocol has been triggered and in which escalation phase the class is. In case interrupt timeouts are enabled the class will be in timeout state unless escalation has already been triggered. The current interrupt or escalation cycle counter can be read viaCLASSA_ESC_CNT
. -
Since the interrupt does not indicate which alert triggered, SW must read the cause registers
LOC_ALERT_CAUSE
andALERT_CAUSE
etc. The cause bits of all alerts are concatenated and chunked into 32bit words. Hence the register file contains as many cause words as needed to cover all alerts present in the system. Each cause register contains a sticky bit that is set by the incoming alert, and is clearable with a write by software. This should only be cleared after software has cleared the event trigger, if applicable. It is possible that the event requires no clearing (e.g. a parity error), or can’t be cleared (a breach in the metal mesh protecting the chip).Note that in the rare case when multiple events are triggered at or about the same time, all events should be cleared before proceeding.
-
After the event is cleared (if needed or possible), software should handle the interrupt as follows:
-
Resetting the accumulation register for the class by writing
CLASSA_CLR
. This also aborts the escalation protocol if it has been triggered. If for some reason it is desired to never allow the accumulator or escalation to be cleared, software can initialize theCLASSA_CLR_REGWEN
register to zero. IfCLASSA_CLR_REGWEN
is already false when an alert interrupt is detected (either due to software control or hardware trigger viaCLASSA_CTRL_SHADOWED.LOCK
), then the accumulation counter can not be cleared and this step has no effect. -
After the accumulation counter is reset (if applicable), software should clear the class A interrupt state bit
INTR_STATE.CLASSA
. Clearing the class A interrupt state bit also clears and stops the interrupt timeout counter (if enabled).
-
Note that testing interrupts by writing to the interrupt test registers does also trigger the internal interrupt timeout (if enabled), since the interrupt state is used as enable signal for the timer. However, alert accumulation will not be triggered by this testing mechanism.
Device Interface Functions (DIFs)
Register Table
Additional Notes
Timing Constraints
The skew within all differential signal pairs must be constrained to be smaller than the period of the fastest clock operating the alert handler receivers. The maximum propagation delay of differential pair should also be constrained (although it may be longer than the clock periods involved).
Fast-track Alerts
Note that it is possible to program a certain class to provide a fast-track response for critical alerts by setting its accumulation trigger value to 1, and configuring the escalation protocol such that the appropriate escalation measure is triggered within escalation phase 0. This results in a minimal escalation latency of 4 clock cycles from alert sender input to escalation receiver output in the case where all involved signaling modules are completely synchronous with the alert handler. In case the alert sender is asynchronous w.r.t. to the alert handler, the actual latency depends on the clock periods involved. Assuming both clocks have the same frequency alert propagation takes at least 6-8 clock alert handler clock cycles.
For alerts that mandate an asynchronous response (i.e. without requiring a clock to be active), it is highly recommended to build a separate network at the top-level. That network should OR’ the critical sources together and route the asynchronous alert signal directly to the highest severity countermeasure device. Examples for alert conditions of this sort would be attacks on the secure clock.
Hardware Interfaces and Registers
Interfaces
Referring to the Comportable guideline for peripheral device functionality, the module alert_handler
has the following hardware interfaces defined.
Primary Clock: clk_i
Other Clocks: clk_edn_i
Bus Device Interfaces (TL-UL): tl
Bus Host Interfaces (TL-UL): none
Peripheral Pins for Chip IO: none
Inter-Module Signals: Reference
Port Name | Package::Struct | Type | Act | Width | Description |
---|---|---|---|---|---|
crashdump | alert_pkg::alert_crashdump | uni | req | 1 | |
edn | edn_pkg::edn | req_rsp | req | 1 | |
esc_rx | prim_esc_pkg::esc_rx | uni | rcv | 4 | |
esc_tx | prim_esc_pkg::esc_tx | uni | req | 4 | |
tl | tlul_pkg::tl | req_rsp | rsp | 1 |
Interrupts:
Interrupt Name | Type | Description |
---|---|---|
classa | Event | Interrupt state bit of Class A. Set by HW in case an alert within this class triggered. Defaults true, write one to clear. |
classb | Event | Interrupt state bit of Class B. Set by HW in case an alert within this class triggered. Defaults true, write one to clear. |
classc | Event | Interrupt state bit of Class C. Set by HW in case an alert within this class triggered. Defaults true, write one to clear. |
classd | Event | Interrupt state bit of Class D. Set by HW in case an alert within this class triggered. Defaults true, write one to clear. |
Security Alerts: none
Security Countermeasures:
Countermeasure ID | Description |
---|---|
ALERT_HANDLER.BUS.INTEGRITY | End-to-end bus integrity scheme. |
ALERT_HANDLER.CONFIG.SHADOW | Important CSRs are shadowed. |
ALERT_HANDLER.PING_TIMER.CONFIG.REGWEN | The ping timer configuration registers are REGWEN protected. |
ALERT_HANDLER.ALERT.CONFIG.REGWEN | The individual alert enables are REGWEN protected. |
ALERT_HANDLER.ALERT_LOC.CONFIG.REGWEN | The individual local alert enables are REGWEN protected. |
ALERT_HANDLER.CLASS.CONFIG.REGWEN | The class configuration registers are REGWEN protected. |
ALERT_HANDLER.ALERT.INTERSIG.DIFF | Differentially encoded alert channels. |
ALERT_HANDLER.LPG.INTERSIG.MUBI | LPG signals are encoded with MUBI types. |
ALERT_HANDLER.ESC.INTERSIG.DIFF | Differentially encoded escalation channels. |
ALERT_HANDLER.ALERT_RX.INTERSIG.BKGN_CHK | Periodic background checks on alert channels (ping mechanism). |
ALERT_HANDLER.ESC_TX.INTERSIG.BKGN_CHK | Periodic background checks on escalation channels (ping mechanism). |
ALERT_HANDLER.ESC_RX.INTERSIG.BKGN_CHK | Escalation receivers can detect absence of periodic ping requests. |
ALERT_HANDLER.ESC_TIMER.FSM.SPARSE | Escalation timer FSMs are sparsely encoded. |
ALERT_HANDLER.PING_TIMER.FSM.SPARSE | Ping timer FSM is sparsely encoded. |
ALERT_HANDLER.ESC_TIMER.FSM.LOCAL_ESC | Escalation timer FSMs move into an invalid state upon local escalation. |
ALERT_HANDLER.PING_TIMER.FSM.LOCAL_ESC | Ping timer FSM moves into an invalid state upon local escalation. |
ALERT_HANDLER.ESC_TIMER.FSM.GLOBAL_ESC | The escalation timer FSMs are the root of global escalation, hence if any of them moves into an invalid state by virtue of ESC_TIMER.FSM.LOCAL_ESC, this will trigger all escalation actions and thereby global escalation as well. |
ALERT_HANDLER.ACCU.CTR.REDUN | Accumulator counters employ a cross-counter implementation. |
ALERT_HANDLER.ESC_TIMER.CTR.REDUN | Escalation timer counters employ a duplicated counter implementation. |
ALERT_HANDLER.PING_TIMER.CTR.REDUN | Ping timer counters employ a duplicated counter implementation. |
ALERT_HANDLER.PING_TIMER.LFSR.REDUN | Ping timer LFSR is redundant. |
Registers
Summary | |||
---|---|---|---|
Name | Offset | Length | Description |
alert_handler.INTR_STATE | 0x0 | 4 | Interrupt State Register |
alert_handler.INTR_ENABLE | 0x4 | 4 | Interrupt Enable Register |
alert_handler.INTR_TEST | 0x8 | 4 | Interrupt Test Register |
alert_handler.PING_TIMER_REGWEN | 0xc | 4 | Register write enable for |
alert_handler.PING_TIMEOUT_CYC_SHADOWED | 0x10 | 4 | Ping timeout cycle count. |
alert_handler.PING_TIMER_EN_SHADOWED | 0x14 | 4 | Ping timer enable. |
alert_handler.ALERT_REGWEN_0 | 0x18 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_1 | 0x1c | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_2 | 0x20 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_3 | 0x24 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_4 | 0x28 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_5 | 0x2c | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_6 | 0x30 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_7 | 0x34 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_8 | 0x38 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_9 | 0x3c | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_10 | 0x40 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_11 | 0x44 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_12 | 0x48 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_13 | 0x4c | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_14 | 0x50 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_15 | 0x54 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_16 | 0x58 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_17 | 0x5c | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_18 | 0x60 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_19 | 0x64 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_20 | 0x68 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_21 | 0x6c | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_22 | 0x70 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_23 | 0x74 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_24 | 0x78 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_25 | 0x7c | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_26 | 0x80 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_27 | 0x84 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_28 | 0x88 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_29 | 0x8c | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_30 | 0x90 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_31 | 0x94 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_32 | 0x98 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_33 | 0x9c | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_34 | 0xa0 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_35 | 0xa4 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_36 | 0xa8 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_37 | 0xac | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_38 | 0xb0 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_39 | 0xb4 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_40 | 0xb8 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_41 | 0xbc | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_42 | 0xc0 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_43 | 0xc4 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_44 | 0xc8 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_45 | 0xcc | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_46 | 0xd0 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_47 | 0xd4 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_48 | 0xd8 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_49 | 0xdc | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_50 | 0xe0 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_51 | 0xe4 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_52 | 0xe8 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_53 | 0xec | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_54 | 0xf0 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_55 | 0xf4 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_56 | 0xf8 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_57 | 0xfc | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_58 | 0x100 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_59 | 0x104 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_60 | 0x108 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_61 | 0x10c | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_62 | 0x110 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_63 | 0x114 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_REGWEN_64 | 0x118 | 4 | Register write enable for alert enable bits. |
alert_handler.ALERT_EN_SHADOWED_0 | 0x11c | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_1 | 0x120 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_2 | 0x124 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_3 | 0x128 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_4 | 0x12c | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_5 | 0x130 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_6 | 0x134 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_7 | 0x138 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_8 | 0x13c | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_9 | 0x140 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_10 | 0x144 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_11 | 0x148 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_12 | 0x14c | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_13 | 0x150 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_14 | 0x154 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_15 | 0x158 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_16 | 0x15c | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_17 | 0x160 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_18 | 0x164 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_19 | 0x168 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_20 | 0x16c | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_21 | 0x170 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_22 | 0x174 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_23 | 0x178 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_24 | 0x17c | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_25 | 0x180 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_26 | 0x184 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_27 | 0x188 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_28 | 0x18c | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_29 | 0x190 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_30 | 0x194 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_31 | 0x198 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_32 | 0x19c | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_33 | 0x1a0 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_34 | 0x1a4 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_35 | 0x1a8 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_36 | 0x1ac | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_37 | 0x1b0 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_38 | 0x1b4 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_39 | 0x1b8 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_40 | 0x1bc | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_41 | 0x1c0 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_42 | 0x1c4 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_43 | 0x1c8 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_44 | 0x1cc | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_45 | 0x1d0 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_46 | 0x1d4 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_47 | 0x1d8 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_48 | 0x1dc | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_49 | 0x1e0 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_50 | 0x1e4 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_51 | 0x1e8 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_52 | 0x1ec | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_53 | 0x1f0 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_54 | 0x1f4 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_55 | 0x1f8 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_56 | 0x1fc | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_57 | 0x200 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_58 | 0x204 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_59 | 0x208 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_60 | 0x20c | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_61 | 0x210 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_62 | 0x214 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_63 | 0x218 | 4 | Enable register for alerts. |
alert_handler.ALERT_EN_SHADOWED_64 | 0x21c | 4 | Enable register for alerts. |
alert_handler.ALERT_CLASS_SHADOWED_0 | 0x220 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_1 | 0x224 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_2 | 0x228 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_3 | 0x22c | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_4 | 0x230 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_5 | 0x234 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_6 | 0x238 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_7 | 0x23c | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_8 | 0x240 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_9 | 0x244 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_10 | 0x248 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_11 | 0x24c | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_12 | 0x250 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_13 | 0x254 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_14 | 0x258 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_15 | 0x25c | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_16 | 0x260 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_17 | 0x264 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_18 | 0x268 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_19 | 0x26c | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_20 | 0x270 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_21 | 0x274 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_22 | 0x278 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_23 | 0x27c | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_24 | 0x280 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_25 | 0x284 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_26 | 0x288 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_27 | 0x28c | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_28 | 0x290 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_29 | 0x294 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_30 | 0x298 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_31 | 0x29c | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_32 | 0x2a0 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_33 | 0x2a4 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_34 | 0x2a8 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_35 | 0x2ac | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_36 | 0x2b0 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_37 | 0x2b4 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_38 | 0x2b8 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_39 | 0x2bc | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_40 | 0x2c0 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_41 | 0x2c4 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_42 | 0x2c8 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_43 | 0x2cc | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_44 | 0x2d0 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_45 | 0x2d4 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_46 | 0x2d8 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_47 | 0x2dc | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_48 | 0x2e0 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_49 | 0x2e4 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_50 | 0x2e8 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_51 | 0x2ec | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_52 | 0x2f0 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_53 | 0x2f4 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_54 | 0x2f8 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_55 | 0x2fc | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_56 | 0x300 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_57 | 0x304 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_58 | 0x308 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_59 | 0x30c | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_60 | 0x310 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_61 | 0x314 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_62 | 0x318 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_63 | 0x31c | 4 | Class assignment of alerts. |
alert_handler.ALERT_CLASS_SHADOWED_64 | 0x320 | 4 | Class assignment of alerts. |
alert_handler.ALERT_CAUSE_0 | 0x324 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_1 | 0x328 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_2 | 0x32c | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_3 | 0x330 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_4 | 0x334 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_5 | 0x338 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_6 | 0x33c | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_7 | 0x340 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_8 | 0x344 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_9 | 0x348 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_10 | 0x34c | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_11 | 0x350 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_12 | 0x354 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_13 | 0x358 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_14 | 0x35c | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_15 | 0x360 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_16 | 0x364 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_17 | 0x368 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_18 | 0x36c | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_19 | 0x370 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_20 | 0x374 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_21 | 0x378 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_22 | 0x37c | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_23 | 0x380 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_24 | 0x384 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_25 | 0x388 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_26 | 0x38c | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_27 | 0x390 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_28 | 0x394 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_29 | 0x398 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_30 | 0x39c | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_31 | 0x3a0 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_32 | 0x3a4 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_33 | 0x3a8 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_34 | 0x3ac | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_35 | 0x3b0 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_36 | 0x3b4 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_37 | 0x3b8 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_38 | 0x3bc | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_39 | 0x3c0 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_40 | 0x3c4 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_41 | 0x3c8 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_42 | 0x3cc | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_43 | 0x3d0 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_44 | 0x3d4 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_45 | 0x3d8 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_46 | 0x3dc | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_47 | 0x3e0 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_48 | 0x3e4 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_49 | 0x3e8 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_50 | 0x3ec | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_51 | 0x3f0 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_52 | 0x3f4 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_53 | 0x3f8 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_54 | 0x3fc | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_55 | 0x400 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_56 | 0x404 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_57 | 0x408 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_58 | 0x40c | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_59 | 0x410 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_60 | 0x414 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_61 | 0x418 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_62 | 0x41c | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_63 | 0x420 | 4 | Alert Cause Register |
alert_handler.ALERT_CAUSE_64 | 0x424 | 4 | Alert Cause Register |
alert_handler.LOC_ALERT_REGWEN_0 | 0x428 | 4 | Register write enable for alert enable bits. |
alert_handler.LOC_ALERT_REGWEN_1 | 0x42c | 4 | Register write enable for alert enable bits. |
alert_handler.LOC_ALERT_REGWEN_2 | 0x430 | 4 | Register write enable for alert enable bits. |
alert_handler.LOC_ALERT_REGWEN_3 | 0x434 | 4 | Register write enable for alert enable bits. |
alert_handler.LOC_ALERT_REGWEN_4 | 0x438 | 4 | Register write enable for alert enable bits. |
alert_handler.LOC_ALERT_REGWEN_5 | 0x43c | 4 | Register write enable for alert enable bits. |
alert_handler.LOC_ALERT_REGWEN_6 | 0x440 | 4 | Register write enable for alert enable bits. |
alert_handler.LOC_ALERT_EN_SHADOWED_0 | 0x444 | 4 | Enable register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). |
alert_handler.LOC_ALERT_EN_SHADOWED_1 | 0x448 | 4 | Enable register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). |
alert_handler.LOC_ALERT_EN_SHADOWED_2 | 0x44c | 4 | Enable register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). |
alert_handler.LOC_ALERT_EN_SHADOWED_3 | 0x450 | 4 | Enable register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). |
alert_handler.LOC_ALERT_EN_SHADOWED_4 | 0x454 | 4 | Enable register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). |
alert_handler.LOC_ALERT_EN_SHADOWED_5 | 0x458 | 4 | Enable register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). |
alert_handler.LOC_ALERT_EN_SHADOWED_6 | 0x45c | 4 | Enable register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). |
alert_handler.LOC_ALERT_CLASS_SHADOWED_0 | 0x460 | 4 | Class assignment of the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). |
alert_handler.LOC_ALERT_CLASS_SHADOWED_1 | 0x464 | 4 | Class assignment of the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). |
alert_handler.LOC_ALERT_CLASS_SHADOWED_2 | 0x468 | 4 | Class assignment of the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). |
alert_handler.LOC_ALERT_CLASS_SHADOWED_3 | 0x46c | 4 | Class assignment of the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). |
alert_handler.LOC_ALERT_CLASS_SHADOWED_4 | 0x470 | 4 | Class assignment of the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). |
alert_handler.LOC_ALERT_CLASS_SHADOWED_5 | 0x474 | 4 | Class assignment of the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). |
alert_handler.LOC_ALERT_CLASS_SHADOWED_6 | 0x478 | 4 | Class assignment of the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). |
alert_handler.LOC_ALERT_CAUSE_0 | 0x47c | 4 | Alert Cause Register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). |
alert_handler.LOC_ALERT_CAUSE_1 | 0x480 | 4 | Alert Cause Register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). |
alert_handler.LOC_ALERT_CAUSE_2 | 0x484 | 4 | Alert Cause Register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). |
alert_handler.LOC_ALERT_CAUSE_3 | 0x488 | 4 | Alert Cause Register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). |
alert_handler.LOC_ALERT_CAUSE_4 | 0x48c | 4 | Alert Cause Register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). |
alert_handler.LOC_ALERT_CAUSE_5 | 0x490 | 4 | Alert Cause Register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). |
alert_handler.LOC_ALERT_CAUSE_6 | 0x494 | 4 | Alert Cause Register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). |
alert_handler.CLASSA_REGWEN | 0x498 | 4 | Lock bit for Class A configuration. |
alert_handler.CLASSA_CTRL_SHADOWED | 0x49c | 4 | Escalation control register for alert Class A. Can not be modified if |
alert_handler.CLASSA_CLR_REGWEN | 0x4a0 | 4 | Clear enable for escalation protocol of Class A alerts. |
alert_handler.CLASSA_CLR_SHADOWED | 0x4a4 | 4 | Clear for escalation protocol of Class A. |
alert_handler.CLASSA_ACCUM_CNT | 0x4a8 | 4 | Current accumulation value for alert Class A. Software can clear this register
with a write to |
alert_handler.CLASSA_ACCUM_THRESH_SHADOWED | 0x4ac | 4 | Accumulation threshold value for alert Class A. |
alert_handler.CLASSA_TIMEOUT_CYC_SHADOWED | 0x4b0 | 4 | Interrupt timeout in cycles. |
alert_handler.CLASSA_CRASHDUMP_TRIGGER_SHADOWED | 0x4b4 | 4 | Crashdump trigger configuration for Class A. |
alert_handler.CLASSA_PHASE0_CYC_SHADOWED | 0x4b8 | 4 | Duration of escalation phase 0 for Class A. |
alert_handler.CLASSA_PHASE1_CYC_SHADOWED | 0x4bc | 4 | Duration of escalation phase 1 for Class A. |
alert_handler.CLASSA_PHASE2_CYC_SHADOWED | 0x4c0 | 4 | Duration of escalation phase 2 for Class A. |
alert_handler.CLASSA_PHASE3_CYC_SHADOWED | 0x4c4 | 4 | Duration of escalation phase 3 for Class A. |
alert_handler.CLASSA_ESC_CNT | 0x4c8 | 4 | Escalation counter in cycles for Class A. |
alert_handler.CLASSA_STATE | 0x4cc | 4 | Current escalation state of Class A. See also |
alert_handler.CLASSB_REGWEN | 0x4d0 | 4 | Lock bit for Class B configuration. |
alert_handler.CLASSB_CTRL_SHADOWED | 0x4d4 | 4 | Escalation control register for alert Class B. Can not be modified if |
alert_handler.CLASSB_CLR_REGWEN | 0x4d8 | 4 | Clear enable for escalation protocol of Class B alerts. |
alert_handler.CLASSB_CLR_SHADOWED | 0x4dc | 4 | Clear for escalation protocol of Class B. |
alert_handler.CLASSB_ACCUM_CNT | 0x4e0 | 4 | Current accumulation value for alert Class B. Software can clear this register
with a write to |
alert_handler.CLASSB_ACCUM_THRESH_SHADOWED | 0x4e4 | 4 | Accumulation threshold value for alert Class B. |
alert_handler.CLASSB_TIMEOUT_CYC_SHADOWED | 0x4e8 | 4 | Interrupt timeout in cycles. |
alert_handler.CLASSB_CRASHDUMP_TRIGGER_SHADOWED | 0x4ec | 4 | Crashdump trigger configuration for Class B. |
alert_handler.CLASSB_PHASE0_CYC_SHADOWED | 0x4f0 | 4 | Duration of escalation phase 0 for Class B. |
alert_handler.CLASSB_PHASE1_CYC_SHADOWED | 0x4f4 | 4 | Duration of escalation phase 1 for Class B. |
alert_handler.CLASSB_PHASE2_CYC_SHADOWED | 0x4f8 | 4 | Duration of escalation phase 2 for Class B. |
alert_handler.CLASSB_PHASE3_CYC_SHADOWED | 0x4fc | 4 | Duration of escalation phase 3 for Class B. |
alert_handler.CLASSB_ESC_CNT | 0x500 | 4 | Escalation counter in cycles for Class B. |
alert_handler.CLASSB_STATE | 0x504 | 4 | Current escalation state of Class B. See also |
alert_handler.CLASSC_REGWEN | 0x508 | 4 | Lock bit for Class C configuration. |
alert_handler.CLASSC_CTRL_SHADOWED | 0x50c | 4 | Escalation control register for alert Class C. Can not be modified if |
alert_handler.CLASSC_CLR_REGWEN | 0x510 | 4 | Clear enable for escalation protocol of Class C alerts. |
alert_handler.CLASSC_CLR_SHADOWED | 0x514 | 4 | Clear for escalation protocol of Class C. |
alert_handler.CLASSC_ACCUM_CNT | 0x518 | 4 | Current accumulation value for alert Class C. Software can clear this register
with a write to |
alert_handler.CLASSC_ACCUM_THRESH_SHADOWED | 0x51c | 4 | Accumulation threshold value for alert Class C. |
alert_handler.CLASSC_TIMEOUT_CYC_SHADOWED | 0x520 | 4 | Interrupt timeout in cycles. |
alert_handler.CLASSC_CRASHDUMP_TRIGGER_SHADOWED | 0x524 | 4 | Crashdump trigger configuration for Class C. |
alert_handler.CLASSC_PHASE0_CYC_SHADOWED | 0x528 | 4 | Duration of escalation phase 0 for Class C. |
alert_handler.CLASSC_PHASE1_CYC_SHADOWED | 0x52c | 4 | Duration of escalation phase 1 for Class C. |
alert_handler.CLASSC_PHASE2_CYC_SHADOWED | 0x530 | 4 | Duration of escalation phase 2 for Class C. |
alert_handler.CLASSC_PHASE3_CYC_SHADOWED | 0x534 | 4 | Duration of escalation phase 3 for Class C. |
alert_handler.CLASSC_ESC_CNT | 0x538 | 4 | Escalation counter in cycles for Class C. |
alert_handler.CLASSC_STATE | 0x53c | 4 | Current escalation state of Class C. See also |
alert_handler.CLASSD_REGWEN | 0x540 | 4 | Lock bit for Class D configuration. |
alert_handler.CLASSD_CTRL_SHADOWED | 0x544 | 4 | Escalation control register for alert Class D. Can not be modified if |
alert_handler.CLASSD_CLR_REGWEN | 0x548 | 4 | Clear enable for escalation protocol of Class D alerts. |
alert_handler.CLASSD_CLR_SHADOWED | 0x54c | 4 | Clear for escalation protocol of Class D. |
alert_handler.CLASSD_ACCUM_CNT | 0x550 | 4 | Current accumulation value for alert Class D. Software can clear this register
with a write to |
alert_handler.CLASSD_ACCUM_THRESH_SHADOWED | 0x554 | 4 | Accumulation threshold value for alert Class D. |
alert_handler.CLASSD_TIMEOUT_CYC_SHADOWED | 0x558 | 4 | Interrupt timeout in cycles. |
alert_handler.CLASSD_CRASHDUMP_TRIGGER_SHADOWED | 0x55c | 4 | Crashdump trigger configuration for Class D. |
alert_handler.CLASSD_PHASE0_CYC_SHADOWED | 0x560 | 4 | Duration of escalation phase 0 for Class D. |
alert_handler.CLASSD_PHASE1_CYC_SHADOWED | 0x564 | 4 | Duration of escalation phase 1 for Class D. |
alert_handler.CLASSD_PHASE2_CYC_SHADOWED | 0x568 | 4 | Duration of escalation phase 2 for Class D. |
alert_handler.CLASSD_PHASE3_CYC_SHADOWED | 0x56c | 4 | Duration of escalation phase 3 for Class D. |
alert_handler.CLASSD_ESC_CNT | 0x570 | 4 | Escalation counter in cycles for Class D. |
alert_handler.CLASSD_STATE | 0x574 | 4 | Current escalation state of Class D. See also |
alert_handler.INTR_STATE @ 0x0
Interrupt State Register Reset default = 0x0, mask 0xf
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | classa | Interrupt state bit of Class A. Set by HW in case an alert within this class triggered. Defaults true, write one to clear. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | rw1c | 0x0 | classb | Interrupt state bit of Class B. Set by HW in case an alert within this class triggered. Defaults true, write one to clear. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | rw1c | 0x0 | classc | Interrupt state bit of Class C. Set by HW in case an alert within this class triggered. Defaults true, write one to clear. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3 | rw1c | 0x0 | classd | Interrupt state bit of Class D. Set by HW in case an alert within this class triggered. Defaults true, write one to clear. |
alert_handler.INTR_ENABLE @ 0x4
Interrupt Enable Register Reset default = 0x0, mask 0xf
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | classa | Enable interrupt when | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | rw | 0x0 | classb | Enable interrupt when | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | rw | 0x0 | classc | Enable interrupt when | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3 | rw | 0x0 | classd | Enable interrupt when |
alert_handler.INTR_TEST @ 0x8
Interrupt Test Register Reset default = 0x0, mask 0xf
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | wo | 0x0 | classa | Write 1 to force | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | wo | 0x0 | classb | Write 1 to force | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | wo | 0x0 | classc | Write 1 to force | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3 | wo | 0x0 | classd | Write 1 to force |
alert_handler.PING_TIMER_REGWEN @ 0xc
Register write enable for Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | PING_TIMER_REGWEN | When true, the |
alert_handler.PING_TIMEOUT_CYC_SHADOWED @ 0x10
Ping timeout cycle count. Reset default = 0x100, mask 0xffff
Register enable = PING_TIMER_REGWEN |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
15:0 | rw | 0x100 | PING_TIMEOUT_CYC_SHADOWED | Timeout value in cycles. If an alert receiver or an escalation sender does not respond to a ping within this timeout window, a pingfail alert will be raised. It is recommended to set this value to the equivalent of 256 cycles of the slowest alert sender clock domain in the system (or greater). |
alert_handler.PING_TIMER_EN_SHADOWED @ 0x14
Ping timer enable. Reset default = 0x0, mask 0x1
Register enable = PING_TIMER_REGWEN |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1s | 0x0 | PING_TIMER_EN_SHADOWED | Setting this to 1 enables the ping timer mechanism. This bit cannot be cleared to 0 once it has been set to 1. Note that the alert pinging mechanism will only ping alerts that have been enabled and locked. |
alert_handler.ALERT_REGWEN_0 @ 0x18
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_0 | Alert configuration write enable bit.
If this is cleared to 0, the corresponding Note that the alert pinging mechanism will only ping alerts that have been enabled and locked. |
alert_handler.ALERT_REGWEN_1 @ 0x1c
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_1 | For alert1 |
alert_handler.ALERT_REGWEN_2 @ 0x20
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_2 | For alert2 |
alert_handler.ALERT_REGWEN_3 @ 0x24
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_3 | For alert3 |
alert_handler.ALERT_REGWEN_4 @ 0x28
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_4 | For alert4 |
alert_handler.ALERT_REGWEN_5 @ 0x2c
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_5 | For alert5 |
alert_handler.ALERT_REGWEN_6 @ 0x30
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_6 | For alert6 |
alert_handler.ALERT_REGWEN_7 @ 0x34
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_7 | For alert7 |
alert_handler.ALERT_REGWEN_8 @ 0x38
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_8 | For alert8 |
alert_handler.ALERT_REGWEN_9 @ 0x3c
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_9 | For alert9 |
alert_handler.ALERT_REGWEN_10 @ 0x40
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_10 | For alert10 |
alert_handler.ALERT_REGWEN_11 @ 0x44
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_11 | For alert11 |
alert_handler.ALERT_REGWEN_12 @ 0x48
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_12 | For alert12 |
alert_handler.ALERT_REGWEN_13 @ 0x4c
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_13 | For alert13 |
alert_handler.ALERT_REGWEN_14 @ 0x50
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_14 | For alert14 |
alert_handler.ALERT_REGWEN_15 @ 0x54
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_15 | For alert15 |
alert_handler.ALERT_REGWEN_16 @ 0x58
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_16 | For alert16 |
alert_handler.ALERT_REGWEN_17 @ 0x5c
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_17 | For alert17 |
alert_handler.ALERT_REGWEN_18 @ 0x60
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_18 | For alert18 |
alert_handler.ALERT_REGWEN_19 @ 0x64
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_19 | For alert19 |
alert_handler.ALERT_REGWEN_20 @ 0x68
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_20 | For alert20 |
alert_handler.ALERT_REGWEN_21 @ 0x6c
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_21 | For alert21 |
alert_handler.ALERT_REGWEN_22 @ 0x70
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_22 | For alert22 |
alert_handler.ALERT_REGWEN_23 @ 0x74
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_23 | For alert23 |
alert_handler.ALERT_REGWEN_24 @ 0x78
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_24 | For alert24 |
alert_handler.ALERT_REGWEN_25 @ 0x7c
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_25 | For alert25 |
alert_handler.ALERT_REGWEN_26 @ 0x80
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_26 | For alert26 |
alert_handler.ALERT_REGWEN_27 @ 0x84
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_27 | For alert27 |
alert_handler.ALERT_REGWEN_28 @ 0x88
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_28 | For alert28 |
alert_handler.ALERT_REGWEN_29 @ 0x8c
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_29 | For alert29 |
alert_handler.ALERT_REGWEN_30 @ 0x90
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_30 | For alert30 |
alert_handler.ALERT_REGWEN_31 @ 0x94
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_31 | For alert31 |
alert_handler.ALERT_REGWEN_32 @ 0x98
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_32 | For alert32 |
alert_handler.ALERT_REGWEN_33 @ 0x9c
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_33 | For alert33 |
alert_handler.ALERT_REGWEN_34 @ 0xa0
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_34 | For alert34 |
alert_handler.ALERT_REGWEN_35 @ 0xa4
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_35 | For alert35 |
alert_handler.ALERT_REGWEN_36 @ 0xa8
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_36 | For alert36 |
alert_handler.ALERT_REGWEN_37 @ 0xac
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_37 | For alert37 |
alert_handler.ALERT_REGWEN_38 @ 0xb0
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_38 | For alert38 |
alert_handler.ALERT_REGWEN_39 @ 0xb4
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_39 | For alert39 |
alert_handler.ALERT_REGWEN_40 @ 0xb8
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_40 | For alert40 |
alert_handler.ALERT_REGWEN_41 @ 0xbc
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_41 | For alert41 |
alert_handler.ALERT_REGWEN_42 @ 0xc0
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_42 | For alert42 |
alert_handler.ALERT_REGWEN_43 @ 0xc4
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_43 | For alert43 |
alert_handler.ALERT_REGWEN_44 @ 0xc8
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_44 | For alert44 |
alert_handler.ALERT_REGWEN_45 @ 0xcc
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_45 | For alert45 |
alert_handler.ALERT_REGWEN_46 @ 0xd0
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_46 | For alert46 |
alert_handler.ALERT_REGWEN_47 @ 0xd4
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_47 | For alert47 |
alert_handler.ALERT_REGWEN_48 @ 0xd8
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_48 | For alert48 |
alert_handler.ALERT_REGWEN_49 @ 0xdc
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_49 | For alert49 |
alert_handler.ALERT_REGWEN_50 @ 0xe0
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_50 | For alert50 |
alert_handler.ALERT_REGWEN_51 @ 0xe4
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_51 | For alert51 |
alert_handler.ALERT_REGWEN_52 @ 0xe8
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_52 | For alert52 |
alert_handler.ALERT_REGWEN_53 @ 0xec
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_53 | For alert53 |
alert_handler.ALERT_REGWEN_54 @ 0xf0
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_54 | For alert54 |
alert_handler.ALERT_REGWEN_55 @ 0xf4
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_55 | For alert55 |
alert_handler.ALERT_REGWEN_56 @ 0xf8
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_56 | For alert56 |
alert_handler.ALERT_REGWEN_57 @ 0xfc
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_57 | For alert57 |
alert_handler.ALERT_REGWEN_58 @ 0x100
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_58 | For alert58 |
alert_handler.ALERT_REGWEN_59 @ 0x104
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_59 | For alert59 |
alert_handler.ALERT_REGWEN_60 @ 0x108
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_60 | For alert60 |
alert_handler.ALERT_REGWEN_61 @ 0x10c
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_61 | For alert61 |
alert_handler.ALERT_REGWEN_62 @ 0x110
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_62 | For alert62 |
alert_handler.ALERT_REGWEN_63 @ 0x114
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_63 | For alert63 |
alert_handler.ALERT_REGWEN_64 @ 0x118
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_64 | For alert64 |
alert_handler.ALERT_EN_SHADOWED_0 @ 0x11c
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_0 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_0 | Alert enable bit. Note that the alert pinging mechanism will only ping alerts that have been enabled and locked. |
alert_handler.ALERT_EN_SHADOWED_1 @ 0x120
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_1 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_1 | For alert1 |
alert_handler.ALERT_EN_SHADOWED_2 @ 0x124
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_2 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_2 | For alert2 |
alert_handler.ALERT_EN_SHADOWED_3 @ 0x128
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_3 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_3 | For alert3 |
alert_handler.ALERT_EN_SHADOWED_4 @ 0x12c
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_4 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_4 | For alert4 |
alert_handler.ALERT_EN_SHADOWED_5 @ 0x130
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_5 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_5 | For alert5 |
alert_handler.ALERT_EN_SHADOWED_6 @ 0x134
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_6 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_6 | For alert6 |
alert_handler.ALERT_EN_SHADOWED_7 @ 0x138
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_7 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_7 | For alert7 |
alert_handler.ALERT_EN_SHADOWED_8 @ 0x13c
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_8 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_8 | For alert8 |
alert_handler.ALERT_EN_SHADOWED_9 @ 0x140
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_9 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_9 | For alert9 |
alert_handler.ALERT_EN_SHADOWED_10 @ 0x144
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_10 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_10 | For alert10 |
alert_handler.ALERT_EN_SHADOWED_11 @ 0x148
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_11 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_11 | For alert11 |
alert_handler.ALERT_EN_SHADOWED_12 @ 0x14c
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_12 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_12 | For alert12 |
alert_handler.ALERT_EN_SHADOWED_13 @ 0x150
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_13 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_13 | For alert13 |
alert_handler.ALERT_EN_SHADOWED_14 @ 0x154
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_14 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_14 | For alert14 |
alert_handler.ALERT_EN_SHADOWED_15 @ 0x158
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_15 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_15 | For alert15 |
alert_handler.ALERT_EN_SHADOWED_16 @ 0x15c
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_16 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_16 | For alert16 |
alert_handler.ALERT_EN_SHADOWED_17 @ 0x160
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_17 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_17 | For alert17 |
alert_handler.ALERT_EN_SHADOWED_18 @ 0x164
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_18 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_18 | For alert18 |
alert_handler.ALERT_EN_SHADOWED_19 @ 0x168
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_19 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_19 | For alert19 |
alert_handler.ALERT_EN_SHADOWED_20 @ 0x16c
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_20 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_20 | For alert20 |
alert_handler.ALERT_EN_SHADOWED_21 @ 0x170
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_21 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_21 | For alert21 |
alert_handler.ALERT_EN_SHADOWED_22 @ 0x174
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_22 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_22 | For alert22 |
alert_handler.ALERT_EN_SHADOWED_23 @ 0x178
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_23 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_23 | For alert23 |
alert_handler.ALERT_EN_SHADOWED_24 @ 0x17c
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_24 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_24 | For alert24 |
alert_handler.ALERT_EN_SHADOWED_25 @ 0x180
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_25 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_25 | For alert25 |
alert_handler.ALERT_EN_SHADOWED_26 @ 0x184
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_26 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_26 | For alert26 |
alert_handler.ALERT_EN_SHADOWED_27 @ 0x188
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_27 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_27 | For alert27 |
alert_handler.ALERT_EN_SHADOWED_28 @ 0x18c
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_28 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_28 | For alert28 |
alert_handler.ALERT_EN_SHADOWED_29 @ 0x190
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_29 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_29 | For alert29 |
alert_handler.ALERT_EN_SHADOWED_30 @ 0x194
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_30 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_30 | For alert30 |
alert_handler.ALERT_EN_SHADOWED_31 @ 0x198
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_31 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_31 | For alert31 |
alert_handler.ALERT_EN_SHADOWED_32 @ 0x19c
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_32 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_32 | For alert32 |
alert_handler.ALERT_EN_SHADOWED_33 @ 0x1a0
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_33 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_33 | For alert33 |
alert_handler.ALERT_EN_SHADOWED_34 @ 0x1a4
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_34 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_34 | For alert34 |
alert_handler.ALERT_EN_SHADOWED_35 @ 0x1a8
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_35 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_35 | For alert35 |
alert_handler.ALERT_EN_SHADOWED_36 @ 0x1ac
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_36 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_36 | For alert36 |
alert_handler.ALERT_EN_SHADOWED_37 @ 0x1b0
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_37 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_37 | For alert37 |
alert_handler.ALERT_EN_SHADOWED_38 @ 0x1b4
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_38 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_38 | For alert38 |
alert_handler.ALERT_EN_SHADOWED_39 @ 0x1b8
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_39 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_39 | For alert39 |
alert_handler.ALERT_EN_SHADOWED_40 @ 0x1bc
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_40 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_40 | For alert40 |
alert_handler.ALERT_EN_SHADOWED_41 @ 0x1c0
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_41 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_41 | For alert41 |
alert_handler.ALERT_EN_SHADOWED_42 @ 0x1c4
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_42 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_42 | For alert42 |
alert_handler.ALERT_EN_SHADOWED_43 @ 0x1c8
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_43 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_43 | For alert43 |
alert_handler.ALERT_EN_SHADOWED_44 @ 0x1cc
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_44 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_44 | For alert44 |
alert_handler.ALERT_EN_SHADOWED_45 @ 0x1d0
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_45 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_45 | For alert45 |
alert_handler.ALERT_EN_SHADOWED_46 @ 0x1d4
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_46 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_46 | For alert46 |
alert_handler.ALERT_EN_SHADOWED_47 @ 0x1d8
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_47 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_47 | For alert47 |
alert_handler.ALERT_EN_SHADOWED_48 @ 0x1dc
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_48 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_48 | For alert48 |
alert_handler.ALERT_EN_SHADOWED_49 @ 0x1e0
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_49 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_49 | For alert49 |
alert_handler.ALERT_EN_SHADOWED_50 @ 0x1e4
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_50 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_50 | For alert50 |
alert_handler.ALERT_EN_SHADOWED_51 @ 0x1e8
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_51 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_51 | For alert51 |
alert_handler.ALERT_EN_SHADOWED_52 @ 0x1ec
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_52 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_52 | For alert52 |
alert_handler.ALERT_EN_SHADOWED_53 @ 0x1f0
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_53 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_53 | For alert53 |
alert_handler.ALERT_EN_SHADOWED_54 @ 0x1f4
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_54 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_54 | For alert54 |
alert_handler.ALERT_EN_SHADOWED_55 @ 0x1f8
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_55 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_55 | For alert55 |
alert_handler.ALERT_EN_SHADOWED_56 @ 0x1fc
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_56 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_56 | For alert56 |
alert_handler.ALERT_EN_SHADOWED_57 @ 0x200
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_57 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_57 | For alert57 |
alert_handler.ALERT_EN_SHADOWED_58 @ 0x204
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_58 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_58 | For alert58 |
alert_handler.ALERT_EN_SHADOWED_59 @ 0x208
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_59 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_59 | For alert59 |
alert_handler.ALERT_EN_SHADOWED_60 @ 0x20c
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_60 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_60 | For alert60 |
alert_handler.ALERT_EN_SHADOWED_61 @ 0x210
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_61 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_61 | For alert61 |
alert_handler.ALERT_EN_SHADOWED_62 @ 0x214
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_62 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_62 | For alert62 |
alert_handler.ALERT_EN_SHADOWED_63 @ 0x218
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_63 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_63 | For alert63 |
alert_handler.ALERT_EN_SHADOWED_64 @ 0x21c
Enable register for alerts. Reset default = 0x0, mask 0x1
Register enable = ALERT_REGWEN_64 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_A_64 | For alert64 |
alert_handler.ALERT_CLASS_SHADOWED_0 @ 0x220
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_0 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_0 | Classification
|
alert_handler.ALERT_CLASS_SHADOWED_1 @ 0x224
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_1 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_1 | For alert1 |
alert_handler.ALERT_CLASS_SHADOWED_2 @ 0x228
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_2 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_2 | For alert2 |
alert_handler.ALERT_CLASS_SHADOWED_3 @ 0x22c
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_3 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_3 | For alert3 |
alert_handler.ALERT_CLASS_SHADOWED_4 @ 0x230
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_4 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_4 | For alert4 |
alert_handler.ALERT_CLASS_SHADOWED_5 @ 0x234
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_5 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_5 | For alert5 |
alert_handler.ALERT_CLASS_SHADOWED_6 @ 0x238
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_6 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_6 | For alert6 |
alert_handler.ALERT_CLASS_SHADOWED_7 @ 0x23c
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_7 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_7 | For alert7 |
alert_handler.ALERT_CLASS_SHADOWED_8 @ 0x240
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_8 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_8 | For alert8 |
alert_handler.ALERT_CLASS_SHADOWED_9 @ 0x244
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_9 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_9 | For alert9 |
alert_handler.ALERT_CLASS_SHADOWED_10 @ 0x248
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_10 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_10 | For alert10 |
alert_handler.ALERT_CLASS_SHADOWED_11 @ 0x24c
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_11 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_11 | For alert11 |
alert_handler.ALERT_CLASS_SHADOWED_12 @ 0x250
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_12 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_12 | For alert12 |
alert_handler.ALERT_CLASS_SHADOWED_13 @ 0x254
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_13 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_13 | For alert13 |
alert_handler.ALERT_CLASS_SHADOWED_14 @ 0x258
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_14 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_14 | For alert14 |
alert_handler.ALERT_CLASS_SHADOWED_15 @ 0x25c
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_15 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_15 | For alert15 |
alert_handler.ALERT_CLASS_SHADOWED_16 @ 0x260
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_16 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_16 | For alert16 |
alert_handler.ALERT_CLASS_SHADOWED_17 @ 0x264
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_17 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_17 | For alert17 |
alert_handler.ALERT_CLASS_SHADOWED_18 @ 0x268
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_18 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_18 | For alert18 |
alert_handler.ALERT_CLASS_SHADOWED_19 @ 0x26c
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_19 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_19 | For alert19 |
alert_handler.ALERT_CLASS_SHADOWED_20 @ 0x270
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_20 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_20 | For alert20 |
alert_handler.ALERT_CLASS_SHADOWED_21 @ 0x274
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_21 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_21 | For alert21 |
alert_handler.ALERT_CLASS_SHADOWED_22 @ 0x278
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_22 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_22 | For alert22 |
alert_handler.ALERT_CLASS_SHADOWED_23 @ 0x27c
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_23 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_23 | For alert23 |
alert_handler.ALERT_CLASS_SHADOWED_24 @ 0x280
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_24 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_24 | For alert24 |
alert_handler.ALERT_CLASS_SHADOWED_25 @ 0x284
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_25 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_25 | For alert25 |
alert_handler.ALERT_CLASS_SHADOWED_26 @ 0x288
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_26 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_26 | For alert26 |
alert_handler.ALERT_CLASS_SHADOWED_27 @ 0x28c
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_27 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_27 | For alert27 |
alert_handler.ALERT_CLASS_SHADOWED_28 @ 0x290
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_28 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_28 | For alert28 |
alert_handler.ALERT_CLASS_SHADOWED_29 @ 0x294
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_29 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_29 | For alert29 |
alert_handler.ALERT_CLASS_SHADOWED_30 @ 0x298
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_30 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_30 | For alert30 |
alert_handler.ALERT_CLASS_SHADOWED_31 @ 0x29c
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_31 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_31 | For alert31 |
alert_handler.ALERT_CLASS_SHADOWED_32 @ 0x2a0
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_32 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_32 | For alert32 |
alert_handler.ALERT_CLASS_SHADOWED_33 @ 0x2a4
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_33 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_33 | For alert33 |
alert_handler.ALERT_CLASS_SHADOWED_34 @ 0x2a8
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_34 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_34 | For alert34 |
alert_handler.ALERT_CLASS_SHADOWED_35 @ 0x2ac
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_35 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_35 | For alert35 |
alert_handler.ALERT_CLASS_SHADOWED_36 @ 0x2b0
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_36 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_36 | For alert36 |
alert_handler.ALERT_CLASS_SHADOWED_37 @ 0x2b4
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_37 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_37 | For alert37 |
alert_handler.ALERT_CLASS_SHADOWED_38 @ 0x2b8
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_38 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_38 | For alert38 |
alert_handler.ALERT_CLASS_SHADOWED_39 @ 0x2bc
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_39 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_39 | For alert39 |
alert_handler.ALERT_CLASS_SHADOWED_40 @ 0x2c0
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_40 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_40 | For alert40 |
alert_handler.ALERT_CLASS_SHADOWED_41 @ 0x2c4
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_41 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_41 | For alert41 |
alert_handler.ALERT_CLASS_SHADOWED_42 @ 0x2c8
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_42 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_42 | For alert42 |
alert_handler.ALERT_CLASS_SHADOWED_43 @ 0x2cc
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_43 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_43 | For alert43 |
alert_handler.ALERT_CLASS_SHADOWED_44 @ 0x2d0
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_44 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_44 | For alert44 |
alert_handler.ALERT_CLASS_SHADOWED_45 @ 0x2d4
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_45 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_45 | For alert45 |
alert_handler.ALERT_CLASS_SHADOWED_46 @ 0x2d8
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_46 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_46 | For alert46 |
alert_handler.ALERT_CLASS_SHADOWED_47 @ 0x2dc
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_47 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_47 | For alert47 |
alert_handler.ALERT_CLASS_SHADOWED_48 @ 0x2e0
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_48 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_48 | For alert48 |
alert_handler.ALERT_CLASS_SHADOWED_49 @ 0x2e4
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_49 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_49 | For alert49 |
alert_handler.ALERT_CLASS_SHADOWED_50 @ 0x2e8
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_50 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_50 | For alert50 |
alert_handler.ALERT_CLASS_SHADOWED_51 @ 0x2ec
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_51 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_51 | For alert51 |
alert_handler.ALERT_CLASS_SHADOWED_52 @ 0x2f0
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_52 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_52 | For alert52 |
alert_handler.ALERT_CLASS_SHADOWED_53 @ 0x2f4
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_53 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_53 | For alert53 |
alert_handler.ALERT_CLASS_SHADOWED_54 @ 0x2f8
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_54 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_54 | For alert54 |
alert_handler.ALERT_CLASS_SHADOWED_55 @ 0x2fc
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_55 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_55 | For alert55 |
alert_handler.ALERT_CLASS_SHADOWED_56 @ 0x300
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_56 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_56 | For alert56 |
alert_handler.ALERT_CLASS_SHADOWED_57 @ 0x304
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_57 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_57 | For alert57 |
alert_handler.ALERT_CLASS_SHADOWED_58 @ 0x308
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_58 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_58 | For alert58 |
alert_handler.ALERT_CLASS_SHADOWED_59 @ 0x30c
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_59 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_59 | For alert59 |
alert_handler.ALERT_CLASS_SHADOWED_60 @ 0x310
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_60 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_60 | For alert60 |
alert_handler.ALERT_CLASS_SHADOWED_61 @ 0x314
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_61 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_61 | For alert61 |
alert_handler.ALERT_CLASS_SHADOWED_62 @ 0x318
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_62 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_62 | For alert62 |
alert_handler.ALERT_CLASS_SHADOWED_63 @ 0x31c
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_63 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_63 | For alert63 |
alert_handler.ALERT_CLASS_SHADOWED_64 @ 0x320
Class assignment of alerts. Reset default = 0x0, mask 0x3
Register enable = ALERT_REGWEN_64 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_A_64 | For alert64 |
alert_handler.ALERT_CAUSE_0 @ 0x324
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_0 | Cause bit |
alert_handler.ALERT_CAUSE_1 @ 0x328
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_1 | For ALERT1 |
alert_handler.ALERT_CAUSE_2 @ 0x32c
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_2 | For ALERT2 |
alert_handler.ALERT_CAUSE_3 @ 0x330
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_3 | For ALERT3 |
alert_handler.ALERT_CAUSE_4 @ 0x334
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_4 | For ALERT4 |
alert_handler.ALERT_CAUSE_5 @ 0x338
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_5 | For ALERT5 |
alert_handler.ALERT_CAUSE_6 @ 0x33c
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_6 | For ALERT6 |
alert_handler.ALERT_CAUSE_7 @ 0x340
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_7 | For ALERT7 |
alert_handler.ALERT_CAUSE_8 @ 0x344
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_8 | For ALERT8 |
alert_handler.ALERT_CAUSE_9 @ 0x348
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_9 | For ALERT9 |
alert_handler.ALERT_CAUSE_10 @ 0x34c
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_10 | For ALERT10 |
alert_handler.ALERT_CAUSE_11 @ 0x350
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_11 | For ALERT11 |
alert_handler.ALERT_CAUSE_12 @ 0x354
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_12 | For ALERT12 |
alert_handler.ALERT_CAUSE_13 @ 0x358
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_13 | For ALERT13 |
alert_handler.ALERT_CAUSE_14 @ 0x35c
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_14 | For ALERT14 |
alert_handler.ALERT_CAUSE_15 @ 0x360
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_15 | For ALERT15 |
alert_handler.ALERT_CAUSE_16 @ 0x364
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_16 | For ALERT16 |
alert_handler.ALERT_CAUSE_17 @ 0x368
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_17 | For ALERT17 |
alert_handler.ALERT_CAUSE_18 @ 0x36c
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_18 | For ALERT18 |
alert_handler.ALERT_CAUSE_19 @ 0x370
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_19 | For ALERT19 |
alert_handler.ALERT_CAUSE_20 @ 0x374
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_20 | For ALERT20 |
alert_handler.ALERT_CAUSE_21 @ 0x378
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_21 | For ALERT21 |
alert_handler.ALERT_CAUSE_22 @ 0x37c
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_22 | For ALERT22 |
alert_handler.ALERT_CAUSE_23 @ 0x380
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_23 | For ALERT23 |
alert_handler.ALERT_CAUSE_24 @ 0x384
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_24 | For ALERT24 |
alert_handler.ALERT_CAUSE_25 @ 0x388
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_25 | For ALERT25 |
alert_handler.ALERT_CAUSE_26 @ 0x38c
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_26 | For ALERT26 |
alert_handler.ALERT_CAUSE_27 @ 0x390
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_27 | For ALERT27 |
alert_handler.ALERT_CAUSE_28 @ 0x394
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_28 | For ALERT28 |
alert_handler.ALERT_CAUSE_29 @ 0x398
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_29 | For ALERT29 |
alert_handler.ALERT_CAUSE_30 @ 0x39c
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_30 | For ALERT30 |
alert_handler.ALERT_CAUSE_31 @ 0x3a0
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_31 | For ALERT31 |
alert_handler.ALERT_CAUSE_32 @ 0x3a4
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_32 | For ALERT32 |
alert_handler.ALERT_CAUSE_33 @ 0x3a8
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_33 | For ALERT33 |
alert_handler.ALERT_CAUSE_34 @ 0x3ac
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_34 | For ALERT34 |
alert_handler.ALERT_CAUSE_35 @ 0x3b0
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_35 | For ALERT35 |
alert_handler.ALERT_CAUSE_36 @ 0x3b4
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_36 | For ALERT36 |
alert_handler.ALERT_CAUSE_37 @ 0x3b8
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_37 | For ALERT37 |
alert_handler.ALERT_CAUSE_38 @ 0x3bc
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_38 | For ALERT38 |
alert_handler.ALERT_CAUSE_39 @ 0x3c0
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_39 | For ALERT39 |
alert_handler.ALERT_CAUSE_40 @ 0x3c4
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_40 | For ALERT40 |
alert_handler.ALERT_CAUSE_41 @ 0x3c8
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_41 | For ALERT41 |
alert_handler.ALERT_CAUSE_42 @ 0x3cc
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_42 | For ALERT42 |
alert_handler.ALERT_CAUSE_43 @ 0x3d0
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_43 | For ALERT43 |
alert_handler.ALERT_CAUSE_44 @ 0x3d4
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_44 | For ALERT44 |
alert_handler.ALERT_CAUSE_45 @ 0x3d8
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_45 | For ALERT45 |
alert_handler.ALERT_CAUSE_46 @ 0x3dc
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_46 | For ALERT46 |
alert_handler.ALERT_CAUSE_47 @ 0x3e0
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_47 | For ALERT47 |
alert_handler.ALERT_CAUSE_48 @ 0x3e4
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_48 | For ALERT48 |
alert_handler.ALERT_CAUSE_49 @ 0x3e8
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_49 | For ALERT49 |
alert_handler.ALERT_CAUSE_50 @ 0x3ec
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_50 | For ALERT50 |
alert_handler.ALERT_CAUSE_51 @ 0x3f0
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_51 | For ALERT51 |
alert_handler.ALERT_CAUSE_52 @ 0x3f4
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_52 | For ALERT52 |
alert_handler.ALERT_CAUSE_53 @ 0x3f8
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_53 | For ALERT53 |
alert_handler.ALERT_CAUSE_54 @ 0x3fc
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_54 | For ALERT54 |
alert_handler.ALERT_CAUSE_55 @ 0x400
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_55 | For ALERT55 |
alert_handler.ALERT_CAUSE_56 @ 0x404
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_56 | For ALERT56 |
alert_handler.ALERT_CAUSE_57 @ 0x408
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_57 | For ALERT57 |
alert_handler.ALERT_CAUSE_58 @ 0x40c
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_58 | For ALERT58 |
alert_handler.ALERT_CAUSE_59 @ 0x410
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_59 | For ALERT59 |
alert_handler.ALERT_CAUSE_60 @ 0x414
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_60 | For ALERT60 |
alert_handler.ALERT_CAUSE_61 @ 0x418
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_61 | For ALERT61 |
alert_handler.ALERT_CAUSE_62 @ 0x41c
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_62 | For ALERT62 |
alert_handler.ALERT_CAUSE_63 @ 0x420
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_63 | For ALERT63 |
alert_handler.ALERT_CAUSE_64 @ 0x424
Alert Cause Register Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | A_64 | For ALERT64 |
alert_handler.LOC_ALERT_REGWEN_0 @ 0x428
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_0 | Alert configuration write enable bit.
If this is cleared to 0, the corresponding Note that the alert pinging mechanism will only ping alerts that have been enabled and locked. |
alert_handler.LOC_ALERT_REGWEN_1 @ 0x42c
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_1 | For LOC_ALERT1 |
alert_handler.LOC_ALERT_REGWEN_2 @ 0x430
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_2 | For LOC_ALERT2 |
alert_handler.LOC_ALERT_REGWEN_3 @ 0x434
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_3 | For LOC_ALERT3 |
alert_handler.LOC_ALERT_REGWEN_4 @ 0x438
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_4 | For LOC_ALERT4 |
alert_handler.LOC_ALERT_REGWEN_5 @ 0x43c
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_5 | For LOC_ALERT5 |
alert_handler.LOC_ALERT_REGWEN_6 @ 0x440
Register write enable for alert enable bits. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | EN_6 | For LOC_ALERT6 |
alert_handler.LOC_ALERT_EN_SHADOWED_0 @ 0x444
Enable register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). Reset default = 0x0, mask 0x1
Register enable = LOC_ALERT_REGWEN_0 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_LA_0 | Alert enable bit. Note that the alert pinging mechanism will only ping alerts that have been enabled and locked. |
alert_handler.LOC_ALERT_EN_SHADOWED_1 @ 0x448
Enable register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). Reset default = 0x0, mask 0x1
Register enable = LOC_ALERT_REGWEN_1 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_LA_1 | For LOC_ALERT1 |
alert_handler.LOC_ALERT_EN_SHADOWED_2 @ 0x44c
Enable register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). Reset default = 0x0, mask 0x1
Register enable = LOC_ALERT_REGWEN_2 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_LA_2 | For LOC_ALERT2 |
alert_handler.LOC_ALERT_EN_SHADOWED_3 @ 0x450
Enable register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). Reset default = 0x0, mask 0x1
Register enable = LOC_ALERT_REGWEN_3 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_LA_3 | For LOC_ALERT3 |
alert_handler.LOC_ALERT_EN_SHADOWED_4 @ 0x454
Enable register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). Reset default = 0x0, mask 0x1
Register enable = LOC_ALERT_REGWEN_4 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_LA_4 | For LOC_ALERT4 |
alert_handler.LOC_ALERT_EN_SHADOWED_5 @ 0x458
Enable register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). Reset default = 0x0, mask 0x1
Register enable = LOC_ALERT_REGWEN_5 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_LA_5 | For LOC_ALERT5 |
alert_handler.LOC_ALERT_EN_SHADOWED_6 @ 0x45c
Enable register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). Reset default = 0x0, mask 0x1
Register enable = LOC_ALERT_REGWEN_6 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN_LA_6 | For LOC_ALERT6 |
alert_handler.LOC_ALERT_CLASS_SHADOWED_0 @ 0x460
Class assignment of the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). Reset default = 0x0, mask 0x3
Register enable = LOC_ALERT_REGWEN_0 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_LA_0 | Classification
|
alert_handler.LOC_ALERT_CLASS_SHADOWED_1 @ 0x464
Class assignment of the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). Reset default = 0x0, mask 0x3
Register enable = LOC_ALERT_REGWEN_1 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_LA_1 | For LOC_ALERT1 |
alert_handler.LOC_ALERT_CLASS_SHADOWED_2 @ 0x468
Class assignment of the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). Reset default = 0x0, mask 0x3
Register enable = LOC_ALERT_REGWEN_2 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_LA_2 | For LOC_ALERT2 |
alert_handler.LOC_ALERT_CLASS_SHADOWED_3 @ 0x46c
Class assignment of the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). Reset default = 0x0, mask 0x3
Register enable = LOC_ALERT_REGWEN_3 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_LA_3 | For LOC_ALERT3 |
alert_handler.LOC_ALERT_CLASS_SHADOWED_4 @ 0x470
Class assignment of the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). Reset default = 0x0, mask 0x3
Register enable = LOC_ALERT_REGWEN_4 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_LA_4 | For LOC_ALERT4 |
alert_handler.LOC_ALERT_CLASS_SHADOWED_5 @ 0x474
Class assignment of the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). Reset default = 0x0, mask 0x3
Register enable = LOC_ALERT_REGWEN_5 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_LA_5 | For LOC_ALERT5 |
alert_handler.LOC_ALERT_CLASS_SHADOWED_6 @ 0x478
Class assignment of the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). Reset default = 0x0, mask 0x3
Register enable = LOC_ALERT_REGWEN_6 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASS_LA_6 | For LOC_ALERT6 |
alert_handler.LOC_ALERT_CAUSE_0 @ 0x47c
Alert Cause Register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | LA_0 | Cause bit |
alert_handler.LOC_ALERT_CAUSE_1 @ 0x480
Alert Cause Register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | LA_1 | For LOC_ALERT1 |
alert_handler.LOC_ALERT_CAUSE_2 @ 0x484
Alert Cause Register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | LA_2 | For LOC_ALERT2 |
alert_handler.LOC_ALERT_CAUSE_3 @ 0x488
Alert Cause Register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | LA_3 | For LOC_ALERT3 |
alert_handler.LOC_ALERT_CAUSE_4 @ 0x48c
Alert Cause Register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | LA_4 | For LOC_ALERT4 |
alert_handler.LOC_ALERT_CAUSE_5 @ 0x490
Alert Cause Register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | LA_5 | For LOC_ALERT5 |
alert_handler.LOC_ALERT_CAUSE_6 @ 0x494
Alert Cause Register for the local alerts "alert pingfail" (0), "escalation pingfail" (1), "alert integfail" (2), "escalation integfail" (3), "bus integrity failure" (4), "shadow reg update error" (5) and "shadow reg storage error" (6). Reset default = 0x0, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw1c | 0x0 | LA_6 | For LOC_ALERT6 |
alert_handler.CLASSA_REGWEN @ 0x498
Lock bit for Class A configuration. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | CLASSA_REGWEN | Class configuration enable bit. If this is cleared to 0, the corresponding class configuration registers cannot be written anymore. |
alert_handler.CLASSA_CTRL_SHADOWED @ 0x49c
Escalation control register for alert Class A. Can not be modified if Reset default = 0x393c, mask 0x3fff
Register enable = CLASSA_REGWEN |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN | Enable escalation mechanisms (accumulation and interrupt timeout) for Class A. Note that interrupts can fire regardless of whether the escalation mechanisms are enabled for this class or not. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | rw | 0x0 | LOCK | Enable automatic locking of escalation counter for class A. If true, there is no way to stop the escalation protocol for class A once it has been triggered. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | rw | 0x1 | EN_E0 | Enable escalation signal 0 for Class A | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3 | rw | 0x1 | EN_E1 | Enable escalation signal 1 for Class A | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4 | rw | 0x1 | EN_E2 | Enable escalation signal 2 for Class A | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5 | rw | 0x1 | EN_E3 | Enable escalation signal 3 for Class A | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7:6 | rw | 0x0 | MAP_E0 | Determines in which escalation phase escalation signal 0 shall be asserted. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
9:8 | rw | 0x1 | MAP_E1 | Determines in which escalation phase escalation signal 1 shall be asserted. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
11:10 | rw | 0x2 | MAP_E2 | Determines in which escalation phase escalation signal 2 shall be asserted. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
13:12 | rw | 0x3 | MAP_E3 | Determines in which escalation phase escalation signal 3 shall be asserted. |
alert_handler.CLASSA_CLR_REGWEN @ 0x4a0
Clear enable for escalation protocol of Class A alerts. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | CLASSA_CLR_REGWEN | Register defaults to true, can only be cleared. This register is set
to false by the hardware if the escalation protocol has been triggered and the bit
|
alert_handler.CLASSA_CLR_SHADOWED @ 0x4a4
Clear for escalation protocol of Class A. Reset default = 0x0, mask 0x1
Register enable = CLASSA_CLR_REGWEN |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | CLASSA_CLR_SHADOWED | Writing 1 to this register clears the accumulator and aborts escalation
(if it has been triggered). This clear is disabled if |
alert_handler.CLASSA_ACCUM_CNT @ 0x4a8
Current accumulation value for alert Class A. Software can clear this register
with a write to Reset default = 0x0, mask 0xffff
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
15:0 | ro | x | CLASSA_ACCUM_CNT |
alert_handler.CLASSA_ACCUM_THRESH_SHADOWED @ 0x4ac
Accumulation threshold value for alert Class A. Reset default = 0x0, mask 0xffff
Register enable = CLASSA_REGWEN |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
15:0 | rw | 0x0 | CLASSA_ACCUM_THRESH_SHADOWED | Once the accumulation value register is equal to the threshold escalation will
be triggered on the next alert occurrence within this class A begins. Note that this
register can not be modified if |
alert_handler.CLASSA_TIMEOUT_CYC_SHADOWED @ 0x4b0
Interrupt timeout in cycles. Reset default = 0x0, mask 0xffffffff
Register enable = CLASSA_REGWEN |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
31:0 | rw | 0x0 | CLASSA_TIMEOUT_CYC_SHADOWED | If the interrupt corresponding to this class is not
handled within the specified amount of cycles, escalation will be triggered.
Set to a positive value to enable the interrupt timeout for Class A. The timeout is set to zero
by default, which disables this feature. Note that this register can not be modified if
|
alert_handler.CLASSA_CRASHDUMP_TRIGGER_SHADOWED @ 0x4b4
Crashdump trigger configuration for Class A. Reset default = 0x0, mask 0x3
Register enable = CLASSA_REGWEN |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1:0 | rw | 0x0 | CLASSA_CRASHDUMP_TRIGGER_SHADOWED | Determine in which escalation phase to capture the crashdump containing all alert cause CSRs and escalation
timer states. It is recommended to capture the crashdump upon entering the first escalation phase
that activates a countermeasure with many side-effects (e.g. life cycle state scrapping) in order
to prevent spurious alert events from masking the original alert causes.
Note that this register can not be modified if |
alert_handler.CLASSA_PHASE0_CYC_SHADOWED @ 0x4b8
Duration of escalation phase 0 for Class A. Reset default = 0x0, mask 0xffffffff
Register enable = CLASSA_REGWEN |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
31:0 | rw | 0x0 | CLASSA_PHASE0_CYC_SHADOWED | Escalation phase duration in cycles. Note that this register can not be
modified if |
alert_handler.CLASSA_PHASE1_CYC_SHADOWED @ 0x4bc
Duration of escalation phase 1 for Class A. Reset default = 0x0, mask 0xffffffff
Register enable = CLASSA_REGWEN |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
31:0 | rw | 0x0 | CLASSA_PHASE1_CYC_SHADOWED | Escalation phase duration in cycles. Note that this register can not be
modified if |
alert_handler.CLASSA_PHASE2_CYC_SHADOWED @ 0x4c0
Duration of escalation phase 2 for Class A. Reset default = 0x0, mask 0xffffffff
Register enable = CLASSA_REGWEN |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
31:0 | rw | 0x0 | CLASSA_PHASE2_CYC_SHADOWED | Escalation phase duration in cycles. Note that this register can not be
modified if |
alert_handler.CLASSA_PHASE3_CYC_SHADOWED @ 0x4c4
Duration of escalation phase 3 for Class A. Reset default = 0x0, mask 0xffffffff
Register enable = CLASSA_REGWEN |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
31:0 | rw | 0x0 | CLASSA_PHASE3_CYC_SHADOWED | Escalation phase duration in cycles. Note that this register can not be
modified if |
alert_handler.CLASSA_ESC_CNT @ 0x4c8
Escalation counter in cycles for Class A. Reset default = 0x0, mask 0xffffffff
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
31:0 | ro | x | CLASSA_ESC_CNT | Returns the current timeout or escalation count (depending on If the class is in the Timeout state, the timeout can be aborted by clearing the corresponding interrupt bit. If this class is in any of the escalation phases (e.g. Phase0), escalation protocol can be
aborted by writing to |
alert_handler.CLASSA_STATE @ 0x4cc
Current escalation state of Class A. See also Reset default = 0x0, mask 0x7
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2:0 | ro | x | CLASSA_STATE |
|
alert_handler.CLASSB_REGWEN @ 0x4d0
Lock bit for Class B configuration. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | CLASSB_REGWEN | Class configuration enable bit. If this is cleared to 0, the corresponding class configuration registers cannot be written anymore. |
alert_handler.CLASSB_CTRL_SHADOWED @ 0x4d4
Escalation control register for alert Class B. Can not be modified if Reset default = 0x393c, mask 0x3fff
Register enable = CLASSB_REGWEN |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw | 0x0 | EN | Enable escalation mechanisms (accumulation and interrupt timeout) for Class B. Note that interrupts can fire regardless of whether the escalation mechanisms are enabled for this class or not. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | rw | 0x0 | LOCK | Enable automatic locking of escalation counter for class B. If true, there is no way to stop the escalation protocol for class B once it has been triggered. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | rw | 0x1 | EN_E0 | Enable escalation signal 0 for Class B | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3 | rw | 0x1 | EN_E1 | Enable escalation signal 1 for Class B | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4 | rw | 0x1 | EN_E2 | Enable escalation signal 2 for Class B | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5 | rw | 0x1 | EN_E3 | Enable escalation signal 3 for Class B | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7:6 | rw | 0x0 | MAP_E0 | Determines in which escalation phase escalation signal 0 shall be asserted. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
9:8 | rw | 0x1 | MAP_E1 | Determines in which escalation phase escalation signal 1 shall be asserted. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
11:10 | rw | 0x2 | MAP_E2 | Determines in which escalation phase escalation signal 2 shall be asserted. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
13:12 | rw | 0x3 | MAP_E3 | Determines in which escalation phase escalation signal 3 shall be asserted. |
alert_handler.CLASSB_CLR_REGWEN @ 0x4d8
Clear enable for escalation protocol of Class B alerts. Reset default = 0x1, mask 0x1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | Type | Reset | Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | rw0c | 0x1 | CLASSB_CLR_REGWEN | Register defaults to true, can only be cleared. This register is set
to false by the hardware if the escalation protocol has been triggered and the bit
|
alert_handler.CLASSB_CLR_SHADOWED @ 0x4dc
Clear for escalation protocol of Class B. Reset default = 0x0, mask 0x1
Register enable = CLASSB_CLR_REGWEN |
||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|