summaryrefslogtreecommitdiff
path: root/bsp/drivers/clic/clic_driver.c
diff options
context:
space:
mode:
Diffstat (limited to 'bsp/drivers/clic/clic_driver.c')
-rw-r--r--bsp/drivers/clic/clic_driver.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/bsp/drivers/clic/clic_driver.c b/bsp/drivers/clic/clic_driver.c
index 8acf4d2..a4c4694 100644
--- a/bsp/drivers/clic/clic_driver.c
+++ b/bsp/drivers/clic/clic_driver.c
@@ -67,22 +67,20 @@ void clic_clear_pending(clic_instance_t * this_clic, uint32_t source){
*(volatile uint8_t*)(this_clic->hart_addr+CLIC_INTIP+source) = 0;
}
-//should return max level set. if level set doesn't match requested, check nlbits
-void clic_set_level (clic_instance_t * this_clic, uint32_t source, uint32_t level){
-
+void clic_set_intcfg (clic_instance_t * this_clic, uint32_t source, uint32_t intcfg){
+ *(volatile uint8_t*)(this_clic->hart_addr+CLIC_INTCFG+source) = intcfg;
}
-void clic_get_level (clic_instance_t * this_clic, uint32_t source, uint32_t level){
-
+uint8_t clic_get_intcfg (clic_instance_t * this_clic, uint32_t source){
+ return *(volatile uint8_t*)(this_clic->hart_addr+CLIC_INTCFG+source);
}
-void clic_set_priority (clic_instance_t * this_clic, uint32_t source, uint32_t priority){
-
+void clic_set_cliccfg (clic_instance_t * this_clic, uint32_t cfg){
+ *(volatile uint8_t*)(this_clic->hart_addr+CLIC_CFG) = cfg;
}
-void clic_get_priority (clic_instance_t * this_clic, uint32_t source, uint32_t priority){
-
-
+uint8_t clic_get_cliccfg (clic_instance_t * this_clic){
+ return *(volatile uint8_t*)(this_clic->hart_addr+CLIC_CFG);
}