/* ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 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 . */ /** * @defgroup LPC11xx LPC11xx Support * @brief LPC11xx specific support. * @details The LPC11xx support includes: * - I/O ports driver. * - Buffered, interrupt driven, serial driver. * - A demo supporting the kernel test suite. * . * @ingroup ARMCMx */ /** * @defgroup LPC11xx_HAL LPC11xx HAL Support * @brief HAL support. * * @ingroup LPC11xx */ /** * @defgroup LPC11xx_PAL LPC11xx I/O Ports Support * @brief I/O Ports peripherals support. * @details This module supports the LPC11xx GPIO controller. The controller * supports the following features (see @ref PAL): * - 12 bits wide ports. * - Atomic set/reset functions. * - Atomic set+reset function (atomic bus operations). * - Output latched regardless of the pad setting. * - Direct read of input pads regardless of the pad setting. * . *

Supported Setup Modes

* - @p PAL_MODE_RESET. * - @p PAL_MODE_UNCONNECTED. * - @p PAL_MODE_INPUT. * - @p PAL_MODE_INPUT_ANALOG. * - @p PAL_MODE_OUTPUT_PUSHPULL. * . * Any attempt to setup an invalid mode is ignored. * *

Suboptimal Behavior

* Some GPIO features are less than optimal: * - Pad/port toggling operations are not atomic. * - Pull-up and Pull-down resistors cannot be programmed through the PAL * driver and must be programmed separately. * - Reading of the output latch for pads programmed as input is not possible, * the input pin value is returned instead. * . * @ingroup LPC11xx */ /** * @defgroup LPC11xx_SERIAL LPC11xx UART Support * @brief UART peripherals support. * @details The serial driver supports the LPC11xx UART taking advantage of * its deep hardware buffers. * * @ingroup LPC11xx */