mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Files at this revision

API Documentation at this revision

Comitter:
mbed_official
Date:
Wed Aug 06 08:15:07 2014 +0100
Parent:
273:92da1fd309d2
Child:
275:8287c40fc7ee
Commit message:
Synchronized with git revision 5b145e4f6c509376173c3ea2aa35a6da879a2124

Full URL: https://github.com/mbedmicro/mbed/commit/5b145e4f6c509376173c3ea2aa35a6da879a2124/

[TARGET_LPC11UXX] PeripheralNames.h and PinMap definitions separation for LPC11UXX platforms

Changed in this revision

targets/cmsis/TARGET_NXP/TARGET_LPC11UXX/TOOLCHAIN_ARM_MICRO/TARGET_GHI_MBUINO/LPC11U24.sct Show annotated file Show diff for this revision Revisions of this file
targets/cmsis/TARGET_NXP/TARGET_LPC11UXX/TOOLCHAIN_ARM_STD/TARGET_GHI_MBUINO/LPC11U24.sct Show annotated file Show diff for this revision Revisions of this file
targets/cmsis/TARGET_NXP/TARGET_LPC11UXX/TOOLCHAIN_GCC_ARM/TARGET_GHI_MBUINO/LPC11U24.ld Show annotated file Show diff for this revision Revisions of this file
targets/hal/TARGET_NXP/TARGET_LPC11UXX/PeripheralPins.h Show annotated file Show diff for this revision Revisions of this file
targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_ARCH_GPRS/PeripheralPins.c Show annotated file Show diff for this revision Revisions of this file
targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_GHI_MBUINO/PeripheralNames.h Show annotated file Show diff for this revision Revisions of this file
targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_GHI_MBUINO/PeripheralPins.c Show annotated file Show diff for this revision Revisions of this file
targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_GHI_MBUINO/PinNames.h Show annotated file Show diff for this revision Revisions of this file
targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPC11U24_301/PeripheralPins.c Show annotated file Show diff for this revision Revisions of this file
targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPC11U24_401/PeripheralPins.c Show annotated file Show diff for this revision Revisions of this file
targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPC11U35_401/PeripheralPins.c Show annotated file Show diff for this revision Revisions of this file
targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPC11U35_501/PeripheralPins.c Show annotated file Show diff for this revision Revisions of this file
targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPCCAPPUCCINO/PeripheralPins.c Show annotated file Show diff for this revision Revisions of this file
targets/hal/TARGET_NXP/TARGET_LPC11UXX/analogin_api.c Show annotated file Show diff for this revision Revisions of this file
targets/hal/TARGET_NXP/TARGET_LPC11UXX/i2c_api.c Show annotated file Show diff for this revision Revisions of this file
targets/hal/TARGET_NXP/TARGET_LPC11UXX/pwmout_api.c Show annotated file Show diff for this revision Revisions of this file
targets/hal/TARGET_NXP/TARGET_LPC11UXX/serial_api.c Show annotated file Show diff for this revision Revisions of this file
targets/hal/TARGET_NXP/TARGET_LPC11UXX/spi_api.c Show annotated file Show diff for this revision Revisions of this file
--- a/targets/cmsis/TARGET_NXP/TARGET_LPC11UXX/TOOLCHAIN_ARM_MICRO/TARGET_GHI_MBUINO/LPC11U24.sct	Wed Aug 06 07:45:07 2014 +0100
+++ b/targets/cmsis/TARGET_NXP/TARGET_LPC11UXX/TOOLCHAIN_ARM_MICRO/TARGET_GHI_MBUINO/LPC11U24.sct	Wed Aug 06 08:15:07 2014 +0100
@@ -6,8 +6,8 @@
    .ANY (+RO)
   }
   ; 8_byte_aligned(48 vect * 4 bytes) =  8_byte_aligned(0xC0) = 0xC0
