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

5
Last change on this file since d548318 was d548318, checked in by Pavel Pisa <pisa@…>, on Jul 23, 2016 at 10:07:10 AM

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.

  • 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_USB           9
40#define BCM2835_IRQ_ID_AUX           29
41#define BCM2835_IRQ_ID_SPI_SLAVE     43
42#define BCM2835_IRQ_ID_PWA0          45
43#define BCM2835_IRQ_ID_PWA1          46
44#define BCM2835_IRQ_ID_SMI           48
45#define BCM2835_IRQ_ID_GPIO_0        49
46#define BCM2835_IRQ_ID_GPIO_1        50
47#define BCM2835_IRQ_ID_GPIO_2        51
48#define BCM2835_IRQ_ID_GPIO_3        52
49#define BCM2835_IRQ_ID_I2C           53
50#define BCM2835_IRQ_ID_SPI           54
51#define BCM2835_IRQ_ID_PCM           55
52#define BCM2835_IRQ_ID_UART          57
53
54
55#define BCM2835_IRQ_ID_TIMER_0       64
56#define BCM2835_IRQ_ID_MAILBOX_0     65
57#define BCM2835_IRQ_ID_DOORBELL_0    66
58#define BCM2835_IRQ_ID_DOORBELL_1    67
59#define BCM2835_IRQ_ID_GPU0_HALTED   68
60
61#define BSP_INTERRUPT_VECTOR_MIN    (0)
62#define BSP_INTERRUPT_VECTOR_MAX    (BCM2835_INTC_TOTAL_IRQ - 1)
63
64#define BSP_IRQ_COUNT               (BCM2835_INTC_TOTAL_IRQ)
65
66#endif /* ASM */
67#endif /* LIBBSP_ARM_RASPBERRYPI_IRQ_H */
Note: See TracBrowser for help on using the repository browser.