]>
Commit | Line | Data |
---|---|---|
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 */ | |
15 | enum { | |
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 */ | |
125 | enum { | |
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 | ||
230 | void pic32_pps_input(int function, int pin); | |
231 | void pic32_pps_output(int function, int pin); | |
232 | ||
233 | #endif |