From d74ed4ad4bde98dda6b685515b2523539e04ea1f Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 19 May 2011 12:30:00 +0000 Subject: 2011-05-19 Sebastian Huber * i2c/i2c-config.c: New file. * include/lcd.h: Removed EMC definitions. * misc/dma.c: Fixed initialization. * include/i2c.h, include/io.h, include/lpc-ethernet-config.h, include/lpc24xx.h, console/console-config.c, i2c/i2c.c, misc/io.c, misc/lcd.c, startup/bspstart.c, startup/bspstarthooks.c: New pin configuration API. * Makefile.am, preinstall.am: Update. --- c/src/lib/libbsp/arm/lpc24xx/startup/bspstart.c | 49 ++++++++++++------------- 1 file changed, 23 insertions(+), 26 deletions(-) (limited to 'c/src/lib/libbsp/arm/lpc24xx/startup/bspstart.c') diff --git a/c/src/lib/libbsp/arm/lpc24xx/startup/bspstart.c b/c/src/lib/libbsp/arm/lpc24xx/startup/bspstart.c index 918096a845..6644032bca 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/startup/bspstart.c +++ b/c/src/lib/libbsp/arm/lpc24xx/startup/bspstart.c @@ -7,12 +7,13 @@ */ /* - * Copyright (c) 2008, 2009 - * embedded brains GmbH - * Obere Lagerstr. 30 - * D-82178 Puchheim - * Germany - * + * Copyright (c) 2008-2011 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Obere Lagerstr. 30 + * 82178 Puchheim + * Germany + * * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at @@ -61,6 +62,21 @@ void bsp_pretasking_hook(void) #endif } +static void initialize_console(void) +{ + #ifdef LPC24XX_CONFIG_CONSOLE + static const lpc24xx_pin_range pins [] = { + LPC24XX_PIN_UART_0_TXD, + LPC24XX_PIN_UART_0_RXD, + LPC24XX_PIN_TERMINAL + }; + + lpc24xx_module_enable(LPC24XX_MODULE_UART_0, LPC24XX_MODULE_CCLK); + lpc24xx_pin_config(&pins [0], LPC24XX_PIN_SET_FUNCTION); + BSP_CONSOLE_UART_INIT(lpc24xx_cclk() / 16 / LPC24XX_UART_BAUD); + #endif +} + void bsp_start(void) { /* Initialize Timer 1 */ @@ -69,12 +85,7 @@ void bsp_start(void) /* Initialize standard timer */ lpc24xx_timer_initialize(); - /* Initialize console */ - #ifdef LPC24XX_CONFIG_CONSOLE - lpc24xx_module_enable(LPC24XX_MODULE_UART_0, LPC24XX_MODULE_CCLK); - lpc24xx_io_config(LPC24XX_MODULE_UART_0, LPC24XX_CONFIG_CONSOLE); - BSP_CONSOLE_UART_INIT(lpc24xx_cclk() / 16 / LPC24XX_UART_BAUD); - #endif + initialize_console(); /* Interrupts */ if (bsp_interrupt_initialize() != RTEMS_SUCCESSFUL) { @@ -91,18 +102,4 @@ void bsp_start(void) (uintptr_t) bsp_section_stack_size ); #endif - - /* UART configurations */ - #ifdef LPC24XX_CONFIG_UART_1 - lpc24xx_module_enable(LPC24XX_MODULE_UART_1, LPC24XX_MODULE_CCLK); - lpc24xx_io_config(LPC24XX_MODULE_UART_1, LPC24XX_CONFIG_UART_1); - #endif - #ifdef LPC24XX_CONFIG_UART_2 - lpc24xx_module_enable(LPC24XX_MODULE_UART_2, LPC24XX_MODULE_CCLK); - lpc24xx_io_config(LPC24XX_MODULE_UART_2, LPC24XX_CONFIG_UART_2); - #endif - #ifdef LPC24XX_CONFIG_UART_3 - lpc24xx_module_enable(LPC24XX_MODULE_UART_3, LPC24XX_MODULE_CCLK); - lpc24xx_io_config(LPC24XX_MODULE_UART_3, LPC24XX_CONFIG_UART_3); - #endif } -- cgit v1.2.3