m68knommu: general interrupt controller for ColdFire 532x parts
[deliverable/linux.git] / arch / m68k / include / asm / m532xsim.h
index eb7fd444894748ccadc262093b09712ecebcfd77..41c57e0f445ab8cf3d56f6524817e411eb2ddbcf 100644 (file)
 
 #define        MCFSIM_IMR_MASKALL      0xFFFFFFFF      /* All SIM intr sources */
 
-#define MCFSIM_IMR_SIMR0       0xFC04801C
-#define MCFSIM_IMR_SIMR1       0xFC04C01C
-#define MCFSIM_IMR_CIMR0       0xFC04801D
-#define MCFSIM_IMR_CIMR1       0xFC04C01D
+#define        MCFINTC0_SIMR           0xFC04801C
+#define        MCFINTC0_CIMR           0xFC04801D
+#define        MCFINTC0_ICR0           0xFC048040
+#define        MCFINTC1_SIMR           0xFC04C01C
+#define        MCFINTC1_CIMR           0xFC04C01D
+#define        MCFINTC1_ICR0           0xFC04C040
 
 #define MCFSIM_ICR_TIMER1      (0xFC048040+32)
 #define MCFSIM_ICR_TIMER2      (0xFC048040+33)
 
 
 #define mcf_enable_irq0(irq)           \
-       *((volatile unsigned char*) (MCFSIM_IMR_CIMR0)) = (irq);
+       *((volatile unsigned char *) (MCFINTC0_CIMR)) = (irq);
 
 #define mcf_enable_irq1(irq)           \
-       *((volatile unsigned char*) (MCFSIM_IMR_CIMR1)) = (irq);
+       *((volatile unsigned char *) (MCFINTC1_CIMR)) = (irq);
 
 #define mcf_disable_irq0(irq)          \
-       *((volatile unsigned char*) (MCFSIM_IMR_SIMR0)) = (irq);
+       *((volatile unsigned char *) (MCFINTC0_SIMR)) = (irq);
 
 #define mcf_disable_irq1(irq)          \
-       *((volatile unsigned char*) (MCFSIM_IMR_SIMR1)) = (irq);
+       *((volatile unsigned char *) (MCFINTC1_SIMR)) = (irq);
 
 /*
  *     Define the Cache register flags.
  *********************************************************************/
 
 /* Register read/write macros */
