19#ifndef BSP_POWERPC_IRQ_H 
   20#define BSP_POWERPC_IRQ_H 
   22#ifndef BSP_SHARED_HANDLER_SUPPORT 
   23#define BSP_SHARED_HANDLER_SUPPORT      1 
   32#define BSP_POWERPC_IRQ_GENERIC_SUPPORT 1 
   37#define ISA8259_M_ELCR      0x4d0 
   38#define ISA8259_S_ELCR      0x4d1 
   40#define ELCRS_INT15_LVL         0x80 
   41#define ELCRS_INT14_LVL         0x40 
   42#define ELCRS_INT13_LVL         0x20 
   43#define ELCRS_INT12_LVL         0x10 
   44#define ELCRS_INT11_LVL         0x08 
   45#define ELCRS_INT10_LVL         0x04 
   46#define ELCRS_INT9_LVL          0x02 
   47#define ELCRS_INT8_LVL          0x01 
   48#define ELCRM_INT7_LVL          0x80 
   49#define ELCRM_INT6_LVL          0x40 
   50#define ELCRM_INT5_LVL          0x20 
   51#define ELCRM_INT4_LVL          0x10 
   52#define ELCRM_INT3_LVL          0x8 
   53#define ELCRM_INT2_LVL          0x4 
   54#define ELCRM_INT1_LVL          0x2 
   55#define ELCRM_INT0_LVL          0x1 
   58#define PIC_MASTER_COMMAND_IO_PORT      0x20     
   59#define PIC_SLAVE_COMMAND_IO_PORT       0xa0     
   60#define PIC_MASTER_IMR_IO_PORT          0x21     
   61#define PIC_SLAVE_IMR_IO_PORT           0xa1     
   65#define SLAVE_PIC_EOSI  0x62     
   81#define BSP_ISA_IRQ_NUMBER      (16) 
   82#define BSP_ISA_IRQ_LOWEST_OFFSET   (0) 
   83#define BSP_ISA_IRQ_MAX_OFFSET      (BSP_ISA_IRQ_LOWEST_OFFSET + BSP_ISA_IRQ_NUMBER - 1) 
   89#define BSP_PCI_IRQ_NUMBER      (16) 
   91#define BSP_PCI_IRQ_NUMBER      (0) 
   93#define BSP_PCI_IRQ_LOWEST_OFFSET   (BSP_ISA_IRQ_NUMBER) 
   94#define BSP_PCI_IRQ_MAX_OFFSET      (BSP_PCI_IRQ_LOWEST_OFFSET + BSP_PCI_IRQ_NUMBER - 1) 
   99#define BSP_PROCESSOR_IRQ_NUMBER    (1) 
  100#define BSP_PROCESSOR_IRQ_LOWEST_OFFSET (BSP_PCI_IRQ_MAX_OFFSET + 1) 
  101#define BSP_PROCESSOR_IRQ_MAX_OFFSET    (BSP_PROCESSOR_IRQ_LOWEST_OFFSET + BSP_PROCESSOR_IRQ_NUMBER - 1) 
  105#define BSP_MISC_IRQ_NUMBER     (8) 
  107#define BSP_MISC_IRQ_NUMBER     (0) 
  110#define BSP_MISC_IRQ_LOWEST_OFFSET  (BSP_PROCESSOR_IRQ_MAX_OFFSET + 1) 
  111#define BSP_MISC_IRQ_MAX_OFFSET     (BSP_MISC_IRQ_LOWEST_OFFSET + BSP_MISC_IRQ_NUMBER - 1) 
  115#define BSP_IRQ_NUMBER          (BSP_MISC_IRQ_MAX_OFFSET + 1) 
  116#define BSP_LOWEST_OFFSET       (BSP_ISA_IRQ_LOWEST_OFFSET) 
  117#define BSP_MAX_OFFSET          (BSP_MISC_IRQ_MAX_OFFSET) 
  118#define BSP_INTERRUPT_VECTOR_COUNT  (BSP_MAX_OFFSET + 1) 
  122#define BSP_ISA_PERIODIC_TIMER          (0) 
  123#define BSP_ISA_KEYBOARD            (1) 
  124#define BSP_ISA_UART_COM2_IRQ       (3) 
  125#define BSP_ISA_UART_COM1_IRQ       (4) 
  126#define BSP_ISA_RT_TIMER1           (8) 
  127#define BSP_ISA_RT_TIMER3       (10) 
  131#define BSP_PCI_IRQ0            (BSP_PCI_IRQ_LOWEST_OFFSET) 
  132#if     BSP_PCI_IRQ_NUMBER > 0 
  133#define BSP_PCI_ISA_BRIDGE_IRQ      (BSP_PCI_IRQ0) 
  136#if defined(mot_ppc_mvme2100) 
  137#define BSP_DEC21143_IRQ                (BSP_PCI_IRQ_LOWEST_OFFSET + 1) 
  138#define BSP_PMC_PCMIP_TYPE1_SLOT0_IRQ   (BSP_PCI_IRQ_LOWEST_OFFSET + 2) 
  139#define BSP_PCMIP_TYPE1_SLOT1_IRQ       (BSP_PCI_IRQ_LOWEST_OFFSET + 3) 
  140#define BSP_PCMIP_TYPE2_SLOT0_IRQ       (BSP_PCI_IRQ_LOWEST_OFFSET + 4) 
  141#define BSP_PCMIP_TYPE2_SLOT1_IRQ       (BSP_PCI_IRQ_LOWEST_OFFSET + 5) 
  142#define BSP_PCI_INTA_UNIVERSE_LINT0_IRQ (BSP_PCI_IRQ_LOWEST_OFFSET + 7) 
  143#define BSP_PCI_INTB_UNIVERSE_LINT1_IRQ (BSP_PCI_IRQ_LOWEST_OFFSET + 8) 
  144#define BSP_PCI_INTC_UNIVERSE_LINT2_IRQ (BSP_PCI_IRQ_LOWEST_OFFSET + 9) 
  145#define BSP_PCI_INTD_UNIVERSE_LINT3_IRQ (BSP_PCI_IRQ_LOWEST_OFFSET + 10) 
  146#define BSP_UART_COM1_IRQ               (BSP_PCI_IRQ_LOWEST_OFFSET + 13) 
  147#define BSP_FRONT_PANEL_ABORT_IRQ       (BSP_PCI_IRQ_LOWEST_OFFSET + 14) 
  148#define BSP_RTC_IRQ                     (BSP_PCI_IRQ_LOWEST_OFFSET + 15) 
  150#define BSP_UART_COM1_IRQ       BSP_ISA_UART_COM1_IRQ 
  151#define BSP_UART_COM2_IRQ       BSP_ISA_UART_COM2_IRQ 
  157#define BSP_DECREMENTER         (BSP_PROCESSOR_IRQ_LOWEST_OFFSET) 
  173void BSP_i8259s_init(
void);
 
  203unsigned short BSP_irq_suspend_i8259s(
unsigned short mask);
 
  204void BSP_irq_resume_i8259s(
unsigned short in_progress_save);
 
  206extern void BSP_rtems_irq_mng_init(
unsigned cpuId);
 
  207extern void BSP_i8259s_init(
void);
 
  210#include <bsp/irq_supp.h> 
unsigned short rtems_i8259_masks
Type definition for RTEMS managed interrupts.
Definition: irq.h:89
int BSP_irq_enable_at_i8259s(const rtems_irq_number irqLine)
function to enable a particular irq at 8259 level.
Definition: i8259.c:91
int BSP_irq_disable_at_i8259s(const rtems_irq_number irqLine)
function to disable a particular irq at 8259 level.
Definition: i8259.c:49
int BSP_irq_ack_at_i8259s(const rtems_irq_number irqLine)
function to acknowledge a particular irq at 8259 level.
Definition: i8259.c:143
int BSP_irq_enabled_at_i8259s(const rtems_irq_number irqLine)
function to check if a particular irq is enabled at 8259 level.
Definition: i8259.c:125