1 /* 2 * Copyright (c) 2019 Carlo Caione <ccaione@baylibre.com> 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 8 #ifndef ZEPHYR_INCLUDE_DRIVERS_TIMER_ARM_ARCH_TIMER_H_ 9 #define ZEPHYR_INCLUDE_DRIVERS_TIMER_ARM_ARCH_TIMER_H_ 10 11 #include <zephyr/dt-bindings/interrupt-controller/arm-gic.h> 12 #include <zephyr/types.h> 13 14 #define ARM_TIMER_NODE DT_INST(0, arm_armv8_timer) 15 16 #define ARM_TIMER_SECURE_IRQ DT_IRQ_BY_IDX(ARM_TIMER_NODE, 0, irq) 17 #define ARM_TIMER_NON_SECURE_IRQ DT_IRQ_BY_IDX(ARM_TIMER_NODE, 1, irq) 18 #define ARM_TIMER_VIRTUAL_IRQ DT_IRQ_BY_IDX(ARM_TIMER_NODE, 2, irq) 19 #define ARM_TIMER_HYP_IRQ DT_IRQ_BY_IDX(ARM_TIMER_NODE, 3, irq) 20 21 #define ARM_TIMER_SECURE_PRIO DT_IRQ_BY_IDX(ARM_TIMER_NODE, 0,\ 22 priority) 23 #define ARM_TIMER_NON_SECURE_PRIO DT_IRQ_BY_IDX(ARM_TIMER_NODE, 1,\ 24 priority) 25 #define ARM_TIMER_VIRTUAL_PRIO DT_IRQ_BY_IDX(ARM_TIMER_NODE, 2,\ 26 priority) 27 #define ARM_TIMER_HYP_PRIO DT_IRQ_BY_IDX(ARM_TIMER_NODE, 3,\ 28 priority) 29 30 #define ARM_TIMER_SECURE_FLAGS DT_IRQ_BY_IDX(ARM_TIMER_NODE, 0, flags) 31 #define ARM_TIMER_NON_SECURE_FLAGS DT_IRQ_BY_IDX(ARM_TIMER_NODE, 1, flags) 32 #define ARM_TIMER_VIRTUAL_FLAGS DT_IRQ_BY_IDX(ARM_TIMER_NODE, 2, flags) 33 #define ARM_TIMER_HYP_FLAGS DT_IRQ_BY_IDX(ARM_TIMER_NODE, 3, flags) 34 35 #endif /* ZEPHYR_INCLUDE_DRIVERS_TIMER_ARM_ARCH_TIMER_H_ */ 36