xref: /freebsd/sys/contrib/device-tree/include/dt-bindings/pinctrl/rzv2m-pinctrl.h (revision 0fca6ea1d4eea4c934cfff25ac9ee8ad6fe95583)
1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
2 /*
3  * This header provides constants for Renesas RZ/V2M pinctrl bindings.
4  *
5  * Copyright (C) 2022 Renesas Electronics Corp.
6  *
7  */
8 
9 #ifndef __DT_BINDINGS_RZV2M_PINCTRL_H
10 #define __DT_BINDINGS_RZV2M_PINCTRL_H
11 
12 #define RZV2M_PINS_PER_PORT	16
13 
14 /*
15  * Create the pin index from its bank and position numbers and store in
16  * the upper 16 bits the alternate function identifier
17  */
18 #define RZV2M_PORT_PINMUX(b, p, f)	((b) * RZV2M_PINS_PER_PORT + (p) | ((f) << 16))
19 
20 /* Convert a port and pin label to its global pin index */
21 #define RZV2M_GPIO(port, pin)	((port) * RZV2M_PINS_PER_PORT + (pin))
22 
23 #endif /* __DT_BINDINGS_RZV2M_PINCTRL_H */
24