-#define MCF_GPIO_PODR_FECH             MCF_REG08(0xFC0A4000)
-#define MCF_GPIO_PODR_FECL             MCF_REG08(0xFC0A4001)
-#define MCF_GPIO_PODR_SSI              MCF_REG08(0xFC0A4002)
-#define MCF_GPIO_PODR_BUSCTL           MCF_REG08(0xFC0A4003)
-#define MCF_GPIO_PODR_BE               MCF_REG08(0xFC0A4004)
-#define MCF_GPIO_PODR_CS               MCF_REG08(0xFC0A4005)
-#define MCF_GPIO_PODR_PWM              MCF_REG08(0xFC0A4006)
-#define MCF_GPIO_PODR_FECI2C           MCF_REG08(0xFC0A4007)
-#define MCF_GPIO_PODR_UART             MCF_REG08(0xFC0A4009)
-#define MCF_GPIO_PODR_QSPI             MCF_REG08(0xFC0A400A)
-#define MCF_GPIO_PODR_TIMER            MCF_REG08(0xFC0A400B)
-#define MCF_GPIO_PODR_LCDDATAH         MCF_REG08(0xFC0A400D)
-#define MCF_GPIO_PODR_LCDDATAM         MCF_REG08(0xFC0A400E)
-#define MCF_GPIO_PODR_LCDDATAL         MCF_REG08(0xFC0A400F)
-#define MCF_GPIO_PODR_LCDCTLH          MCF_REG08(0xFC0A4010)
-#define MCF_GPIO_PODR_LCDCTLL          MCF_REG08(0xFC0A4011)
-#define MCF_GPIO_PDDR_FECH             MCF_REG08(0xFC0A4014)
-#define MCF_GPIO_PDDR_FECL             MCF_REG08(0xFC0A4015)
-#define MCF_GPIO_PDDR_SSI              MCF_REG08(0xFC0A4016)
-#define MCF_GPIO_PDDR_BUSCTL           MCF_REG08(0xFC0A4017)
-#define MCF_GPIO_PDDR_BE               MCF_REG08(0xFC0A4018)
-#define MCF_GPIO_PDDR_CS               MCF_REG08(0xFC0A4019)
-#define MCF_GPIO_PDDR_PWM              MCF_REG08(0xFC0A401A)
-#define MCF_GPIO_PDDR_FECI2C           MCF_REG08(0xFC0A401B)
-#define MCF_GPIO_PDDR_UART             MCF_REG08(0xFC0A401C)
-#define MCF_GPIO_PDDR_QSPI             MCF_REG08(0xFC0A401E)
-#define MCF_GPIO_PDDR_TIMER            MCF_REG08(0xFC0A401F)
-#define MCF_GPIO_PDDR_LCDDATAH         MCF_REG08(0xFC0A4021)
-#define MCF_GPIO_PDDR_LCDDATAM         MCF_REG08(0xFC0A4022)
-#define MCF_GPIO_PDDR_LCDDATAL         MCF_REG08(0xFC0A4023)
-#define MCF_GPIO_PDDR_LCDCTLH          MCF_REG08(0xFC0A4024)
-#define MCF_GPIO_PDDR_LCDCTLL          MCF_REG08(0xFC0A4025)
-#define MCF_GPIO_PPDSDR_FECH           MCF_REG08(0xFC0A4028)
-#define MCF_GPIO_PPDSDR_FECL           MCF_REG08(0xFC0A4029)
-#define MCF_GPIO_PPDSDR_SSI            MCF_REG08(0xFC0A402A)
-#define MCF_GPIO_PPDSDR_BUSCTL         MCF_REG08(0xFC0A402B)
-#define MCF_GPIO_PPDSDR_BE             MCF_REG08(0xFC0A402C)
-#define MCF_GPIO_PPDSDR_CS             MCF_REG08(0xFC0A402D)
-#define MCF_GPIO_PPDSDR_PWM            MCF_REG08(0xFC0A402E)
-#define MCF_GPIO_PPDSDR_FECI2C         MCF_REG08(0xFC0A402F)
-#define MCF_GPIO_PPDSDR_UART           MCF_REG08(0xFC0A4031)
-#define MCF_GPIO_PPDSDR_QSPI           MCF_REG08(0xFC0A4032)
-#define MCF_GPIO_PPDSDR_TIMER          MCF_REG08(0xFC0A4033)
-#define MCF_GPIO_PPDSDR_LCDDATAH       MCF_REG08(0xFC0A4035)
-#define MCF_GPIO_PPDSDR_LCDDATAM       MCF_REG08(0xFC0A4036)
-#define MCF_GPIO_PPDSDR_LCDDATAL       MCF_REG08(0xFC0A4037)
-#define MCF_GPIO_PPDSDR_LCDCTLH                MCF_REG08(0xFC0A4038)
-#define MCF_GPIO_PPDSDR_LCDCTLL                MCF_REG08(0xFC0A4039)
-#define MCF_GPIO_PCLRR_FECH            MCF_REG08(0xFC0A403C)
-#define MCF_GPIO_PCLRR_FECL            MCF_REG08(0xFC0A403D)
-#define MCF_GPIO_PCLRR_SSI             MCF_REG08(0xFC0A403E)
-#define MCF_GPIO_PCLRR_BUSCTL          MCF_REG08(0xFC0A403F)
-#define MCF_GPIO_PCLRR_BE              MCF_REG08(0xFC0A4040)
-#define MCF_GPIO_PCLRR_CS              MCF_REG08(0xFC0A4041)
-#define MCF_GPIO_PCLRR_PWM             MCF_REG08(0xFC0A4042)
-#define MCF_GPIO_PCLRR_FECI2C          MCF_REG08(0xFC0A4043)
-#define MCF_GPIO_PCLRR_UART            MCF_REG08(0xFC0A4045)
-#define MCF_GPIO_PCLRR_QSPI            MCF_REG08(0xFC0A4046)
-#define MCF_GPIO_PCLRR_TIMER           MCF_REG08(0xFC0A4047)
-#define MCF_GPIO_PCLRR_LCDDATAH                MCF_REG08(0xFC0A4049)
-#define MCF_GPIO_PCLRR_LCDDATAM                MCF_REG08(0xFC0A404A)
-#define MCF_GPIO_PCLRR_LCDDATAL                MCF_REG08(0xFC0A404B)
-#define MCF_GPIO_PCLRR_LCDCTLH         MCF_REG08(0xFC0A404C)
-#define MCF_GPIO_PCLRR_LCDCTLL         MCF_REG08(0xFC0A404D)
+#define MCFGPIO_PODR_FECH              (0xFC0A4000)
+#define MCFGPIO_PODR_FECL              (0xFC0A4001)
+#define MCFGPIO_PODR_SSI               (0xFC0A4002)
+#define MCFGPIO_PODR_BUSCTL            (0xFC0A4003)
+#define MCFGPIO_PODR_BE                        (0xFC0A4004)
+#define MCFGPIO_PODR_CS                        (0xFC0A4005)
+#define MCFGPIO_PODR_PWM               (0xFC0A4006)
+#define MCFGPIO_PODR_FECI2C            (0xFC0A4007)
+#define MCFGPIO_PODR_UART              (0xFC0A4009)
+#define MCFGPIO_PODR_QSPI              (0xFC0A400A)
+#define MCFGPIO_PODR_TIMER             (0xFC0A400B)
+#define MCFGPIO_PODR_LCDDATAH          (0xFC0A400D)
+#define MCFGPIO_PODR_LCDDATAM          (0xFC0A400E)
+#define MCFGPIO_PODR_LCDDATAL          (0xFC0A400F)
+#define MCFGPIO_PODR_LCDCTLH           (0xFC0A4010)
+#define MCFGPIO_PODR_LCDCTLL           (0xFC0A4011)
+#define MCFGPIO_PDDR_FECH              (0xFC0A4014)
+#define MCFGPIO_PDDR_FECL              (0xFC0A4015)
+#define MCFGPIO_PDDR_SSI               (0xFC0A4016)
+#define MCFGPIO_PDDR_BUSCTL            (0xFC0A4017)
+#define MCFGPIO_PDDR_BE                        (0xFC0A4018)
+#define MCFGPIO_PDDR_CS                        (0xFC0A4019)
+#define MCFGPIO_PDDR_PWM               (0xFC0A401A)
+#define MCFGPIO_PDDR_FECI2C            (0xFC0A401B)
+#define MCFGPIO_PDDR_UART              (0xFC0A401C)
+#define MCFGPIO_PDDR_QSPI              (0xFC0A401E)
+#define MCFGPIO_PDDR_TIMER             (0xFC0A401F)
+#define MCFGPIO_PDDR_LCDDATAH          (0xFC0A4021)
+#define MCFGPIO_PDDR_LCDDATAM          (0xFC0A4022)
+#define MCFGPIO_PDDR_LCDDATAL          (0xFC0A4023)
+#define MCFGPIO_PDDR_LCDCTLH           (0xFC0A4024)
+#define MCFGPIO_PDDR_LCDCTLL           (0xFC0A4025)
+#define MCFGPIO_PPDSDR_FECH            (0xFC0A4028)
+#define MCFGPIO_PPDSDR_FECL            (0xFC0A4029)
+#define MCFGPIO_PPDSDR_SSI             (0xFC0A402A)
+#define MCFGPIO_PPDSDR_BUSCTL          (0xFC0A402B)
+#define MCFGPIO_PPDSDR_BE              (0xFC0A402C)
+#define MCFGPIO_PPDSDR_CS              (0xFC0A402D)
+#define MCFGPIO_PPDSDR_PWM             (0xFC0A402E)
+#define MCFGPIO_PPDSDR_FECI2C          (0xFC0A402F)
+#define MCFGPIO_PPDSDR_UART            (0xFC0A4031)
+#define MCFGPIO_PPDSDR_QSPI            (0xFC0A4032)
+#define MCFGPIO_PPDSDR_TIMER           (0xFC0A4033)
+#define MCFGPIO_PPDSDR_LCDDATAH                (0xFC0A4035)
+#define MCFGPIO_PPDSDR_LCDDATAM                (0xFC0A4036)
+#define MCFGPIO_PPDSDR_LCDDATAL                (0xFC0A4037)
+#define MCFGPIO_PPDSDR_LCDCTLH         (0xFC0A4038)
+#define MCFGPIO_PPDSDR_LCDCTLL         (0xFC0A4039)
+#define MCFGPIO_PCLRR_FECH             (0xFC0A403C)
+#define MCFGPIO_PCLRR_FECL             (0xFC0A403D)
+#define MCFGPIO_PCLRR_SSI              (0xFC0A403E)
+#define MCFGPIO_PCLRR_BUSCTL           (0xFC0A403F)
+#define MCFGPIO_PCLRR_BE               (0xFC0A4040)
+#define MCFGPIO_PCLRR_CS               (0xFC0A4041)
+#define MCFGPIO_PCLRR_PWM              (0xFC0A4042)
+#define MCFGPIO_PCLRR_FECI2C           (0xFC0A4043)
+#define MCFGPIO_PCLRR_UART             (0xFC0A4045)
+#define MCFGPIO_PCLRR_QSPI             (0xFC0A4046)
+#define MCFGPIO_PCLRR_TIMER            (0xFC0A4047)
+#define MCFGPIO_PCLRR_LCDDATAH         (0xFC0A4049)
+#define MCFGPIO_PCLRR_LCDDATAM         (0xFC0A404A)
+#define MCFGPIO_PCLRR_LCDDATAL         (0xFC0A404B)
+#define MCFGPIO_PCLRR_LCDCTLH          (0xFC0A404C)
+#define MCFGPIO_PCLRR_LCDCTLL          (0xFC0A404D)
 #define MCF_GPIO_PAR_FEC               MCF_REG08(0xFC0A4050)
 #define MCF_GPIO_PAR_PWM               MCF_REG08(0xFC0A4051)
 #define MCF_GPIO_PAR_BUSCTL            MCF_REG08(0xFC0A4052)
 /* Bit definitions and macros for MCF_GPIO_DSCR_IRQ */
 #define MCF_GPIO_DSCR_IRQ_IRQ_DSE(x)               (((x)&0x03)<<0)
 
