Logo Search packages:      
Sourcecode: linux-fsl-imx51 version File versions  Download package

void mxc_init_irq ( void   ) 

This function initializes the TZIC hardware and disables all the interrupts. It registers the interrupt enable and disable functions to the kernel for each interrupt source.

Definition at line 120 of file tzic.c.

References mxc_init_irq().

Referenced by mxc_init_irq(), and mxc_pm_lowpower().

{
      int i;

      /* put the TZIC into the reset value with
       * all interrupts disabled
       */
      i = __raw_readl(TZIC_INTCNTL);

      __raw_writel(0x80010001, TZIC_INTCNTL);
      i = __raw_readl(TZIC_INTCNTL);
      __raw_writel(0x1f, TZIC_PRIOMASK);
      i = __raw_readl(TZIC_PRIOMASK);
      __raw_writel(0x02, TZIC_SYNCCTRL);
      i = __raw_readl(TZIC_SYNCCTRL);
      for (i = 0; i < 4; i++) {
            __raw_writel(0xFFFFFFFF, TZIC_INTSEC0 + i * 4);
      }
      /* disable all interrupts */
      for (i = 0; i < 4; i++) {
            __raw_writel(0xFFFFFFFF, TZIC_ENCLEAR0 + i * 4);
      }

      /* all IRQ no FIQ Warning :: No selection */

      for (i = 0; i < TZIC_NUM_IRQS; i++) {
            set_irq_chip(i, &mxc_tzic_chip);
            set_irq_handler(i, handle_level_irq);
            set_irq_flags(i, IRQF_VALID);
      }

      printk(KERN_INFO "MXC IRQ initialized\n");
}


Generated by  Doxygen 1.6.0   Back to index