Zephyr Project API 3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
numicro-pinctrl.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2022 SEAL AG
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_NUMICRO_PINCTRL_H_
8#define ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_NUMICRO_PINCTRL_H_
9
10#define NUMICRO_MFP_SHIFT 0U
11#define NUMICRO_MFP_MASK 0xFU
12#define NUMICRO_PIN_SHIFT 4U
13#define NUMICRO_PIN_MASK 0xFU
14#define NUMICRO_PORT_SHIFT 8U
15#define NUMICRO_PORT_MASK 0xFU
16
30#define NUMICRO_PINMUX(port, pin, mfp) \
31 (((((port) - 'A') & NUMICRO_PORT_MASK) << NUMICRO_PORT_SHIFT) | \
32 (((pin) & NUMICRO_PIN_MASK) << NUMICRO_PIN_SHIFT) | \
33 (((mfp) & NUMICRO_MFP_MASK) << NUMICRO_MFP_SHIFT))
34
35#define NUMICRO_PORT(pinmux) \
36 (((pinmux) >> NUMICRO_PORT_SHIFT) & NUMICRO_PORT_MASK)
37#define NUMICRO_PIN(pinmux) \
38 (((pinmux) >> NUMICRO_PIN_SHIFT) & NUMICRO_PIN_MASK)
39#define NUMICRO_MFP(pinmux) \
40 (((pinmux) >> NUMICRO_MFP_SHIFT) & NUMICRO_MFP_MASK)
41
42#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_NUMICRO_PINCTRL_H_ */