source: rtems/c/src/lib/libbsp/arm/raspberrypi/include/irq.h @ acb488ff

4.11
Last change on this file since acb488ff was acb488ff, checked in by Pavel Pisa <pisa@…>, on 07/23/16 at 10:07:10

arm/raspberrypi: remove duplicate setup of IRQ handler in the main ARM exception table.

Exception table setup is processed by common CPU architecture support.
For ARM architecture, it can be found in the file

rtems/c/src/lib/libbsp/arm/shared/start/start.S

and ends by bsp_vector_table_copy_done label.
The actual tabel content can be found at

bsp_start_vector_table_begin

For ARMv7-A and even other variant with hypervisor mode support,
it is even not necessary to copy table to address 0 at all
because CP15 register can be used to specify alternative
table start address

arm_cp15_set_vector_base_address(&)bsp_start_vector_table_begin;

ARMv7-M have register to set exception table base as well.

Updates #2783

  • Property mode set to 100644
File size: 1.6 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup raspberrypi_interrupt
5 *
6 * @brief Interrupt definitions.
7 */
8
9/**
10 * Copyright (c) 2013 Alan Cudmore
11 *
12 *  The license and distribution terms for this file may be
13 *  found in the file LICENSE in this distribution or at
14 *
15 *  http://www.rtems.org/license/LICENSE
16 *
17 */
18
19#ifndef LIBBSP_ARM_RASBPERRYPI_IRQ_H
20#define LIBBSP_ARM_RASPBERRYPI_IRQ_H
21
22#ifndef ASM
23
24#include <rtems.h>
25#include <rtems/irq.h>
26#include <rtems/irq-extension.h>
27
28/**
29 * @defgroup raspberrypi_interrupt Interrrupt Support
30 *
31 * @ingroup arm_raspberrypi
32 *
33 * @brief Interrupt support.
34 */
35
36#define BCM2835_INTC_TOTAL_IRQ       64 + 8
37
38
39#define BCM2835_IRQ_ID_AUX           29
40#define BCM2835_IRQ_ID_SPI_SLAVE     43
41#define BCM2835_IRQ_ID_PWA0          45
42#define BCM2835_IRQ_ID_PWA1          46
43#define BCM2835_IRQ_ID_SMI           48
44#define BCM2835_IRQ_ID_GPIO_0        49
45#define BCM2835_IRQ_ID_GPIO_1        50
46#define BCM2835_IRQ_ID_GPIO_2        51
47#define BCM2835_IRQ_ID_GPIO_3        52
48#define BCM2835_IRQ_ID_I2C           53
49#define BCM2835_IRQ_ID_SPI           54
50#define BCM2835_IRQ_ID_PCM           55
51#define BCM2835_IRQ_ID_UART          57
52
53
54#define BCM2835_IRQ_ID_TIMER_0       64
55#define BCM2835_IRQ_ID_MAILBOX_0     65
56#define BCM2835_IRQ_ID_DOORBELL_0    66
57#define BCM2835_IRQ_ID_DOORBELL_1    67
58#define BCM2835_IRQ_ID_GPU0_HALTED   68
59
60#define BSP_INTERRUPT_VECTOR_MIN    (0)
61#define BSP_INTERRUPT_VECTOR_MAX    (BCM2835_INTC_TOTAL_IRQ - 1)
62
63#define BSP_IRQ_COUNT               (BCM2835_INTC_TOTAL_IRQ)
64
65#endif /* ASM */
66#endif /* LIBBSP_ARM_RASPBERRYPI_IRQ_H */
Note: See TracBrowser for help on using the repository browser.