1 /* Copyright (c) 2022 Intel Corporation
2  * SPDX-License-Identifier: Apache-2.0
3  */
4 #ifndef ZEPHYR_SOC_INTEL_ADSP_IPC_REGS_H
5 #define ZEPHYR_SOC_INTEL_ADSP_IPC_REGS_H
6 
7 #include <zephyr/devicetree.h>
8 #include <stdint.h>
9 
10 /**
11  * @brief Retrieve node identifier for Intel ADSP host IPC.
12  */
13 #define INTEL_ADSP_IPC_HOST_DTNODE DT_NODELABEL(adsp_host_ipc)
14 
15 /** @brief Host IPC device pointer.
16  *
17  * This macro expands to the registered host IPC device from
18  * devicetree (if one exists!). The device will be initialized and
19  * ready at system startup.
20  */
21 #define INTEL_ADSP_IPC_HOST_DEV DEVICE_DT_GET(INTEL_ADSP_IPC_HOST_DTNODE)
22 
23 /**
24  * @brief IPC register block.
25  *
26  * This macro retrieves host IPC register address from devicetree.
27  */
28 #define INTEL_ADSP_IPC_REG_ADDRESS DT_REG_ADDR(INTEL_ADSP_IPC_HOST_DTNODE)
29 
30 /**
31  * @brief Retrieve node identifier for Intel ADSP IDC.
32  */
33 #define INTEL_ADSP_IDC_DTNODE DT_NODELABEL(adsp_idc)
34 
35 /**
36  * @brief IDC register block.
37  *
38  * This macro retrieves IDC register address from devicetree.
39  */
40 #define INTEL_ADSP_IDC_REG_ADDRESS DT_REG_ADDR(INTEL_ADSP_IDC_DTNODE)
41 
42 #endif /* ZEPHYR_SOC_INTEL_ADSP_IPC_REGS_H */
43