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