| # Copyright lowRISC contributors. |
| # Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| """Enumerated types for fields |
| Generated by validation, used by backends |
| """ |
| |
| from enum import Enum |
| |
| |
| class JsonEnum(Enum): |
| def for_json(x): |
| return str(x) |
| |
| |
| class SwWrAccess(JsonEnum): |
| WR = 1 |
| NONE = 2 |
| |
| |
| class SwRdAccess(JsonEnum): |
| RD = 1 |
| RC = 2 # Special handling for port |
| NONE = 3 |
| |
| |
| class SwAccess(JsonEnum): |
| RO = 1 |
| RW = 2 |
| WO = 3 |
| W1C = 4 |
| W1S = 5 |
| W0C = 6 |
| RC = 7 |
| R0W1C = 8 |
| NONE = 9 |
| |
| |
| class HwAccess(JsonEnum): |
| HRO = 1 |
| HRW = 2 |
| HWO = 3 |
| NONE = 4 # No access allowed |