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