/* * Copyright (c) 2022 Intel Corporation * * SPDX-License-Identifier: Apache-2.0 */ #include #include LOG_MODULE_REGISTER(ace_v1x_soc, CONFIG_SOC_LOG_LEVEL); void z_soc_irq_enable(uint32_t irq) { const struct device *const dev = DEVICE_DT_GET(DT_NODELABEL(ace_intc)); const struct dw_ace_v1_ictl_driver_api *api; if (!device_is_ready(dev)) { LOG_DBG("board: ACE V1X device is not ready"); return; } api = (const struct dw_ace_v1_ictl_driver_api *)dev->api; api->intr_enable(dev, irq); } void z_soc_irq_disable(uint32_t irq) { const struct device *const dev = DEVICE_DT_GET(DT_NODELABEL(ace_intc)); const struct dw_ace_v1_ictl_driver_api *api; if (!device_is_ready(dev)) { LOG_DBG("board: ACE V1X device is not ready"); return; } api = (const struct dw_ace_v1_ictl_driver_api *)dev->api; api->intr_disable(dev, irq); } int z_soc_irq_is_enabled(unsigned int irq) { const struct device *const dev = DEVICE_DT_GET(DT_NODELABEL(ace_intc)); const struct dw_ace_v1_ictl_driver_api *api; if (!device_is_ready(dev)) { LOG_DBG("board: ACE V1X device is not ready"); return -ENODEV; } api = (const struct dw_ace_v1_ictl_driver_api *)dev->api; return api->intr_is_enabled(dev, irq); }