Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Enumerations | Functions | Variables
intc-sh73a0.c File Reference
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/irq.h>
#include <linux/io.h>
#include <linux/sh_intc.h>
#include <mach/intc.h>
#include <mach/irqs.h>
#include <mach/sh73a0.h>
#include <asm/hardware/gic.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>

Go to the source code of this file.

Macros

#define RELOC_BASE   0x1200
 
#define INTCS_VECT_RELOC(n, vect)   INTCS_VECT((n), (vect) + RELOC_BASE)
 
#define irq_cb(cb, irq)   irq_get_chip(irq)->cb(irq_get_irq_data(irq))
 
#define irq_cbp(cb, irq, p...)   irq_get_chip(irq)->cb(irq_get_irq_data(irq), p)
 
#define PINTER0_PHYS   0xe69000a0
 
#define PINTER1_PHYS   0xe69000a4
 
#define PINTER0_VIRT   IOMEM(0xe69000a0)
 
#define PINTER1_VIRT   IOMEM(0xe69000a4)
 
#define PINTRR0   IOMEM(0xe69000d0)
 
#define PINTRR1   IOMEM(0xe69000d4)
 
#define PINT0A_IRQ(n, irq)   INTC_IRQ((n), SH73A0_PINT0_IRQ(irq))
 
#define PINT0B_IRQ(n, irq)   INTC_IRQ((n), SH73A0_PINT0_IRQ(irq + 8))
 
#define PINT0C_IRQ(n, irq)   INTC_IRQ((n), SH73A0_PINT0_IRQ(irq + 16))
 
#define PINT0D_IRQ(n, irq)   INTC_IRQ((n), SH73A0_PINT0_IRQ(irq + 24))
 
#define PINT1E_IRQ(n, irq)   INTC_IRQ((n), SH73A0_PINT1_IRQ(irq))
 

Enumerations

enum  {
  UNUSED = 0, PINTCS_PINT1, PINTCS_PINT2, RTDMAC_0_DEI0,
  RTDMAC_0_DEI1, RTDMAC_0_DEI2, RTDMAC_0_DEI3, CEU,
  MFI, BBIF2, VPU, TSIF1,
  _3DG_SGX543, _2DDMAC_2DDM0, RTDMAC_1_DEI4, RTDMAC_1_DEI5,
  RTDMAC_1_DADERR, KEYSC_KEY, VINT, MSIOF,
  TMU0_TUNI00, TMU0_TUNI01, TMU0_TUNI02, CMT0,
  TSIF0, CMT2, LMB, MSUG,
  MSU_MSU, MSU_MSU2, CTI, RWDT0,
  ICB, PEP, ASA, JPU_JPEG,
  LCDC, LCRC, RTDMAC_2_DEI6, RTDMAC_2_DEI7,
  RTDMAC_2_DEI8, RTDMAC_2_DEI9, RTDMAC_3_DEI10, RTDMAC_3_DEI11,
  FRC, GCU, LCDC1, CSIRX,
  DSITX0_DSITX00, DSITX0_DSITX01, SPU2_SPU0, SPU2_SPU1,
  FSI, TMU1_TUNI10, TMU1_TUNI11, TMU1_TUNI12,
  TSIF2, CMT4, MFIS2, CPORTS2R,
  TSG, DMASCH1, SCUW, VIO60,
  VIO61, CEU21, CSI21, DSITX1_DSITX10,
  DSITX1_DSITX11, DISP, DSRV, EMUX2_EMUX20I,
  EMUX2_EMUX21I, MSTIF0_MST00I, MSTIF0_MST01I, MSTIF1_MST10I,
  MSTIF1_MST11I, SPUV, RTDMAC_0, RTDMAC_1,
  RTDMAC_2, RTDMAC_3, DSITX0, SPU2,
  TMU1, MSU
}
 

