From 8f8ccee0d9e1c3adfb1de484f26f6d9f6ff08708 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 23 Apr 2018 09:50:39 +0200 Subject: bsps: Move interrupt controller support to bsps This patch is a part of the BSP source reorganization. Update #3285. --- c/src/lib/libbsp/arm/rtl22xx/Makefile.am | 2 +- c/src/lib/libbsp/arm/rtl22xx/irq/irq.c | 70 -------------------------------- 2 files changed, 1 insertion(+), 71 deletions(-) delete mode 100644 c/src/lib/libbsp/arm/rtl22xx/irq/irq.c (limited to 'c/src/lib/libbsp/arm/rtl22xx') diff --git a/c/src/lib/libbsp/arm/rtl22xx/Makefile.am b/c/src/lib/libbsp/arm/rtl22xx/Makefile.am index 7a8ff9e58e..94fadf0507 100644 --- a/c/src/lib/libbsp/arm/rtl22xx/Makefile.am +++ b/c/src/lib/libbsp/arm/rtl22xx/Makefile.am @@ -36,7 +36,7 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/dev/serial/legacy-console librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/rtl22xx/console/uart.c # IRQ librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-default-handler.c -librtemsbsp_a_SOURCES += irq/irq.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/rtl22xx/irq/irq.c # Cache librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/cache/nocache.c diff --git a/c/src/lib/libbsp/arm/rtl22xx/irq/irq.c b/c/src/lib/libbsp/arm/rtl22xx/irq/irq.c deleted file mode 100644 index 83e140bd7b..0000000000 --- a/c/src/lib/libbsp/arm/rtl22xx/irq/irq.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Philps LPC22XX Interrupt handler - * - * Copyright (c) 2010 embedded brains GmbH. - * - * Copyright (c) 2006 by Ray to support LPC ARM - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#include - -#include -#include -#include - -#include - -void bsp_interrupt_dispatch(void) -{ - rtems_vector_number vector = 31 - __builtin_clz(VICIRQStatus); - - bsp_interrupt_handler_dispatch(vector); - - VICVectAddr = 0; -} - -void bsp_interrupt_vector_enable(rtems_vector_number vector) -{ - bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); - VICIntEnable |= 1 << vector; -} - -void bsp_interrupt_vector_disable(rtems_vector_number vector) -{ - bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); - VICIntEnClr = 1 << vector; -} - -rtems_status_code bsp_interrupt_facility_initialize(void) -{ - volatile uint32_t *ctrl = (volatile uint32_t *) VICVectCntlBase; - size_t i = 0; - - /* Disable all interrupts */ - VICIntEnClr = 0xffffffff; - - /* Use IRQ category */ - VICIntSelect = 0; - - /* Enable access in USER mode */ - VICProtection = 0; - - for (i = 0; i < 16; ++i) { - /* Disable vector mode */ - ctrl [i] = 0; - - /* Acknowledge interrupts for all priorities */ - VICVectAddr = 0; - } - - /* Acknowledge interrupts for all priorities */ - VICVectAddr = 0; - - /* Install the IRQ exception handler */ - _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, _ARMV4_Exception_interrupt, NULL); - - return RTEMS_SUCCESSFUL; -} -- cgit v1.2.3