From 337853429d9be09f0126c634b6c41999eca1187c Mon Sep 17 00:00:00 2001 From: Thomas Doerfler Date: Fri, 12 Mar 2010 08:26:18 +0000 Subject: various changes --- c/src/lib/libbsp/arm/lpc32xx/ChangeLog | 5 +++++ c/src/lib/libbsp/arm/lpc32xx/README | 1 + c/src/lib/libbsp/arm/lpc32xx/include/lpc32xx.h | 11 +++++++++++ c/src/lib/libbsp/arm/lpc32xx/irq/irq.c | 2 +- c/src/lib/libbsp/arm/lpc32xx/startup/bspstarthooks.c | 18 +++++++++++++----- 5 files changed, 31 insertions(+), 6 deletions(-) (limited to 'c/src/lib/libbsp/arm') 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 + + * README, include/lpc32xx.h, irq/irq.c, startup/bspstarthooks.c: + Changes throughout. + 2010-02-02 Ralf Corsépius * 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 #include +#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, -- cgit v1.2.3