]> git.gir.st - tmk_keyboard.git/blob - tool/mbed/mbed-sdk/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC43XX/TARGET_LPC4330/PinNames.h
Squashed 'tmk_core/' changes from 7967731..b9e0ea0
[tmk_keyboard.git] / tool / mbed / mbed-sdk / libraries / mbed / targets / hal / TARGET_NXP / TARGET_LPC43XX / TARGET_LPC4330 / PinNames.h
1 /* mbed Microcontroller Library
2 * Copyright (c) 2006-2013 ARM Limited
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 #ifndef MBED_PINNAMES_H
17 #define MBED_PINNAMES_H
18
19 #include "cmsis.h"
20
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24
25 typedef enum {
26 PIN_INPUT,
27 PIN_OUTPUT
28 } PinDirection;
29
30 #define PORT_SHIFT 5
31 #define NO_GPIO 15
32
33 // On the LPC43xx the MCU pin name and the GPIO pin name are not the same.
34 // Encode SCU and GPIO offsets as a pin identifier
35 #define MBED_PIN(group, num, port, pin) ((SCU_OFF(group,num) << 16) + GPIO_OFF(port,pin))
36
37 // Decode pin identifier into register, port and pin values
38 #define MBED_SCU_REG(MBED_PIN) (LPC_SCU_BASE + (MBED_PIN >> 16))
39 #define MBED_GPIO_REG(MBED_PIN) (LPC_GPIO_PORT_BASE + 0x2000 + ((MBED_PIN >> (PORT_SHIFT - 2)) & 0x0000003C))
40 #define MBED_GPIO_PORT(MBED_PIN) ((MBED_PIN >> PORT_SHIFT) & 0x0000000F)
41 #define MBED_GPIO_PIN(MBED_PIN) (MBED_PIN & 0x0000001F)
42
43 typedef enum {
44 // LPC43xx Pin Names
45 // All pins defined. Package determines which are available.
46 // LBGA256 TFBGA180 TFBGA100 LQFP208 LQFP144
47 // GPIO0 [15:0] [15:0] [15:6] [15:0] [15:0]
48 // [4:0]
49 // GPIO1 [15:0] [15:0] [15:0] [15:0] [15:0]
50 // GPIO2 [15:0] [15:0] [15:0] [15:0]
51 // GPIO3 [15:0] [15:0] [7] [15:0] [15:0]
52 // [5:3]
53 // [1:0]
54 // GPIO4 [15:0] [15:0] [15:0] [11]
55 // GPIO5 [26:0] [26:0] [11:0] [25:0] [18]
56 // [16:0]
57 // GPIO6 [30:0] [30:28] [30:20]
58 // [26:25] [5:0]
59 // GPIO7 [25:0] [4:0] [25:23]
60 // [21:17]
61 // --- --- --- --- ---
62 // Total 164 117 49 131 83
63
64 // Groups 0x00 - 0x0F : Digital pins
65 // * Digital pins support up to 8 functions
66 // Use func=0 for GPIO0-GPIO4, func=4 for GPIO5-GPIO7
67 // * High-drive pins default to 4 mA but can support 8, 14, 20 mA
68 P0_0 = MBED_PIN(0x00, 0, 0, 0), // GPIO0[0]
69 P0_1 = MBED_PIN(0x00, 1, 0, 1), // GPIO0[1]
70
71 P1_0 = MBED_PIN(0x01, 0, 0, 4), // GPIO0[4]
72 P1_1 = MBED_PIN(0x01, 1, 0, 8), // GPIO0[8]
73 P1_2 = MBED_PIN(0x01, 2, 0, 9), // GPIO0[9]
74 P1_3 = MBED_PIN(0x01, 3, 0, 10), // GPIO0[10]
75 P1_4 = MBED_PIN(0x01, 4, 0, 11), // GPIO0[11]
76 P1_5 = MBED_PIN(0x01, 5, 1, 8), // GPIO1[8]
77 P1_6 = MBED_PIN(0x01, 6, 1, 9), // GPIO1[9]
78 P1_7 = MBED_PIN(0x01, 7, 1, 0), // GPIO1[0]
79 P1_8 = MBED_PIN(0x01, 8, 1, 1), // GPIO1[1]
80 P1_9 = MBED_PIN(0x01, 9, 1, 2), // GPIO1[2]
81 P1_10 = MBED_PIN(0x01, 10, 1, 3), // GPIO1[3]
82 P1_11 = MBED_PIN(0x01, 11, 1, 4), // GPIO1[4]
83 P1_12 = MBED_PIN(0x01, 12, 1, 5), // GPIO1[5]
84 P1_13 = MBED_PIN(0x01, 13, 1, 6), // GPIO1[6]
85 P1_14 = MBED_PIN(0x01, 14, 1, 7), // GPIO1[7]
86 P1_15 = MBED_PIN(0x01, 15, 0, 2), // GPIO0[2]
87 P1_16 = MBED_PIN(0x01, 16, 0, 3), // GPIO0[3]
88 P1_17 = MBED_PIN(0x01, 17, 0, 12), // GPIO0[12] high-drive
89 P1_18 = MBED_PIN(0x01, 18, 0, 13), // GPIO0[13]
90 P1_19 = MBED_PIN(0x01, 19, NO_GPIO, 0),
91 P1_20 = MBED_PIN(0x01, 20, 0, 15), // GPIO0[15]
92
93 P2_0 = MBED_PIN(0x02, 0, 5, 0), // GPIO5[0]
94 P2_1 = MBED_PIN(0x02, 1, 5, 1), // GPIO5[1]
95 P2_2 = MBED_PIN(0x02, 2, 5, 2), // GPIO5[2]
96 P2_3 = MBED_PIN(0x02, 3, 5, 3), // GPIO5[3] high-drive
97 P2_4 = MBED_PIN(0x02, 4, 5, 4), // GPIO5[4] high-drive
98 P2_5 = MBED_PIN(0x02, 5, 5, 5), // GPIO5[5] high-drive
99 P2_6 = MBED_PIN(0x02, 6, 5, 6), // GPIO5[6]
100 P2_7 = MBED_PIN(0x02, 7, 0, 7), // GPIO0[7]
101 P2_8 = MBED_PIN(0x02, 8, 5, 7), // GPIO5[7]
102 P2_9 = MBED_PIN(0x02, 9, 1, 10), // GPIO1[10]
103 P2_10 = MBED_PIN(0x02, 10, 0, 14), // GPIO0[14]
104 P2_11 = MBED_PIN(0x02, 11, 1, 11), // GPIO1[11]
105 P2_12 = MBED_PIN(0x02, 12, 1, 12), // GPIO1[12]
106 P2_13 = MBED_PIN(0x02, 13, 1, 13), // GPIO1[13]
107
108 P3_0 = MBED_PIN(0x03, 0, NO_GPIO, 0),
109 P3_1 = MBED_PIN(0x03, 1, 5, 8), // GPIO5[8]
110 P3_2 = MBED_PIN(0x03, 2, 5, 9), // GPIO5[9]
111 P3_3 = MBED_PIN(0x03, 3, NO_GPIO, 0),
112 P3_4 = MBED_PIN(0x03, 4, 1, 14), // GPIO1[14]
113 P3_5 = MBED_PIN(0x03, 5, 1, 15), // GPIO1[15]
114 P3_6 = MBED_PIN(0x03, 6, 0, 6), // GPIO0[6]
115 P3_7 = MBED_PIN(0x03, 7, 5, 10), // GPIO5[10]
116 P3_8 = MBED_PIN(0x03, 8, 5, 11), // GPIO5[11]
117
118 P4_0 = MBED_PIN(0x04, 0, 2, 0), // GPIO2[0]
119 P4_1 = MBED_PIN(0x04, 1, 2, 1), // GPIO2[1]
120 P4_2 = MBED_PIN(0x04, 2, 2, 2), // GPIO2[2]
121 P4_3 = MBED_PIN(0x04, 3, 2, 3), // GPIO2[3]
122 P4_4 = MBED_PIN(0x04, 4, 2, 4), // GPIO2[4]
123 P4_5 = MBED_PIN(0x04, 5, 2, 5), // GPIO2[5]
124 P4_6 = MBED_PIN(0x04, 6, 2, 6), // GPIO2[6]
125 P4_7 = MBED_PIN(0x04, 7, NO_GPIO, 0),
126 P4_8 = MBED_PIN(0x04, 8, 5, 12), // GPIO5[12]
127 P4_9 = MBED_PIN(0x04, 9, 5, 13), // GPIO5[13]
128 P4_10 = MBED_PIN(0x04, 10, 5, 14), // GPIO5[14]
129
130 P5_0 = MBED_PIN(0x05, 0, 2, 9), // GPIO2[9]
131 P5_1 = MBED_PIN(0x05, 1, 2, 10), // GPIO2[10]
132 P5_2 = MBED_PIN(0x05, 2, 2, 11), // GPIO2[11]
133 P5_3 = MBED_PIN(0x05, 3, 2, 12), // GPIO2[12]
134 P5_4 = MBED_PIN(0x05, 4, 2, 13), // GPIO2[13]
135 P5_5 = MBED_PIN(0x05, 5, 2, 14), // GPIO2[14]
136 P5_6 = MBED_PIN(0x05, 6, 2, 15), // GPIO2[15]
137 P5_7 = MBED_PIN(0x05, 7, 2, 7), // GPIO2[7]
138
139 P6_0 = MBED_PIN(0x06, 0, NO_GPIO, 0),
140 P6_1 = MBED_PIN(0x06, 1, 3, 0), // GPIO3[0]
141 P6_2 = MBED_PIN(0x06, 2, 3, 1), // GPIO3[1]
142 P6_3 = MBED_PIN(0x06, 3, 3, 2), // GPIO3[2]
143 P6_4 = MBED_PIN(0x06, 4, 3, 3), // GPIO3[3]
144 P6_5 = MBED_PIN(0x06, 5, 3, 4), // GPIO3[4]
145 P6_6 = MBED_PIN(0x06, 6, 0, 5), // GPIO0[5]
146 P6_7 = MBED_PIN(0x06, 7, 5, 15), // GPIO5[15]
147 P6_8 = MBED_PIN(0x06, 8, 5, 16), // GPIO5[16]
148 P6_9 = MBED_PIN(0x06, 9, 3, 5), // GPIO3[5]
149 P6_10 = MBED_PIN(0x06, 10, 3, 6), // GPIO3[6]
150 P6_11 = MBED_PIN(0x06, 11, 3, 7), // GPIO3[7]
151 P6_12 = MBED_PIN(0x06, 12, 2, 8), // GPIO2[8]
152
153 P7_0 = MBED_PIN(0x07, 0, 3, 8), // GPIO3[8]
154 P7_1 = MBED_PIN(0x07, 1, 3, 9), // GPIO3[9]
155 P7_2 = MBED_PIN(0x07, 2, 3, 10), // GPIO3[10]
156 P7_3 = MBED_PIN(0x07, 3, 3, 11), // GPIO3[11]
157 P7_4 = MBED_PIN(0x07, 4, 3, 12), // GPIO3[12]
158 P7_5 = MBED_PIN(0x07, 5, 3, 13), // GPIO3[13]
159 P7_6 = MBED_PIN(0x07, 6, 3, 14), // GPIO3[14]
160 P7_7 = MBED_PIN(0x07, 7, 3, 15), // GPIO3[15]
161
162 P8_0 = MBED_PIN(0x08, 8, 4, 0), // GPIO4[0] high-drive
163 P8_1 = MBED_PIN(0x09, 0, 4, 1), // GPIO4[1] high-drive
164 P8_2 = MBED_PIN(0x09, 1, 4, 2), // GPIO4[2] high-drive
165 P8_3 = MBED_PIN(0x09, 2, 4, 3), // GPIO4[3]
166 P8_4 = MBED_PIN(0x08, 4, 4, 4), // GPIO4[4]
167 P8_5 = MBED_PIN(0x08, 5, 4, 5), // GPIO4[5]
168 P8_6 = MBED_PIN(0x08, 6, 4, 6), // GPIO4[6]
169 P8_7 = MBED_PIN(0x08, 7, 4, 7), // GPIO4[7]
170 P8_8 = MBED_PIN(0x08, 8, NO_GPIO, 0),
171
172 P9_0 = MBED_PIN(0x09, 0, 4, 12), // GPIO4[12]
173 P9_1 = MBED_PIN(0x09, 1, 4, 13), // GPIO4[13]
174 P9_2 = MBED_PIN(0x09, 2, 4, 14), // GPIO4[14]
175 P9_3 = MBED_PIN(0x09, 3, 4, 15), // GPIO4[15]
176 P9_4 = MBED_PIN(0x09, 4, 5, 17), // GPIO5[17]
177 P9_5 = MBED_PIN(0x09, 5, 5, 18), // GPIO5[18]
178 P9_6 = MBED_PIN(0x09, 6, 4, 11), // GPIO4[11]
179
180 PA_0 = MBED_PIN(0x0A, 0, NO_GPIO, 0),
181 PA_1 = MBED_PIN(0x0A, 1, 4, 8), // GPIO4[8] high-drive
182 PA_2 = MBED_PIN(0x0A, 2, 4, 9), // GPIO4[9] high-drive
183 PA_3 = MBED_PIN(0x0A, 3, 4, 10), // GPIO4[10] high-drive
184 PA_4 = MBED_PIN(0x0A, 4, 5, 19), // GPIO5[19]
185
186 PB_0 = MBED_PIN(0x0B, 0, 5, 20), // GPIO5[20]
187 PB_1 = MBED_PIN(0x0B, 1, 5, 21), // GPIO5[21]
188 PB_2 = MBED_PIN(0x0B, 2, 5, 22), // GPIO5[22]
189 PB_3 = MBED_PIN(0x0B, 3, 5, 23), // GPIO5[23]
190 PB_4 = MBED_PIN(0x0B, 4, 5, 24), // GPIO5[24]
191 PB_5 = MBED_PIN(0x0B, 5, 5, 25), // GPIO5[25]
192 PB_6 = MBED_PIN(0x0B, 6, 5, 26), // GPIO5[26]
193
194 PC_0 = MBED_PIN(0x0C, 0, NO_GPIO, 0),
195 PC_1 = MBED_PIN(0x0C, 1, 6, 0), // GPIO6[0]
196 PC_2 = MBED_PIN(0x0C, 2, 6, 1), // GPIO6[1]
197 PC_3 = MBED_PIN(0x0C, 3, 6, 2), // GPIO6[2]
198 PC_4 = MBED_PIN(0x0C, 4, 6, 3), // GPIO6[3]
199 PC_5 = MBED_PIN(0x0C, 5, 6, 4), // GPIO6[4]
200 PC_6 = MBED_PIN(0x0C, 6, 6, 5), // GPIO6[5]
201 PC_7 = MBED_PIN(0x0C, 7, 6, 6), // GPIO6[6]
202 PC_8 = MBED_PIN(0x0C, 8, 6, 7), // GPIO6[7]
203 PC_9 = MBED_PIN(0x0C, 9, 6, 8), // GPIO6[8]
204 PC_10 = MBED_PIN(0x0C, 10, 6, 9), // GPIO6[9]
205 PC_11 = MBED_PIN(0x0C, 11, 6, 10), // GPIO6[10]
206 PC_12 = MBED_PIN(0x0C, 12, 6, 11), // GPIO6[11]
207 PC_13 = MBED_PIN(0x0C, 13, 6, 12), // GPIO6[12]
208 PC_14 = MBED_PIN(0x0C, 14, 6, 13), // GPIO6[13]
209
210 PD_0 = MBED_PIN(0x0D, 0, 6, 14), // GPIO6[14]
211 PD_1 = MBED_PIN(0x0D, 1, 6, 15), // GPIO6[15]
212 PD_2 = MBED_PIN(0x0D, 2, 6, 16), // GPIO6[16]
213 PD_3 = MBED_PIN(0x0D, 3, 6, 17), // GPIO6[17]
214 PD_4 = MBED_PIN(0x0D, 4, 6, 18), // GPIO6[18]
215 PD_5 = MBED_PIN(0x0D, 5, 6, 19), // GPIO6[19]
216 PD_6 = MBED_PIN(0x0D, 6, 6, 20), // GPIO6[20]
217 PD_7 = MBED_PIN(0x0D, 7, 6, 21), // GPIO6[21]
218 PD_8 = MBED_PIN(0x0D, 8, 6, 22), // GPIO6[22]
219 PD_9 = MBED_PIN(0x0D, 9, 6, 23), // GPIO6[23]
220 PD_10 = MBED_PIN(0x0D, 10, 6, 24), // GPIO6[24]
221 PD_11 = MBED_PIN(0x0D, 11, 6, 25), // GPIO6[25]
222 PD_12 = MBED_PIN(0x0D, 12, 6, 26), // GPIO6[26]
223 PD_13 = MBED_PIN(0x0D, 13, 6, 27), // GPIO6[27]
224 PD_14 = MBED_PIN(0x0D, 14, 6, 28), // GPIO6[28]
225 PD_15 = MBED_PIN(0x0D, 15, 6, 29), // GPIO6[29]
226 PD_16 = MBED_PIN(0x0D, 16, 6, 30), // GPIO6[30]
227
228 PE_0 = MBED_PIN(0x0E, 0, 7, 0), // GPIO7[0]
229 PE_1 = MBED_PIN(0x0E, 1, 7, 1), // GPIO7[1]
230 PE_2 = MBED_PIN(0x0E, 2, 7, 2), // GPIO7[2]
231 PE_3 = MBED_PIN(0x0E, 3, 7, 3), // GPIO7[3]
232 PE_4 = MBED_PIN(0x0E, 4, 7, 4), // GPIO7[4]
233 PE_5 = MBED_PIN(0x0E, 5, 7, 5), // GPIO7[5]
234 PE_6 = MBED_PIN(0x0E, 6, 7, 6), // GPIO7[6]
235 PE_7 = MBED_PIN(0x0E, 7, 7, 7), // GPIO7[7]
236 PE_8 = MBED_PIN(0x0E, 8, 7, 8), // GPIO7[8]
237 PE_9 = MBED_PIN(0x0E, 9, 7, 9), // GPIO7[9]
238 PE_10 = MBED_PIN(0x0E, 10, 7, 10), // GPIO7[10]
239 PE_11 = MBED_PIN(0x0E, 11, 7, 11), // GPIO7[11]
240 PE_12 = MBED_PIN(0x0E, 12, 7, 12), // GPIO7[12]
241 PE_13 = MBED_PIN(0x0E, 13, 7, 13), // GPIO7[13]
242 PE_14 = MBED_PIN(0x0E, 14, 7, 14), // GPIO7[14]
243 PE_15 = MBED_PIN(0x0E, 15, 7, 15), // GPIO7[15]
244
245 PF_0 = MBED_PIN(0x0F, 0, NO_GPIO, 0),
246 PF_1 = MBED_PIN(0x0F, 1, 7, 16), // GPIO7[16]
247 PF_2 = MBED_PIN(0x0F, 2, 7, 17), // GPIO7[17]
248 PF_3 = MBED_PIN(0x0F, 3, 7, 18), // GPIO7[18]
249 PF_4 = MBED_PIN(0x0F, 4, NO_GPIO, 0),
250 PF_5 = MBED_PIN(0x0F, 5, 7, 19), // GPIO7[19]
251 PF_6 = MBED_PIN(0x0F, 6, 7, 20), // GPIO7[20]
252 PF_7 = MBED_PIN(0x0F, 7, 7, 21), // GPIO7[21]
253 PF_8 = MBED_PIN(0x0F, 8, 7, 22), // GPIO7[22]
254 PF_9 = MBED_PIN(0x0F, 9, 7, 23), // GPIO7[23]
255 PF_10 = MBED_PIN(0x0F, 10, 7, 24), // GPIO7[24]
256 PF_11 = MBED_PIN(0x0F, 11, 7, 25), // GPIO7[25]
257
258 // GPIO pins from MCU pins
259 GPIO0_0 = P0_0,
260 GPIO0_1 = P0_1 ,
261 GPIO0_2 = P1_15,
262 GPIO0_3 = P1_16,
263 GPIO0_4 = P1_0,
264 GPIO0_5 = P6_6,
265 GPIO0_6 = P3_6,
266 GPIO0_7 = P2_7,
267 GPIO0_8 = P1_1,
268 GPIO0_9 = P1_2,
269 GPIO0_10 = P1_3,
270 GPIO0_11 = P1_4,
271 GPIO0_12 = P1_17,
272 GPIO0_13 = P1_18,
273 GPIO0_14 = P2_10,
274 GPIO0_15 = P1_20,
275
276 GPIO1_0 = P1_7,
277 GPIO1_1 = P1_8,
278 GPIO1_2 = P1_9,
279 GPIO1_3 = P1_10,
280 GPIO1_4 = P1_11,
281 GPIO1_5 = P1_12,
282 GPIO1_6 = P1_13,
283 GPIO1_7 = P1_14,
284 GPIO1_8 = P1_5,
285 GPIO1_9 = P1_6,
286 GPIO1_10 = P2_9,
287 GPIO1_11 = P2_11,
288 GPIO1_12 = P2_12,
289 GPIO1_13 = P2_13,
290 GPIO1_14 = P3_4,
291 GPIO1_15 = P3_5,
292
293 GPIO2_0 = P4_0,
294 GPIO2_1 = P4_1,
295 GPIO2_2 = P4_2,
296 GPIO2_3 = P4_3,
297 GPIO2_4 = P4_4,
298 GPIO2_5 = P4_5,
299 GPIO2_6 = P4_6,
300 GPIO2_7 = P5_7,
301 GPIO2_8 = P6_12,
302 GPIO2_9 = P5_0,
303 GPIO2_10 = P5_1,
304 GPIO2_11 = P5_2,
305 GPIO2_12 = P5_3,
306 GPIO2_13 = P5_4,
307 GPIO2_14 = P5_5,
308 GPIO2_15 = P5_6,
309
310 GPIO3_0 = P6_1,
311 GPIO3_1 = P6_2,
312 GPIO3_2 = P6_3,
313 GPIO3_3 = P6_4,
314 GPIO3_4 = P6_5,
315 GPIO3_5 = P6_9,
316 GPIO3_6 = P6_10,
317 GPIO3_7 = P6_11,
318 GPIO3_8 = P7_0,
319 GPIO3_9 = P7_1,
320 GPIO3_10 = P7_2,
321 GPIO3_11 = P7_3,
322 GPIO3_12 = P7_4,
323 GPIO3_13 = P7_5,
324 GPIO3_14 = P7_6,
325 GPIO3_15 = P7_7,
326
327 GPIO4_0 = P8_0,
328 GPIO4_1 = P8_1,
329 GPIO4_2 = P8_2,
330 GPIO4_3 = P8_3,
331 GPIO4_4 = P8_4,
332 GPIO4_5 = P8_5,
333 GPIO4_6 = P8_6,
334 GPIO4_7 = P8_7,
335 GPIO4_8 = PA_1,
336 GPIO4_9 = PA_2,
337 GPIO4_10 = PA_3,
338 GPIO4_11 = P9_6,
339 GPIO4_12 = P9_0,
340 GPIO4_13 = P9_1,
341 GPIO4_14 = P9_2,
342 GPIO4_15 = P9_3,
343
344 GPIO5_0 = P2_0,
345 GPIO5_1 = P2_1,
346 GPIO5_2 = P2_2,
347 GPIO5_3 = P2_3,
348 GPIO5_4 = P2_4,
349 GPIO5_5 = P2_5,
350 GPIO5_6 = P2_6,
351 GPIO5_7 = P2_8,
352 GPIO5_8 = P3_1,
353 GPIO5_9 = P3_2,
354 GPIO5_10 = P3_7,
355 GPIO5_11 = P3_8,
356 GPIO5_12 = P4_8,
357 GPIO5_13 = P4_9,
358 GPIO5_14 = P4_10,
359 GPIO5_15 = P6_7,
360 GPIO5_16 = P6_8,
361 GPIO5_17 = P9_4,
362 GPIO5_18 = P9_5,
363 GPIO5_19 = PA_4,
364 GPIO5_20 = PB_0,
365 GPIO5_21 = PB_1,
366 GPIO5_22 = PB_2,
367 GPIO5_23 = PB_3,
368 GPIO5_24 = PB_4,
369 GPIO5_25 = PB_5,
370 GPIO5_26 = PB_6,
371
372 GPIO6_0 = PC_1,
373 GPIO6_1 = PC_2,
374 GPIO6_2 = PC_3,
375 GPIO6_3 = PC_4,
376 GPIO6_4 = PC_5,
377 GPIO6_5 = PC_6,
378 GPIO6_6 = PC_7,
379 GPIO6_7 = PC_8,
380 GPIO6_8 = PC_9,
381 GPIO6_9 = PC_10,
382 GPIO6_10 = PC_11,
383 GPIO6_11 = PC_12,
384 GPIO6_12 = PC_13,
385 GPIO6_13 = PC_14,
386 GPIO6_14 = PD_0,
387 GPIO6_15 = PD_1,
388 GPIO6_16 = PD_2,
389 GPIO6_17 = PD_3,
390 GPIO6_18 = PD_4,
391 GPIO6_19 = PD_5,
392 GPIO6_20 = PD_6,
393 GPIO6_21 = PD_7,
394 GPIO6_22 = PD_8,
395 GPIO6_23 = PD_9,
396 GPIO6_24 = PD_10,
397 GPIO6_25 = PD_11,
398 GPIO6_26 = PD_12,
399 GPIO6_27 = PD_13,
400 GPIO6_28 = PD_14,
401 GPIO6_29 = PD_15,
402 GPIO6_30 = PD_16,
403
404 GPIO7_0 = PE_0,
405 GPIO7_1 = PE_1,
406 GPIO7_2 = PE_2,
407 GPIO7_3 = PE_3,
408 GPIO7_4 = PE_4,
409 GPIO7_5 = PE_5,
410 GPIO7_6 = PE_5,
411 GPIO7_7 = PE_7,
412 GPIO7_8 = PE_8,
413 GPIO7_9 = PE_9,
414 GPIO7_10 = PE_10,
415 GPIO7_11 = PE_11,
416 GPIO7_12 = PE_12,
417 GPIO7_13 = PE_13,
418 GPIO7_14 = PE_14,
419 GPIO7_15 = PE_15,
420 GPIO7_16 = PF_1,
421 GPIO7_17 = PF_2,
422 GPIO7_18 = PF_3,
423 GPIO7_19 = PF_5,
424 GPIO7_20 = PF_6,
425 GPIO7_21 = PF_7,
426 GPIO7_22 = PF_8,
427 GPIO7_23 = PF_9,
428 GPIO7_24 = PF_10,
429 GPIO7_25 = PF_11,
430
431 // Map mbed pin names to LPC43xx board signals
432
433 // Group 0x18 : CLKn pins
434 SFP_CLK0 = MBED_PIN(0x18, 0, 0, 0),
435 SFP_CLK1 = MBED_PIN(0x18, 1, 0, 0),
436 SFP_CLK2 = MBED_PIN(0x18, 2, 0, 0),
437 SFP_CLK3 = MBED_PIN(0x18, 3, 0, 0),
438
439 // Group 0x19 : USB1, I2C0, ADC0, ADC1
440 SFP_USB1 = MBED_PIN(0x19, 0, 0, 0),
441 SFP_I2C0 = MBED_PIN(0x19, 1, 0, 0),
442 SFP_AIO0 = MBED_PIN(0x19, 2, 0, 0), // ADC0 function select register
443 SFP_AIO1 = MBED_PIN(0x19, 3, 0, 0), // ADC1 function select register
444 SFP_AIO2 = MBED_PIN(0x19, 4, 0, 0), // Analog function select register
445
446 SFP_EMCD = MBED_PIN(0x1A, 0, 0, 0), // EMC clock delay register
447
448 SFP_INS0 = MBED_PIN(0x1C, 0, 0, 0), // Interrupt select for pin interrupts 0 to 3
449 SFP_INS1 = MBED_PIN(0x1C, 1, 0, 0), // Interrupt select for pin interrupts 4 to 7
450
451 // Dedicated pin (no GPIO)
452 P_DED = MBED_PIN(0, 0, NO_GPIO, 0),
453
454 // Not connected
455 NC = (int)0xFFFFFFFF,
456
457 // ---------- Micromint Bambino 200/200E/210/210E (LQFP144) ----------
458 // Base headers - J8, J9, J10 on Bambino 210/210E
459 // n/p = not populated, n/a = not available
460 // 210E 210 200E 200
461 // ---- ---- ---- ----
462 p15 = P7_4, // J8-1 J8-1 S4-3 S4-3
463 p16 = P7_5, // J8-2 J8-2 S4-4 S4-4
464 p17 = P4_1, // J8-3 J8-3 S3-4 S3-4
465 p18 = P7_7, // J8-4 J8-4 S4-5 S4-5
466 p19 = P4_3, // J8-5* J8-5* S3-4 S3-3
467 p20 = P4_4, // J8-6* J8-6* S1-5 S1-5
468 p20b = PF_8, // J8-6** J8-6** S3-5 S3-5
469 // (*) if p20 is configured as DAC, ADC is not available for p19
470 // (**) requires JP2 mod
471
472 p21 = P6_5, // J9-1 J9-1 S2-5 S2-5
473 p22 = P6_4, // J9-2 J9-2 S2=4 S2-4
474 p23 = P1_7, // J9-3 J9-3 S2-3 S2-3
475 p24 = P4_0, // J9-4 J9-4 S3-7 S3-7
476 p25 = P6_9, // J9-5 J9-5 S8-7 n/p
477 p26 = P5_5, // J9-6 J9-6 S3-8 S3-8
478 p27 = P5_7, // J9-7 J9-7 S3-9 S3-9
479 p28 = P7_6, // J9-8 J9-8 S4-6 S4-6
480
481 p29 = P6_12, // J10-1 J10-1 S10-3 n/p
482 p30 = P5_0, // J10-2 J10-2 S1-4 S1-4
483 p31 = P4_6, // J10-3 J10-3 S2-6 S2-6
484 p32 = P4_8, // J10-4 J10-4 S2-7 S2-7
485 p33 = P4_9, // J10-5 J10-5 S2-8 S2-8
486 p34 = P4_10, // J10-6 J10-6 S2-9 S2-9
487 p37 = P2_3, // J10-9 J10-9 S4-8 S4-8
488 p38 = P2_4, // J10-10 J10-10 S4-9 S4-9
489
490 // Extended headers - J11, J12, J13, J14 on Bambino 210E
491 // 210E 210 200E 200
492 // ---- ---- ---- ----
493 p47 = P6_3, // J11-1 n/p S7-5 n/p
494 p48 = P6_6, // J11-2 n/p S6-7 n/p
495 p49 = P6_7, // J11-3 n/p S6-8 n/p
496 p50 = P6_8, // J11-4 n/p S6-9 n/p
497 p53 = P2_2, // J11-7 n/p S7-7 n/p
498 p54 = P2_1, // J11-8 n/p S7-3 n/p
499
500 p55 = PF_10, // J12-1 n/p n/a n/a
501 p56 = PF_7, // J12-2 n/p n/a n/a
502 p57 = P2_6, // J12-3 n/p S8-6 n/p
503 p58 = P2_8, // J12-4 n/p S8-3 n/p
504 p59 = P6_10, // J12-5 n/p S7-8 n/p
505 p60 = P2_9, // J12-6 n/p S9-3 n/p
506
507 p61 = P7_3, // J13-1 n/p S7-9 n/p
508 p62 = P3_2, // J13-2 n/p S9-4 n/p
509 p63 = P7_2, // J13-3 n/p S4-7 S4-7
510 p64 = P3_1, // J13-4 n/p S9-5 n/p
511 p65 = P7_1, // J13-5 n/p S9-8 n/p
512 p66 = P7_0, // J13-6 n/p S9-9 n/p
513 p67 = P4_2, // J13-7 n/p S4-6 S4-6
514 p68 = P4_5, // J13-8 n/p S1-3 S1-3
515
516 p69 = P2_13, // J14-1 n/p S9-7 n/p
517 p70 = P2_12, // J14-2 n/p S9-6 n/p
518 p71 = P9_6, // J14-3 n/p S6-6 n/p
519 p72 = P9_5, // J14-4 n/p S7-4 n/p
520 p73 = P5_3, // J14-5 n/p S6-5 n/p
521 p74 = P1_8, // J14-6 n/p S6-4 n/p
522 p75 = P1_5, // J14-7 n/p S10-6 n/p
523 p76 = P1_4, // J14-8 n/p S10-7 n/p
524 p77 = P1_3, // J14-9 n/p S10-8 n/p
525 p78 = PF_4, // J14-10 n/p S10-9 n/p
526
527 // J16 - PMOD-SSP header (not populated, field installable)
528 p80 = P1_0, // J16-1 J16-1 S1-6 S1-6
529 p81 = P1_2, // J16-2 J16-2 S1-7 S1-7
530 p82 = P1_1, // J16-3 J16-3 S1-8 S1-8
531 p83 = P3_0, // J16-4 J16-4 S1-9 S1-9
532
533 // Arduino pins - J8, J9, J10
534 // 210E 210 200E 200
535 // ---- ---- ---- ----
536 D0 = p21, // J9-1 J9-1 S2-5 S2-5
537 D1 = p22, // J9-2 J9-2 S2-4 S2-4
538 D2 = p23, // J9-3 J9-3 S2-3 S2-3
539 D3 = p24, // J9-4 J9-4 S3-7 S3-7
540 D4 = p25, // J9-5 J9-5 S8-7 n/p
541 D5 = p26, // J9-6 J9-6 S3-8 S3-8
542 D6 = p27, // J9-7 J9-7 S3-9 S3-9
543 D7 = p28, // J9-8 J9-8 S4-6 S4-6
544
545 D8 = p29, // J10-1 J10-1 S10-1 n/p
546 D9 = p30, // J10-2 J10-2 S1-4 S1-4
547 D10 = p31, // J10-3 J10-3 S2-6 S2-6
548 D11 = p32, // J10-4 J10-4 S2-7 S2-7
549 D12 = p33, // J10-5 J10-5 S2-8 S2-8
550 D13 = p34, // J10-6 J10-6 S2-9 S2-9
551 D16 = p37, // J10-9 J10-9 S4-8 S4-8
552 D17 = p38, // J10-10 J10-10 S4-9 S4-9
553
554 A0 = p15, // J8-1 J8-1 S4-3 S4-3
555 A1 = p16, // J8-2 J8-2 S4-4 S4-4
556 A2 = p17, // J8-3 J8-3 S3-4 S3-4
557 A3 = p18, // J8-4 J8-4 S3-4 S3-4
558 A4 = p19, // J8-5* J8-5* S3-3 S3-3
559 A5 = p20, // J8-6* J8-6* S1-5 S1-5
560 A5b = p20b, // J8-6** J8-6** S3-5 S3-5
561 // (*) if A5 is configured as DAC, ADC is not available for A4
562 // (**) requires JP2 mod
563
564 // Extended Arduino pins - J11, J12, J13, J14
565 // 210E 210 200E 200
566 // ---- ---- ---- ----
567 D20 = p61, // J13-1 n/p S7-9 n/p
568 D21 = p62, // J13-2 n/p S9-4 n/p
569 D22 = p63, // J13-3 n/p S4-7 S4-7
570 D23 = p64, // J13-4 n/p S9-5 n/p
571 D24 = p65, // J13-5 n/p S9-8 n/p
572 D25 = p66, // J13-6 n/p S9-9 n/p
573 D26 = p67, // J13-7 n/p S3-7 S3-7
574 D27 = p68, // J13-8 n/p S1-3 S1-3
575
576 D30 = p69, // J14-1 n/p S9-7 n/p
577 D31 = p70, // J14-2 n/p S9-6 n/p
578 D32 = p71, // J14-3 n/p S6-6 n/p
579 D33 = p72, // J14-4 n/p S7-4 n/p
580 D34 = p73, // J14-5 n/p S6-5 n/p
581 D35 = p74, // J14-6 n/p S6-4 n/p
582 D36 = p75, // J14-7 n/p S10-6 n/p
583 D37 = p76, // J14-8 n/p S10-7 n/p
584 D38 = p77, // J14-9 n/p S10-8 n/p
585 D39 = p78, // J14-10 n/p S10-9 n/p
586
587 D40 = p47, // J11-1 n/p S7-5 n/p
588 D41 = p48, // J11-2 n/p S6-7 n/p
589 D42 = p49, // J11-3 n/p S6-8 n/p
590 D43 = p50, // J11-4 n/p S6-9 n/p
591 D46 = p53, // J11-7 n/p S7-7 n/p
592 D47 = p54, // J11-8 n/p S7-3 n/p
593
594 D52 = p57, // J12-3 n/p S8-6 n/p
595 D53 = p58, // J12-4 n/p S8-3 n/p
596 D54 = p59, // J12-5 n/p S7-8 n/p
597 D55 = p60, // J12-6 n/p S9-3 n/p
598
599 A6 = p55, // J12-1 n/p n/a n/a
600 A7 = p56, // J12-2 n/p n/a n/a
601
602 // User interfaces: LEDs, buttons
603 // 210E 210 200E 200
604 // ---- ---- ---- ----
605 LED1 = P6_11, // 210/210E/200e/200
606 LED2 = P2_5, // 210/210E/200e/200
607 LED3 = P6_1, // 210/210E only S6-3 n/p
608 LED4 = P6_2, // 210/210E only S7-6 n/p
609
610 LED_YELLOW = LED1,
611 LED_GREEN = LED2,
612 LED_RED = LED3,
613 LED_BLUE = LED4,
614
615 BTN1 = P2_7,
616
617 // Serial pins - UART, SPI, I2C
618 // 210E 210 200E 200
619 // ---- ---- ---- ----
620 UART0_TX = P6_4, // J9-2 J9-2 S2-4 S2-4
621 UART0_RX = P6_5, // J9-1 J9-1 S2-5 S2-5
622 UART1_TX = P5_6, // XBEE n/p S5-4/XBEE S5-4
623 UART1_RX = P1_14, // XBEE n/p S5-5/XBEE S5-5
624 UART2_TX = P2_10, // MBEDHDK MBEDHDK S10-4 n/p
625 UART2_RX = P2_11, // MBEDHDK MBEDHDK S10-5 n/p
626 UART3_TX = P2_3, // J10-9 n/p S4-8 S4-8
627 UART3_RX = P2_4, // J10-10 n/p S4-9 S4-9
628
629 COM1_TX = UART0_TX,
630 COM1_RX = UART0_RX,
631 COM2_TX = UART1_TX,
632 COM2_RX = UART1_RX,
633 COM3_TX = UART2_TX,
634 COM3_RX = UART2_RX,
635 COM4_TX = UART3_TX,
636 COM4_RX = UART3_RX,
637
638 // 210E 210 200E 200
639 // ---- ---- ---- ----
640 SPI0_SCK = P3_0, // J16-4 n/p S1-9 S1-9
641 SPI0_MISO = P1_1, // J16-3 n/p S1-8 S1-8
642 SPI0_MOSI = P1_2, // J16-2 n/p S1-7 S1-7
643 SPI0_SSEL = P1_0, // J16-1 n/p S1-6 S1-6
644 SPI1_SCK = PF_4, // J14-10 n/p S10-9 n/p
645 SPI1_MISO = P1_3, // J14-9 n/p S10-8 n/p
646 SPI1_MOSI = P1_4, // J14-8 n/p S10-7 n/p
647 SPI1_SSEL = P1_5, // J14-7 n/p S10-6 n/p
648
649 I2C0_SDA = P_DED, // J15-3 J15-3 S8-8 n/p
650 I2C0_SCL = P_DED, // J15-1 J15-1 S8-9 n/p
651 I2C1_SDA = P2_3, // J10-9 J10-9 S4-8 S4-8
652 I2C1_SCL = P2_4, // J10-10 J10-10 S4-9 S4-9
653
654 // Analog pins
655 ADC0 = P7_4, // J8-1 J8-1 S4-3 S4-3
656 ADC1 = P7_5, // J8-2 J8-2 S4-4 S4-4
657 ADC2 = P4_1, // J8-3 J8-3 S3-4 S3-4
658 ADC3 = P7_7, // J8-4 J8-4 S3-4 S3-4
659 ADC4 = P4_3, // J8-5* J8-5* S3-3 S3-3
660 ADC5 = PF_8, // J8-6** J8-6** S1-5 S1-5
661 ADC6 = PF_10, // J12-1 n/p n/a n/a
662 ADC7 = PF_7, // J12-2 n/p n/a n/a
663 DAC0 = P4_4, // J8-6* J8-6* S3-5 S3-5
664 // (*) if DAC0 is configured, ADC4 is not available
665 // (**) ADC5 requires JP2 mod
666
667 // USB pins
668 // 210E 210 200E 200
669 // ---- ---- ---- ----
670 USBTX = UART2_TX, // MBEDHDK MBEDHDK S10-4 n/p
671 USBRX = UART2_RX, // MBEDHDK MBEDHDK S10-5 n/p
672
673 // PWM pins
674 // 210E 210 200E 200
675 // ---- ---- ---- ----
676 PWM1 = P1_7, // J9-3 J9-3 S2-3 S2-3
677 PWM2 = P7_6, // J9-8 J9-8 S4-6 S4-6
678 PWM3 = P6_12, // J10-1 J10-1 S10-3 n/p
679 PWM4 = P4_6, // J10-3 J10-3 S2-6 S2-6
680 PWM5 = P7_5, // J8-2 J8-2 S4-4 S4-4
681 PWM6 = P4_1, // J8-3 J8-3 S3-4 S3-4
682 PWM7 = P7_7, // J8-4 J8-4 S4-5 S4-5
683 PWM8 = P2_8, // J12-4 n/p S8-3 n/p
684 PWM9 = P2_9, // J12-6 n/p S9-3 n/p
685 PWM10 = P7_1, // J13-5 n/p S9-8 n/p
686 PWM11 = P7_0, // J13-6 n/p S9-9 n/p
687 PWM12 = P1_5, // J14-7 n/p S10-6 n/p
688
689 // ---------- End of Micromint Bambino ----------
690 } PinName;
691
692 typedef enum {
693 PullUp = 0,
694 PullDown = 3,
695 PullNone = 2,
696 Repeater = 1,
697 OpenDrain = 4,
698 PullDefault = PullDown
699 } PinMode;
700
701 #ifdef __cplusplus
702 }
703 #endif
704
705 #endif
Imprint / Impressum