Device Tables (DT) for IP rv_plic and top earlgrey. More...
#include "hw/top/dt/dt_api.h"#include <stdint.h>Go to the source code of this file.
Macros | |
| #define | OPENTITAN_RV_PLIC_HAS_PRIORITY 1 | 
| List of supported hardware features.   | |
| #define | OPENTITAN_RV_PLIC_HAS_ENABLE 1 | 
Typedefs | |
| typedef enum dt_rv_plic | dt_rv_plic_t | 
| List of instances.  | |
| typedef enum dt_rv_plic_reg_block | dt_rv_plic_reg_block_t | 
| List of register blocks.   | |
| typedef enum dt_rv_plic_memory | dt_rv_plic_memory_t | 
| List of memories.   | |
| typedef enum dt_rv_plic_alert | dt_rv_plic_alert_t | 
| List of Alerts.   | |
| typedef enum dt_rv_plic_clock | dt_rv_plic_clock_t | 
| List of clock ports.   | |
| typedef enum dt_rv_plic_reset | dt_rv_plic_reset_t | 
| List of reset ports.   | |
Enumerations | |
| enum | dt_rv_plic {  kDtRvPlic = 0 , kDtRvPlicFirst = 0 , kDtRvPlicCount = 1 }  | 
| List of instances.  More... | |
| enum | dt_rv_plic_reg_block {  kDtRvPlicRegBlockCore = 0 , kDtRvPlicRegBlockCount = 1 }  | 
| List of register blocks.  More... | |
| enum | dt_rv_plic_memory { kDtRvPlicMemoryCount = 0 } | 
| List of memories.  More... | |
| enum | dt_rv_plic_alert {  kDtRvPlicAlertFatalFault = 0 , kDtRvPlicAlertCount = 1 }  | 
| List of Alerts.  More... | |
| enum | dt_rv_plic_clock {  kDtRvPlicClockClk = 0 , kDtRvPlicClockCount = 1 }  | 
| List of clock ports.  More... | |
| enum | dt_rv_plic_reset {  kDtRvPlicResetRst = 0 , kDtRvPlicResetCount = 1 }  | 
| List of reset ports.  More... | |
Functions | |
| dt_rv_plic_t | dt_rv_plic_from_instance_id (dt_instance_id_t inst_id) | 
| Get the rv_plic instance from an instance ID.   | |
| dt_instance_id_t | dt_rv_plic_instance_id (dt_rv_plic_t dt) | 
| Get the instance ID of an instance.   | |
| uint32_t | dt_rv_plic_reg_block (dt_rv_plic_t dt, dt_rv_plic_reg_block_t reg_block) | 
| Get the register base address of an instance.   | |
| uint32_t | dt_rv_plic_memory_base (dt_rv_plic_t dt, dt_rv_plic_memory_t mem) | 
| Get the base address of a memory.   | |
| uint32_t | dt_rv_plic_memory_size (dt_rv_plic_t dt, dt_rv_plic_memory_t mem) | 
| Get the size of a memory.   | |
| dt_alert_id_t | dt_rv_plic_alert_to_alert_id (dt_rv_plic_t dt, dt_rv_plic_alert_t alert) | 
| Get the alert ID of a rv_plic alert for a given instance.   | |
| dt_rv_plic_alert_t | dt_rv_plic_alert_from_alert_id (dt_rv_plic_t dt, dt_alert_id_t alert) | 
| Convert a global alert ID to a local rv_plic alert type.   | |
| dt_clock_t | dt_rv_plic_clock (dt_rv_plic_t dt, dt_rv_plic_clock_t clk) | 
| Get the clock signal connected to a clock port of an instance.   | |
| dt_reset_t | dt_rv_plic_reset (dt_rv_plic_t dt, dt_rv_plic_reset_t rst) | 
| Get the reset signal connected to a reset port of an instance.   | |
Device Tables (DT) for IP rv_plic and top earlgrey.
This file contains the type definitions and global functions of the rv_plic.
Definition in file dt_rv_plic.h.
| #define OPENTITAN_RV_PLIC_HAS_ENABLE 1 | 
Definition at line 91 of file dt_rv_plic.h.
| #define OPENTITAN_RV_PLIC_HAS_PRIORITY 1 | 
List of supported hardware features.
Definition at line 90 of file dt_rv_plic.h.
| typedef enum dt_rv_plic_alert dt_rv_plic_alert_t | 
List of Alerts.
Alerts are guaranteed to be numbered consecutively from 0.
| typedef enum dt_rv_plic_clock dt_rv_plic_clock_t | 
List of clock ports.
Clock ports are guaranteed to be numbered consecutively from 0.
| typedef enum dt_rv_plic_memory dt_rv_plic_memory_t | 
List of memories.
Memories are guaranteed to start at 0 and to be consecutively numbered.
| typedef enum dt_rv_plic_reg_block dt_rv_plic_reg_block_t | 
List of register blocks.
Register blocks are guaranteed to start at 0 and to be consecutively numbered.
| typedef enum dt_rv_plic_reset dt_rv_plic_reset_t | 
List of reset ports.
Reset ports are guaranteed to be numbered consecutively from 0.
| enum dt_rv_plic | 
| enum dt_rv_plic_alert | 
List of Alerts.
Alerts are guaranteed to be numbered consecutively from 0.
| Enumerator | |
|---|---|
| kDtRvPlicAlertFatalFault | This fatal alert is triggered when a fatal TL-UL bus integrity fault is detected.  | 
Definition at line 62 of file dt_rv_plic.h.
| enum dt_rv_plic_clock | 
List of clock ports.
Clock ports are guaranteed to be numbered consecutively from 0.
| Enumerator | |
|---|---|
| kDtRvPlicClockClk | Clock port clk_i.  | 
Definition at line 72 of file dt_rv_plic.h.
| enum dt_rv_plic_memory | 
List of memories.
Memories are guaranteed to start at 0 and to be consecutively numbered.
Definition at line 53 of file dt_rv_plic.h.
| enum dt_rv_plic_reg_block | 
List of register blocks.
Register blocks are guaranteed to start at 0 and to be consecutively numbered.
Definition at line 40 of file dt_rv_plic.h.
| enum dt_rv_plic_reset | 
List of reset ports.
Reset ports are guaranteed to be numbered consecutively from 0.
| Enumerator | |
|---|---|
| kDtRvPlicResetRst | Reset port rst_ni.  | 
Definition at line 82 of file dt_rv_plic.h.
| dt_rv_plic_alert_t dt_rv_plic_alert_from_alert_id | ( | dt_rv_plic_t | dt, | 
| dt_alert_id_t | alert ) | 
Convert a global alert ID to a local rv_plic alert type.
| dt | Instance of rv_plic. | 
| alert | A global alert ID that belongs to this instance. | 
kDtRvPlicAlertCount.Note: This function assumes that the global alert ID belongs to the instance of rv_plic passed in parameter. In other words, it must be the case that dt_rv_plic_instance_id(dt) == dt_alert_id_to_instance_id(alert). Otherwise, this function will return kDtRvPlicAlertCount. 
Definition at line 104 of file dt_rv_plic.c.
| dt_alert_id_t dt_rv_plic_alert_to_alert_id | ( | dt_rv_plic_t | dt, | 
| dt_rv_plic_alert_t | alert ) | 
Get the alert ID of a rv_plic alert for a given instance.
Note: This function only makes sense if the instance is connected to the Alert Handler. For any instances where the instance is not connected, the return value is unspecified.
| dt | Instance of rv_plic. | 
| alert | A rv_plic alert. | 
Definition at line 98 of file dt_rv_plic.c.
| dt_clock_t dt_rv_plic_clock | ( | dt_rv_plic_t | dt, | 
| dt_rv_plic_clock_t | clk ) | 
Get the clock signal connected to a clock port of an instance.
| dt | Instance of rv_plic. | 
| clk | Clock port. | 
Definition at line 116 of file dt_rv_plic.c.
| dt_rv_plic_t dt_rv_plic_from_instance_id | ( | dt_instance_id_t | inst_id | ) | 
Get the rv_plic instance from an instance ID.
For example, dt_uart_from_instance_id(kDtInstanceIdUart3) == kDtUart3.
| inst_id | Instance ID. | 
Note: This function only makes sense if the instance ID has device type rv_plic, otherwise the returned value is unspecified.
Definition at line 64 of file dt_rv_plic.c.
| dt_instance_id_t dt_rv_plic_instance_id | ( | dt_rv_plic_t | dt | ) | 
Get the instance ID of an instance.
| dt | Instance of rv_plic. | 
Definition at line 71 of file dt_rv_plic.c.
| uint32_t dt_rv_plic_memory_base | ( | dt_rv_plic_t | dt, | 
| dt_rv_plic_memory_t | mem ) | 
Get the base address of a memory.
| dt | Instance of rv_plic. | 
| mem | The memory requested. | 
Definition at line 83 of file dt_rv_plic.c.
| uint32_t dt_rv_plic_memory_size | ( | dt_rv_plic_t | dt, | 
| dt_rv_plic_memory_t | mem ) | 
Get the size of a memory.
| dt | Instance of rv_plic. | 
| mem | The memory requested. | 
Definition at line 90 of file dt_rv_plic.c.
| uint32_t dt_rv_plic_reg_block | ( | dt_rv_plic_t | dt, | 
| dt_rv_plic_reg_block_t | reg_block ) | 
Get the register base address of an instance.
| dt | Instance of rv_plic. | 
| reg_block | The register block requested. | 
Definition at line 76 of file dt_rv_plic.c.
| dt_reset_t dt_rv_plic_reset | ( | dt_rv_plic_t | dt, | 
| dt_rv_plic_reset_t | rst ) | 
Get the reset signal connected to a reset port of an instance.
| dt | Instance of rv_plic. | 
| rst | Reset port. | 
Definition at line 123 of file dt_rv_plic.c.