aboutsummaryrefslogtreecommitdiffstats
path: root/demos/ARM7-LPC214x-G++/board.c
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-12-08 10:36:29 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-12-08 10:36:29 +0000
commit93fc8b57778f698cbe7e0e202e33b5d56ce09039 (patch)
tree0bbf40ba4c83b36dc81c3a9d47a32624d9005092 /demos/ARM7-LPC214x-G++/board.c
parent4682a4476ec53884628b1a2b61457938f5914038 (diff)
downloadChibiOS-93fc8b57778f698cbe7e0e202e33b5d56ce09039.tar.gz
ChibiOS-93fc8b57778f698cbe7e0e202e33b5d56ce09039.tar.bz2
ChibiOS-93fc8b57778f698cbe7e0e202e33b5d56ce09039.zip
HAL implemented for LPC214x.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1392 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'demos/ARM7-LPC214x-G++/board.c')
-rw-r--r--demos/ARM7-LPC214x-G++/board.c78
1 files changed, 6 insertions, 72 deletions
diff --git a/demos/ARM7-LPC214x-G++/board.c b/demos/ARM7-LPC214x-G++/board.c
index eba3f59e3..539adabee 100644
--- a/demos/ARM7-LPC214x-G++/board.c
+++ b/demos/ARM7-LPC214x-G++/board.c
@@ -17,30 +17,14 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include <ch.h>
-#include <pal.h>
-#include <serial.h>
+#include "ch.h"
+#include "hal.h"
-#include "lpc214x.h"
-#include "vic.h"
//#include "lpc214x_ssp.h"
-
-#include "board.h"
//#include "mmcsd.h"
//#include "buzzer.h"
-/*
- * Non-vectored IRQs handling here.
- */
-static CH_IRQ_HANDLER(IrqHandler) {
-
- CH_IRQ_PROLOGUE();
-
- /* nothing */
-
- VICVectAddr = 0;
- CH_IRQ_EPILOGUE();
-}
+#define VAL_TC0_PRESCALER 0
/*
* Timer 0 IRQ handling here.
@@ -59,61 +43,13 @@ static CH_IRQ_HANDLER(T0IrqHandler) {
}
/*
- * Digital I/O ports static configuration as defined in @p board.h.
- */
-static const LPC214xFIOConfig config =
-{
- VAL_PINSEL0,
- VAL_PINSEL1,
- VAL_PINSEL2,
- {VAL_FIO0PIN, VAL_FIO0DIR},
- {VAL_FIO1PIN, VAL_FIO1DIR}
-};
-
-/*
* Early initialization code.
* This initialization is performed just after reset before BSS and DATA
* segments initialization.
*/
void hwinit0(void) {
- /*
- * All peripherals clock disabled by default in order to save power.
- */
- PCONP = PCRTC | PCTIM0;
-
- /*
- * MAM setup.
- */
- MAMTIM = 0x3; /* 3 cycles for flash accesses. */
- MAMCR = 0x2; /* MAM fully enabled. */
-
- /*
- * PLL setup for Fosc=12MHz and CCLK=48MHz.
- * P=2 M=3.
- */
- PLL *pll = PLL0Base;
- pll->PLL_CFG = 0x23; /* P and M values. */
- pll->PLL_CON = 0x1; /* Enables the PLL 0. */
- pll->PLL_FEED = 0xAA;
- pll->PLL_FEED = 0x55;
- while (!(pll->PLL_STAT & 0x400))
- ; /* Wait for PLL lock. */
-
- pll->PLL_CON = 0x3; /* Connects the PLL. */
- pll->PLL_FEED = 0xAA;
- pll->PLL_FEED = 0x55;
-
- /*
- * VPB setup.
- * PCLK = CCLK / 4.
- */
- VPBDIV = VPD_D4;
-
- /*
- * I/O pins configuration.
- */
- palInit(&config);
+ lpc214x_clock_init();
}
/*
@@ -124,10 +60,9 @@ void hwinit0(void) {
void hwinit1(void) {
/*
- * Interrupt vectors assignment.
+ * HAL initialization.
*/
- vic_init();
- VICDefVectAddr = (IOREG32)IrqHandler;
+ halInit();
/*
* System Timer initialization, 1ms intervals.
@@ -144,7 +79,6 @@ void hwinit1(void) {
/*
* Other subsystems.
*/
- sdInit();
// ssp_init();
// InitMMC();
// InitBuzzer();