1 /* Copyright 2023 The ChromiumOS Authors 2 * SPDX-License-Identifier: Apache-2.0 3 */ 4 5 #ifndef ZEPHYR_SOC_MTK_SOC_H 6 #define ZEPHYR_SOC_MTK_SOC_H 7 8 #include <zephyr/device.h> 9 10 void mtk_adsp_cpu_freq_init(void); 11 void mtk_adsp_set_cpu_freq(int mhz); 12 13 /* Mailbox Driver: */ 14 15 /* Hardware defines multiple "channel" bits that can be independently 16 * signaled and cleared. An interrupt is latched if any bits are 17 * set. 18 */ 19 #define MTK_ADSP_MBOX_CHANNELS 5 20 21 typedef void (*mtk_adsp_mbox_handler_t)(const struct device *mbox, void *arg); 22 23 void mtk_adsp_mbox_set_handler(const struct device *mbox, uint32_t chan, 24 mtk_adsp_mbox_handler_t handler, void *arg); 25 26 /* Signal an interrupt on the specified channel for the other side */ 27 void mtk_adsp_mbox_signal(const struct device *mbox, uint32_t chan); 28 29 #endif /* ZEPHYR_SOC_MTK_SOC_H */ 30