+/*
+ * Generic GPIO support
+ */
+#define MCFGPIO_PODR                   MCFGPIO_PODR_FECH
+#define MCFGPIO_PDDR                   MCFGPIO_PDDR_FECH
+#define MCFGPIO_PPDR                   MCFGPIO_PPDSDR_FECH
+#define MCFGPIO_SETR                   MCFGPIO_PPDSDR_FECH
+#define MCFGPIO_CLRR                   MCFGPIO_PCLRR_FECH
+
+#define MCFGPIO_PIN_MAX                        136
+#define MCFGPIO_IRQ_MAX                        8
+#define MCFGPIO_IRQ_VECBASE            MCFINT_VECBASE
+
+
 /*********************************************************************
  *
  * Interrupt Controller (INTC)
  *********************************************************************/
 
 /* Register read/write macros */
-#define MCF_EPORT_EPPAR                MCF_REG16(0xFC094000)
-#define MCF_EPORT_EPDDR                MCF_REG08(0xFC094002)
-#define MCF_EPORT_EPIER                MCF_REG08(0xFC094003)
-#define MCF_EPORT_EPDR                 MCF_REG08(0xFC094004)
-#define MCF_EPORT_EPPDR                MCF_REG08(0xFC094005)
-#define MCF_EPORT_EPFR                 MCF_REG08(0xFC094006)
+#define MCFEPORT_EPPAR                (0xFC094000)
+#define MCFEPORT_EPDDR                (0xFC094002)
+#define MCFEPORT_EPIER                (0xFC094003)
+#define MCFEPORT_EPDR                 (0xFC094004)
+#define MCFEPORT_EPPDR                (0xFC094005)
+#define MCFEPORT_EPFR                 (0xFC094006)
 
 /* Bit definitions and macros for MCF_EPORT_EPPAR */
 #define MCF_EPORT_EPPAR_EPPA1(x)       (((x)&0x0003)<<2)
This page took 0.02956 seconds and 5 git commands to generate.