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