blob: 3ca6f964a9557cd87a563b23107855a28ef16d43 (
plain) (
tree)
|
|
/**
* @file
*
* @ingroup bsp_interrupt
*
* @brief Malta Interrupt Definitions
*/
/*
* COPYRIGHT (c) 1989-2012.
* On-Line Applications Research Corporation (OAR).
*
* 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.
*/
#ifndef LIBBSP_MIPS_MALTA_IRQ_H
#define LIBBSP_MIPS_MALTA_IRQ_H
#ifndef ASM
#include <rtems.h>
#include <rtems/irq.h>
#include <rtems/irq-extension.h>
#include <rtems/score/mips.h>
#endif
/**
* @addtogroup bsp_interrupt
*
* @{
*/
#define BSP_INTERRUPT_VECTOR_MIN 0
/*
* Interrupt Vector Numbers
*
* NOTE: Numbers 0-15 directly map to levels on the IRC.
* Number 16 is "1xxxx" per p. 164 of the TX3904 manual.
*/
#define MALTA_CPU_INT_START MIPS_INTERRUPT_BASE+0
#define MALTA_CPU_INT_SW0 MALTA_CPU_INT_START+0
#define MALTA_CPU_INT_SW2 MALTA_CPU_INT_START+1
#define MALTA_CPU_INT0 MALTA_CPU_INT_START+2
#define MALTA_CPU_INT1 MALTA_CPU_INT_START+3
#define MALTA_CPU_INT2 MALTA_CPU_INT_START+4
#define MALTA_CPU_INT3 MALTA_CPU_INT_START+5
#define MALTA_CPU_INT4 MALTA_CPU_INT_START+6
#define MALTA_CPU_INT5 MALTA_CPU_INT_START+7
#define MALTA_CPU_INT_LAST MALTA_CPU_INT5
#define MALTA_SB_IRQ_START MALTA_CPU_INT_LAST+1
#define MALTA_SB_IRQ_0 MALTA_SB_IRQ_START+0
#define MALTA_SB_IRQ_1 MALTA_SB_IRQ_START+1
#define MALTA_SB_IRQ_2 MALTA_SB_IRQ_START+2
#define MALTA_SB_IRQ_3 MALTA_SB_IRQ_START+3
#define MALTA_SB_IRQ_4 MALTA_SB_IRQ_START+4
#define MALTA_SB_IRQ_5 MALTA_SB_IRQ_START+5
#define MALTA_SB_IRQ_6 MALTA_SB_IRQ_START+6
#define MALTA_SB_IRQ_7 MALTA_SB_IRQ_START+7
#define MALTA_SB_IRQ_8 MALTA_SB_IRQ_START+8
#define MALTA_SB_IRQ_9 MALTA_SB_IRQ_START+9
#define MALTA_SB_IRQ_10 MALTA_SB_IRQ_START+10
#define MALTA_SB_IRQ_11 MALTA_SB_IRQ_START+11
#define MALTA_SB_IRQ_12 MALTA_SB_IRQ_START+12
#define MALTA_SB_IRQ_13 MALTA_SB_IRQ_START+13
#define MALTA_SB_IRQ_14 MALTA_SB_IRQ_START+14
#define MALTA_SB_IRQ_15 MALTA_SB_IRQ_START+15
#define MALTA_SB_IRQ_LAST MALTA_SB_IRQ_15
#define MALTA_PCI_ADP_START MALTA_SB_IRQ_LAST+1
#define MALTA_PCI_ADP20 MALTA_PCI_ADP_START+0
#define MALTA_PCI_ADP21 MALTA_PCI_ADP_START+1
#define MALTA_PCI_ADP22 MALTA_PCI_ADP_START+2
#define MALTA_PCI_ADP27 MALTA_PCI_ADP_START+3
#define MALTA_PCI_ADP28 MALTA_PCI_ADP_START+4
#define MALTA_PCI_ADP29 MALTA_PCI_ADP_START+5
#define MALTA_PCI_ADP30 MALTA_PCI_ADP_START+6
#define MALTA_PCI_ADP31 MALTA_PCI_ADP_START+7
#define MALTA_PCI_ADP_LAST MALTA_PCI_ADP31
#
#define BSP_INTERRUPT_VECTOR_MAX MALTA_PCI_ADP_LAST
/*
* Redefine interrupts with more descriptive names.
* The Generic ones above match the hardware name,
* where these match the device name.
*/
#define MALTA_INT_SOUTHBRIDGE_INTR MALTA_CPU_INT0
#define MALTA_INT_SOUTHBRIDGE_SMI MALTA_CPU_INT1
#define MALTA_INT_TTY2 MALTA_CPU_INT2
#define MALTA_INT_COREHI MALTA_CPU_INT3
#define MALTA_INT_CORELO MALTA_CPU_INT4
#define MALTA_INT_TICKER MALTA_CPU_INT5
#define MALTA_IRQ_TIMER_SOUTH_BRIDGE MALTA_SB_IRQ_0
#define MALTA_IRQ_KEYBOARD_SUPERIO MALTA_SB_IRQ_1
#define MALTA_IRQ_RESERVED1_SOUTH_BRIDGE MALTA_SB_IRQ_2
#define MALTA_IRQ_TTY1 MALTA_SB_IRQ_3
#define MALTA_IRQ_TTY0 MALTA_SB_IRQ_4
#define MALTA_IRQ_NOT_USED MALTA_SB_IRQ_5
#define MALTA_IRQ_FLOPPY_SUPERIO MALTA_SB_IRQ_6
#define MALTA_IRQ_PARALLEL_PORT_SUPERIO MALTA_SB_IRQ_7
#define MALTA_IRQ_REALTIME_CLOCK_SOUTH_BRIDGE MALTA_SB_IRQ_8
#define MALTA_IRQ_I2C_SOUTH_BRIDGE MALTA_SB_IRQ_9
/* PCI A, PCI B (including Ethernet) PCI slot 1..4, Ethernet */
#define MALTA_IRQ_PCI_A_B MALTA_SB_IRQ_10
/* PCI slot 1..4 (audio, USB) */
#define MALTA_IRQ_PCI_C_D MALTA_SB_IRQ_11
#define MALTA_IRQ_MOUSE_SUPERIO MALTA_SB_IRQ_12
#define MALTA_IRQ_RESERVED2_SOUTH_BRIDGE MALTA_SB_IRQ_13
#define MALTA_IRQ_PRIMARY_IDE MALTA_SB_IRQ_14
#define MALTA_IRQ_SECONDARY_IDE MALTA_SB_IRQ_15
#define MALTA_IRQ_SOUTH_BRIDGE MALTA_PCI_ADP20
#define MALTA_IRQ_ETHERNET MALTA_IRQ_PCI_A_B
#define MALTA_IRQ_AUDIO MALTA_PCI_ADP22
#define MALTA_IRQ_CORE_CARD MALTA_PCI_ADP27
#define MALTA_IRQ_PCI_CONNECTOR_1 MALTA_PCI_ADP28
#define MALTA_IRQ_PCI_CONNECTOR_2 MALTA_PCI_ADP29
#define MALTA_IRQ_PCI_CONNECTOR_3 MALTA_PCI_ADP30
#define MALTA_IRQ_PCI_CONNECTOR_4 MALTA_PCI_ADP31
#ifndef ASM
#endif /* ASM */
/** @} */
#endif /* LIBBSP_MIPS_MALTA_IRQ_H */
|