<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>change log for rtems (2011-10-17)</title>
</head>
<body text='#000000' bgcolor='#ffffff'>
<a name='cs1'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
<font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-10-17 Sebastian Huber <sebastian.huber@embedded-brains.de>
* include/start-config.h, make/custom/lpc24xx_plx800_rom_int.cfg,
startup/linkcmds.lpc24xx_plx800_rom_int,
startup/start-config-emc-dynamic.c, startup/start-config-emc-static.c,
startup/start-config-pinsel.c: New files.
* Makefile.am, configure.ac, preinstall.am: Reflect changes above.
* startup/bspstarthooks.c: Use configuration tables for EMC
initialization.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/ChangeLog.diff?r1=text&tr1=1.72&r2=text&tr2=1.73&diff_format=h">M</a></td><td width='1%'>1.73</td><td width='100%'>c/src/lib/libbsp/arm/lpc24xx/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/Makefile.am.diff?r1=text&tr1=1.36&r2=text&tr2=1.37&diff_format=h">M</a></td><td width='1%'>1.37</td><td width='100%'>c/src/lib/libbsp/arm/lpc24xx/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/configure.ac.diff?r1=text&tr1=1.17&r2=text&tr2=1.18&diff_format=h">M</a></td><td width='1%'>1.18</td><td width='100%'>c/src/lib/libbsp/arm/lpc24xx/configure.ac</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/include/start-config.h?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">c/src/lib/libbsp/arm/lpc24xx/include/start-config.h</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc24xx_plx800_rom_int.cfg?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc24xx_plx800_rom_int.cfg</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/preinstall.am.diff?r1=text&tr1=1.22&r2=text&tr2=1.23&diff_format=h">M</a></td><td width='1%'>1.23</td><td width='100%'>c/src/lib/libbsp/arm/lpc24xx/preinstall.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/startup/bspstarthooks.c.diff?r1=text&tr1=1.9&r2=text&tr2=1.10&diff_format=h">M</a></td><td width='1%'>1.10</td><td width='100%'>c/src/lib/libbsp/arm/lpc24xx/startup/bspstarthooks.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_plx800_rom_int?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_plx800_rom_int</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/startup/start-config-emc-dynamic.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">c/src/lib/libbsp/arm/lpc24xx/startup/start-config-emc-dynamic.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/startup/start-config-emc-static.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">c/src/lib/libbsp/arm/lpc24xx/startup/start-config-emc-static.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/startup/start-config-pinsel.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">c/src/lib/libbsp/arm/lpc24xx/startup/start-config-pinsel.c</font></td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc24xx/ChangeLog:1.72 rtems/c/src/lib/libbsp/arm/lpc24xx/ChangeLog:1.73
--- rtems/c/src/lib/libbsp/arm/lpc24xx/ChangeLog:1.72 Mon Aug 8 07:36:15 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/ChangeLog Mon Oct 17 05:39:59 2011
</font><font color='#997700'>@@ -1,3 +1,13 @@
</font><font color='#000088'>+2011-10-17 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * include/start-config.h, make/custom/lpc24xx_plx800_rom_int.cfg,
+ startup/linkcmds.lpc24xx_plx800_rom_int,
+ startup/start-config-emc-dynamic.c, startup/start-config-emc-static.c,
+ startup/start-config-pinsel.c: New files.
+ * Makefile.am, configure.ac, preinstall.am: Reflect changes above.
+ * startup/bspstarthooks.c: Use configuration tables for EMC
+ initialization.
+
</font> 2011-08-08 Sebastian Huber <sebastian.huber@embedded-brains.de>
* irq/irq-dispatch.c: New file.
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc24xx/Makefile.am:1.36 rtems/c/src/lib/libbsp/arm/lpc24xx/Makefile.am:1.37
--- rtems/c/src/lib/libbsp/arm/lpc24xx/Makefile.am:1.36 Mon Aug 8 07:36:15 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/Makefile.am Mon Oct 17 05:39:59 2011
</font><font color='#997700'>@@ -39,16 +39,17 @@
</font> include_bsp_HEADERS += ../shared/lpc/include/lpc-emc.h
include_bsp_HEADERS += ../shared/lpc/include/lpc-dma.h
include_bsp_HEADERS += ../shared/lpc/include/lpc-lcd.h
<font color='#880000'>-include_bsp_HEADERS += include/irq.h
-include_bsp_HEADERS += include/lpc24xx.h
-include_bsp_HEADERS += include/system-clocks.h
-include_bsp_HEADERS += include/ssp.h
</font> include_bsp_HEADERS += include/dma.h
include_bsp_HEADERS += include/i2c.h
include_bsp_HEADERS += include/io.h
<font color='#000088'>+include_bsp_HEADERS += include/irq.h
</font> include_bsp_HEADERS += include/lcd.h
<font color='#000088'>+include_bsp_HEADERS += include/lpc24xx.h
</font> include_bsp_HEADERS += include/lpc-clock-config.h
include_bsp_HEADERS += include/lpc-ethernet-config.h
<font color='#000088'>+include_bsp_HEADERS += include/ssp.h
+include_bsp_HEADERS += include/start-config.h
+include_bsp_HEADERS += include/system-clocks.h
</font>
include_HEADERS += ../../shared/include/tm27.h
<font color='#997700'>@@ -63,12 +64,14 @@
</font> project_lib_DATA = start.$(OBJEXT)
project_lib_DATA += startup/linkcmds
<font color='#880000'>-EXTRA_DIST = startup/linkcmds.lpc24xx_ea
-EXTRA_DIST += startup/linkcmds.lpc24xx_ncs_rom_int
-EXTRA_DIST += startup/linkcmds.lpc24xx_ncs_rom_ext
-EXTRA_DIST += startup/linkcmds.lpc24xx_ncs_ram
</font><font color='#000088'>+EXTRA_DIST =<span style="background-color: #FF0000"> </span>
</font> EXTRA_DIST += startup/linkcmds.lpc2362
EXTRA_DIST += startup/linkcmds.lpc23xx_tli800
<font color='#000088'>+EXTRA_DIST += startup/linkcmds.lpc24xx_ea
+EXTRA_DIST += startup/linkcmds.lpc24xx_ncs_ram
+EXTRA_DIST += startup/linkcmds.lpc24xx_ncs_rom_ext
+EXTRA_DIST += startup/linkcmds.lpc24xx_ncs_rom_int
+EXTRA_DIST += startup/linkcmds.lpc24xx_plx800_rom_int
</font>
###############################################################################
# LibBSP #
<font color='#997700'>@@ -142,6 +145,9 @@
</font>
# Start hooks
libbsp_a_SOURCES += startup/bspstarthooks.c
<font color='#000088'>+libbsp_a_SOURCES += startup/start-config-emc-dynamic.c
+libbsp_a_SOURCES += startup/start-config-emc-static.c
+libbsp_a_SOURCES += startup/start-config-pinsel.c
</font>
###############################################################################
# Network #
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc24xx/configure.ac:1.17 rtems/c/src/lib/libbsp/arm/lpc24xx/configure.ac:1.18
--- rtems/c/src/lib/libbsp/arm/lpc24xx/configure.ac:1.17 Wed Feb 2 08:57:54 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/configure.ac Mon Oct 17 05:39:59 2011
</font><font color='#997700'>@@ -33,6 +33,7 @@
</font> RTEMS_BSPOPTS_HELP([LPC24XX_OSCILLATOR_RTC],[RTC oscillator frequency in Hz])
RTEMS_BSPOPTS_SET([LPC24XX_CCLK],[lpc23*],[58982400U])
<font color='#000088'>+RTEMS_BSPOPTS_SET([LPC24XX_CCLK],[lpc24xx_plx800*],[51612800U])
</font> RTEMS_BSPOPTS_SET([LPC24XX_CCLK],[*],[72000000U])
RTEMS_BSPOPTS_HELP([LPC24XX_CCLK],[CPU clock in Hz])
<font color='#997700'>@@ -43,12 +44,16 @@
</font> RTEMS_BSPOPTS_SET([LPC24XX_ETHERNET_RMII],[*],[])
RTEMS_BSPOPTS_HELP([LPC24XX_ETHERNET_RMII],[enable RMII for Ethernet])
<font color='#000088'>+RTEMS_BSPOPTS_SET([LPC24XX_EMC_MICRON],[lpc24xx_plx800_rom_*],[1])
</font> RTEMS_BSPOPTS_SET([LPC24XX_EMC_MICRON],[lpc24xx_ncs_rom_*],[1])
RTEMS_BSPOPTS_HELP([LPC24XX_EMC_MICRON],[enable Micron configuration for EMC])
RTEMS_BSPOPTS_SET([LPC24XX_EMC_NUMONYX],[lpc24xx_ncs_rom_*],[1])
RTEMS_BSPOPTS_HELP([LPC24XX_EMC_NUMONYX],[enable Numonyx configuration for EMC])
<font color='#000088'>+RTEMS_BSPOPTS_SET([LPC24XX_EMC_W9825G2JB],[lpc24xx_plx800_rom_*],[1])
+RTEMS_BSPOPTS_HELP([LPC24XX_EMC_W9825G2JB],[enable Winbond W9825G2JB configuration for EMC])
+
</font> RTEMS_BSPOPTS_SET([LPC24XX_EMC_TEST],[*],[])
RTEMS_BSPOPTS_HELP([LPC24XX_EMC_TEST],[enable tests for EMC])
<font color='#006600'>diff -u /dev/null rtems/c/src/lib/libbsp/arm/lpc24xx/include/start-config.h:1.1
--- /dev/null Mon Oct 17 06:12:03 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/include/start-config.h Mon Oct 17 05:39:59 2011
</font><font color='#997700'>@@ -0,0 +1,98 @@
</font><font color='#000088'>+/**
+ * @file
+ *
+ * @ingroup lpc24xx
+ *
+ * @brief BSP start configuration.
+ */
+
+/*
+ * Copyright (c) 2011 embedded brains GmbH. All rights reserved.
+ *
+ * embedded brains GmbH
+ * Obere Lagerstr. 30
+ * 82178 Puchheim
+ * Germany
+ * <rtems@embedded-brains.de>
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+
+#ifndef LIBBSP_ARM_LPC24XX_START_CONFIG_H
+#define LIBBSP_ARM_LPC24XX_START_CONFIG_H
+
+#include <bsp.h>
+#include <bsp/start.h>
+#include <bsp/lpc-emc.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+typedef struct {
+ uint32_t refresh;
+ uint32_t readconfig;
+ uint32_t trp;
+ uint32_t tras;
+ uint32_t tsrex;
+ uint32_t tapr;
+ uint32_t tdal;
+ uint32_t twr;
+ uint32_t trc;
+ uint32_t trfc;
+ uint32_t txsr;
+ uint32_t trrd;
+ uint32_t tmrd;
+} lpc24xx_emc_dynamic_config;
+
+typedef struct {
+ volatile lpc_emc_dynamic *chip_select;
+ uint32_t address;
+ uint32_t config;
+ uint32_t rascas;
+ uint32_t mode;
+} lpc24xx_emc_dynamic_chip_config;
+
+typedef struct {
+ volatile lpc_emc_static *chip_select;
+ struct {
+ uint32_t config;
+ uint32_t waitwen;
+ uint32_t waitoen;
+ uint32_t waitrd;
+ uint32_t waitpage;
+ uint32_t waitwr;
+ uint32_t waitrun;
+ } config;
+} lpc24xx_emc_static_chip_config;
+
+extern const BSP_START_DATA_SECTION uint32_t
+ lpc24xx_start_config_pinsel_5_9 [];
+
+extern const BSP_START_DATA_SECTION size_t
+ lpc24xx_start_config_pinsel_5_9_size;
+
+extern const BSP_START_DATA_SECTION lpc24xx_emc_dynamic_config
+ lpc24xx_start_config_emc_dynamic [];
+
+extern const BSP_START_DATA_SECTION lpc24xx_emc_dynamic_chip_config
+ lpc24xx_start_config_emc_dynamic_chip [];
+
+extern const BSP_START_DATA_SECTION size_t
+ lpc24xx_start_config_emc_dynamic_chip_count;
+
+extern const BSP_START_DATA_SECTION lpc24xx_emc_static_chip_config
+ lpc24xx_start_config_emc_static_chip [];
+
+extern const BSP_START_DATA_SECTION size_t
+ lpc24xx_start_config_emc_static_chip_count;
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* LIBBSP_ARM_LPC24XX_START_CONFIG_H */
</font>
<font color='#006600'>diff -u /dev/null rtems/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc24xx_plx800_rom_int.cfg:1.1
--- /dev/null Mon Oct 17 06:12:04 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc24xx_plx800_rom_int.cfg Mon Oct 17 05:39:59 2011
</font><font color='#997700'>@@ -0,0 +1,7 @@
</font><font color='#000088'>+#
+# Config file for LPC24XX (PLX800).
+#
+# $Id$
+#
+
+include $(RTEMS_ROOT)/make/custom/lpc24xx.inc
</font>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc24xx/preinstall.am:1.22 rtems/c/src/lib/libbsp/arm/lpc24xx/preinstall.am:1.23
--- rtems/c/src/lib/libbsp/arm/lpc24xx/preinstall.am:1.22 Tue Jun 7 03:00:14 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/preinstall.am Mon Oct 17 05:39:59 2011
</font><font color='#997700'>@@ -101,22 +101,6 @@
</font> $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/lpc-lcd.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/lpc-lcd.h
<font color='#880000'>-$(PROJECT_INCLUDE)/bsp/irq.h: include/irq.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq.h
-
-$(PROJECT_INCLUDE)/bsp/lpc24xx.h: include/lpc24xx.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/lpc24xx.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/lpc24xx.h
-
-$(PROJECT_INCLUDE)/bsp/system-clocks.h: include/system-clocks.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/system-clocks.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/system-clocks.h
-
-$(PROJECT_INCLUDE)/bsp/ssp.h: include/ssp.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ssp.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ssp.h
-
</font> $(PROJECT_INCLUDE)/bsp/dma.h: include/dma.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/dma.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/dma.h
<font color='#997700'>@@ -129,10 +113,18 @@
</font> $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/io.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/io.h
<font color='#000088'>+$(PROJECT_INCLUDE)/bsp/irq.h: include/irq.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq.h
+
</font> $(PROJECT_INCLUDE)/bsp/lcd.h: include/lcd.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/lcd.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/lcd.h
<font color='#000088'>+$(PROJECT_INCLUDE)/bsp/lpc24xx.h: include/lpc24xx.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/lpc24xx.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/lpc24xx.h
+
</font> $(PROJECT_INCLUDE)/bsp/lpc-clock-config.h: include/lpc-clock-config.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/lpc-clock-config.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/lpc-clock-config.h
<font color='#997700'>@@ -141,6 +133,18 @@
</font> $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/lpc-ethernet-config.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/lpc-ethernet-config.h
<font color='#000088'>+$(PROJECT_INCLUDE)/bsp/ssp.h: include/ssp.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ssp.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ssp.h
+
+$(PROJECT_INCLUDE)/bsp/start-config.h: include/start-config.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/start-config.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/start-config.h
+
+$(PROJECT_INCLUDE)/bsp/system-clocks.h: include/system-clocks.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/system-clocks.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/system-clocks.h
+
</font> $(PROJECT_INCLUDE)/tm27.h: ../../shared/include/tm27.h $(PROJECT_INCLUDE)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/tm27.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/tm27.h
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc24xx/startup/bspstarthooks.c:1.9 rtems/c/src/lib/libbsp/arm/lpc24xx/startup/bspstarthooks.c:1.10
--- rtems/c/src/lib/libbsp/arm/lpc24xx/startup/bspstarthooks.c:1.9 Thu May 19 07:30:00 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/startup/bspstarthooks.c Mon Oct 17 05:39:59 2011
</font><font color='#997700'>@@ -27,286 +27,141 @@
</font> #include <bsp/linker-symbols.h>
#include <bsp/lpc24xx.h>
#include <bsp/lpc-emc.h>
<font color='#000088'>+#include <bsp/start-config.h>
</font>
<font color='#880000'>-#if defined(LPC24XX_EMC_MICRON) || defined(LPC24XX_EMC_NUMONYX)
- #define LPC24XX_EMC_INIT
-#endif
-
-static volatile lpc_emc *const emc = (lpc_emc *) EMC_BASE_ADDR;
-
-typedef struct {
- uint32_t refresh;
- uint32_t readconfig;
- uint32_t trp;
- uint32_t tras;
- uint32_t tsrex;
- uint32_t tapr;
- uint32_t tdal;
- uint32_t twr;
- uint32_t trc;
- uint32_t trfc;
- uint32_t txsr;
- uint32_t trrd;
- uint32_t tmrd;
-} lpc24xx_emc_dynamic_config;
-
-typedef struct {
- uint32_t config;
- uint32_t rascas;
- uint32_t mode;
-} lpc24xx_emc_dynamic_chip_config;
-
-typedef struct {
- uint32_t config;
- uint32_t waitwen;
- uint32_t waitoen;
- uint32_t waitrd;
- uint32_t waitpage;
- uint32_t waitwr;
- uint32_t waitrun;
-} lpc24xx_emc_static_chip_config;
-
-#ifdef LPC24XX_EMC_MICRON
- static void BSP_START_TEXT_SECTION lpc24xx_ram_test_32(void)
- {
- #ifdef LPC24XX_EMC_TEST
- int *begin = (int *) 0xa0000000;
- const int *end = (const int *) 0xa0800000;
- int *out = begin;
-
- while (out != end) {
- *out = (int) out;
- ++out;
- }
-
- out = begin;
- while (out != end) {
- if (*out != (int) out) {
- while (true) {
- /* Do nothing */
- }
- }
- ++out;
- }
- #endif
- }
-
- static void BSP_START_TEXT_SECTION lpc24xx_cpu_delay(unsigned ticks)
- {
- unsigned i = 0;
</font><font color='#000088'>+static void BSP_START_TEXT_SECTION lpc24xx_cpu_delay(unsigned ticks)
+{
+ unsigned i = 0;
</font>
<font color='#880000'>- /* One loop execution needs four instructions */
- ticks /= 4;
</font><font color='#000088'>+ /* One loop execution needs four instructions */
+ ticks /= 4;
</font>
<font color='#880000'>- for (i = 0; i <= ticks; ++i) {
- __asm__ volatile ("nop");
- }
</font><font color='#000088'>+ for (i = 0; i <= ticks; ++i) {
+ __asm__ volatile ("nop");
</font> }
<font color='#000088'>+}
</font>
<font color='#880000'>- static void BSP_START_TEXT_SECTION lpc24xx_udelay(unsigned us)
- {
- lpc24xx_cpu_delay(us * (LPC24XX_CCLK / 1000000));
- }
-#endif
</font><font color='#000088'>+static void BSP_START_TEXT_SECTION lpc24xx_udelay(unsigned us)
+{
+ lpc24xx_cpu_delay(us * (LPC24XX_CCLK / 1000000));
+}
</font>
static void BSP_START_TEXT_SECTION lpc24xx_init_emc_pinsel(void)
{
<font color='#880000'>- #ifdef LPC24XX_EMC_INIT
- static const BSP_START_DATA_SECTION uint32_t pinsel_5_9 [5] = {
- 0x05010115,
- 0x55555555,
- 0x0,
- 0x55555555,
- 0x40050155
- };
-
- bsp_start_memcpy(
- (int *) &PINSEL5,
- (const int *) &pinsel_5_9,
- sizeof(pinsel_5_9)
- );
- #endif
</font><font color='#000088'>+ bsp_start_memcpy(
+ (int *) &PINSEL5,
+ (const int *) &lpc24xx_start_config_pinsel_5_9,
+ lpc24xx_start_config_pinsel_5_9_size
+ );
</font> }
static void BSP_START_TEXT_SECTION lpc24xx_init_emc_static(void)
{
<font color='#880000'>- #ifdef LPC24XX_EMC_NUMONYX
- /*
- * Static Memory 1: Numonyx M29W160EB
- *
- * 1 clock cycle = 1/72MHz = 13.9ns
- */
- static const BSP_START_DATA_SECTION lpc24xx_emc_static_chip_config chip_config = {
- /*
- * 16 bit, page mode disabled, active LOW chip select, extended wait
- * disabled, writes not protected, byte lane state LOW/LOW (!).
- */
- .config = 0x81,
-
- /* 1 clock cycles delay from the chip select 1 to the write enable */
- .waitwen = 0,
-
- /*
- * 0 clock cycles delay from the chip select 1 or address change
- * (whichever is later) to the output enable
- */
- .waitoen = 0,
</font><font color='#000088'>+ size_t i = 0;
+ size_t chip_count = lpc24xx_start_config_emc_static_chip_count;
</font>
<font color='#880000'>- /* 7 clock cycles delay from the chip select 1 to the read access */
- .waitrd = 0x6,
-
- /*
- * 32 clock cycles delay for asynchronous page mode sequential accesses
- */
- .waitpage = 0x1f,
-
- /* 5 clock cycles delay from the chip select 1 to the write access */
- .waitwr = 0x3,
-
- /* 16 bus turnaround cycles */
- .waitrun = 0xf
- };
</font><font color='#000088'>+ for (i = 0; i < chip_count; ++i) {
+ const lpc24xx_emc_static_chip_config *chip_config =
+ &lpc24xx_start_config_emc_static_chip [i];
</font> lpc24xx_emc_static_chip_config chip_config_on_stack;
<font color='#000088'>+ size_t config_size = sizeof(chip_config_on_stack.config);
</font>
bsp_start_memcpy(
<font color='#880000'>- (int *) &chip_config_on_stack,
- (const int *) &chip_config,
- sizeof(chip_config_on_stack)
</font><font color='#000088'>+ (int *) &chip_config_on_stack.config,
+ (const int *) &chip_config->config,
+ config_size
</font> );
bsp_start_memcpy(
<font color='#880000'>- (int *) EMC_STA_BASE_1,
- (const int *) &chip_config_on_stack,
- sizeof(chip_config_on_stack)
</font><font color='#000088'>+ (int *) chip_config->chip_select,
+ (const int *) &chip_config_on_stack.config,
+ config_size
</font> );
<font color='#880000'>- #endif
</font><font color='#000088'>+ }
</font> }
static void BSP_START_TEXT_SECTION lpc24xx_init_emc_memory_map(void)
{
<font color='#880000'>- #ifdef LPC24XX_EMC_INIT
- /* Use normal memory map */
- EMC_CTRL &= ~0x2U;
- #endif
</font><font color='#000088'>+ /* Use normal memory map */
+ EMC_CTRL &= ~0x2U;
</font> }
static void BSP_START_TEXT_SECTION lpc24xx_init_emc_dynamic(void)
{
<font color='#880000'>- #ifdef LPC24XX_EMC_MICRON
- /* Dynamic Memory 0: Micron M T48LC 4M16 A2 P 75 IT */
-
- static const BSP_START_DATA_SECTION lpc24xx_emc_dynamic_config dynamic_config = {
- /* Auto-refresh command every 15.6 us */
- .refresh = 0x46,
-
- /* Use command delayed strategy */
- .readconfig = 1,
-
- /* Precharge command period 20 ns */
- .trp = 1,
-
- /* Active to precharge command period 44 ns */
- .tras = 3,
-
- /* FIXME */
- .tsrex = 5,
-
- /* FIXME */
- .tapr = 2,
-
- /* Data-in to active command period tWR + tRP */
- .tdal = 4,
-
- /* Write recovery time 15 ns */
- .twr = 1,
-
- /* Active to active command period 66 ns */
- .trc = 4,
-
- /* Auto refresh period 66 ns */
- .trfc = 4,
-
- /* Exit self refresh to active command period 75 ns */
- .txsr = 5,
-
- /* Active bank a to active bank b command period 15 ns */
- .trrd = 1,
-
- /* Load mode register to active or refresh command period 2 tCK */
- .tmrd = 1,
- };
- static const BSP_START_DATA_SECTION lpc24xx_emc_dynamic_chip_config chip_config = {
- /*
- * Use SDRAM, 0 0 001 01 address mapping, disabled buffer, unprotected writes
- */
- .config = 0x280,
</font><font color='#000088'>+ size_t chip_count = lpc24xx_start_config_emc_dynamic_chip_count;
</font>
<font color='#880000'>- .rascas = EMC_DYN_RASCAS_RAS(2) | EMC_DYN_RASCAS_CAS(2, 0),
- .mode = 0xa0000000 | (0x23 << (1 + 2 + 8))
- };
</font><font color='#000088'>+ if (chip_count > 0) {
+ bool do_initialization = true;
+ size_t i = 0;
+
+ for (i = 0; do_initialization && i < chip_count; ++i) {
+ const lpc24xx_emc_dynamic_chip_config *chip_cfg =
+ &lpc24xx_start_config_emc_dynamic_chip [i];
+ volatile lpc_emc_dynamic *chip_select = chip_cfg->chip_select;
</font>
<font color='#880000'>- volatile lpc_emc_dynamic *chip = &emc->dynamic [0];
- uint32_t dynamiccontrol = EMC_DYN_CTRL_CE | EMC_DYN_CTRL_CS;
-
- /* Check if we need to initialize it */
- if ((chip->config & EMC_DYN_CFG_B) == 0) {
- /*
- * The buffer enable bit is not set. Now we assume that the controller
- * is not properly initialized.
- */
-
- /* Global dynamic settings */
- emc->dynamicreadconfig = dynamic_config.readconfig;
- emc->dynamictrp = dynamic_config.trp;
- emc->dynamictras = dynamic_config.tras;
- emc->dynamictsrex = dynamic_config.tsrex;
- emc->dynamictapr = dynamic_config.tapr;
- emc->dynamictdal = dynamic_config.tdal;
- emc->dynamictwr = dynamic_config.twr;
- emc->dynamictrc = dynamic_config.trc;
- emc->dynamictrfc = dynamic_config.trfc;
- emc->dynamictxsr = dynamic_config.txsr;
- emc->dynamictrrd = dynamic_config.trrd;
- emc->dynamictmrd = dynamic_config.tmrd;
</font><font color='#000088'>+ do_initialization = (chip_select->config & EMC_DYN_CFG_B) == 0;
+ }
</font>
<font color='#880000'>- /* Wait 100us after the power is applied and the clocks have stabilized */
- lpc24xx_udelay(100);
</font><font color='#000088'>+ if (do_initialization) {
+ volatile lpc_emc *emc = (volatile lpc_emc *) EMC_BASE_ADDR;
+ const lpc24xx_emc_dynamic_config *cfg =
+ &lpc24xx_start_config_emc_dynamic [0];
+ uint32_t dynamiccontrol = EMC_DYN_CTRL_CE | EMC_DYN_CTRL_CS;
+
+ emc->dynamicreadconfig = cfg->readconfig;
+
+ /* Timings */
+ emc->dynamictrp = cfg->trp;
+ emc->dynamictras = cfg->tras;
+ emc->dynamictsrex = cfg->tsrex;
+ emc->dynamictapr = cfg->tapr;
+ emc->dynamictdal = cfg->tdal;
+ emc->dynamictwr = cfg->twr;
+ emc->dynamictrc = cfg->trc;
+ emc->dynamictrfc = cfg->trfc;
+ emc->dynamictxsr = cfg->txsr;
+ emc->dynamictrrd = cfg->trrd;
+ emc->dynamictmrd = cfg->tmrd;
</font>
<font color='#880000'>- /* NOP period, disable self-refresh */
</font><font color='#000088'>+ /* NOP period */
</font> emc->dynamiccontrol = dynamiccontrol | EMC_DYN_CTRL_I_NOP;
lpc24xx_udelay(200);
<font color='#880000'>- /* Precharge all */
</font><font color='#000088'>+ /* Precharge */
</font> emc->dynamiccontrol = dynamiccontrol | EMC_DYN_CTRL_I_PALL;
<font color='#000088'>+ emc->dynamicrefresh = 1;
</font>
/*
* Perform several refresh cycles with a memory refresh every 16 AHB
* clock cycles. Wait until eight SDRAM refresh cycles have occurred
* (128 AHB clock cycles).
*/
<font color='#880000'>- emc->dynamicrefresh = 1;
</font> lpc24xx_cpu_delay(128);
<font color='#880000'>- /* Set refresh period */
- emc->dynamicrefresh = dynamic_config.refresh;
-
- /* Operational values for the chip */
- chip->rascas = chip_config.rascas;
- chip->config = chip_config.config;
-
- /* Mode */
- emc->dynamiccontrol = dynamiccontrol | EMC_DYN_CTRL_I_MODE;
- *((volatile uint32_t *) chip_config.mode);
</font><font color='#000088'>+ /* Refresh timing */
+ emc->dynamicrefresh = cfg->refresh;
+ lpc24xx_cpu_delay(128);
</font>
<font color='#880000'>- /* Normal operation */
- emc->dynamiccontrol = 0;
</font><font color='#000088'>+ for (i = 0; i < chip_count; ++i) {
+ const lpc24xx_emc_dynamic_chip_config *chip_cfg =
+ &lpc24xx_start_config_emc_dynamic_chip [i];
+ volatile lpc_emc_dynamic *chip_select = chip_cfg->chip_select;
+ uint32_t config = chip_cfg->config;
+
+ /* Chip select */
+ chip_select->config = config;
+ chip_select->rascas = chip_cfg->rascas;
+
+ /* Set modes */
+ emc->dynamiccontrol = dynamiccontrol | EMC_DYN_CTRL_I_MODE;
+ *(volatile uint32_t *)(chip_cfg->address + chip_cfg->mode);
</font>
<font color='#880000'>- /* Enable buffer */
- chip->config |= EMC_DYN_CFG_B;
</font><font color='#000088'>+ /* Enable buffer */
+ chip_select->config = config | EMC_DYN_CFG_B;
+ }
</font>
<font color='#880000'>- /* Test RAM */
- lpc24xx_ram_test_32();
</font><font color='#000088'>+ emc->dynamiccontrol = dynamiccontrol;
</font> }
<font color='#880000'>- #endif
</font><font color='#000088'>+ }
</font> }
static void BSP_START_TEXT_SECTION lpc24xx_pll_config(
<font color='#997700'>@@ -400,9 +255,19 @@
</font>
/* Set PLL */
#if LPC24XX_OSCILLATOR_MAIN == 12000000U
<font color='#880000'>- lpc24xx_set_pll(1, 0, 11, 3);
</font><font color='#000088'>+ #if LPC24XX_CCLK == 72000000U
+ lpc24xx_set_pll(1, 0, 11, 3);
+ #elif LPC24XX_CCLK == 51612800U
+ lpc24xx_set_pll(1, 30, 399, 5);
+ #else
+ #error "unexpected CCLK"
+ #endif
</font> #elif LPC24XX_OSCILLATOR_MAIN == 3686400U
<font color='#880000'>- lpc24xx_set_pll(1, 0, 47, 5);
</font><font color='#000088'>+ #if LPC24XX_CCLK == 58982400U
+ lpc24xx_set_pll(1, 0, 47, 5);
+ #else
+ #error "unexpected CCLK"
+ #endif
</font> #else
#error "unexpected main oscillator frequency"
#endif
<font color='#006600'>diff -u /dev/null rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_plx800_rom_int:1.1
--- /dev/null Mon Oct 17 06:12:04 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_plx800_rom_int Mon Oct 17 05:39:59 2011
</font><font color='#997700'>@@ -0,0 +1,30 @@
</font><font color='#000088'>+/**
+ * @file
+ *
+ * @brief Memory map for PLX800 (LPC2478).
+ */
+
+MEMORY {
+ RAM_INT (AIW) : ORIGIN = 0x40000000, LENGTH = 64k
+ RAM_EXT (AIW) : ORIGIN = 0xa0000000, LENGTH = 8M
+ ROM_INT (RX) : ORIGIN = 0x00000000, LENGTH = 512k - 8k
+ NIRVANA : ORIGIN = 0, LENGTH = 0
+}
+
+REGION_ALIAS ("REGION_START", ROM_INT);
+REGION_ALIAS ("REGION_VECTOR", RAM_INT);
+REGION_ALIAS ("REGION_TEXT", ROM_INT);
+REGION_ALIAS ("REGION_TEXT_LOAD", ROM_INT);
+REGION_ALIAS ("REGION_RODATA", ROM_INT);
+REGION_ALIAS ("REGION_RODATA_LOAD", ROM_INT);
+REGION_ALIAS ("REGION_DATA", RAM_EXT);
+REGION_ALIAS ("REGION_DATA_LOAD", ROM_INT);
+REGION_ALIAS ("REGION_FAST_TEXT", RAM_INT);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ROM_INT);
+REGION_ALIAS ("REGION_FAST_DATA", RAM_INT);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", ROM_INT);
+REGION_ALIAS ("REGION_BSS", RAM_EXT);
+REGION_ALIAS ("REGION_WORK", RAM_EXT);
+REGION_ALIAS ("REGION_STACK", RAM_INT);
+
+INCLUDE linkcmds.armv4
</font>
<font color='#006600'>diff -u /dev/null rtems/c/src/lib/libbsp/arm/lpc24xx/startup/start-config-emc-dynamic.c:1.1
--- /dev/null Mon Oct 17 06:12:04 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/startup/start-config-emc-dynamic.c Mon Oct 17 05:40:00 2011
</font><font color='#997700'>@@ -0,0 +1,119 @@
</font><font color='#000088'>+/**
+ * @file
+ *
+ * @ingroup lpc24xx
+ *
+ * @brief BSP start EMC dynamic memory configuration.
+ */
+
+/*
+ * Copyright (c) 2011 embedded brains GmbH. All rights reserved.
+ *
+ * embedded brains GmbH
+ * Obere Lagerstr. 30
+ * 82178 Puchheim
+ * Germany
+ * <rtems@embedded-brains.de>
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+
+#include <bsp/start-config.h>
+#include <bsp/lpc24xx.h>
+
+const BSP_START_DATA_SECTION lpc24xx_emc_dynamic_config
+ lpc24xx_start_config_emc_dynamic [] = {
+#if defined(LPC24XX_EMC_MICRON)
+ /* Dynamic Memory 0: Micron M T48LC 4M16 A2 P 75 IT */
+ {
+ /* Auto-refresh command every 15.6 us */
+ .refresh = 0x46,
+
+ /* Use command delayed strategy */
+ .readconfig = 1,
+
+ /* Precharge command period 20 ns */
+ .trp = 1,
+
+ /* Active to precharge command period 44 ns */
+ .tras = 3,
+
+ /* FIXME */
+ .tsrex = 5,
+
+ /* FIXME */
+ .tapr = 2,
+
+ /* Data-in to active command period tWR + tRP */
+ .tdal = 4,
+
+ /* Write recovery time 15 ns */
+ .twr = 1,
+
+ /* Active to active command period 66 ns */
+ .trc = 4,
+
+ /* Auto refresh period 66 ns */
+ .trfc = 4,
+
+ /* Exit self refresh to active command period 75 ns */
+ .txsr = 5,
+
+ /* Active bank a to active bank b command period 15 ns */
+ .trrd = 1,
+
+ /* Load mode register to active or refresh command period 2 tCK */
+ .tmrd = 1
+ }
+#elif defined(LPC24XX_EMC_K4S561632E)
+ {
+ .refresh = 35,
+ .readconfig = 1,
+ .trp = 2,
+ .tras = 4,
+ .tsrex = 5,
+ .tapr = 1,
+ .tdal = 5,
+ .twr = 3,
+ .trc = 5,
+ .trfc = 5,
+ .txsr = 5,
+ .trrd = 3,
+ .tmrd = 2
+ }
+#endif
+};
+
+const BSP_START_DATA_SECTION lpc24xx_emc_dynamic_chip_config
+ lpc24xx_start_config_emc_dynamic_chip [] = {
+#if defined(LPC24XX_EMC_MICRON)
+ {
+ .chip_select = (volatile lpc_emc_dynamic *) &EMC_DYN_CFG0,
+
+ /*
+ * Use SDRAM, 0 0 001 01 address mapping, disabled buffer, unprotected
+ * writes.
+ */
+ .config = 0x280,
+
+ .rascas = EMC_DYN_RASCAS_RAS(2) | EMC_DYN_RASCAS_CAS(2, 0),
+ .mode = 0xa0000000 | (0x23 << (1 + 2 + 8))
+ }
+#elif defined(LPC24XX_EMC_K4S561632E)
+ {
+ .chip_select = (volatile lpc_emc_dynamic *) &EMC_DYN_CFG0,
+ .config = 0x680,
+ .rascas = EMC_DYN_RASCAS_RAS(3) | EMC_DYN_RASCAS_CAS(3, 0),
+ .mode = 0xa0000000 | (0x33 << 12)
+ }
+#endif
+};
+
+const BSP_START_DATA_SECTION size_t
+ lpc24xx_start_config_emc_dynamic_chip_count =
+ sizeof(lpc24xx_start_config_emc_dynamic_chip)
+ / sizeof(lpc24xx_start_config_emc_dynamic_chip [0]);
</font>
<font color='#006600'>diff -u /dev/null rtems/c/src/lib/libbsp/arm/lpc24xx/startup/start-config-emc-static.c:1.1
--- /dev/null Mon Oct 17 06:12:04 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/startup/start-config-emc-static.c Mon Oct 17 05:40:00 2011
</font><font color='#997700'>@@ -0,0 +1,75 @@
</font><font color='#000088'>+/**
+ * @file
+ *
+ * @ingroup lpc24xx
+ *
+ * @brief BSP start EMC static memory configuration.
+ */
+
+/*
+ * Copyright (c) 2011 embedded brains GmbH. All rights reserved.
+ *
+ * embedded brains GmbH
+ * Obere Lagerstr. 30
+ * 82178 Puchheim
+ * Germany
+ * <rtems@embedded-brains.de>
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+
+#include <bsp/start-config.h>
+#include <bsp/lpc24xx.h>
+
+const BSP_START_DATA_SECTION lpc24xx_emc_static_chip_config
+ lpc24xx_start_config_emc_static_chip [] = {
+#ifdef LPC24XX_EMC_NUMONYX
+ /*
+ * Static Memory 1: Numonyx M29W160EB
+ *
+ * 1 clock cycle = 1/72MHz = 13.9ns
+ */
+ {
+ .chip_select = (volatile lpc_emc_static *) EMC_STA_BASE_1,
+ .config = {
+ /*
+ * 16 bit, page mode disabled, active LOW chip select, extended wait
+ * disabled, writes not protected, byte lane state LOW/LOW (!).
+ */
+ .config = 0x81,
+
+ /* 1 clock cycles delay from the chip select 1 to the write enable */
+ .waitwen = 0,
+
+ /*
+ * 0 clock cycles delay from the chip select 1 or address change
+ * (whichever is later) to the output enable
+ */
+ .waitoen = 0,
+
+ /* 7 clock cycles delay from the chip select 1 to the read access */
+ .waitrd = 0x6,
+
+ /*
+ * 32 clock cycles delay for asynchronous page mode sequential accesses
+ */
+ .waitpage = 0x1f,
+
+ /* 5 clock cycles delay from the chip select 1 to the write access */
+ .waitwr = 0x3,
+
+ /* 16 bus turnaround cycles */
+ .waitrun = 0xf
+ }
+ }
+#endif /* LPC24XX_EMC_NUMONYX */
+};
+
+const BSP_START_DATA_SECTION size_t
+ lpc24xx_start_config_emc_static_chip_count =
+ sizeof(lpc24xx_start_config_emc_static_chip)
+ / sizeof(lpc24xx_start_config_emc_static_chip [0]);
</font>
<font color='#006600'>diff -u /dev/null rtems/c/src/lib/libbsp/arm/lpc24xx/startup/start-config-pinsel.c:1.1
--- /dev/null Mon Oct 17 06:12:04 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/startup/start-config-pinsel.c Mon Oct 17 05:40:00 2011
</font><font color='#997700'>@@ -0,0 +1,46 @@
</font><font color='#000088'>+/**
+ * @file
+ *
+ * @ingroup lpc24xx
+ *
+ * @brief BSP start pin selection configuration.
+ */
+
+/*
+ * Copyright (c) 2011 embedded brains GmbH. All rights reserved.
+ *
+ * embedded brains GmbH
+ * Obere Lagerstr. 30
+ * 82178 Puchheim
+ * Germany
+ * <rtems@embedded-brains.de>
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+
+#include <bsp/start-config.h>
+
+const BSP_START_DATA_SECTION uint32_t lpc24xx_start_config_pinsel_5_9 [] = {
+#if defined(LPC24XX_EMC_MICRON) \
+ || defined(LPC24XX_EMC_K4S561632E) \
+ || defined(LPC24XX_EMC_NUMONYX)
+ 0x05010115,
+ 0x55555555,
+ 0x0,
+ #ifdef LPC24XX_EMC_K4S561632E
+ 0x15555555,
+ 0x0a040000
+ #else
+ 0x55555555,
+ 0x40050155
+ #endif
+#endif
+};
+
+const BSP_START_DATA_SECTION size_t
+ lpc24xx_start_config_pinsel_5_9_size =
+ sizeof(lpc24xx_start_config_pinsel_5_9);
</font></pre>
<p> </p>
<p>--<br />
<small>Generated by <a href="http://www.codewiz.org/projects/index.html#loginfo">Deluxe Loginfo</a> 2.122 by Bernardo Innocenti <bernie@develer.com></small></p>
</body>
</html>