Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
infineon-xmc4xxx-intc.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2022 Schlumberger
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
12
13#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_INTERRUPT_CONTROLLER_INFINEON_XMC4XXX_INTC_H_
14#define ZEPHYR_INCLUDE_DT_BINDINGS_INTERRUPT_CONTROLLER_INFINEON_XMC4XXX_INTC_H_
15
34
36
37#define XMC4XXX_INTC_PORT_POS 0
38#define XMC4XXX_INTC_PORT_MASK 0xf
39
40#define XMC4XXX_INTC_PIN_POS 4
41#define XMC4XXX_INTC_PIN_MASK 0xf
42
43#define XMC4XXX_INTC_LINE_POS 8
44#define XMC4XXX_INTC_LINE_MASK 0x7
45
46#define XMC4XXX_INTC_ERU_SRC_POS 11
47#define XMC4XXX_INTC_ERU_SRC_MASK 0x7
48
50
52#define XMC4XXX_INTC_GET_PORT(mx) ((mx >> XMC4XXX_INTC_PORT_POS) & XMC4XXX_INTC_PORT_MASK)
54#define XMC4XXX_INTC_GET_PIN(mx) ((mx >> XMC4XXX_INTC_PIN_POS) & XMC4XXX_INTC_PIN_MASK)
56#define XMC4XXX_INTC_GET_LINE(mx) ((mx >> XMC4XXX_INTC_LINE_POS) & XMC4XXX_INTC_LINE_MASK)
58#define XMC4XXX_INTC_GET_ERU_SRC(mx) ((mx >> XMC4XXX_INTC_ERU_SRC_POS) & XMC4XXX_INTC_ERU_SRC_MASK)
59
68#define XMC4XXX_INTC_SET_LINE_MAP(port, pin, eru_src, line) \
69 ((port) << XMC4XXX_INTC_PORT_POS | (pin) << XMC4XXX_INTC_PIN_POS | \
70 (eru_src) << XMC4XXX_INTC_ERU_SRC_POS | (line) << XMC4XXX_INTC_LINE_POS)
71
73
74#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_INTERRUPT_CONTROLLER_INFINEON_XMC4XXX_INTC_H_ */