blob: 9e00e59da6be7e086f71efdc54b7b35240ffdcdc [file] [log] [blame]
/* Copyright (c) 2022 Intel Corporation
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_TESTS_INTEL_ADSP_TESTS_H
#define ZEPHYR_TESTS_INTEL_ADSP_TESTS_H
#include <zephyr/sys_clock.h>
#include <intel_adsp_ipc.h>
#include <cavstool.h>
#include <stdint.h>
#include <zephyr/device.h>
#include <zephyr/ztest.h>
/* Turn this define on to see register dumps after each step */
#define INTEL_ADSP_HDA_DBG 0
#define CONCAT3(x, y, z) x ## y ## z
#define STREAM_SET_BASE(stream_set) CONCAT3(HDA_, stream_set, _BASE)
#define STREAM_SET_NAME(stream_set) STRINGIFY(stream_set)
#if INTEL_ADSP_HDA_DBG
#define hda_dump_regs(stream_set, regblock_size, stream_id, ...) \
printk(__VA_ARGS__); printk(": "); \
intel_adsp_hda_dbg(STREAM_SET_NAME(stream_set), STREAM_SET_BASE(stream_set), \
regblock_size, stream_id)
#else
#define hda_dump_regs(stream_set, regblock_size, stream_id, msg, ...) do {} while (0)
#endif
static inline void hda_ipc_msg(const struct device *dev, uint32_t data,
uint32_t ext, k_timeout_t timeout)
{
zassert_true(intel_adsp_ipc_send_message_sync(dev, data, ext, timeout),
"Unexpected ipc send message failure, try increasing IPC_TIMEOUT");
}
#endif /* ZEPHYR_TESTS_INTEL_ADSP_TESTS_H */