]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - arch/mips/pic32/pic32mzda/early_pin.h
Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[mirror_ubuntu-jammy-kernel.git] / arch / mips / pic32 / pic32mzda / early_pin.h
CommitLineData
04dc82e1 1/* SPDX-License-Identifier: GPL-2.0-only */
2572f00d
JH
2/*
3 * Joshua Henderson <joshua.henderson@microchip.com>
4 * Copyright (C) 2015 Microchip Technology Inc. All rights reserved.
2572f00d
JH
5 */
6#ifndef _PIC32MZDA_EARLY_PIN_H
7#define _PIC32MZDA_EARLY_PIN_H
8
9/*
10 * This is a complete, yet overly simplistic and unoptimized, PIC32MZDA PPS
11 * configuration only useful before we have full pinctrl initialized.
12 */
13
14/* Input PPS Functions */
15enum {
16 IN_FUNC_INT3,
17 IN_FUNC_T2CK,
18 IN_FUNC_T6CK,
19 IN_FUNC_IC3,
20 IN_FUNC_IC7,
21 IN_FUNC_U1RX,
22 IN_FUNC_U2CTS,
23 IN_FUNC_U5RX,
24 IN_FUNC_U6CTS,
25 IN_FUNC_SDI1,
26 IN_FUNC_SDI3,
27 IN_FUNC_SDI5,
28 IN_FUNC_SS6,
29 IN_FUNC_REFCLKI1,
30 IN_FUNC_INT4,
31 IN_FUNC_T5CK,
32 IN_FUNC_T7CK,
33 IN_FUNC_IC4,
34 IN_FUNC_IC8,
35 IN_FUNC_U3RX,
36 IN_FUNC_U4CTS,
37 IN_FUNC_SDI2,
38 IN_FUNC_SDI4,
39 IN_FUNC_C1RX,
40 IN_FUNC_REFCLKI4,
41 IN_FUNC_INT2,
42 IN_FUNC_T3CK,
43 IN_FUNC_T8CK,
44 IN_FUNC_IC2,
45 IN_FUNC_IC5,
46 IN_FUNC_IC9,
47 IN_FUNC_U1CTS,
48 IN_FUNC_U2RX,
49 IN_FUNC_U5CTS,
50 IN_FUNC_SS1,
51 IN_FUNC_SS3,
52 IN_FUNC_SS4,
53 IN_FUNC_SS5,
54 IN_FUNC_C2RX,
55 IN_FUNC_INT1,
56 IN_FUNC_T4CK,
57 IN_FUNC_T9CK,
58 IN_FUNC_IC1,
59 IN_FUNC_IC6,
60 IN_FUNC_U3CTS,
61 IN_FUNC_U4RX,
62 IN_FUNC_U6RX,
63 IN_FUNC_SS2,
64 IN_FUNC_SDI6,
65 IN_FUNC_OCFA,
66 IN_FUNC_REFCLKI3,
67};
68
69/* Input PPS Pins */
70#define IN_RPD2 0x00
71#define IN_RPG8 0x01
72#define IN_RPF4 0x02
73#define IN_RPD10 0x03
74#define IN_RPF1 0x04
75#define IN_RPB9 0x05
76#define IN_RPB10 0x06
77#define IN_RPC14 0x07
78#define IN_RPB5 0x08
79#define IN_RPC1 0x0A
80#define IN_RPD14 0x0B
81#define IN_RPG1 0x0C
82#define IN_RPA14 0x0D
83#define IN_RPD6 0x0E
84#define IN_RPD3 0x00
85#define IN_RPG7 0x01
86#define IN_RPF5 0x02
87#define IN_RPD11 0x03
88#define IN_RPF0 0x04
89#define IN_RPB1 0x05
90#define IN_RPE5 0x06
91#define IN_RPC13 0x07
92#define IN_RPB3 0x08
93#define IN_RPC4 0x0A
94#define IN_RPD15 0x0B
95#define IN_RPG0 0x0C
96#define IN_RPA15 0x0D
97#define IN_RPD7 0x0E
98#define IN_RPD9 0x00
99#define IN_RPG6 0x01
100#define IN_RPB8 0x02
101#define IN_RPB15 0x03
102#define IN_RPD4 0x04
103#define IN_RPB0 0x05
104#define IN_RPE3 0x06
105#define IN_RPB7 0x07
106#define IN_RPF12 0x09
107#define IN_RPD12 0x0A
108#define IN_RPF8 0x0B
109#define IN_RPC3 0x0C
110#define IN_RPE9 0x0D
111#define IN_RPD1 0x00
112#define IN_RPG9 0x01
113#define IN_RPB14 0x02
114#define IN_RPD0 0x03
115#define IN_RPB6 0x05
116#define IN_RPD5 0x06
117#define IN_RPB2 0x07
118#define IN_RPF3 0x08
119#define IN_RPF13 0x09
120#define IN_RPF2 0x0B
121#define IN_RPC2 0x0C
122#define IN_RPE8 0x0D
123
124/* Output PPS Pins */
125enum {
126 OUT_RPD2,
127 OUT_RPG8,
128 OUT_RPF4,
129 OUT_RPD10,
130 OUT_RPF1,
131 OUT_RPB9,
132 OUT_RPB10,
133 OUT_RPC14,
134 OUT_RPB5,
135 OUT_RPC1,
136 OUT_RPD14,
137 OUT_RPG1,
138 OUT_RPA14,
139 OUT_RPD6,
140 OUT_RPD3,
141 OUT_RPG7,
142 OUT_RPF5,
143 OUT_RPD11,
144 OUT_RPF0,
145 OUT_RPB1,
146 OUT_RPE5,
147 OUT_RPC13,
148 OUT_RPB3,
149 OUT_RPC4,
150 OUT_RPD15,
151 OUT_RPG0,
152 OUT_RPA15,
153 OUT_RPD7,
154 OUT_RPD9,
155 OUT_RPG6,
156 OUT_RPB8,
157 OUT_RPB15,
158 OUT_RPD4,
159 OUT_RPB0,
160 OUT_RPE3,
161 OUT_RPB7,
162 OUT_RPF12,
163 OUT_RPD12,
164 OUT_RPF8,
165 OUT_RPC3,
166 OUT_RPE9,
167 OUT_RPD1,
168 OUT_RPG9,
169 OUT_RPB14,
170 OUT_RPD0,
171 OUT_RPB6,
172 OUT_RPD5,
173 OUT_RPB2,
174 OUT_RPF3,
175 OUT_RPF13,
176 OUT_RPC2,
177 OUT_RPE8,
178 OUT_RPF2,
179};
180
181/* Output PPS Functions */
182#define OUT_FUNC_U3TX 0x01
183#define OUT_FUNC_U4RTS 0x02
184#define OUT_FUNC_SDO1 0x05
185#define OUT_FUNC_SDO2 0x06
186#define OUT_FUNC_SDO3 0x07
187#define OUT_FUNC_SDO5 0x09
188#define OUT_FUNC_SS6 0x0A
189#define OUT_FUNC_OC3 0x0B
190#define OUT_FUNC_OC6 0x0C
191#define OUT_FUNC_REFCLKO4 0x0D
192#define OUT_FUNC_C2OUT 0x0E
193#define OUT_FUNC_C1TX 0x0F
194#define OUT_FUNC_U1TX 0x01
195#define OUT_FUNC_U2RTS 0x02
196#define OUT_FUNC_U5TX 0x03
197#define OUT_FUNC_U6RTS 0x04
198#define OUT_FUNC_SDO1 0x05
199#define OUT_FUNC_SDO2 0x06
200#define OUT_FUNC_SDO3 0x07
201#define OUT_FUNC_SDO4 0x08
202#define OUT_FUNC_SDO5 0x09
203#define OUT_FUNC_OC4 0x0B
204#define OUT_FUNC_OC7 0x0C
205#define OUT_FUNC_REFCLKO1 0x0F
206#define OUT_FUNC_U3RTS 0x01
207#define OUT_FUNC_U4TX 0x02
208#define OUT_FUNC_U6TX 0x04
209#define OUT_FUNC_SS1 0x05
210#define OUT_FUNC_SS3 0x07
211#define OUT_FUNC_SS4 0x08
212#define OUT_FUNC_SS5 0x09
213#define OUT_FUNC_SDO6 0x0A
214#define OUT_FUNC_OC5 0x0B
215#define OUT_FUNC_OC8 0x0C
216#define OUT_FUNC_C1OUT 0x0E
217#define OUT_FUNC_REFCLKO3 0x0F
218#define OUT_FUNC_U1RTS 0x01
219#define OUT_FUNC_U2TX 0x02
220#define OUT_FUNC_U5RTS 0x03
221#define OUT_FUNC_U6TX 0x04
222#define OUT_FUNC_SS2 0x06
223#define OUT_FUNC_SDO4 0x08
224#define OUT_FUNC_SDO6 0x0A
225#define OUT_FUNC_OC2 0x0B
226#define OUT_FUNC_OC1 0x0C
227#define OUT_FUNC_OC9 0x0D
228#define OUT_FUNC_C2TX 0x0F
229
230void pic32_pps_input(int function, int pin);
231void pic32_pps_output(int function, int pin);
232
233#endif