1*c66ec88fSEmmanuel Vadot /* SPDX-License-Identifier: GPL-2.0 */
2*c66ec88fSEmmanuel Vadot /*
3*c66ec88fSEmmanuel Vadot  * Defines macros and constants for Renesas RZ/A2 pin controller pin
4*c66ec88fSEmmanuel Vadot  * muxing functions.
5*c66ec88fSEmmanuel Vadot  */
6*c66ec88fSEmmanuel Vadot #ifndef __DT_BINDINGS_PINCTRL_RENESAS_RZA2_H
7*c66ec88fSEmmanuel Vadot #define __DT_BINDINGS_PINCTRL_RENESAS_RZA2_H
8*c66ec88fSEmmanuel Vadot 
9*c66ec88fSEmmanuel Vadot #define RZA2_PINS_PER_PORT	8
10*c66ec88fSEmmanuel Vadot 
11*c66ec88fSEmmanuel Vadot /* Port names as labeled in the Hardware Manual */
12*c66ec88fSEmmanuel Vadot #define PORT0 0
13*c66ec88fSEmmanuel Vadot #define PORT1 1
14*c66ec88fSEmmanuel Vadot #define PORT2 2
15*c66ec88fSEmmanuel Vadot #define PORT3 3
16*c66ec88fSEmmanuel Vadot #define PORT4 4
17*c66ec88fSEmmanuel Vadot #define PORT5 5
18*c66ec88fSEmmanuel Vadot #define PORT6 6
19*c66ec88fSEmmanuel Vadot #define PORT7 7
20*c66ec88fSEmmanuel Vadot #define PORT8 8
21*c66ec88fSEmmanuel Vadot #define PORT9 9
22*c66ec88fSEmmanuel Vadot #define PORTA 10
23*c66ec88fSEmmanuel Vadot #define PORTB 11
24*c66ec88fSEmmanuel Vadot #define PORTC 12
25*c66ec88fSEmmanuel Vadot #define PORTD 13
26*c66ec88fSEmmanuel Vadot #define PORTE 14
27*c66ec88fSEmmanuel Vadot #define PORTF 15
28*c66ec88fSEmmanuel Vadot #define PORTG 16
29*c66ec88fSEmmanuel Vadot #define PORTH 17
30*c66ec88fSEmmanuel Vadot /* No I */
31*c66ec88fSEmmanuel Vadot #define PORTJ 18
32*c66ec88fSEmmanuel Vadot #define PORTK 19
33*c66ec88fSEmmanuel Vadot #define PORTL 20
34*c66ec88fSEmmanuel Vadot #define PORTM 21	/* Pins PM_0/1 are labeled JP_0/1 in HW manual */
35*c66ec88fSEmmanuel Vadot 
36*c66ec88fSEmmanuel Vadot /*
37*c66ec88fSEmmanuel Vadot  * Create the pin index from its bank and position numbers and store in
38*c66ec88fSEmmanuel Vadot  * the upper 16 bits the alternate function identifier
39*c66ec88fSEmmanuel Vadot  */
40*c66ec88fSEmmanuel Vadot #define RZA2_PINMUX(b, p, f)	((b) * RZA2_PINS_PER_PORT + (p) | (f << 16))
41*c66ec88fSEmmanuel Vadot 
42*c66ec88fSEmmanuel Vadot /*
43*c66ec88fSEmmanuel Vadot  * Convert a port and pin label to its global pin index
44*c66ec88fSEmmanuel Vadot  */
45*c66ec88fSEmmanuel Vadot #define RZA2_PIN(port, pin)	((port) * RZA2_PINS_PER_PORT + (pin))
46*c66ec88fSEmmanuel Vadot 
47*c66ec88fSEmmanuel Vadot #endif /* __DT_BINDINGS_PINCTRL_RENESAS_RZA2_H */
48