diff options
-rw-r--r-- | core/drivers/tzc380.c | 12 | ||||
-rw-r--r-- | core/include/drivers/tzc380.h | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/core/drivers/tzc380.c b/core/drivers/tzc380.c index 3cebddf6..2827cfb5 100644 --- a/core/drivers/tzc380.c +++ b/core/drivers/tzc380.c @@ -62,6 +62,11 @@ static void tzc_write_action(vaddr_t base, enum tzc_action action) io_write32(base + ACTION_OFF, action); } +static uint32_t tzc_read_action(vaddr_t base) +{ + return io_read32(base + ACTION_OFF); +} + static void tzc_write_region_base_low(vaddr_t base, uint32_t region, uint32_t val) { @@ -204,6 +209,13 @@ void tzc_set_action(enum tzc_action action) tzc_write_action(tzc.base, action); } +uint32_t tzc_get_action(void) +{ + assert(tzc.base); + + return tzc_read_action(tzc.base); +} + #if TRACE_LEVEL >= TRACE_DEBUG static uint32_t tzc_read_region_base_low(vaddr_t base, uint32_t region) diff --git a/core/include/drivers/tzc380.h b/core/include/drivers/tzc380.h index 970be536..24708d0c 100644 --- a/core/include/drivers/tzc380.h +++ b/core/include/drivers/tzc380.h @@ -201,6 +201,7 @@ void tzc_configure_region(uint8_t region, vaddr_t region_base, uint32_t attr); void tzc_region_enable(uint8_t region); void tzc_security_inversion_en(vaddr_t base); void tzc_set_action(enum tzc_action action); +uint32_t tzc_get_action(void); void tzc_fail_dump(void); void tzc_int_clear(void); |