/* 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 . */ /** * @defgroup LPC8xx LPC8xx Drivers * @details This section describes all the supported drivers on the LPC8xx * platform and the implementation details of the single drivers. * * @ingroup platforms */ /** * @defgroup LPC8xx_HAL LPC8xx Initialization Support * @details The LPC8xx HAL support is responsible for system initialization. * * @section lpc8xx_hal_1 Supported HW resources * - SYSCON. * - Flash. * . * @section lpc8xx_hal_2 LPC8xx HAL driver implementation features * - Clock tree initialization. * - Clock source selection. * - Flash controller initialization. * - SYSTICK initialization based on current clock and kernel required rate. * . * @ingroup LPC8xx */ /** * @defgroup LPC8xx_GPT LPC8xx GPT Support * @details The LPC8xx GPT driver uses the MRT peripheral. * * @section lpc8xx_gpt_1 Supported HW resources * - MRT. * . * @section lpc8xx_gpt_2 LPC8xx GPT driver implementation features * - Each timer can be independently enabled and programmed. * - Programmable MRT interrupt priority level. * . * @ingroup LPC8xx */ /** * @defgroup LPC8xx_PAL LPC8xx PAL Support * @details The LPC8xx PAL driver uses the GPIO peripheral. * * @section lpc8xx_pal_1 Supported HW resources * - GPIO_PORT. * . * @section lpc8xx_pal_2 LPC8xx PAL driver implementation features * - 18 bits wide ports. * - Atomic set/reset functions. * - Atomic Toggle 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. * . * @section lpc8xx_pal_3 Supported PAL setup modes * - @p PAL_MODE_RESET. * - @p PAL_MODE_UNCONNECTED. * - @p PAL_MODE_INPUT. * - @p PAL_MODE_OUTPUT_PUSHPULL. * . * Any attempt to setup an invalid mode is ignored. * * @section lpc8xx_pal_4 Suboptimal behavior * Some GPIO features are less than optimal: * - Group operations are not atomic. * - Pull-up and Pull-down resistors cannot be programmed through the PAL * driver and must be programmed separately using the IOCON peripheral. * . * @ingroup LPC8xx */ /** * @defgroup LPC8xx_SERIAL LPC8xx Serial Support * @details The LPC8xx Serial driver uses the UART peripheral in a * buffered, interrupt driven, implementation. * * @section lpc8xx_serial_1 Supported HW resources * The serial driver can support any of the following hardware resources: * - UART. * . * @section lpc8xx_serial_2 LPC8xx Serial driver implementation features * - Clock stop for reduced power usage when the driver is in stop state. * - Fully interrupt driven. * - Programmable priority level. * . * @ingroup LPC8xx */