summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/lpc32xx
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2010-03-12 08:26:18 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2010-03-12 08:26:18 +0000
commit337853429d9be09f0126c634b6c41999eca1187c (patch)
treea54c88b94917575aee8679ace12af5c342c8d166 /c/src/lib/libbsp/arm/lpc32xx
parentFixed IO configurations (diff)
downloadrtems-337853429d9be09f0126c634b6c41999eca1187c.tar.bz2
various changes
Diffstat (limited to 'c/src/lib/libbsp/arm/lpc32xx')
-rw-r--r--c/src/lib/libbsp/arm/lpc32xx/ChangeLog5
-rw-r--r--c/src/lib/libbsp/arm/lpc32xx/README1
-rw-r--r--c/src/lib/libbsp/arm/lpc32xx/include/lpc32xx.h11
-rw-r--r--c/src/lib/libbsp/arm/lpc32xx/irq/irq.c2
-rw-r--r--c/src/lib/libbsp/arm/lpc32xx/startup/bspstarthooks.c18
5 files changed, 31 insertions, 6 deletions
diff --git a/c/src/lib/libbsp/arm/lpc32xx/ChangeLog b/c/src/lib/libbsp/arm/lpc32xx/ChangeLog
index 25f49deb56..2b4c062194 100644
--- a/c/src/lib/libbsp/arm/lpc32xx/ChangeLog
+++ b/c/src/lib/libbsp/arm/lpc32xx/ChangeLog
@@ -1,3 +1,8 @@
+2010-03-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * README, include/lpc32xx.h, irq/irq.c, startup/bspstarthooks.c:
+ Changes throughout.
+
2010-02-02 Ralf Corsépius <ralf.corsepius@rtems.org>
* make/custom/lpc32xx_phycore.cfg: Remove -W* flags.
diff --git a/c/src/lib/libbsp/arm/lpc32xx/README b/c/src/lib/libbsp/arm/lpc32xx/README
index 97a1546e2d..465e23c39d 100644
--- a/c/src/lib/libbsp/arm/lpc32xx/README
+++ b/c/src/lib/libbsp/arm/lpc32xx/README
@@ -3,3 +3,4 @@ bootloader or U-Boot will be assumed. Drivers:
o Standard UART 3, 4, 5, 6 (Console = 5, 115200N1)
o Clock uses TIMER 0
+ o Ethernet
diff --git a/c/src/lib/libbsp/arm/lpc32xx/include/lpc32xx.h b/c/src/lib/libbsp/arm/lpc32xx/include/lpc32xx.h
index d69e7db7f3..bb52e40164 100644
--- a/c/src/lib/libbsp/arm/lpc32xx/include/lpc32xx.h
+++ b/c/src/lib/libbsp/arm/lpc32xx/include/lpc32xx.h
@@ -91,5 +91,16 @@
#define LPC32XX_UART_LOOP (*(volatile uint32_t *) 0x40054008)
#define LPC32XX_SW_INT (*(volatile uint32_t *) 0x400040a8)
#define LPC32XX_MAC_CLK_CTRL (*(volatile uint32_t *) 0x40004090)
+#define LPC32XX_USB_CTRL (*(volatile uint32_t *) 0x40004064)
+#define LPC32XX_USB_DIV (*(volatile uint32_t *) 0x4000401c)
+#define LPC32XX_OTG_CLK_CTRL (*(volatile uint32_t *) 0x31020ff4)
+#define LPC32XX_OTG_CLK_STAT (*(volatile uint32_t *) 0x31020ff8)
+#define LPC32XX_OTG_STAT_CTRL (*(volatile uint32_t *) 0x31020110)
+#define LPC32XX_I2C_RX (*(volatile uint32_t *) 0x31020300)
+#define LPC32XX_I2C_TX (*(volatile uint32_t *) 0x31020300)
+#define LPC32XX_I2C_STS (*(volatile uint32_t *) 0x31020304)
+#define LPC32XX_I2C_CTL (*(volatile uint32_t *) 0x31020308)
+#define LPC32XX_I2C_CLKHI (*(volatile uint32_t *) 0x3102030c)
+#define LPC32XX_I2C_CLKLO (*(volatile uint32_t *) 0x31020310)
#endif /* LIBBSP_ARM_LPC32XX_LPC32XX_H */
diff --git a/c/src/lib/libbsp/arm/lpc32xx/irq/irq.c b/c/src/lib/libbsp/arm/lpc32xx/irq/irq.c
index 04eec9c921..b7baefbeee 100644
--- a/c/src/lib/libbsp/arm/lpc32xx/irq/irq.c
+++ b/c/src/lib/libbsp/arm/lpc32xx/irq/irq.c
@@ -122,7 +122,7 @@ static inline void lpc32xx_irq_clear_bit_in_field(unsigned index, lpc32xx_irq_fi
{
LPC32XX_IRQ_BIT_OPS_DEFINE;
- fields->fields_table [module] &= ~bit;
+ fields->fields_table [module] &= ~(1U << bit);
}
static inline unsigned lpc32xx_irq_get_index(uint32_t val)
diff --git a/c/src/lib/libbsp/arm/lpc32xx/startup/bspstarthooks.c b/c/src/lib/libbsp/arm/lpc32xx/startup/bspstarthooks.c
index 86164f518a..767bde6bec 100644
--- a/c/src/lib/libbsp/arm/lpc32xx/startup/bspstarthooks.c
+++ b/c/src/lib/libbsp/arm/lpc32xx/startup/bspstarthooks.c
@@ -27,6 +27,14 @@
#include <bsp/mmu.h>
#include <bsp/linker-symbols.h>
+#define LPC32XX_DISABLE_READ_WRITE_DATA_CACHE
+
+#ifdef LPC32XX_DISABLE_READ_WRITE_DATA_CACHE
+ #define LPC32XX_MMU_READ_WRITE_DATA LPC32XX_MMU_READ_WRITE
+#else
+ #define LPC32XX_MMU_READ_WRITE_DATA LPC32XX_MMU_READ_WRITE_CACHED
+#endif
+
#define BSP_START_SECTION __attribute__((section(".bsp_start")))
#define BSP_START_DATA_SECTION __attribute__((section(".bsp_start_data")))
@@ -65,23 +73,23 @@ static const BSP_START_DATA_SECTION lpc32xx_mmu_config
}, {
.begin = (uint32_t) bsp_section_rodata_begin,
.end = (uint32_t) bsp_section_rodata_end,
- .flags = LPC32XX_MMU_READ_ONLY_CACHED
+ .flags = LPC32XX_MMU_READ_WRITE_CACHED
}, {
.begin = (uint32_t) bsp_section_data_begin,
.end = (uint32_t) bsp_section_data_end,
- .flags = LPC32XX_MMU_READ_WRITE
+ .flags = LPC32XX_MMU_READ_WRITE_DATA
}, {
.begin = (uint32_t) bsp_section_fast_begin,
.end = (uint32_t) bsp_section_fast_end,
- .flags = LPC32XX_MMU_READ_ONLY_CACHED
+ .flags = LPC32XX_MMU_READ_WRITE_CACHED
}, {
.begin = (uint32_t) bsp_section_bss_begin,
.end = (uint32_t) bsp_section_bss_end,
- .flags = LPC32XX_MMU_READ_WRITE
+ .flags = LPC32XX_MMU_READ_WRITE_DATA
}, {
.begin = (uint32_t) bsp_section_work_begin,
.end = (uint32_t) bsp_section_work_end,
- .flags = LPC32XX_MMU_READ_WRITE_CACHED
+ .flags = LPC32XX_MMU_READ_WRITE_DATA
}, {
.begin = (uint32_t) bsp_section_stack_begin,
.end = (uint32_t) bsp_section_stack_end,