5 #ifndef OPENTITAN_SW_DEVICE_SILICON_CREATOR_LIB_DRIVERS_IBEX_H_
6 #define OPENTITAN_SW_DEVICE_SILICON_CREATOR_LIB_DRIVERS_IBEX_H_
25 uint32_t ibex_fpga_version(
void);
27 #ifdef OT_PLATFORM_RV32
31 inline void ibex_mcycle_zero(
void) {
40 inline uint32_t ibex_mcycle32(
void) {
50 inline uint64_t ibex_mcycle(
void) {
57 return ((uint64_t)hi << 32) | lo;
63 inline uint64_t ibex_time_to_cycles(uint64_t time_us) {
67 extern void ibex_mcycle_zero(
void);
68 extern uint32_t ibex_mcycle32(
void);
69 extern uint64_t ibex_mcycle(
void);
70 extern uint64_t ibex_time_to_cycles(uint64_t time_us);
79 typedef enum ibex_exception_code {
80 kIbexExceptionCodeLoadAccessFault = 5,
81 kIbexExceptionCodeMax = 31,
82 } ibex_exception_code_t;
96 kAddressTranslationSecMmioConfigure = 6,
109 void ibex_addr_remap_0_set(uint32_t matching_addr, uint32_t remap_addr,
122 void ibex_addr_remap_1_set(uint32_t matching_addr, uint32_t remap_addr,
133 uint32_t ibex_addr_remap_get(uint32_t index);
141 void ibex_addr_remap_lockdown(uint32_t index);