git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4224 35acf78f-673a-0410-8e92-d51de3d6d3f4

This commit is contained in:
gdisirio 2012-05-20 17:43:16 +00:00
parent dce3d9cca3
commit 51e9218937
4 changed files with 160 additions and 2 deletions

View File

@ -0,0 +1,61 @@
/*
ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
2011,2012 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/>.
*/
#include "ch.h"
#include "hal.h"
/**
* @brief PAL setup.
* @details Digital I/O ports static configuration as defined in @p board.h.
* This variable is used by the HAL when initializing the PAL driver.
*/
#if HAL_USE_PAL || defined(__DOXYGEN__)
const PALConfig pal_default_config = {
{VAL_GPIO0DATA, VAL_GPIO0DIR},
{VAL_GPIO1DATA, VAL_GPIO1DIR}
};
#endif
/*
* Early initialization code.
* This initialization must be performed just after stack setup and before
* any other initialization.
*/
void __early_init(void) {
lpc_clock_init();
}
/*
* Board-specific initialization code.
*/
void boardInit(void) {
/*
* Extra, board-specific, initializations.
* NOTE: PIO1_2 is associated also to the JTAG, if you need to use JTAG
* you must comment that line first.
*/
LPC_IOCON->PIO0_7 = 0x80; /* Disables pull-up on LED2 output. */
LPC_IOCON->TRST_PIO0_14 = 0x81; /* Disables pull-up on LED3B output
and makes it GPIO1_2. */
LPC_IOCON->PIO0_21 = 0x80; /* Disables pull-up on LED3R output.*/
LPC_IOCON->PIO0_22 = 0x80; /* Disables pull-up on LED3G output.*/
}

View File

@ -0,0 +1,92 @@
/*
ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
2011,2012 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/>.
*/
#ifndef _BOARD_H_
#define _BOARD_H_
/*
* Setup for Embedded Artists LPCXpresso Base Board with LPC1114 daughter
* board.
*/
/*
* Board identifiers.
*/
#define BOARD_EA_BB_LPC11U14
#define BOARD_NAME "Embedded Artists LPCXpresso Base Board + LPC11U14"
/*
* Board frequencies.
*/
#define SYSOSCCLK 12000000
/*
* SCK0 connection on this board.
*/
#define LPC11xx_SPI_SCK0_SELECTOR SCK0_IS_PIO2_11
/*
* GPIO 0 initial setup.
*/
#define VAL_GPIO0DIR PAL_PORT_BIT(GPIO0_OLEDSEL) | \
PAL_PORT_BIT(GPIO0_USB_DPCTL) | \
PAL_PORT_BIT(GPIO0_LED2) | \
PAL_PORT_BIT(GPIO1_LED3B) | \
PAL_PORT_BIT(GPIO1_LED3R) | \
PAL_PORT_BIT(GPIO1_LED3G) | \
PAL_PORT_BIT(GPIO1_SPI0SEL)
#define VAL_GPIO0DATA PAL_PORT_BIT(GPIO0_OLEDSEL) | \
PAL_PORT_BIT(GPIO0_LED2) | \
PAL_PORT_BIT(GPIO1_LED3B) | \
PAL_PORT_BIT(GPIO1_LED3R) | \
PAL_PORT_BIT(GPIO1_LED3G) | \
PAL_PORT_BIT(GPIO1_SPI0SEL)
/*
* GPIO 1 initial setup.
*/
#define VAL_GPIO1DIR 0x00000000
#define VAL_GPIO1DATA 0x00000000
/*
* Pin definitions.
*/
#define GPIO0_SW3 1
#define GPIO0_OLEDSEL 2
#define GPIO0_USB_VBUS 3
#define GPIO0_USB_DPCTL 6
#define GPIO0_LED2 7
#define GPIO0_SW4 16
#define GPIO0_LED3B 14
#define GPIO0_LED3R 21
#define GPIO0_LED3G 22
#define GPIO0_SPI0SEL 23
#if !defined(_FROM_ASM_)
#ifdef __cplusplus
extern "C" {
#endif
void boardInit(void);
#ifdef __cplusplus
}
#endif
#endif /* _FROM_ASM_ */
#endif /* _BOARD_H_ */

View File

@ -0,0 +1,5 @@
# List of all the board related files.
BOARDSRC = ${CHIBIOS}/boards/EA_LPCXPRESSO_BB_11U14/board.c
# Required include directories
BOARDINC = ${CHIBIOS}/boards/EA_LPCXPRESSO_BB_11U14

View File

@ -240,8 +240,8 @@ void sd_lld_init(void) {
#if LPC_SERIAL_USE_UART0
sdObjectInit(&SD1, NULL, notify1);
SD1.uart = LPC_UART;
LPC_IOCON->PIO1_6 = 0xC1; /* RDX without resistors. */
LPC_IOCON->PIO1_7 = 0xC1; /* TDX without resistors. */
LPC_IOCON->PIO0_18 = 0x81; /* RDX without resistors. */
LPC_IOCON->PIO0_19 = 0x81; /* TDX without resistors. */
#endif
}