From 8d2920119b6e14691fc978d8fccd7b0900dcb23f Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 5 Dec 2013 17:26:41 +0100 Subject: bsp/genmcf548x: Add initial values for INTC_ICRn According to the manual the application must use unique and non-overlapping level and priority definitions for enabled interrupts. --- c/src/lib/libbsp/m68k/genmcf548x/startup/init548x.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'c/src/lib/libbsp/m68k/genmcf548x/startup/init548x.c') diff --git a/c/src/lib/libbsp/m68k/genmcf548x/startup/init548x.c b/c/src/lib/libbsp/m68k/genmcf548x/startup/init548x.c index 3a9d002cf3..1221df4041 100644 --- a/c/src/lib/libbsp/m68k/genmcf548x/startup/init548x.c +++ b/c/src/lib/libbsp/m68k/genmcf548x/startup/init548x.c @@ -77,7 +77,9 @@ void mcf548x_init(void); void mcf548x_init(void) - { +{ + size_t i; + #if defined(HAS_LOW_LEVEL_INIT) /* set XLB arbiter timeouts */ MCF548X_XLB_ADRTO = 0x00000100; @@ -108,6 +110,12 @@ void mcf548x_init(void) /* Zero uninitialized data */ memset(bsp_section_bss_begin, 0, (size_t) bsp_section_bss_size); + + for (i = 8; i < RTEMS_ARRAY_SIZE(mcf548x_intc_icr_init_values); ++i) { + volatile uint8_t *icr = &MCF548X_INTC_ICR0; + + icr[i] = mcf548x_intc_icr_init_values[i]; + } } /********************************************************************/ #if defined(HAS_LOW_LEVEL_INIT) -- cgit v1.2.3