/* * Copyright (c) 2020 Intel Corporation * * SPDX-License-Identifier: Apache-2.0 */ #ifndef ZEPHYR_DRIVERS_IPM_IPM_CAVS_IDC_H_ #define ZEPHYR_DRIVERS_IPM_IPM_CAVS_IDC_H_ /* For use with the IPM driver */ #define IPM_CAVS_IDC_DEV_NAME cavs_idc #define IPM_CAVS_IDC_ID_MASK \ (CAVS_IDC_TYPE(CAVS_IDC_TYPE_MASK) | \ CAVS_IDC_HEADER(CAVS_IDC_HEADER_MASK)) /* IDC message type. */ #define CAVS_IDC_TYPE_SHIFT 24U #define CAVS_IDC_TYPE_MASK 0x7FU #define CAVS_IDC_TYPE(x) \ (((x) & CAVS_IDC_TYPE_MASK) << CAVS_IDC_TYPE_SHIFT) /* IDC message header. */ #define CAVS_IDC_HEADER_MASK 0xFFFFFFU #define CAVS_IDC_HEADER(x) ((x) & CAVS_IDC_HEADER_MASK) /* IDC message extension. */ #define CAVS_IDC_EXTENSION_MASK 0x3FFFFFFFU #define CAVS_IDC_EXTENSION(x) ((x) & CAVS_IDC_EXTENSION_MASK) /* Scheduler IPI message (type 0x7F, header 'IPI' in ascii) */ #define IPM_CAVS_IDC_MSG_SCHED_IPI_DATA 0 #define IPM_CAVS_IDC_MSG_SCHED_IPI_ID \ (CAVS_IDC_TYPE(0x7FU) | CAVS_IDC_HEADER(0x495049U)) #endif /* ZEPHYR_DRIVERS_IPM_IPM_CAVS_IDC_H_ */