Functions

 INTC_IRQ_PINS_32 (intca_irq_pins, 0xe6900000, INTCS_VECT_RELOC,"sh73a0-intca-irq-pins")
 
 INTC_PINT (intc_pint0, PINTER0_PHYS, 0xe69000b0,"sh73a0-pint0", INTC_PINT_E(A), INTC_PINT_E(B), INTC_PINT_E(C), INTC_PINT_E(D), INTC_PINT_V(A, PINT0A_IRQ), INTC_PINT_V(B, PINT0B_IRQ), INTC_PINT_V(C, PINT0C_IRQ), INTC_PINT_V(D, PINT0D_IRQ), INTC_PINT_E(A), INTC_PINT_E(B), INTC_PINT_E(C), INTC_PINT_E(D), INTC_PINT_E(A), INTC_PINT_E(B), INTC_PINT_E(C), INTC_PINT_E(D))
 
 INTC_PINT (intc_pint1, PINTER1_PHYS, 0xe69000c0,"sh73a0-pint1", INTC_PINT_E(E), INTC_PINT_E_EMPTY, INTC_PINT_E_EMPTY, INTC_PINT_E_EMPTY, INTC_PINT_V(E, PINT1E_IRQ), INTC_PINT_V_NONE, INTC_PINT_V_NONE, INTC_PINT_V_NONE, INTC_PINT_E_NONE, INTC_PINT_E_NONE, INTC_PINT_E_NONE, INTC_PINT_E(E), INTC_PINT_E(E), INTC_PINT_E_NONE, INTC_PINT_E_NONE, INTC_PINT_E_NONE)
 
void __init sh73a0_init_irq (void)
 

Variables

struct irq_chip intca_gic_irq_chip
 

Macro Definition Documentation

#define INTCS_VECT_RELOC (   n,
  vect 
)    INTCS_VECT((n), (vect) + RELOC_BASE)

Definition at line 265 of file intc-sh73a0.c.

#define irq_cb (   cb,
  irq 
)    irq_get_chip(irq)->cb(irq_get_irq_data(irq))

Definition at line 287 of file intc-sh73a0.c.

#define irq_cbp (   cb,
  irq,
  p... 
)    irq_get_chip(irq)->cb(irq_get_irq_data(irq), p)

Definition at line 288 of file intc-sh73a0.c.

#define PINT0A_IRQ (   n,
  irq 
)    INTC_IRQ((n), SH73A0_PINT0_IRQ(irq))

Definition at line 376 of file intc-sh73a0.c.

#define PINT0B_IRQ (   n,
  irq 
)    INTC_IRQ((n), SH73A0_PINT0_IRQ(irq + 8))

Definition at line 377 of file intc-sh73a0.c.

#define PINT0C_IRQ (   n,
  irq 
)    INTC_IRQ((n), SH73A0_PINT0_IRQ(irq + 16))

Definition at line 378 of file intc-sh73a0.c.

#define PINT0D_IRQ (   n,
  irq 
)    INTC_IRQ((n), SH73A0_PINT0_IRQ(irq + 24))

Definition at line 379 of file intc-sh73a0.c.

#define PINT1E_IRQ (   n,
  irq 
)    INTC_IRQ((n), SH73A0_PINT1_IRQ(irq))

Definition at line 380 of file intc-sh73a0.c.

#define PINTER0_PHYS   0xe69000a0

Definition at line 369 of file intc-sh73a0.c.

#define PINTER0_VIRT   IOMEM(0xe69000a0)

Definition at line 371 of file intc-sh73a0.c.

#define PINTER1_PHYS   0xe69000a4

Definition at line 370 of file intc-sh73a0.c.

#define PINTER1_VIRT   IOMEM(0xe69000a4)

Definition at line 372 of file intc-sh73a0.c.

#define PINTRR0   IOMEM(0xe69000d0)

Definition at line 373 of file intc-sh73a0.c.

#define PINTRR1   IOMEM(0xe69000d4)

Definition at line 374 of file intc-sh73a0.c.

#define RELOC_BASE   0x1200

