| # Copyright lowRISC contributors. |
| # Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| from enum import IntEnum |
| |
| |
| class Cmd(IntEnum): |
| '''Permitted values of the CMD register.''' |
| EXECUTE = 0x01 |
| SEC_WIPE_DMEM = 0x02 |
| SEC_WIPE_IMEM = 0x03 |
| |
| |
| class Status(IntEnum): |
| '''Permitted values of the STATUS register.''' |
| IDLE = 0x00 |
| BUSY_EXECUTE = 0x01 |
| BUSY_SEC_WIPE_DMEM = 0x02 |
| BUSY_SEC_WIPE_IMEM = 0x03 |
| |
| |
| class ErrBits(IntEnum): |
| '''A copy of the list of bits in the ERR_BITS register.''' |
| BAD_DATA_ADDR = 1 << 0 |
| BAD_INSN_ADDR = 1 << 1 |
| CALL_STACK = 1 << 2 |
| ILLEGAL_INSN = 1 << 3 |
| LOOP = 1 << 4 |
| IMEM_INTG_VIOLATION = 1 << 5 |
| DMEM_INTG_VIOLATION = 1 << 6 |
| REG_INTG_VIOLATION = 1 << 7 |
| ILLEGAL_BUS_ACCESS = 1 << 8 |
| LIFECYCLE_ESCALATION = 1 << 9 |