Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-dev by
Diff: targets/hal/TARGET_NXP/TARGET_LPC43XX/TARGET_LPC4337/PinNames.h
- Revision:
- 0:9b334a45a8ff
- Child:
- 144:ef7eb2e8f9f7
diff -r 000000000000 -r 9b334a45a8ff targets/hal/TARGET_NXP/TARGET_LPC43XX/TARGET_LPC4337/PinNames.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/targets/hal/TARGET_NXP/TARGET_LPC43XX/TARGET_LPC4337/PinNames.h Thu Oct 01 15:25:22 2015 +0300
@@ -0,0 +1,523 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef MBED_PINNAMES_H
+#define MBED_PINNAMES_H
+
+#include "cmsis.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+ PIN_INPUT,
+ PIN_OUTPUT
+} PinDirection;
+
+#define PORT_SHIFT 5
+#define NO_GPIO 15
+
+// On the LPC43xx the MCU pin name and the GPIO pin name are not the same.
+// Encode SCU and GPIO offsets as a pin identifier
+#define MBED_PIN(group, num, port, pin) ((SCU_OFF(group,num) << 16) + GPIO_OFF(port,pin))
+
+// Decode pin identifier into register, port and pin values
+#define MBED_SCU_REG(MBED_PIN) (LPC_SCU_BASE + (MBED_PIN >> 16))
+#define MBED_GPIO_REG(MBED_PIN) (LPC_GPIO_PORT_BASE + 0x2000 + ((MBED_PIN >> (PORT_SHIFT - 2)) & 0x0000003C))
+#define MBED_GPIO_PORT(MBED_PIN) ((MBED_PIN >> PORT_SHIFT) & 0x0000000F)
+#define MBED_GPIO_PIN(MBED_PIN) (MBED_PIN & 0x0000001F)
+
+typedef enum {
+ // LPC43xx Pin Names
+ // All pins defined. Package determines which are available.
+ // LBGA256 TFBGA180 TFBGA100 LQFP208 LQFP144
+ // GPIO0 [15:0] [15:0] [15:6] [15:0] [15:0]
+ // [4:0]
+ // GPIO1 [15:0] [15:0] [15:0] [15:0] [15:0]
+ // GPIO2 [15:0] [15:0] [15:0] [15:0]
+ // GPIO3 [15:0] [15:0] [7] [15:0] [15:0]
+ // [5:3]
+ // [1:0]
+ // GPIO4 [15:0] [15:0] [15:0] [11]
+ // GPIO5 [26:0] [26:0] [11:0] [25:0] [18]
+ // [16:0]
+ // GPIO6 [30:0] [30:28] [30:20]
+ // [26:25] [5:0]
+ // GPIO7 [25:0] [4:0] [25:23]
+ // [21:17]
+ // --- --- --- --- ---
+ // Total 164 117 49 131 83
+
+ // Groups 0x00 - 0x0F : Digital pins
+ // * Digital pins support up to 8 functions
+ // Use func=0 for GPIO0-GPIO4, func=4 for GPIO5-GPIO7
+ // * High-drive pins default to 4 mA but can support 8, 14, 20 mA
+ P0_0 = MBED_PIN(0x00, 0, 0, 0), // GPIO0[0]
+ P0_1 = MBED_PIN(0x00, 1, 0, 1), // GPIO0[1]
+
+ P1_0 = MBED_PIN(0x01, 0, 0, 4), // GPIO0[4]
+ P1_1 = MBED_PIN(0x01, 1, 0, 8), // GPIO0[8]
+ P1_2 = MBED_PIN(0x01, 2, 0, 9), // GPIO0[9]
+ P1_3 = MBED_PIN(0x01, 3, 0, 10), // GPIO0[10]
+ P1_4 = MBED_PIN(0x01, 4, 0, 11), // GPIO0[11]
+ P1_5 = MBED_PIN(0x01, 5, 1, 8), // GPIO1[8]
+ P1_6 = MBED_PIN(0x01, 6, 1, 9), // GPIO1[9]
+ P1_7 = MBED_PIN(0x01, 7, 1, 0), // GPIO1[0]
+ P1_8 = MBED_PIN(0x01, 8, 1, 1), // GPIO1[1]
+ P1_9 = MBED_PIN(0x01, 9, 1, 2), // GPIO1[2]
+ P1_10 = MBED_PIN(0x01, 10, 1, 3), // GPIO1[3]
+ P1_11 = MBED_PIN(0x01, 11, 1, 4), // GPIO1[4]
+ P1_12 = MBED_PIN(0x01, 12, 1, 5), // GPIO1[5]
+ P1_13 = MBED_PIN(0x01, 13, 1, 6), // GPIO1[6]
+ P1_14 = MBED_PIN(0x01, 14, 1, 7), // GPIO1[7]
+ P1_15 = MBED_PIN(0x01, 15, 0, 2), // GPIO0[2]
+ P1_16 = MBED_PIN(0x01, 16, 0, 3), // GPIO0[3]
+ P1_17 = MBED_PIN(0x01, 17, 0, 12), // GPIO0[12] high-drive
+ P1_18 = MBED_PIN(0x01, 18, 0, 13), // GPIO0[13]
+ P1_19 = MBED_PIN(0x01, 19, NO_GPIO, 0),
+ P1_20 = MBED_PIN(0x01, 20, 0, 15), // GPIO0[15]
+
+ P2_0 = MBED_PIN(0x02, 0, 5, 0), // GPIO5[0]
+ P2_1 = MBED_PIN(0x02, 1, 5, 1), // GPIO5[1]
+ P2_2 = MBED_PIN(0x02, 2, 5, 2), // GPIO5[2]
+ P2_3 = MBED_PIN(0x02, 3, 5, 3), // GPIO5[3] high-drive
+ P2_4 = MBED_PIN(0x02, 4, 5, 4), // GPIO5[4] high-drive
+ P2_5 = MBED_PIN(0x02, 5, 5, 5), // GPIO5[5] high-drive
+ P2_6 = MBED_PIN(0x02, 6, 5, 6), // GPIO5[6]
+ P2_7 = MBED_PIN(0x02, 7, 0, 7), // GPIO0[7]
+ P2_8 = MBED_PIN(0x02, 8, 5, 7), // GPIO5[7]
+ P2_9 = MBED_PIN(0x02, 9, 1, 10), // GPIO1[10]
+ P2_10 = MBED_PIN(0x02, 10, 0, 14), // GPIO0[14]
+ P2_11 = MBED_PIN(0x02, 11, 1, 11), // GPIO1[11]
+ P2_12 = MBED_PIN(0x02, 12, 1, 12), // GPIO1[12]
+ P2_13 = MBED_PIN(0x02, 13, 1, 13), // GPIO1[13]
+
+ P3_0 = MBED_PIN(0x03, 0, NO_GPIO, 0),
+ P3_1 = MBED_PIN(0x03, 1, 5, 8), // GPIO5[8]
+ P3_2 = MBED_PIN(0x03, 2, 5, 9), // GPIO5[9]
+ P3_3 = MBED_PIN(0x03, 3, NO_GPIO, 0),
+ P3_4 = MBED_PIN(0x03, 4, 1, 14), // GPIO1[14]
+ P3_5 = MBED_PIN(0x03, 5, 1, 15), // GPIO1[15]
+ P3_6 = MBED_PIN(0x03, 6, 0, 6), // GPIO0[6]
+ P3_7 = MBED_PIN(0x03, 7, 5, 10), // GPIO5[10]
+ P3_8 = MBED_PIN(0x03, 8, 5, 11), // GPIO5[11]
+
+ P4_0 = MBED_PIN(0x04, 0, 2, 0), // GPIO2[0]
+ P4_1 = MBED_PIN(0x04, 1, 2, 1), // GPIO2[1]
+ P4_2 = MBED_PIN(0x04, 2, 2, 2), // GPIO2[2]
+ P4_3 = MBED_PIN(0x04, 3, 2, 3), // GPIO2[3]
+ P4_4 = MBED_PIN(0x04, 4, 2, 4), // GPIO2[4]
+ P4_5 = MBED_PIN(0x04, 5, 2, 5), // GPIO2[5]
+ P4_6 = MBED_PIN(0x04, 6, 2, 6), // GPIO2[6]
+ P4_7 = MBED_PIN(0x04, 7, NO_GPIO, 0),
+ P4_8 = MBED_PIN(0x04, 8, 5, 12), // GPIO5[12]
+ P4_9 = MBED_PIN(0x04, 9, 5, 13), // GPIO5[13]
+ P4_10 = MBED_PIN(0x04, 10, 5, 14), // GPIO5[14]
+
+ P5_0 = MBED_PIN(0x05, 0, 2, 9), // GPIO2[9]
+ P5_1 = MBED_PIN(0x05, 1, 2, 10), // GPIO2[10]
+ P5_2 = MBED_PIN(0x05, 2, 2, 11), // GPIO2[11]
+ P5_3 = MBED_PIN(0x05, 3, 2, 12), // GPIO2[12]
+ P5_4 = MBED_PIN(0x05, 4, 2, 13), // GPIO2[13]
+ P5_5 = MBED_PIN(0x05, 5, 2, 14), // GPIO2[14]
+ P5_6 = MBED_PIN(0x05, 6, 2, 15), // GPIO2[15]
+ P5_7 = MBED_PIN(0x05, 7, 2, 7), // GPIO2[7]
+
+ P6_0 = MBED_PIN(0x06, 0, NO_GPIO, 0),
+ P6_1 = MBED_PIN(0x06, 1, 3, 0), // GPIO3[0]
+ P6_2 = MBED_PIN(0x06, 2, 3, 1), // GPIO3[1]
+ P6_3 = MBED_PIN(0x06, 3, 3, 2), // GPIO3[2]
+ P6_4 = MBED_PIN(0x06, 4, 3, 3), // GPIO3[3]
+ P6_5 = MBED_PIN(0x06, 5, 3, 4), // GPIO3[4]
+ P6_6 = MBED_PIN(0x06, 6, 0, 5), // GPIO0[5]
+ P6_7 = MBED_PIN(0x06, 7, 5, 15), // GPIO5[15]
+ P6_8 = MBED_PIN(0x06, 8, 5, 16), // GPIO5[16]
+ P6_9 = MBED_PIN(0x06, 9, 3, 5), // GPIO3[5]
+ P6_10 = MBED_PIN(0x06, 10, 3, 6), // GPIO3[6]
+ P6_11 = MBED_PIN(0x06, 11, 3, 7), // GPIO3[7]
+ P6_12 = MBED_PIN(0x06, 12, 2, 8), // GPIO2[8]
+
+ P7_0 = MBED_PIN(0x07, 0, 3, 8), // GPIO3[8]
+ P7_1 = MBED_PIN(0x07, 1, 3, 9), // GPIO3[9]
+ P7_2 = MBED_PIN(0x07, 2, 3, 10), // GPIO3[10]
+ P7_3 = MBED_PIN(0x07, 3, 3, 11), // GPIO3[11]
+ P7_4 = MBED_PIN(0x07, 4, 3, 12), // GPIO3[12]
+ P7_5 = MBED_PIN(0x07, 5, 3, 13), // GPIO3[13]
+ P7_6 = MBED_PIN(0x07, 6, 3, 14), // GPIO3[14]
+ P7_7 = MBED_PIN(0x07, 7, 3, 15), // GPIO3[15]
+
+ P8_0 = MBED_PIN(0x08, 8, 4, 0), // GPIO4[0] high-drive
+ P8_1 = MBED_PIN(0x09, 0, 4, 1), // GPIO4[1] high-drive
+ P8_2 = MBED_PIN(0x09, 1, 4, 2), // GPIO4[2] high-drive
+ P8_3 = MBED_PIN(0x09, 2, 4, 3), // GPIO4[3]
+ P8_4 = MBED_PIN(0x08, 4, 4, 4), // GPIO4[4]
+ P8_5 = MBED_PIN(0x08, 5, 4, 5), // GPIO4[5]
+ P8_6 = MBED_PIN(0x08, 6, 4, 6), // GPIO4[6]
+ P8_7 = MBED_PIN(0x08, 7, 4, 7), // GPIO4[7]
+ P8_8 = MBED_PIN(0x08, 8, NO_GPIO, 0),
+
+ P9_0 = MBED_PIN(0x09, 0, 4, 12), // GPIO4[12]
+ P9_1 = MBED_PIN(0x09, 1, 4, 13), // GPIO4[13]
+ P9_2 = MBED_PIN(0x09, 2, 4, 14), // GPIO4[14]
+ P9_3 = MBED_PIN(0x09, 3, 4, 15), // GPIO4[15]
+ P9_4 = MBED_PIN(0x09, 4, 5, 17), // GPIO5[17]
+ P9_5 = MBED_PIN(0x09, 5, 5, 18), // GPIO5[18]
+ P9_6 = MBED_PIN(0x09, 6, 4, 11), // GPIO4[11]
+
+ PA_0 = MBED_PIN(0x0A, 0, NO_GPIO, 0),
+ PA_1 = MBED_PIN(0x0A, 1, 4, 8), // GPIO4[8] high-drive
+ PA_2 = MBED_PIN(0x0A, 2, 4, 9), // GPIO4[9] high-drive
+ PA_3 = MBED_PIN(0x0A, 3, 4, 10), // GPIO4[10] high-drive
+ PA_4 = MBED_PIN(0x0A, 4, 5, 19), // GPIO5[19]
+
+ PB_0 = MBED_PIN(0x0B, 0, 5, 20), // GPIO5[20]
+ PB_1 = MBED_PIN(0x0B, 1, 5, 21), // GPIO5[21]
+ PB_2 = MBED_PIN(0x0B, 2, 5, 22), // GPIO5[22]
+ PB_3 = MBED_PIN(0x0B, 3, 5, 23), // GPIO5[23]
+ PB_4 = MBED_PIN(0x0B, 4, 5, 24), // GPIO5[24]
+ PB_5 = MBED_PIN(0x0B, 5, 5, 25), // GPIO5[25]
+ PB_6 = MBED_PIN(0x0B, 6, 5, 26), // GPIO5[26]
+
+ PC_0 = MBED_PIN(0x0C, 0, NO_GPIO, 0),
+ PC_1 = MBED_PIN(0x0C, 1, 6, 0), // GPIO6[0]
+ PC_2 = MBED_PIN(0x0C, 2, 6, 1), // GPIO6[1]
+ PC_3 = MBED_PIN(0x0C, 3, 6, 2), // GPIO6[2]
+ PC_4 = MBED_PIN(0x0C, 4, 6, 3), // GPIO6[3]
+ PC_5 = MBED_PIN(0x0C, 5, 6, 4), // GPIO6[4]
+ PC_6 = MBED_PIN(0x0C, 6, 6, 5), // GPIO6[5]
+ PC_7 = MBED_PIN(0x0C, 7, 6, 6), // GPIO6[6]
+ PC_8 = MBED_PIN(0x0C, 8, 6, 7), // GPIO6[7]
+ PC_9 = MBED_PIN(0x0C, 9, 6, 8), // GPIO6[8]
+ PC_10 = MBED_PIN(0x0C, 10, 6, 9), // GPIO6[9]
+ PC_11 = MBED_PIN(0x0C, 11, 6, 10), // GPIO6[10]
+ PC_12 = MBED_PIN(0x0C, 12, 6, 11), // GPIO6[11]
+ PC_13 = MBED_PIN(0x0C, 13, 6, 12), // GPIO6[12]
+ PC_14 = MBED_PIN(0x0C, 14, 6, 13), // GPIO6[13]
+
+ PD_0 = MBED_PIN(0x0D, 0, 6, 14), // GPIO6[14]
+ PD_1 = MBED_PIN(0x0D, 1, 6, 15), // GPIO6[15]
+ PD_2 = MBED_PIN(0x0D, 2, 6, 16), // GPIO6[16]
+ PD_3 = MBED_PIN(0x0D, 3, 6, 17), // GPIO6[17]
+ PD_4 = MBED_PIN(0x0D, 4, 6, 18), // GPIO6[18]
+ PD_5 = MBED_PIN(0x0D, 5, 6, 19), // GPIO6[19]
+ PD_6 = MBED_PIN(0x0D, 6, 6, 20), // GPIO6[20]
+ PD_7 = MBED_PIN(0x0D, 7, 6, 21), // GPIO6[21]
+ PD_8 = MBED_PIN(0x0D, 8, 6, 22), // GPIO6[22]
+ PD_9 = MBED_PIN(0x0D, 9, 6, 23), // GPIO6[23]
+ PD_10 = MBED_PIN(0x0D, 10, 6, 24), // GPIO6[24]
+ PD_11 = MBED_PIN(0x0D, 11, 6, 25), // GPIO6[25]
+ PD_12 = MBED_PIN(0x0D, 12, 6, 26), // GPIO6[26]
+ PD_13 = MBED_PIN(0x0D, 13, 6, 27), // GPIO6[27]
+ PD_14 = MBED_PIN(0x0D, 14, 6, 28), // GPIO6[28]
+ PD_15 = MBED_PIN(0x0D, 15, 6, 29), // GPIO6[29]
+ PD_16 = MBED_PIN(0x0D, 16, 6, 30), // GPIO6[30]
+
+ PE_0 = MBED_PIN(0x0E, 0, 7, 0), // GPIO7[0]
+ PE_1 = MBED_PIN(0x0E, 1, 7, 1), // GPIO7[1]
+ PE_2 = MBED_PIN(0x0E, 2, 7, 2), // GPIO7[2]
+ PE_3 = MBED_PIN(0x0E, 3, 7, 3), // GPIO7[3]
+ PE_4 = MBED_PIN(0x0E, 4, 7, 4), // GPIO7[4]
+ PE_5 = MBED_PIN(0x0E, 5, 7, 5), // GPIO7[5]
+ PE_6 = MBED_PIN(0x0E, 6, 7, 6), // GPIO7[6]
+ PE_7 = MBED_PIN(0x0E, 7, 7, 7), // GPIO7[7]
+ PE_8 = MBED_PIN(0x0E, 8, 7, 8), // GPIO7[8]
+ PE_9 = MBED_PIN(0x0E, 9, 7, 9), // GPIO7[9]
+ PE_10 = MBED_PIN(0x0E, 10, 7, 10), // GPIO7[10]
+ PE_11 = MBED_PIN(0x0E, 11, 7, 11), // GPIO7[11]
+ PE_12 = MBED_PIN(0x0E, 12, 7, 12), // GPIO7[12]
+ PE_13 = MBED_PIN(0x0E, 13, 7, 13), // GPIO7[13]
+ PE_14 = MBED_PIN(0x0E, 14, 7, 14), // GPIO7[14]
+ PE_15 = MBED_PIN(0x0E, 15, 7, 15), // GPIO7[15]
+
+ PF_0 = MBED_PIN(0x0F, 0, NO_GPIO, 0),
+ PF_1 = MBED_PIN(0x0F, 1, 7, 16), // GPIO7[16]
+ PF_2 = MBED_PIN(0x0F, 2, 7, 17), // GPIO7[17]
+ PF_3 = MBED_PIN(0x0F, 3, 7, 18), // GPIO7[18]
+ PF_4 = MBED_PIN(0x0F, 4, NO_GPIO, 0),
+ PF_5 = MBED_PIN(0x0F, 5, 7, 19), // GPIO7[19]
+ PF_6 = MBED_PIN(0x0F, 6, 7, 20), // GPIO7[20]
+ PF_7 = MBED_PIN(0x0F, 7, 7, 21), // GPIO7[21]
+ PF_8 = MBED_PIN(0x0F, 8, 7, 22), // GPIO7[22]
+ PF_9 = MBED_PIN(0x0F, 9, 7, 23), // GPIO7[23]
+ PF_10 = MBED_PIN(0x0F, 10, 7, 24), // GPIO7[24]
+ PF_11 = MBED_PIN(0x0F, 11, 7, 25), // GPIO7[25]
+
+ // GPIO pins from MCU pins
+ GPIO0_0 = P0_0,
+ GPIO0_1 = P0_1 ,
+ GPIO0_2 = P1_15,
+ GPIO0_3 = P1_16,
+ GPIO0_4 = P1_0,
+ GPIO0_5 = P6_6,
+ GPIO0_6 = P3_6,
+ GPIO0_7 = P2_7,
+ GPIO0_8 = P1_1,
+ GPIO0_9 = P1_2,
+ GPIO0_10 = P1_3,
+ GPIO0_11 = P1_4,
+ GPIO0_12 = P1_17,
+ GPIO0_13 = P1_18,
+ GPIO0_14 = P2_10,
+ GPIO0_15 = P1_20,
+
+ GPIO1_0 = P1_7,
+ GPIO1_1 = P1_8,
+ GPIO1_2 = P1_9,
+ GPIO1_3 = P1_10,
+ GPIO1_4 = P1_11,
+ GPIO1_5 = P1_12,
+ GPIO1_6 = P1_13,
+ GPIO1_7 = P1_14,
+ GPIO1_8 = P1_5,
+ GPIO1_9 = P1_6,
+ GPIO1_10 = P2_9,
+ GPIO1_11 = P2_11,
+ GPIO1_12 = P2_12,
+ GPIO1_13 = P2_13,
+ GPIO1_14 = P3_4,
+ GPIO1_15 = P3_5,
+
+ GPIO2_0 = P4_0,
+ GPIO2_1 = P4_1,
+ GPIO2_2 = P4_2,
+ GPIO2_3 = P4_3,
+ GPIO2_4 = P4_4,
+ GPIO2_5 = P4_5,
+ GPIO2_6 = P4_6,
+ GPIO2_7 = P5_7,
+ GPIO2_8 = P6_12,
+ GPIO2_9 = P5_0,
+ GPIO2_10 = P5_1,
+ GPIO2_11 = P5_2,
+ GPIO2_12 = P5_3,
+ GPIO2_13 = P5_4,
+ GPIO2_14 = P5_5,
+ GPIO2_15 = P5_6,
+
+ GPIO3_0 = P6_1,
+ GPIO3_1 = P6_2,
+ GPIO3_2 = P6_3,
+ GPIO3_3 = P6_4,
+ GPIO3_4 = P6_5,
+ GPIO3_5 = P6_9,
+ GPIO3_6 = P6_10,
+ GPIO3_7 = P6_11,
+ GPIO3_8 = P7_0,
+ GPIO3_9 = P7_1,
+ GPIO3_10 = P7_2,
+ GPIO3_11 = P7_3,
+ GPIO3_12 = P7_4,
+ GPIO3_13 = P7_5,
+ GPIO3_14 = P7_6,
+ GPIO3_15 = P7_7,
+
+ GPIO4_0 = P8_0,
+ GPIO4_1 = P8_1,
+ GPIO4_2 = P8_2,
+ GPIO4_3 = P8_3,
+ GPIO4_4 = P8_4,
+ GPIO4_5 = P8_5,
+ GPIO4_6 = P8_6,
+ GPIO4_7 = P8_7,
+ GPIO4_8 = PA_1,
+ GPIO4_9 = PA_2,
+ GPIO4_10 = PA_3,
+ GPIO4_11 = P9_6,
+ GPIO4_12 = P9_0,
+ GPIO4_13 = P9_1,
+ GPIO4_14 = P9_2,
+ GPIO4_15 = P9_3,
+
+ GPIO5_0 = P2_0,
+ GPIO5_1 = P2_1,
+ GPIO5_2 = P2_2,
+ GPIO5_3 = P2_3,
+ GPIO5_4 = P2_4,
+ GPIO5_5 = P2_5,
+ GPIO5_6 = P2_6,
+ GPIO5_7 = P2_8,
+ GPIO5_8 = P3_1,
+ GPIO5_9 = P3_2,
+ GPIO5_10 = P3_7,
+ GPIO5_11 = P3_8,
+ GPIO5_12 = P4_8,
+ GPIO5_13 = P4_9,
+ GPIO5_14 = P4_10,
+ GPIO5_15 = P6_7,
+ GPIO5_16 = P6_8,
+ GPIO5_17 = P9_4,
+ GPIO5_18 = P9_5,
+ GPIO5_19 = PA_4,
+ GPIO5_20 = PB_0,
+ GPIO5_21 = PB_1,
+ GPIO5_22 = PB_2,
+ GPIO5_23 = PB_3,
+ GPIO5_24 = PB_4,
+ GPIO5_25 = PB_5,
+ GPIO5_26 = PB_6,
+
+ GPIO6_0 = PC_1,
+ GPIO6_1 = PC_2,
+ GPIO6_2 = PC_3,
+ GPIO6_3 = PC_4,
+ GPIO6_4 = PC_5,
+ GPIO6_5 = PC_6,
+ GPIO6_6 = PC_7,
+ GPIO6_7 = PC_8,
+ GPIO6_8 = PC_9,
+ GPIO6_9 = PC_10,
+ GPIO6_10 = PC_11,
+ GPIO6_11 = PC_12,
+ GPIO6_12 = PC_13,
+ GPIO6_13 = PC_14,
+ GPIO6_14 = PD_0,
+ GPIO6_15 = PD_1,
+ GPIO6_16 = PD_2,
+ GPIO6_17 = PD_3,
+ GPIO6_18 = PD_4,
+ GPIO6_19 = PD_5,
+ GPIO6_20 = PD_6,
+ GPIO6_21 = PD_7,
+ GPIO6_22 = PD_8,
+ GPIO6_23 = PD_9,
+ GPIO6_24 = PD_10,
+ GPIO6_25 = PD_11,
+ GPIO6_26 = PD_12,
+ GPIO6_27 = PD_13,
+ GPIO6_28 = PD_14,
+ GPIO6_29 = PD_15,
+ GPIO6_30 = PD_16,
+
+ GPIO7_0 = PE_0,
+ GPIO7_1 = PE_1,
+ GPIO7_2 = PE_2,
+ GPIO7_3 = PE_3,
+ GPIO7_4 = PE_4,
+ GPIO7_5 = PE_5,
+ GPIO7_6 = PE_5,
+ GPIO7_7 = PE_7,
+ GPIO7_8 = PE_8,
+ GPIO7_9 = PE_9,
+ GPIO7_10 = PE_10,
+ GPIO7_11 = PE_11,
+ GPIO7_12 = PE_12,
+ GPIO7_13 = PE_13,
+ GPIO7_14 = PE_14,
+ GPIO7_15 = PE_15,
+ GPIO7_16 = PF_1,
+ GPIO7_17 = PF_2,
+ GPIO7_18 = PF_3,
+ GPIO7_19 = PF_5,
+ GPIO7_20 = PF_6,
+ GPIO7_21 = PF_7,
+ GPIO7_22 = PF_8,
+ GPIO7_23 = PF_9,
+ GPIO7_24 = PF_10,
+ GPIO7_25 = PF_11,
+
+ // Map mbed pin names to LPC43xx board signals
+
+ // Group 0x18 : CLKn pins
+ SFP_CLK0 = MBED_PIN(0x18, 0, 0, 0),
+ SFP_CLK1 = MBED_PIN(0x18, 1, 0, 0),
+ SFP_CLK2 = MBED_PIN(0x18, 2, 0, 0),
+ SFP_CLK3 = MBED_PIN(0x18, 3, 0, 0),
+
+ // Group 0x19 : USB1, I2C0, ADC0, ADC1
+ SFP_USB1 = MBED_PIN(0x19, 0, 0, 0),
+ SFP_I2C0 = MBED_PIN(0x19, 1, 0, 0),
+ SFP_AIO0 = MBED_PIN(0x19, 2, 0, 0), // ADC0 function select register
+ SFP_AIO1 = MBED_PIN(0x19, 3, 0, 0), // ADC1 function select register
+ SFP_AIO2 = MBED_PIN(0x19, 4, 0, 0), // Analog function select register
+
+ SFP_EMCD = MBED_PIN(0x1A, 0, 0, 0), // EMC clock delay register
+
+ SFP_INS0 = MBED_PIN(0x1C, 0, 0, 0), // Interrupt select for pin interrupts 0 to 3
+ SFP_INS1 = MBED_PIN(0x1C, 1, 0, 0), // Interrupt select for pin interrupts 4 to 7
+
+ // Dedicated pin (no GPIO)
+ P_DED = MBED_PIN(0, 0, NO_GPIO, 0),
+
+ // Not connected
+ NC = (int)0xFFFFFFFF,
+
+ // ---------- LPCXpresso 4337 pins ----------
+
+ D0 = P2_11,
+ D1 = P2_10,
+ D2 = P2_13,
+ D3 = P1_8,
+ D4 = P2_2,
+ D5 = P1_7,
+ D6 = P2_9,
+ D7 = P2_12,
+
+ D8 = P2_6,
+ D9 = P6_5,
+ D10 = P1_5,
+ D11 = P1_4,
+ D12 = P1_3,
+ D13 = PF_4,
+ D14 = P2_3,
+ D15 = P2_4,
+ SDA = P2_3,
+ SCL = P2_4,
+
+ A0 = P4_3,
+ A1 = P4_1,
+ A2 = PF_8,
+ A3 = P7_5,
+ A4 = NC,
+ A5 = P2_5,
+
+ LED_GREEN = P2_7,
+ LED_RED = P6_11,
+ LED_BLUE = P6_9,
+
+ // Serial pins
+ UART0_TX = P6_4,
+ UART0_RX = P2_1,
+ UART1_TX = D1,
+ UART1_RX = D0,
+ USBTX = UART0_TX,
+ USBRX = UART0_RX,
+
+ I2C_SDA = SDA,
+ I2C_SDL = SCL,
+
+ LED1 = LED_RED,
+ LED2 = LED_BLUE,
+ LED3 = LED_GREEN,
+ LED4 = LED_RED,
+
+ // ---------- End of LPCXpresso 4337 pins ----------
+} PinName;
+
+typedef enum {
+ PullUp = 0,
+ PullDown = 3,
+ PullNone = 2,
+ Repeater = 1,
+ OpenDrain = 4,
+ PullDefault = PullDown
+} PinMode;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
