aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/platforms/LPC11Uxx
diff options
context:
space:
mode:
authortheShed <theShed@35acf78f-673a-0410-8e92-d51de3d6d3f4>2013-03-01 20:57:03 +0000
committertheShed <theShed@35acf78f-673a-0410-8e92-d51de3d6d3f4>2013-03-01 20:57:03 +0000
commit8e8017b4c6c8d014131e8a170628b356e8ac4c0e (patch)
treeb9f736326301ed627004be5904cc89b629b7e9eb /os/hal/platforms/LPC11Uxx
parent5e5983ce7dbe0f4f5df38670e561ab38075f4ea1 (diff)
downloadChibiOS-8e8017b4c6c8d014131e8a170628b356e8ac4c0e.tar.gz
ChibiOS-8e8017b4c6c8d014131e8a170628b356e8ac4c0e.tar.bz2
ChibiOS-8e8017b4c6c8d014131e8a170628b356e8ac4c0e.zip
Added LPC11Uxx ext_lld driver
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5342 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/hal/platforms/LPC11Uxx')
-rw-r--r--os/hal/platforms/LPC11Uxx/ext_lld.c174
-rw-r--r--os/hal/platforms/LPC11Uxx/ext_lld.h156
-rw-r--r--os/hal/platforms/LPC11Uxx/ext_lld_isr.c198
-rw-r--r--os/hal/platforms/LPC11Uxx/ext_lld_isr.h133
-rw-r--r--os/hal/platforms/LPC11Uxx/platform.mk4
5 files changed, 664 insertions, 1 deletions
diff --git a/os/hal/platforms/LPC11Uxx/ext_lld.c b/os/hal/platforms/LPC11Uxx/ext_lld.c
new file mode 100644
index 000000000..c9bbbbca8
--- /dev/null
+++ b/os/hal/platforms/LPC11Uxx/ext_lld.c
@@ -0,0 +1,174 @@
+/*
+ ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
+ 2011,2012,2013 Giovanni Di Sirio.
+
+ This file is part of ChibiOS/RT.
+
+ ChibiOS/RT is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ ChibiOS/RT is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/**
+ * @file LPC11Uxx/ext_lld.c
+ * @brief LPC11Uxx EXT subsystem low level driver source.
+ *
+ * @addtogroup EXT
+ * @{
+ */
+
+#include "ch.h"
+#include "hal.h"
+
+#if HAL_USE_EXT || defined(__DOXYGEN__)
+
+#include "ext_lld_isr.h"
+
+/*===========================================================================*/
+/* Driver local definitions. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver exported variables. */
+/*===========================================================================*/
+
+/**
+ * @brief EXTD1 driver identifier.
+ */
+EXTDriver EXTD1;
+
+/*===========================================================================*/
+/* Driver local variables and types. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver local functions. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver interrupt handlers. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver exported functions. */
+/*===========================================================================*/
+
+/**
+ * @brief Low level EXT driver initialization.
+ *
+ * @notapi
+ */
+void ext_lld_init(void) {
+
+ /* Driver initialization.*/
+ extObjectInit(&EXTD1);
+}
+
+/**
+ * @brief Configures and activates the EXT peripheral.
+ *
+ * @param[in] extp pointer to the @p EXTDriver object
+ *
+ * @notapi
+ */
+void ext_lld_start(EXTDriver *extp) {
+ int i;
+
+ LPC_SYSCON->SYSAHBCLKCTRL |= (1<<19);
+ /* Configuration of automatic channels.*/
+ for (i = 0; i < EXT_MAX_CHANNELS; i++)
+ if (extp->config->channels[i].mode & EXT_CH_MODE_AUTOSTART)
+ ext_lld_channel_enable(extp, i);
+ else
+ ext_lld_channel_disable(extp, i);
+}
+
+/**
+ * @brief Deactivates the EXT peripheral.
+ *
+ * @param[in] extp pointer to the @p EXTDriver object
+ *
+ * @notapi
+ */
+void ext_lld_stop(EXTDriver *extp) {
+ int i;
+
+ if (extp->state == EXT_ACTIVE)
+ for (i = 0; i < EXT_MAX_CHANNELS; i++)
+ ext_lld_exti_irq_disable(i);
+
+ LPC_GPIO_PIN_INT->ISEL = 0;
+ LPC_GPIO_PIN_INT->CIENR = EXT_CHANNELS_MASK;
+ LPC_GPIO_PIN_INT->RISE = EXT_CHANNELS_MASK;
+ LPC_GPIO_PIN_INT->FALL = EXT_CHANNELS_MASK;
+ LPC_GPIO_PIN_INT->IST = EXT_CHANNELS_MASK;
+
+ LPC_SYSCON->SYSAHBCLKCTRL &= ~(1<<19);
+
+}
+
+/**
+ * @brief Enables an EXT channel.
+ *
+ * @param[in] extp pointer to the @p EXTDriver object
+ * @param[in] channel channel to be enabled
+ *
+ * @notapi
+ */
+void ext_lld_channel_enable(EXTDriver *extp, expchannel_t channel) {
+
+ // program the IOpin for this channel
+ LPC_SYSCON->PINTSEL[channel] = extp->config->channels[channel].iopin;
+
+ // Programming edge irq enables
+ if (extp->config->channels[channel].mode & EXT_CH_MODE_RISING_EDGE)
+ LPC_GPIO_PIN_INT->SIENR = (1 << channel);
+ else
+ LPC_GPIO_PIN_INT->CIENR = (1 << channel);
+
+ if (extp->config->channels[channel].mode & EXT_CH_MODE_FALLING_EDGE)
+ LPC_GPIO_PIN_INT->SIENF = (1 << channel);
+ else
+ LPC_GPIO_PIN_INT->CIENF = (1 << channel);
+
+ LPC_GPIO_PIN_INT->RISE = (1<<channel);
+ LPC_GPIO_PIN_INT->FALL = (1<<channel);
+ LPC_GPIO_PIN_INT->IST = (1<<channel);
+ // and enable the irq
+ ext_lld_exti_irq_enable( channel );
+
+}
+
+/**
+ * @brief Disables an EXT channel.
+ *
+ * @param[in] extp pointer to the @p EXTDriver object
+ * @param[in] channel channel to be disabled
+ *
+ * @notapi
+ */
+void ext_lld_channel_disable(EXTDriver *extp, expchannel_t channel) {
+ (void)extp;
+
+ ext_lld_exti_irq_disable(channel);
+
+ LPC_GPIO_PIN_INT->ISEL &= ~(1 << channel);
+ LPC_GPIO_PIN_INT->CIENR = (1 << channel);
+ LPC_GPIO_PIN_INT->RISE = (1 << channel);
+ LPC_GPIO_PIN_INT->FALL = (1 << channel);
+ LPC_GPIO_PIN_INT->IST = (1 << channel);
+
+}
+
+#endif /* HAL_USE_EXT */
+
+/** @} */
diff --git a/os/hal/platforms/LPC11Uxx/ext_lld.h b/os/hal/platforms/LPC11Uxx/ext_lld.h
new file mode 100644
index 000000000..d380a0817
--- /dev/null
+++ b/os/hal/platforms/LPC11Uxx/ext_lld.h
@@ -0,0 +1,156 @@
+/*
+ ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
+ 2011,2012,2013 Giovanni Di Sirio.
+
+ This file is part of ChibiOS/RT.
+
+ ChibiOS/RT is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ ChibiOS/RT is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/**
+ * @file LPC11Uxx/ext_lld.h
+ * @brief LPC11Uxx EXT subsystem low level driver header.
+ *
+ * @addtogroup EXT
+ * @{
+ */
+
+#ifndef _EXT_LLD_H_
+#define _EXT_LLD_H_
+
+#if HAL_USE_EXT || defined(__DOXYGEN__)
+
+/*===========================================================================*/
+/* Driver constants. */
+/*===========================================================================*/
+
+/**
+ * @brief Available number of EXT channels.
+ */
+#define EXT_MAX_CHANNELS 8
+
+/**
+ * @brief Mask of the available channels.
+ */
+#define EXT_CHANNELS_MASK ((1 << EXT_MAX_CHANNELS) - 1)
+
+/** @} */
+
+/*===========================================================================*/
+/* Driver pre-compile time settings. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Derived constants and error checks. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver data structures and types. */
+/*===========================================================================*/
+
+/**
+ * @brief EXT channel identifier.
+ */
+typedef uint32_t expchannel_t;
+
+/**
+
+ * @brief EXT channel callback reason.
+ */
+typedef uint32_t expreason_t;
+
+/**
+ * @brief Type of an EXT generic notification callback.
+ *
+ * @param[in] extp pointer to the @p EXPDriver object triggering the
+ * callback
+ */
+typedef void (*extcallback_t)(EXTDriver *extp,
+ expchannel_t channel,
+ expreason_t reason);
+
+/**
+ * @brief Channel configuration structure.
+ */
+typedef struct {
+ /**
+ * @brief Channel mode.
+ */
+ uint8_t mode;
+ /**
+ * @brief IO Pin.
+ */
+ uint8_t iopin;
+ /**
+ * @brief Channel callback.
+ */
+ extcallback_t cb;
+} EXTChannelConfig;
+
+/**
+ * @brief Driver configuration structure.
+ * @note It could be empty on some architectures.
+ */
+typedef struct {
+ /**
+ * @brief Channel configurations.
+ */
+ EXTChannelConfig channels[EXT_MAX_CHANNELS];
+ /* End of the mandatory fields.*/
+} EXTConfig;
+
+/**
+ * @brief Structure representing an EXT driver.
+ */
+struct EXTDriver {
+ /**
+ * @brief Driver state.
+ */
+ extstate_t state;
+ /**
+ * @brief Current configuration data.
+ */
+ const EXTConfig *config;
+ /* End of the mandatory fields.*/
+};
+
+/*===========================================================================*/
+/* Driver macros. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* External declarations. */
+/*===========================================================================*/
+
+#if !defined(__DOXYGEN__)
+extern EXTDriver EXTD1;
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+ void ext_lld_init(void);
+ void ext_lld_start(EXTDriver *extp);
+ void ext_lld_stop(EXTDriver *extp);
+ void ext_lld_channel_enable(EXTDriver *extp, expchannel_t channel);
+ void ext_lld_channel_disable(EXTDriver *extp, expchannel_t channel);
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* HAL_USE_EXT */
+
+#endif /* _EXT_LLD_H_ */
+
+/** @} */
diff --git a/os/hal/platforms/LPC11Uxx/ext_lld_isr.c b/os/hal/platforms/LPC11Uxx/ext_lld_isr.c
new file mode 100644
index 000000000..fcdeb2c3d
--- /dev/null
+++ b/os/hal/platforms/LPC11Uxx/ext_lld_isr.c
@@ -0,0 +1,198 @@
+/*
+ ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
+ 2011,2012,2013 Giovanni Di Sirio.
+
+ This file is part of ChibiOS/RT.
+
+ ChibiOS/RT is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ ChibiOS/RT is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/**
+ * @file LPC11Uxx/ext_lld_isr.c
+ * @brief LPC11Uxx EXT subsystem low level driver ISR code.
+ *
+ * @addtogroup EXT
+ * @{
+ */
+
+#include "ch.h"
+#include "hal.h"
+
+#if HAL_USE_EXT || defined(__DOXYGEN__)
+
+#include "ext_lld_isr.h"
+
+/*===========================================================================*/
+/* Driver local definitions. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver exported variables. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver local variables and types. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver local functions. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver interrupt handlers. */
+/*===========================================================================*/
+static void ext_lld_interrupt( uint32_t n ) {
+ uint32_t reason;
+
+ reason = ((LPC_GPIO_PIN_INT->RISE)>> n ) & 0x01;
+ reason |= ((LPC_GPIO_PIN_INT->FALL)>>(n-1)) & 0x02;
+ LPC_GPIO_PIN_INT->RISE = (1<<n);
+ LPC_GPIO_PIN_INT->FALL = (1<<n);
+ LPC_GPIO_PIN_INT->IST = (1<<n);
+ EXTD1.config->channels[n].cb(&EXTD1, n, reason);
+}
+
+/**
+ * @brief EXT[0] interrupt handler.
+ *
+ * @isr
+ */
+CH_IRQ_HANDLER(Vector40) {
+
+ CH_IRQ_PROLOGUE();
+ ext_lld_interrupt(0);
+ CH_IRQ_EPILOGUE();
+}
+
+/**
+ * @brief EXT[1] interrupt handler.
+ *
+ * @isr
+ */
+CH_IRQ_HANDLER(Vector44) {
+
+ CH_IRQ_PROLOGUE();
+ ext_lld_interrupt(1);
+ CH_IRQ_EPILOGUE();
+}
+
+/**
+ * @brief EXT[2] interrupt handler.
+ *
+ * @isr
+ */
+CH_IRQ_HANDLER(Vector48) {
+
+ CH_IRQ_PROLOGUE();
+ ext_lld_interrupt(2);
+ CH_IRQ_EPILOGUE();
+}
+
+/**
+ * @brief EXT[3] interrupt handler.
+ *
+ * @isr
+ */
+CH_IRQ_HANDLER(Vector4C) {
+
+ CH_IRQ_PROLOGUE();
+ ext_lld_interrupt(3);
+ CH_IRQ_EPILOGUE();
+}
+
+/**
+ * @brief EXT[4] interrupt handler.
+ *
+ * @isr
+ */
+CH_IRQ_HANDLER(Vector50) {
+
+ CH_IRQ_PROLOGUE();
+ ext_lld_interrupt(4);
+ CH_IRQ_EPILOGUE();
+}
+
+/**
+ * @brief EXT[5] interrupt handler.
+ *
+ * @isr
+ */
+CH_IRQ_HANDLER(Vector54) {
+
+ CH_IRQ_PROLOGUE();
+ ext_lld_interrupt(5);
+ CH_IRQ_EPILOGUE();
+}
+
+/**
+ * @brief EXT[6] interrupt handler.
+ *
+ * @isr
+ */
+CH_IRQ_HANDLER(Vector58) {
+
+ CH_IRQ_PROLOGUE();
+ ext_lld_interrupt(6);
+ CH_IRQ_EPILOGUE();
+}
+
+/**
+ * @brief EXT[7] interrupt handler.
+ *
+ * @isr
+ */
+CH_IRQ_HANDLER(Vector5C) {
+
+ CH_IRQ_PROLOGUE();
+ ext_lld_interrupt(7);
+ CH_IRQ_EPILOGUE();
+}
+
+/*===========================================================================*/
+/* Driver exported functions. */
+/*===========================================================================*/
+static const uint8_t LPC11_EXT_EXTIn_IRQ_PRIORITY[] =
+ { LPC11_EXT_EXTI0_IRQ_PRIORITY,
+ LPC11_EXT_EXTI1_IRQ_PRIORITY,
+ LPC11_EXT_EXTI2_IRQ_PRIORITY,
+ LPC11_EXT_EXTI3_IRQ_PRIORITY,
+ LPC11_EXT_EXTI4_IRQ_PRIORITY,
+ LPC11_EXT_EXTI5_IRQ_PRIORITY,
+ LPC11_EXT_EXTI6_IRQ_PRIORITY,
+ LPC11_EXT_EXTI7_IRQ_PRIORITY };
+
+/**
+ * @brief Enables EXTI IRQ sources.
+ *
+ * @notapi
+ */
+void ext_lld_exti_irq_enable( uint32_t exti_n ) {
+
+ nvicEnableVector(FLEX_INT0_IRQn + exti_n,
+ CORTEX_PRIORITY_MASK(LPC11_EXT_EXTIn_IRQ_PRIORITY[exti_n]));
+}
+
+/**
+ * @brief Disables EXTI IRQ sources.
+ *
+ * @notapi
+ */
+void ext_lld_exti_irq_disable( uint32_t exti_n ) {
+
+ nvicDisableVector(FLEX_INT0_IRQn + exti_n);
+}
+
+#endif /* HAL_USE_EXT */
+
+/** @} */
diff --git a/os/hal/platforms/LPC11Uxx/ext_lld_isr.h b/os/hal/platforms/LPC11Uxx/ext_lld_isr.h
new file mode 100644
index 000000000..330a61258
--- /dev/null
+++ b/os/hal/platforms/LPC11Uxx/ext_lld_isr.h
@@ -0,0 +1,133 @@
+/*
+ ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
+ 2011,2012,2013 Giovanni Di Sirio.
+
+ This file is part of ChibiOS/RT.
+
+ ChibiOS/RT is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ ChibiOS/RT is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/**
+ * @file LPC11Uxx/ext_lld_isr.h
+ * @brief LPC11Uxx EXT subsystem low level driver ISR header.
+ *
+ * @addtogroup EXT
+ * @{
+ */
+
+#ifndef _EXT_LLD_ISR_H_
+#define _EXT_LLD_ISR_H_
+
+#if HAL_USE_EXT || defined(__DOXYGEN__)
+
+/*===========================================================================*/
+/* Driver constants. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver pre-compile time settings. */
+/*===========================================================================*/
+
+/**
+ * @name Configuration options
+ * @{
+ */
+/**
+ * @brief EXTI0 interrupt priority level setting.
+ */
+#if !defined(LPC11_EXT_EXTI0_IRQ_PRIORITY) || defined(__DOXYGEN__)
+#define LPC11_EXT_EXTI0_IRQ_PRIORITY 3
+#endif
+
+/**
+ * @brief EXTI1 interrupt priority level setting.
+ */
+#if !defined(LPC11_EXT_EXTI1_IRQ_PRIORITY) || defined(__DOXYGEN__)
+#define LPC11_EXT_EXTI1_IRQ_PRIORITY 3
+#endif
+
+/**
+ * @brief EXTI2 interrupt priority level setting.
+ */
+#if !defined(LPC11_EXT_EXTI2_IRQ_PRIORITY) || defined(__DOXYGEN__)
+#define LPC11_EXT_EXTI2_IRQ_PRIORITY 3
+#endif
+
+/**
+ * @brief EXTI3 interrupt priority level setting.
+ */
+#if !defined(LPC11_EXT_EXTI3_IRQ_PRIORITY) || defined(__DOXYGEN__)
+#define LPC11_EXT_EXTI3_IRQ_PRIORITY 3
+#endif
+
+/**
+ * @brief EXTI4 interrupt priority level setting.
+ */
+#if !defined(LPC11_EXT_EXTI4_IRQ_PRIORITY) || defined(__DOXYGEN__)
+#define LPC11_EXT_EXTI4_IRQ_PRIORITY 3
+#endif
+
+/**
+ * @brief EXTI5 interrupt priority level setting.
+ */
+#if !defined(LPC11_EXT_EXTI5_IRQ_PRIORITY) || defined(__DOXYGEN__)
+#define LPC11_EXT_EXTI5_IRQ_PRIORITY 3
+#endif
+
+/**
+ * @brief EXTI6 interrupt priority level setting.
+ */
+#if !defined(LPC11_EXT_EXTI6_IRQ_PRIORITY) || defined(__DOXYGEN__)
+#define LPC11_EXT_EXTI6_IRQ_PRIORITY 3
+#endif
+
+/**
+ * @brief EXTI7 interrupt priority level setting.
+ */
+#if !defined(LPC11_EXT_EXTI7_IRQ_PRIORITY) || defined(__DOXYGEN__)
+#define LPC11_EXT_EXTI7_IRQ_PRIORITY 3
+#endif
+
+/** @} */
+
+/*===========================================================================*/
+/* Derived constants and error checks. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver data structures and types. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver macros. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* External declarations. */
+/*===========================================================================*/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+ void ext_lld_exti_irq_enable( uint32_t exti_n );
+ void ext_lld_exti_irq_disable( uint32_t exti_n );
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* HAL_USE_EXT */
+
+#endif /* _EXT_LLD_ISR_H_ */
+
+/** @} */
diff --git a/os/hal/platforms/LPC11Uxx/platform.mk b/os/hal/platforms/LPC11Uxx/platform.mk
index 45495ec46..508238833 100644
--- a/os/hal/platforms/LPC11Uxx/platform.mk
+++ b/os/hal/platforms/LPC11Uxx/platform.mk
@@ -3,7 +3,9 @@ PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/LPC11Uxx/hal_lld.c \
${CHIBIOS}/os/hal/platforms/LPC11Uxx/gpt_lld.c \
${CHIBIOS}/os/hal/platforms/LPC11Uxx/pal_lld.c \
${CHIBIOS}/os/hal/platforms/LPC11Uxx/spi_lld.c \
- ${CHIBIOS}/os/hal/platforms/LPC11Uxx/serial_lld.c
+ ${CHIBIOS}/os/hal/platforms/LPC11Uxx/serial_lld.c \
+ ${CHIBIOS}/os/hal/platforms/LPC11Uxx/ext_lld.c \
+ ${CHIBIOS}/os/hal/platforms/LPC11Uxx/ext_lld_isr.c
# Required include directories
PLATFORMINC = ${CHIBIOS}/os/hal/platforms/LPC11Uxx