-  ; 8KB - 0xC0 = 0x1F40
-  RW_IRAM1 0x100000C0 0x1F40  {
+  ; 6KB - 0xC0 = 0x1740
+  RW_IRAM1 0x100000C0 0x1740  {
    .ANY (+RW +ZI)
   }
   RW_IRAM2 0x20004000 0x800   { ; RW data, USB RAM
--- a/targets/cmsis/TARGET_NXP/TARGET_LPC11UXX/TOOLCHAIN_ARM_STD/TARGET_GHI_MBUINO/LPC11U24.sct	Wed Aug 06 07:45:07 2014 +0100
+++ b/targets/cmsis/TARGET_NXP/TARGET_LPC11UXX/TOOLCHAIN_ARM_STD/TARGET_GHI_MBUINO/LPC11U24.sct	Wed Aug 06 08:15:07 2014 +0100
@@ -6,8 +6,8 @@
    .ANY (+RO)
   }
   ; 8_byte_aligned(48 vect * 4 bytes) =  8_byte_aligned(0xC0) = 0xC0
-  ; 8KB - 0xC0 = 0x1F40
-  RW_IRAM1 0x100000C0 0x1F40  {
+  ; 6KB - 0xC0 = 0x1740
+  RW_IRAM1 0x100000C0 0x1740  {
    .ANY (+RW +ZI)
   }
   RW_IRAM2 0x20004000 0x800   { ; RW data, USB RAM
--- a/targets/cmsis/TARGET_NXP/TARGET_LPC11UXX/TOOLCHAIN_GCC_ARM/TARGET_GHI_MBUINO/LPC11U24.ld	Wed Aug 06 07:45:07 2014 +0100
+++ b/targets/cmsis/TARGET_NXP/TARGET_LPC11UXX/TOOLCHAIN_GCC_ARM/TARGET_GHI_MBUINO/LPC11U24.ld	Wed Aug 06 08:15:07 2014 +0100
@@ -4,7 +4,7 @@
 MEMORY
 {
   FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 32K
-  RAM (rwx) : ORIGIN = 0x100000C0, LENGTH = 0x1F40
+  RAM (rwx) : ORIGIN = 0x100000C0, LENGTH = 0x1740
   USB_RAM (rwx): ORIGIN = 0x20004000, LENGTH = 0x800
 }
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/targets/hal/TARGET_NXP/TARGET_LPC11UXX/PeripheralPins.h	Wed Aug 06 08:15:07 2014 +0100
@@ -0,0 +1,43 @@
+/* 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_PERIPHERALPINS_H
+#define MBED_PERIPHERALPINS_H
+
+#include "pinmap.h"
+#include "PeripheralNames.h"
+
+/************ADC***************/
+extern const PinMap PinMap_ADC[];
+
+/************I2C***************/
+extern const PinMap PinMap_I2C_SDA[];
+extern const PinMap PinMap_I2C_SCL[];
+
+/************UART***************/
+extern const PinMap PinMap_UART_TX[];
+extern const PinMap PinMap_UART_RX[];
+
+/************SPI***************/
+extern const PinMap PinMap_SPI_SCLK[];
+extern const PinMap PinMap_SPI_MOSI[];
+extern const PinMap PinMap_SPI_MISO[];
+extern const PinMap PinMap_SPI_SSEL[];
+
+/************PWM***************/
+extern const PinMap PinMap_PWM[];
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_ARCH_GPRS/PeripheralPins.c	Wed Aug 06 08:15:07 2014 +0100
@@ -0,0 +1,117 @@
+
+/* 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.
+ */
+ 
+#include "PeripheralPins.h"
+
+/************ADC***************/
+const PinMap PinMap_ADC[] = {
+    {P0_11, ADC0_0, 0x02},
+    {P0_12, ADC0_1, 0x02},
+    {P0_13, ADC0_2, 0x02},
+    {P0_14, ADC0_3, 0x02},
+    {P0_15, ADC0_4, 0x02},
+    {P0_16, ADC0_5, 0x01},
+    {P0_22, ADC0_6, 0x01},
+    {P0_23, ADC0_7, 0x01},
+    {NC   , NC    , 0   }
+};
+
+/************I2C***************/
+const PinMap PinMap_I2C_SDA[] = {
+    {P0_5, I2C_0, 1},
+    {NC  , NC   , 0}
+};
+
+const PinMap PinMap_I2C_SCL[] = {
+    {P0_4, I2C_0, 1},
+    {NC  , NC,    0}
+};
+
+/************UART***************/
+const PinMap PinMap_UART_TX[] = {
+    {P0_19, UART_0, 1},
+    {P1_13, UART_0, 3},
+    {P1_27, UART_0, 2},
+    { NC  , NC    , 0}
+};
+
+const PinMap PinMap_UART_RX[] = {
+    {P0_18, UART_0, 1},
+    {P1_14, UART_0, 3},
+    {P1_26, UART_0, 2},
+    {NC   , NC    , 0}
+};
+
+/************SPI***************/
+const PinMap PinMap_SPI_SCLK[] = {
+    {P0_6 , SPI_0, 0x02},
+    {P0_10, SPI_0, 0x02},
+    {P1_29, SPI_0, 0x01},
+    {P1_15, SPI_1, 0x03},
+    {P1_20, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+const PinMap PinMap_SPI_MOSI[] = {
+    {P0_9 , SPI_0, 0x01},
+    {P0_21, SPI_1, 0x02},
+    {P1_22, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+const PinMap PinMap_SPI_MISO[] = {
+    {P0_8 , SPI_0, 0x01},
+    {P0_22, SPI_1, 0x03},
+    {P1_21, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+const PinMap PinMap_SPI_SSEL[] = {
+    {P0_2 , SPI_0, 0x01},
+    {P1_19, SPI_1, 0x02},
+    {P1_23, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+/************PWM***************/
+/* To have a PWM where we can change both the period and the duty cycle,
+ * we need an entire timer. With the following conventions:
+ *   * MR3 is used for the PWM period
+ *   * MR0, MR1, MR2 are used for the duty cycle
+ */
+const PinMap PinMap_PWM[] = {
+    /* CT16B0 */
+    {P0_8 , PWM_1, 2}, {P1_13, PWM_1, 2},    /* MR0 */
+    {P0_9 , PWM_2, 2}, {P1_14, PWM_2, 2},   /* MR1 */
+    {P0_10, PWM_3, 3}, {P1_15, PWM_3, 2},   /* MR2 */
+
+    /* CT16B1 */
+    {P0_21, PWM_4, 1},                      /* MR0 */
+    {P0_22, PWM_5, 2}, {P1_23, PWM_5, 1},   /* MR1 */
+
+    /* CT32B0 */
+    {P0_18, PWM_6, 2}, {P1_24, PWM_6, 1},   /* MR0 */
+    {P0_19, PWM_7, 2}, {P1_25, PWM_7, 1},   /* MR1 */
+    {P0_1 , PWM_8, 2}, {P1_26, PWM_8, 1},   /* MR2 */
+
+    /* CT32B1 */
+    {P0_13, PWM_9 , 3}, {P1_0, PWM_9 , 1},  /* MR0 */
+    {P0_14, PWM_10, 3}, {P1_1, PWM_10, 1},  /* MR1 */
+    {P0_15, PWM_11, 3}, {P1_2, PWM_11, 1},  /* MR2 */
+
+    {NC, NC, 0}
+};
--- a/targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_GHI_MBUINO/PeripheralNames.h	Wed Aug 06 07:45:07 2014 +0100
+++ b/targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_GHI_MBUINO/PeripheralNames.h	Wed Aug 06 08:15:07 2014 +0100
@@ -57,7 +57,9 @@
     PWM_8,
     PWM_9,
     PWM_10,
-    PWM_11
+    PWM_11,
+    PWM_12,
+    PWM_13
 } PWMName;
 
 #define STDIO_UART_TX     USBTX
@@ -65,20 +67,22 @@
 #define STDIO_UART        UART_0
 
 // Default peripherals
-#define MBED_SPI0         p5, p6, p7, p8
-#define MBED_SPI1         p11, p12, p13, p14
+#define MBED_SPI0         P0_9, P0_8, P0_6, P0_2        // MOSI, MISO, CLK, SEL
+#define MBED_SPI1         P0_21, P0_22, P1_15, P01_19   // MOSI, MISO, CLK, SEL
 
-#define MBED_UART0        p9, p10
+#define MBED_UART0        USBTX, USBRX
 #define MBED_UARTUSB      USBTX, USBRX
 
-#define MBED_I2C0         p28, p27
+#define MBED_I2C0         P0_5, P0_4
 
-#define MBED_ANALOGIN0    p15
-#define MBED_ANALOGIN1    p16
-#define MBED_ANALOGIN2    p17
-#define MBED_ANALOGIN3    p18
-#define MBED_ANALOGIN4    p19
-#define MBED_ANALOGIN5    p20
+#define MBED_ANALOGIN0    P0_11
+#define MBED_ANALOGIN1    P0_12
+#define MBED_ANALOGIN2    P0_13
+#define MBED_ANALOGIN3    P0_14
+#define MBED_ANALOGIN4    P0_15
+#define MBED_ANALOGIN5    P0_16
+#define MBED_ANALOGIN6    P0_22
+#define MBED_ANALOGIN7    P0_23
 
 #ifdef __cplusplus
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_GHI_MBUINO/PeripheralPins.c	Wed Aug 06 08:15:07 2014 +0100
@@ -0,0 +1,104 @@
+
+/* 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.
+ */
+ 
+#include "PeripheralPins.h"
+
+/************ADC***************/
+const PinMap PinMap_ADC[] = {
+    {P0_11, ADC0_0, 0x02},
+    {P0_12, ADC0_1, 0x02},
+    {P0_13, ADC0_2, 0x02},
+    {P0_14, ADC0_3, 0x02},
+    {P0_15, ADC0_4, 0x02},
+    {P0_16, ADC0_5, 0x01},
+    {P0_22, ADC0_6, 0x01},
+    {P0_23, ADC0_7, 0x01},
+    {NC   , NC    , 0   }
+};
+
+/************UART***************/
+const PinMap PinMap_UART_TX[] = {
+    {P0_19, UART_0, 1},
+//    {P1_13, UART_0, 3},
+//    {P1_27, UART_0, 2},
+    { NC  , NC    , 0}
+};
+
+const PinMap PinMap_UART_RX[] = {
+    {P0_18, UART_0, 1},
+//    {P1_14, UART_0, 3},
+//    {P1_26, UART_0, 2},
+    {NC   , NC    , 0}
+};
+
+/************SPI***************/
+const PinMap PinMap_SPI_SCLK[] = {
+    {P0_6 , SPI_0, 0x02},
+    {P0_10, SPI_0, 0x02},
+//    {P1_29, SPI_0, 0x01},
+    {P1_15, SPI_1, 0x03},
+//    {P1_20, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+const PinMap PinMap_SPI_MOSI[] = {
+    {P0_9 , SPI_0, 0x01},
+    {P0_21, SPI_1, 0x02},
+//    {P1_22, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+const PinMap PinMap_SPI_MISO[] = {
+    {P0_8 , SPI_0, 0x01},
+    {P0_22, SPI_1, 0x03},
+//    {P1_21, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+const PinMap PinMap_SPI_SSEL[] = {
+    {P0_2 , SPI_0, 0x01},
+    {P1_19, SPI_1, 0x02},
+//    {P1_23, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+/************PWM***************/
+const PinMap PinMap_PWM[] = {
+    /* CT16B0 */
+    {P0_8 , PWM_1, 2},                      /* MR0 */
+    {P0_9 , PWM_2, 2},                      /* MR1 */
+    {P0_10, PWM_3, 3},                      /* MR2 */
+    {P1_15, PWM_3, 2},                      /* MR2 */ // Same channel as P0_10
+
+    /* CT16B1 */
+    {P0_21, PWM_4, 1},                      /* MR0 */
+    {P0_22, PWM_5, 2},                      /* MR1 */
+
+    /* CT32B0 */
+    {P0_18, PWM_6, 2},                      /* MR0 */
+    {P0_19, PWM_7, 2},                      /* MR1 */
+    {P0_1 , PWM_8, 2},                      /* MR2 */
+	{P0_11, PWM_9, 3},                      /* MR3 */
+
+    /* CT32B1 */
+    {P0_13, PWM_10, 3},                     /* MR0 */
+    {P0_14, PWM_11, 3},                     /* MR1 */
+    {P0_15, PWM_12, 3},                     /* MR2 */
+	{P0_16, PWM_13, 2},                     /* MR3 */
+
+    {NC, NC, 0}
+};
--- a/targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_GHI_MBUINO/PinNames.h	Wed Aug 06 07:45:07 2014 +0100
+++ b/targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_GHI_MBUINO/PinNames.h	Wed Aug 06 08:15:07 2014 +0100
@@ -30,7 +30,7 @@
 #define PORT_SHIFT  5
 
 typedef enum {
-    // LPC11U Pin Names
+    // LPC11U24 HVQFN33 Pin Names
     P0_0 = 0,
     P0_1 = 1,
     P0_2 = 2,
@@ -55,114 +55,24 @@
     P0_21 = 21,
     P0_22 = 22,
     P0_23 = 23,
-    P0_24 = 24,
-    P0_25 = 25,
-    P0_26 = 26,
-    P0_27 = 27,
 
-    P1_0 = 32,
-    P1_1 = 33,
-    P1_2 = 34,
-    P1_3 = 35,
-    P1_4 = 36,
-    P1_5 = 37,
-    P1_6 = 38,
-    P1_7 = 39,
-    P1_8 = 40,
-    P1_9 = 41,
-    P1_10 = 42,
-    P1_11 = 43,
-    P1_12 = 44,
-    P1_13 = 45,
-    P1_14 = 46,
     P1_15 = 47,
-    P1_16 = 48,
-    P1_17 = 49,
-    P1_18 = 50,
     P1_19 = 51,
-    P1_20 = 52,
-    P1_21 = 53,
-    P1_22 = 54,
-    P1_23 = 55,
-    P1_24 = 56,
-    P1_25 = 57,
-    P1_26 = 58,
-    P1_27 = 59,
-    P1_28 = 60,
-    P1_29 = 61,
-
-    P1_31 = 63,
-
-    // mbed DIP Pin Names
-    p5  = P0_9,
-    p6  = P0_8,
-    p7  = P1_29,
-    p8  = P0_2,
-    p9  = P1_27,
-    p10 = P1_26,
-    p11 = P1_22,
-    p12 = P1_21,
-    p13 = P1_20,
-    p14 = P1_23,
-    p15 = P0_11,
-    p16 = P0_12,
-    p17 = P0_13,
-    p18 = P0_14,
-    p19 = P0_16,
-    p20 = P0_22,
-    p21 = P0_7,
-    p22 = P0_17,
-    p23 = P1_17,
-    p24 = P1_18,
-    p25 = P1_24,
-    p26 = P1_25,
-    p27 = P0_4,
-    p28 = P0_5,
-    p29 = P1_5,
-    p30 = P1_2,
-
-    p33 = P0_3,
-    p34 = P1_15,
-    p35 = P0_20,
-    p36 = P0_21,
 
     // Other mbed Pin Names
-    LED1 = P1_8,
-    LED2 = P1_9,
-    LED3 = P1_10,
-    LED4 = P1_11,
+    LED1 = P0_7,
+    LED2 = P0_8,
+    LED3 = P0_2,
+    LED4 = P0_20,
+    LED5 = P1_19,
+    LED6 = P0_17,
+    LED7 = P0_23,
 
     USBTX = P0_19,
     USBRX = P0_18,
 
-    // for Arch V1.1
-    D0 = P0_18,
-    D1 = P0_19,
-    D2 = P0_17,
-    D3 = P1_17,
-    D4 = P1_18,
-    D5 = P1_24,
-    D6 = P1_25,
-    D7 = P1_5,
-    D8 = P1_26,
-    D9 = P1_27,
-    D10 = P0_2,
-    D11 = P0_9,  // P1_29 for Arch V1.0
-    D12 = P0_8,
-    D13 = P1_29, // P0_9 for Arch V1.0
-
-    D14 = P0_5,
-    D15 = P0_4,
-
-    A0 = P0_11,
-    A1 = P0_12,
-    A2 = P0_13,
-    A3 = P0_14,
-    A4 = P0_16,
-    A5 = P0_22,
-
-    I2C_SCL = D15,
-    I2C_SDA = D14,
+    I2C_SCL = P0_4,
+    I2C_SDA = P0_5,
 
     // Not connected
     NC = (int)0xFFFFFFFF,
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPC11U24_301/PeripheralPins.c	Wed Aug 06 08:15:07 2014 +0100
@@ -0,0 +1,117 @@
+
+/* 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.
+ */
+ 
+#include "PeripheralPins.h"
+
+/************ADC***************/
+const PinMap PinMap_ADC[] = {
+    {P0_11, ADC0_0, 0x02},
+    {P0_12, ADC0_1, 0x02},
+    {P0_13, ADC0_2, 0x02},
+    {P0_14, ADC0_3, 0x02},
+    {P0_15, ADC0_4, 0x02},
+    {P0_16, ADC0_5, 0x01},
+    {P0_22, ADC0_6, 0x01},
+    {P0_23, ADC0_7, 0x01},
+    {NC   , NC    , 0   }
+};
+
+/************I2C***************/
+const PinMap PinMap_I2C_SDA[] = {
+    {P0_5, I2C_0, 1},
+    {NC  , NC   , 0}
+};
+
+const PinMap PinMap_I2C_SCL[] = {
+    {P0_4, I2C_0, 1},
+    {NC  , NC,    0}
+};
+
+/************UART***************/
+const PinMap PinMap_UART_TX[] = {
+    {P0_19, UART_0, 1},
+    {P1_13, UART_0, 3},
+    {P1_27, UART_0, 2},
+    { NC  , NC    , 0}
+};
+
+const PinMap PinMap_UART_RX[] = {
+    {P0_18, UART_0, 1},
+    {P1_14, UART_0, 3},
+    {P1_26, UART_0, 2},
+    {NC   , NC    , 0}
+};
+
+/************SPI***************/
+const PinMap PinMap_SPI_SCLK[] = {
+    {P0_6 , SPI_0, 0x02},
+    {P0_10, SPI_0, 0x02},
+    {P1_29, SPI_0, 0x01},
+    {P1_15, SPI_1, 0x03},
+    {P1_20, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+const PinMap PinMap_SPI_MOSI[] = {
+    {P0_9 , SPI_0, 0x01},
+    {P0_21, SPI_1, 0x02},
+    {P1_22, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+const PinMap PinMap_SPI_MISO[] = {
+    {P0_8 , SPI_0, 0x01},
+    {P0_22, SPI_1, 0x03},
+    {P1_21, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+const PinMap PinMap_SPI_SSEL[] = {
+    {P0_2 , SPI_0, 0x01},
+    {P1_19, SPI_1, 0x02},
+    {P1_23, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+/************PWM***************/
+/* To have a PWM where we can change both the period and the duty cycle,
+ * we need an entire timer. With the following conventions:
+ *   * MR3 is used for the PWM period
+ *   * MR0, MR1, MR2 are used for the duty cycle
+ */
+const PinMap PinMap_PWM[] = {
+    /* CT16B0 */
+    {P0_8 , PWM_1, 2}, {P1_13, PWM_1, 2},    /* MR0 */
+    {P0_9 , PWM_2, 2}, {P1_14, PWM_2, 2},   /* MR1 */
+    {P0_10, PWM_3, 3}, {P1_15, PWM_3, 2},   /* MR2 */
+
+    /* CT16B1 */
+    {P0_21, PWM_4, 1},                      /* MR0 */
+    {P0_22, PWM_5, 2}, {P1_23, PWM_5, 1},   /* MR1 */
+
+    /* CT32B0 */
+    {P0_18, PWM_6, 2}, {P1_24, PWM_6, 1},   /* MR0 */
+    {P0_19, PWM_7, 2}, {P1_25, PWM_7, 1},   /* MR1 */
+    {P0_1 , PWM_8, 2}, {P1_26, PWM_8, 1},   /* MR2 */
+
+    /* CT32B1 */
+    {P0_13, PWM_9 , 3}, {P1_0, PWM_9 , 1},  /* MR0 */
+    {P0_14, PWM_10, 3}, {P1_1, PWM_10, 1},  /* MR1 */
+    {P0_15, PWM_11, 3}, {P1_2, PWM_11, 1},  /* MR2 */
+
+    {NC, NC, 0}
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPC11U24_401/PeripheralPins.c	Wed Aug 06 08:15:07 2014 +0100
@@ -0,0 +1,117 @@
+
+/* 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.
+ */
+ 
+#include "PeripheralPins.h"
+
+/************ADC***************/
+const PinMap PinMap_ADC[] = {
+    {P0_11, ADC0_0, 0x02},
+    {P0_12, ADC0_1, 0x02},
+    {P0_13, ADC0_2, 0x02},
+    {P0_14, ADC0_3, 0x02},
+    {P0_15, ADC0_4, 0x02},
+    {P0_16, ADC0_5, 0x01},
+    {P0_22, ADC0_6, 0x01},
+    {P0_23, ADC0_7, 0x01},
+    {NC   , NC    , 0   }
+};
+
+/************I2C***************/
+const PinMap PinMap_I2C_SDA[] = {
+    {P0_5, I2C_0, 1},
+    {NC  , NC   , 0}
+};
+
+const PinMap PinMap_I2C_SCL[] = {
+    {P0_4, I2C_0, 1},
+    {NC  , NC,    0}
+};
+
+/************UART***************/
+const PinMap PinMap_UART_TX[] = {
+    {P0_19, UART_0, 1},
+    {P1_13, UART_0, 3},
+    {P1_27, UART_0, 2},
+    { NC  , NC    , 0}
+};
+
+const PinMap PinMap_UART_RX[] = {
+    {P0_18, UART_0, 1},
+    {P1_14, UART_0, 3},
+    {P1_26, UART_0, 2},
+    {NC   , NC    , 0}
+};
+
+/************SPI***************/
+const PinMap PinMap_SPI_SCLK[] = {
+    {P0_6 , SPI_0, 0x02},
+    {P0_10, SPI_0, 0x02},
+    {P1_29, SPI_0, 0x01},
+    {P1_15, SPI_1, 0x03},
+    {P1_20, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+const PinMap PinMap_SPI_MOSI[] = {
+    {P0_9 , SPI_0, 0x01},
+    {P0_21, SPI_1, 0x02},
+    {P1_22, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+const PinMap PinMap_SPI_MISO[] = {
+    {P0_8 , SPI_0, 0x01},
+    {P0_22, SPI_1, 0x03},
+    {P1_21, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+const PinMap PinMap_SPI_SSEL[] = {
+    {P0_2 , SPI_0, 0x01},
+    {P1_19, SPI_1, 0x02},
+    {P1_23, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+/************PWM***************/
+/* To have a PWM where we can change both the period and the duty cycle,
+ * we need an entire timer. With the following conventions:
+ *   * MR3 is used for the PWM period
+ *   * MR0, MR1, MR2 are used for the duty cycle
+ */
+const PinMap PinMap_PWM[] = {
+    /* CT16B0 */
+    {P0_8 , PWM_1, 2}, {P1_13, PWM_1, 2},    /* MR0 */
+    {P0_9 , PWM_2, 2}, {P1_14, PWM_2, 2},   /* MR1 */
+    {P0_10, PWM_3, 3}, {P1_15, PWM_3, 2},   /* MR2 */
+
+    /* CT16B1 */
+    {P0_21, PWM_4, 1},                      /* MR0 */
+    {P0_22, PWM_5, 2}, {P1_23, PWM_5, 1},   /* MR1 */
+
+    /* CT32B0 */
+    {P0_18, PWM_6, 2}, {P1_24, PWM_6, 1},   /* MR0 */
+    {P0_19, PWM_7, 2}, {P1_25, PWM_7, 1},   /* MR1 */
+    {P0_1 , PWM_8, 2}, {P1_26, PWM_8, 1},   /* MR2 */
+
+    /* CT32B1 */
+    {P0_13, PWM_9 , 3}, {P1_0, PWM_9 , 1},  /* MR0 */
+    {P0_14, PWM_10, 3}, {P1_1, PWM_10, 1},  /* MR1 */
+    {P0_15, PWM_11, 3}, {P1_2, PWM_11, 1},  /* MR2 */
+
+    {NC, NC, 0}
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPC11U35_401/PeripheralPins.c	Wed Aug 06 08:15:07 2014 +0100
@@ -0,0 +1,117 @@
+
+/* 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.
+ */
+ 
+#include "PeripheralPins.h"
+
+/************ADC***************/
+const PinMap PinMap_ADC[] = {
+    {P0_11, ADC0_0, 0x02},
+    {P0_12, ADC0_1, 0x02},
+    {P0_13, ADC0_2, 0x02},
+    {P0_14, ADC0_3, 0x02},
+    {P0_15, ADC0_4, 0x02},
+    {P0_16, ADC0_5, 0x01},
+    {P0_22, ADC0_6, 0x01},
+    {P0_23, ADC0_7, 0x01},
+    {NC   , NC    , 0   }
+};
+
+/************I2C***************/
+const PinMap PinMap_I2C_SDA[] = {
+    {P0_5, I2C_0, 1},
+    {NC  , NC   , 0}
+};
+
+const PinMap PinMap_I2C_SCL[] = {
+    {P0_4, I2C_0, 1},
+    {NC  , NC,    0}
+};
+
+/************UART***************/
+const PinMap PinMap_UART_TX[] = {
+    {P0_19, UART_0, 1},
+    {P1_13, UART_0, 3},
+    {P1_27, UART_0, 2},
+    { NC  , NC    , 0}
+};
+
+const PinMap PinMap_UART_RX[] = {
+    {P0_18, UART_0, 1},
+    {P1_14, UART_0, 3},
+    {P1_26, UART_0, 2},
+    {NC   , NC    , 0}
+};
+
+/************SPI***************/
+const PinMap PinMap_SPI_SCLK[] = {
+    {P0_6 , SPI_0, 0x02},
+    {P0_10, SPI_0, 0x02},
+    {P1_29, SPI_0, 0x01},
+    {P1_15, SPI_1, 0x03},
+    {P1_20, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+const PinMap PinMap_SPI_MOSI[] = {
+    {P0_9 , SPI_0, 0x01},
+    {P0_21, SPI_1, 0x02},
+    {P1_22, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+const PinMap PinMap_SPI_MISO[] = {
+    {P0_8 , SPI_0, 0x01},
+    {P0_22, SPI_1, 0x03},
+    {P1_21, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+const PinMap PinMap_SPI_SSEL[] = {
+    {P0_2 , SPI_0, 0x01},
+    {P1_19, SPI_1, 0x02},
+    {P1_23, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+/************PWM***************/
+/* To have a PWM where we can change both the period and the duty cycle,
+ * we need an entire timer. With the following conventions:
+ *   * MR3 is used for the PWM period
+ *   * MR0, MR1, MR2 are used for the duty cycle
+ */
+const PinMap PinMap_PWM[] = {
+    /* CT16B0 */
+    {P0_8 , PWM_1, 2}, {P1_13, PWM_1, 2},    /* MR0 */
+    {P0_9 , PWM_2, 2}, {P1_14, PWM_2, 2},   /* MR1 */
+    {P0_10, PWM_3, 3}, {P1_15, PWM_3, 2},   /* MR2 */
+
+    /* CT16B1 */
+    {P0_21, PWM_4, 1},                      /* MR0 */
+    {P0_22, PWM_5, 2}, {P1_23, PWM_5, 1},   /* MR1 */
+
+    /* CT32B0 */
+    {P0_18, PWM_6, 2}, {P1_24, PWM_6, 1},   /* MR0 */
+    {P0_19, PWM_7, 2}, {P1_25, PWM_7, 1},   /* MR1 */
+    {P0_1 , PWM_8, 2}, {P1_26, PWM_8, 1},   /* MR2 */
+
+    /* CT32B1 */
+    {P0_13, PWM_9 , 3}, {P1_0, PWM_9 , 1},  /* MR0 */
+    {P0_14, PWM_10, 3}, {P1_1, PWM_10, 1},  /* MR1 */
+    {P0_15, PWM_11, 3}, {P1_2, PWM_11, 1},  /* MR2 */
+
+    {NC, NC, 0}
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPC11U35_501/PeripheralPins.c	Wed Aug 06 08:15:07 2014 +0100
@@ -0,0 +1,117 @@
+
+/* 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.
+ */
+ 
+#include "PeripheralPins.h"
+
+/************ADC***************/
+const PinMap PinMap_ADC[] = {
+    {P0_11, ADC0_0, 0x02},
+    {P0_12, ADC0_1, 0x02},
+    {P0_13, ADC0_2, 0x02},
+    {P0_14, ADC0_3, 0x02},
+    {P0_15, ADC0_4, 0x02},
+    {P0_16, ADC0_5, 0x01},
+    {P0_22, ADC0_6, 0x01},
+    {P0_23, ADC0_7, 0x01},
+    {NC   , NC    , 0   }
+};
+
+/************I2C***************/
+const PinMap PinMap_I2C_SDA[] = {
+    {P0_5, I2C_0, 1},
+    {NC  , NC   , 0}
+};
+
+const PinMap PinMap_I2C_SCL[] = {
+    {P0_4, I2C_0, 1},
+    {NC  , NC,    0}
+};
+
+/************UART***************/
+const PinMap PinMap_UART_TX[] = {
+    {P0_19, UART_0, 1},
+    {P1_13, UART_0, 3},
+    {P1_27, UART_0, 2},
+    { NC  , NC    , 0}
+};
+
+const PinMap PinMap_UART_RX[] = {
+    {P0_18, UART_0, 1},
+    {P1_14, UART_0, 3},
+    {P1_26, UART_0, 2},
+    {NC   , NC    , 0}
+};
+
+/************SPI***************/
+const PinMap PinMap_SPI_SCLK[] = {
+    {P0_6 , SPI_0, 0x02},
+    {P0_10, SPI_0, 0x02},
+    {P1_29, SPI_0, 0x01},
+    {P1_15, SPI_1, 0x03},
+    {P1_20, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+const PinMap PinMap_SPI_MOSI[] = {
+    {P0_9 , SPI_0, 0x01},
+    {P0_21, SPI_1, 0x02},
+    {P1_22, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+const PinMap PinMap_SPI_MISO[] = {
+    {P0_8 , SPI_0, 0x01},
+    {P0_22, SPI_1, 0x03},
+    {P1_21, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+const PinMap PinMap_SPI_SSEL[] = {
+    {P0_2 , SPI_0, 0x01},
+    {P1_19, SPI_1, 0x02},
+    {P1_23, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+/************PWM***************/
+/* To have a PWM where we can change both the period and the duty cycle,
+ * we need an entire timer. With the following conventions:
+ *   * MR3 is used for the PWM period
+ *   * MR0, MR1, MR2 are used for the duty cycle
+ */
+const PinMap PinMap_PWM[] = {
+    /* CT16B0 */
+    {P0_8 , PWM_1, 2}, {P1_13, PWM_1, 2},    /* MR0 */
+    {P0_9 , PWM_2, 2}, {P1_14, PWM_2, 2},   /* MR1 */
+    {P0_10, PWM_3, 3}, {P1_15, PWM_3, 2},   /* MR2 */
+
+    /* CT16B1 */
+    {P0_21, PWM_4, 1},                      /* MR0 */
+    {P0_22, PWM_5, 2}, {P1_23, PWM_5, 1},   /* MR1 */
+
+    /* CT32B0 */
+    {P0_18, PWM_6, 2}, {P1_24, PWM_6, 1},   /* MR0 */
+    {P0_19, PWM_7, 2}, {P1_25, PWM_7, 1},   /* MR1 */
+    {P0_1 , PWM_8, 2}, {P1_26, PWM_8, 1},   /* MR2 */
+
+    /* CT32B1 */
+    {P0_13, PWM_9 , 3}, {P1_0, PWM_9 , 1},  /* MR0 */
+    {P0_14, PWM_10, 3}, {P1_1, PWM_10, 1},  /* MR1 */
+    {P0_15, PWM_11, 3}, {P1_2, PWM_11, 1},  /* MR2 */
+
+    {NC, NC, 0}
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPCCAPPUCCINO/PeripheralPins.c	Wed Aug 06 08:15:07 2014 +0100
@@ -0,0 +1,117 @@
+
+/* 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.
+ */
+ 
+#include "PeripheralPins.h"
+
+/************ADC***************/
+const PinMap PinMap_ADC[] = {
+    {P0_11, ADC0_0, 0x02},
+    {P0_12, ADC0_1, 0x02},
+    {P0_13, ADC0_2, 0x02},
+    {P0_14, ADC0_3, 0x02},
+    {P0_15, ADC0_4, 0x02},
+    {P0_16, ADC0_5, 0x01},
+    {P0_22, ADC0_6, 0x01},
+    {P0_23, ADC0_7, 0x01},
+    {NC   , NC    , 0   }
+};
+
+/************I2C***************/
+const PinMap PinMap_I2C_SDA[] = {
+    {P0_5, I2C_0, 1},
+    {NC  , NC   , 0}
+};
+
+const PinMap PinMap_I2C_SCL[] = {
+    {P0_4, I2C_0, 1},
+    {NC  , NC,    0}
+};
+
+/************UART***************/
+const PinMap PinMap_UART_TX[] = {
+    {P0_19, UART_0, 1},
+    {P1_13, UART_0, 3},
+    {P1_27, UART_0, 2},
+    { NC  , NC    , 0}
+};
+
+const PinMap PinMap_UART_RX[] = {
+    {P0_18, UART_0, 1},
+    {P1_14, UART_0, 3},
+    {P1_26, UART_0, 2},
+    {NC   , NC    , 0}
+};
+
+/************SPI***************/
+const PinMap PinMap_SPI_SCLK[] = {
+    {P0_6 , SPI_0, 0x02},
+    {P0_10, SPI_0, 0x02},
+    {P1_29, SPI_0, 0x01},
+    {P1_15, SPI_1, 0x03},
+    {P1_20, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+const PinMap PinMap_SPI_MOSI[] = {
+    {P0_9 , SPI_0, 0x01},
+    {P0_21, SPI_1, 0x02},
+    {P1_22, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+const PinMap PinMap_SPI_MISO[] = {
+    {P0_8 , SPI_0, 0x01},
+    {P0_22, SPI_1, 0x03},
+    {P1_21, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+const PinMap PinMap_SPI_SSEL[] = {
+    {P0_2 , SPI_0, 0x01},
+    {P1_19, SPI_1, 0x02},
+    {P1_23, SPI_1, 0x02},
+    {NC   , NC   , 0}
+};
+
+/************PWM***************/
+/* To have a PWM where we can change both the period and the duty cycle,
+ * we need an entire timer. With the following conventions:
+ *   * MR3 is used for the PWM period
+ *   * MR0, MR1, MR2 are used for the duty cycle
+ */
+const PinMap PinMap_PWM[] = {
+    /* CT16B0 */
+    {P0_8 , PWM_1, 2}, {P1_13, PWM_1, 2},    /* MR0 */
+    {P0_9 , PWM_2, 2}, {P1_14, PWM_2, 2},   /* MR1 */
+    {P0_10, PWM_3, 3}, {P1_15, PWM_3, 2},   /* MR2 */
+
+    /* CT16B1 */
+    {P0_21, PWM_4, 1},                      /* MR0 */
+    {P0_22, PWM_5, 2}, {P1_23, PWM_5, 1},   /* MR1 */
+
+    /* CT32B0 */
+    {P0_18, PWM_6, 2}, {P1_24, PWM_6, 1},   /* MR0 */
+    {P0_19, PWM_7, 2}, {P1_25, PWM_7, 1},   /* MR1 */
+    {P0_1 , PWM_8, 2}, {P1_26, PWM_8, 1},   /* MR2 */
+
+    /* CT32B1 */
+    {P0_13, PWM_9 , 3}, {P1_0, PWM_9 , 1},  /* MR0 */
+    {P0_14, PWM_10, 3}, {P1_1, PWM_10, 1},  /* MR1 */
+    {P0_15, PWM_11, 3}, {P1_2, PWM_11, 1},  /* MR2 */
+
+    {NC, NC, 0}
+};
--- a/targets/hal/TARGET_NXP/TARGET_LPC11UXX/analogin_api.c	Wed Aug 06 07:45:07 2014 +0100
+++ b/targets/hal/TARGET_NXP/TARGET_LPC11UXX/analogin_api.c	Wed Aug 06 08:15:07 2014 +0100
@@ -18,6 +18,7 @@
 #include "cmsis.h"
 #include "pinmap.h"
 #include "error.h"
+#include "PeripheralPins.h" // For the Peripheral to Pin Definitions found in the individual Target's Platform
 
 #define ANALOGIN_MEDIAN_FILTER      1
 
@@ -28,18 +29,6 @@
   return (x + (y - 1)) / y;
 }
 
-static const PinMap PinMap_ADC[] = {
-    {P0_11, ADC0_0, 0x02},
-    {P0_12, ADC0_1, 0x02},
-    {P0_13, ADC0_2, 0x02},
-    {P0_14, ADC0_3, 0x02},
-    {P0_15, ADC0_4, 0x02},
-    {P0_16, ADC0_5, 0x01},
-    {P0_22, ADC0_6, 0x01},
-    {P0_23, ADC0_7, 0x01},
-    {NC   , NC    , 0   }
-};
-
 #define LPC_IOCON0_BASE (LPC_IOCON_BASE)
 #define LPC_IOCON1_BASE (LPC_IOCON_BASE + 0x60)
 
--- a/targets/hal/TARGET_NXP/TARGET_LPC11UXX/i2c_api.c	Wed Aug 06 07:45:07 2014 +0100
+++ b/targets/hal/TARGET_NXP/TARGET_LPC11UXX/i2c_api.c	Wed Aug 06 08:15:07 2014 +0100
@@ -17,16 +17,7 @@
 #include "i2c_api.h"
 #include "cmsis.h"
 #include "pinmap.h"
-
-static const PinMap PinMap_I2C_SDA[] = {
-    {P0_5, I2C_0, 1},
-    {NC  , NC   , 0}
-};
-
-static const PinMap PinMap_I2C_SCL[] = {
-    {P0_4, I2C_0, 1},
-    {NC  , NC,    0}
-};
+#include "PeripheralPins.h" // For the Peripheral to Pin Definitions found in the individual Target's Platform
 
 #define I2C_CONSET(x)       (x->i2c->CONSET)
 #define I2C_CONCLR(x)       (x->i2c->CONCLR)
--- a/targets/hal/TARGET_NXP/TARGET_LPC11UXX/pwmout_api.c	Wed Aug 06 07:45:07 2014 +0100
+++ b/targets/hal/TARGET_NXP/TARGET_LPC11UXX/pwmout_api.c	Wed Aug 06 08:15:07 2014 +0100
@@ -17,38 +17,11 @@
 #include "pwmout_api.h"
 #include "cmsis.h"
 #include "pinmap.h"
+#include "PeripheralPins.h" // For the Peripheral to Pin Definitions found in the individual Target's Platform
 
 #define TCR_CNT_EN       0x00000001
 #define TCR_RESET        0x00000002
 
-/* To have a PWM where we can change both the period and the duty cycle,
- * we need an entire timer. With the following conventions:
- *   * MR3 is used for the PWM period
- *   * MR0, MR1, MR2 are used for the duty cycle
- */
-static const PinMap PinMap_PWM[] = {
-    /* CT16B0 */
-    {P0_8 , PWM_1, 2}, {P1_13, PWM_1, 2},    /* MR0 */
-    {P0_9 , PWM_2, 2}, {P1_14, PWM_2, 2},   /* MR1 */
-    {P0_10, PWM_3, 3}, {P1_15, PWM_3, 2},   /* MR2 */
-
-    /* CT16B1 */
-    {P0_21, PWM_4, 1},                      /* MR0 */
-    {P0_22, PWM_5, 2}, {P1_23, PWM_5, 1},   /* MR1 */
-
-    /* CT32B0 */
-    {P0_18, PWM_6, 2}, {P1_24, PWM_6, 1},   /* MR0 */
-    {P0_19, PWM_7, 2}, {P1_25, PWM_7, 1},   /* MR1 */
-    {P0_1 , PWM_8, 2}, {P1_26, PWM_8, 1},   /* MR2 */
-
-    /* CT32B1 */
-    {P0_13, PWM_9 , 3}, {P1_0, PWM_9 , 1},  /* MR0 */
-    {P0_14, PWM_10, 3}, {P1_1, PWM_10, 1},  /* MR1 */
-    {P0_15, PWM_11, 3}, {P1_2, PWM_11, 1},  /* MR2 */
-
-    {NC, NC, 0}
-};
-
 typedef struct {
     uint8_t timer;
     uint8_t mr;
--- a/targets/hal/TARGET_NXP/TARGET_LPC11UXX/serial_api.c	Wed Aug 06 07:45:07 2014 +0100
+++ b/targets/hal/TARGET_NXP/TARGET_LPC11UXX/serial_api.c	Wed Aug 06 08:15:07 2014 +0100
@@ -21,26 +21,13 @@
 #include "serial_api.h"
 #include "cmsis.h"
 #include "pinmap.h"
+#include "PeripheralPins.h" // For the Peripheral to Pin Definitions found in the individual Target's Platform
 
 /******************************************************************************
  * INITIALIZATION
  ******************************************************************************/
 #define UART_NUM    1
 
-static const PinMap PinMap_UART_TX[] = {
-    {P0_19, UART_0, 1},
-    {P1_13, UART_0, 3},
-    {P1_27, UART_0, 2},
-    { NC  , NC    , 0}
-};
-
-static const PinMap PinMap_UART_RX[] = {
-    {P0_18, UART_0, 1},
-    {P1_14, UART_0, 3},
-    {P1_26, UART_0, 2},
-    {NC   , NC    , 0}
-};
-
 static uint32_t serial_irq_ids[UART_NUM] = {0};
 static uart_irq_handler irq_handler;
 
--- a/targets/hal/TARGET_NXP/TARGET_LPC11UXX/spi_api.c	Wed Aug 06 07:45:07 2014 +0100
+++ b/targets/hal/TARGET_NXP/TARGET_LPC11UXX/spi_api.c	Wed Aug 06 08:15:07 2014 +0100
@@ -19,36 +19,7 @@
 #include "cmsis.h"
 #include "pinmap.h"
 #include "error.h"
-
-static const PinMap PinMap_SPI_SCLK[] = {
-    {P0_6 , SPI_0, 0x02},
-    {P0_10, SPI_0, 0x02},
-    {P1_29, SPI_0, 0x01},
-    {P1_15, SPI_1, 0x03},
-    {P1_20, SPI_1, 0x02},
-    {NC   , NC   , 0}
-};
-
-static const PinMap PinMap_SPI_MOSI[] = {
-    {P0_9 , SPI_0, 0x01},
-    {P0_21, SPI_1, 0x02},
-    {P1_22, SPI_1, 0x02},
-    {NC   , NC   , 0}
-};
-
-static const PinMap PinMap_SPI_MISO[] = {
-    {P0_8 , SPI_0, 0x01},
-    {P0_22, SPI_1, 0x03},
-    {P1_21, SPI_1, 0x02},
-    {NC   , NC   , 0}
-};
-
-static const PinMap PinMap_SPI_SSEL[] = {
-    {P0_2 , SPI_0, 0x01},
-    {P1_19, SPI_1, 0x02},
-    {P1_23, SPI_1, 0x02},
-    {NC   , NC   , 0}
-};
+#include "PeripheralPins.h" // For the Peripheral to Pin Definitions found in the individual Target's Platform
 
 static inline int ssp_disable(spi_t *obj);
 static inline int ssp_enable(spi_t *obj);