1 /* 2 * Copyright (c) 2017 Intel Corporation. 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #ifndef ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_INTC_CAVS_H_ 8 #define ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_INTC_CAVS_H_ 9 10 #include <zephyr/types.h> 11 12 #ifdef __cplusplus 13 extern "C" { 14 #endif 15 16 typedef void (*cavs_ictl_config_irq_t)(const struct device *port); 17 18 struct cavs_ictl_config { 19 uint32_t irq_num; 20 uint32_t isr_table_offset; 21 cavs_ictl_config_irq_t config_func; 22 }; 23 24 struct cavs_ictl_runtime { 25 uint32_t base_addr; 26 }; 27 28 struct cavs_registers { 29 uint32_t disable_il; /* il_msd - offset 0x00 */ 30 uint32_t enable_il; /* il_mcd - offset 0x04 */ 31 uint32_t disable_state_il; /* il_md - offset 0x08 */ 32 uint32_t status_il; /* il_sd - offset 0x0C */ 33 }; 34 35 #ifdef __cplusplus 36 } 37 #endif 38 39 #endif /* ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_INTC_CAVS_H_ */ 40