Definition at line 262 of file intc-sh73a0.c.

Enumeration Type Documentation

anonymous enum
Enumerator:
UNUSED 
PINTCS_PINT1 
PINTCS_PINT2 
RTDMAC_0_DEI0 
RTDMAC_0_DEI1 
RTDMAC_0_DEI2 
RTDMAC_0_DEI3 
CEU 
MFI 
BBIF2 
VPU 
TSIF1 
_3DG_SGX543 
_2DDMAC_2DDM0 
RTDMAC_1_DEI4 
RTDMAC_1_DEI5 
RTDMAC_1_DADERR 
KEYSC_KEY 
VINT 
MSIOF 
TMU0_TUNI00 
TMU0_TUNI01 
TMU0_TUNI02 
CMT0 
TSIF0 
CMT2 
LMB 
MSUG 
MSU_MSU 
MSU_MSU2 
CTI 
RWDT0 
ICB 
PEP 
ASA 
JPU_JPEG 
LCDC 
LCRC 
RTDMAC_2_DEI6 
RTDMAC_2_DEI7 
RTDMAC_2_DEI8 
RTDMAC_2_DEI9 
RTDMAC_3_DEI10 
RTDMAC_3_DEI11 
FRC 
GCU 
LCDC1 
CSIRX 
DSITX0_DSITX00 
DSITX0_DSITX01 
SPU2_SPU0 
SPU2_SPU1 
FSI 
TMU1_TUNI10 
TMU1_TUNI11 
TMU1_TUNI12 
TSIF2 
CMT4 
MFIS2 
CPORTS2R 
TSG 
DMASCH1 
SCUW 
VIO60 
VIO61 
CEU21 
CSI21 
DSITX1_DSITX10 
DSITX1_DSITX11 
DISP 
DSRV 
EMUX2_EMUX20I 
EMUX2_EMUX21I 
MSTIF0_MST00I 
MSTIF0_MST01I 
MSTIF1_MST10I 
MSTIF1_MST11I 
SPUV 
RTDMAC_0 
RTDMAC_1 
RTDMAC_2 
RTDMAC_3 
DSITX0 
SPU2 
TMU1 
MSU 

Definition at line 33 of file intc-sh73a0.c.

Function Documentation

INTC_IRQ_PINS_32 ( intca_irq_pins  ,
0xe6900000  ,
INTCS_VECT_RELOC  ,
"sh73a0-intca-irq-pins  
)
INTC_PINT ( intc_pint0  ,
PINTER0_PHYS  ,
0xe69000b0  ,
"sh73a0-pint0"  ,
INTC_PINT_E(A ,
INTC_PINT_E(B ,
INTC_PINT_E(C ,
INTC_PINT_E(D ,
INTC_PINT_V(A, PINT0A_IRQ ,
INTC_PINT_V(B, PINT0B_IRQ ,
INTC_PINT_V(C, PINT0C_IRQ ,
INTC_PINT_V(D, PINT0D_IRQ ,
INTC_PINT_E(A ,
INTC_PINT_E(B ,
INTC_PINT_E(C ,
INTC_PINT_E(D ,
INTC_PINT_E(A ,
INTC_PINT_E(B ,
INTC_PINT_E(C ,
INTC_PINT_E(D  
)
void __init sh73a0_init_irq ( void  )

Definition at line 424 of file intc-sh73a0.c.

Variable Documentation

struct irq_chip intca_gic_irq_chip
Initial value:
= {
.name = "INTCA-GIC",
.irq_mask = intca_gic_disable,
.irq_unmask = intca_gic_enable,
.irq_mask_ack = intca_gic_mask_ack,
.irq_eoi = intca_gic_eoi,
.irq_enable = intca_gic_enable,
.irq_disable = intca_gic_disable,
.irq_shutdown = intca_gic_disable,
.irq_set_type = intca_gic_set_type,
.irq_set_wake = intca_gic_set_wake,
}

Definition at line 332 of file intc-sh73a0.c.