1 /* SPDX-License-Identifier: BSD-2-Clause */ 2 /* 3 * Copyright 2022-2023 NXP 4 */ 5 6 #ifndef DRIVERS_PLIC_H 7 #define DRIVERS_PLIC_H 8 9 #include <kernel/interrupt.h> 10 #include <kernel/misc.h> 11 #include <platform_config.h> 12 13 struct plic_data { 14 vaddr_t plic_base; 15 size_t max_it; 16 struct itr_chip chip; 17 }; 18 19 void plic_init(struct plic_data *pd, paddr_t plic_base_pa); 20 void plic_init_base_addr(struct plic_data *pd, paddr_t plic_base_pa); 21 void plic_hart_init(struct plic_data *pd); 22 void plic_it_handle(struct plic_data *pd); 23 void plic_dump_state(struct plic_data *pd); 24 25 #endif /*DRIVERS_PLIC_H*/ 26