Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
tzic.c File Reference
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/init.h>
#include <linux/device.h>
#include <linux/errno.h>
#include <linux/io.h>
#include <linux/irqdomain.h>
#include <linux/of.h>
#include <asm/mach/irq.h>
#include <asm/exception.h>
#include <mach/hardware.h>
#include <mach/common.h>
#include <mach/irqs.h>
#include "irq-common.h"

Go to the source code of this file.

Macros

#define TZIC_INTCNTL   0x0000 /* Control register */
 
#define TZIC_INTTYPE   0x0004 /* Controller Type register */
 
#define TZIC_IMPID   0x0008 /* Distributor Implementer Identification */
 
#define TZIC_PRIOMASK   0x000C /* Priority Mask Reg */
 
#define TZIC_SYNCCTRL   0x0010 /* Synchronizer Control register */
 
#define TZIC_DSMINT   0x0014 /* DSM interrupt Holdoffregister */
 
#define TZIC_INTSEC0(i)   (0x0080 + ((i) << 2)) /* Interrupt Security Reg 0 */
 
#define TZIC_ENSET0(i)   (0x0100 + ((i) << 2)) /* Enable Set Reg 0 */
 
#define TZIC_ENCLEAR0(i)   (0x0180 + ((i) << 2)) /* Enable Clear Reg 0 */
 
#define TZIC_SRCSET0   0x0200 /* Source Set Register 0 */
 
#define TZIC_SRCCLAR0   0x0280 /* Source Clear Register 0 */
 
#define TZIC_PRIORITY0   0x0400 /* Priority Register 0 */
 
#define TZIC_PND0   0x0D00 /* Pending Register 0 */
 
#define TZIC_HIPND(i)   (0x0D80+ ((i) << 2)) /* High Priority Pending Register */
 
#define TZIC_WAKEUP0(i)   (0x0E00 + ((i) << 2)) /* Wakeup Config Register */
 
#define TZIC_SWINT   0x0F00 /* Software Interrupt Rigger Register */
 
#define TZIC_ID0   0x0FD0 /* Indentification Register 0 */
 
#define TZIC_NUM_IRQS   128
 
#define tzic_set_irq_fiq   NULL
 
#define tzic_irq_suspend   NULL
 
#define tzic_irq_resume   NULL
 

Functions

asmlinkage void
__exception_irq_entry 
tzic_handle_irq (struct pt_regs *regs)
 
void __init tzic_init_irq (void __iomem *irqbase)
 
int tzic_enable_wake (void)
 

Variables

void __iomemtzic_base
 

Macro Definition Documentation

#define TZIC_DSMINT   0x0014 /* DSM interrupt Holdoffregister */

Definition at line 41 of file tzic.c.

#define TZIC_ENCLEAR0 (   i)    (0x0180 + ((i) << 2)) /* Enable Clear Reg 0 */

Definition at line 44 of file tzic.c.

#define TZIC_ENSET0 (   i)    (0x0100 + ((i) << 2)) /* Enable Set Reg 0 */

Definition at line 43 of file tzic.c.

#define TZIC_HIPND (   i)    (0x0D80+ ((i) << 2)) /* High Priority Pending Register */

Definition at line 49 of file tzic.c.

#define TZIC_ID0   0x0FD0 /* Indentification Register 0 */

Definition at line 52 of file tzic.c.

#define TZIC_IMPID   0x0008 /* Distributor Implementer Identification */

Definition at line 38 of file tzic.c.

#define TZIC_INTCNTL   0x0000 /* Control register */

Definition at line 36 of file tzic.c.

#define TZIC_INTSEC0 (   i)    (0x0080 + ((i) << 2)) /* Interrupt Security Reg 0 */

Definition at line 42 of file tzic.c.

#define TZIC_INTTYPE   0x0004 /* Controller Type register */

Definition at line 37 of file tzic.c.

#define tzic_irq_resume   NULL

Definition at line 99 of file tzic.c.

#define tzic_irq_suspend   NULL

Definition at line 98 of file tzic.c.

#define TZIC_NUM_IRQS   128

Definition at line 57 of file tzic.c.

#define TZIC_PND0   0x0D00 /* Pending Register 0 */

Definition at line 48 of file tzic.c.

#define TZIC_PRIOMASK   0x000C /* Priority Mask Reg */

Definition at line 39 of file tzic.c.

#define TZIC_PRIORITY0   0x0400 /* Priority Register 0 */

Definition at line 47 of file tzic.c.

#define tzic_set_irq_fiq   NULL

Definition at line 77 of file tzic.c.

#define TZIC_SRCCLAR0   0x0280 /* Source Clear Register 0 */

Definition at line 46 of file tzic.c.

#define TZIC_SRCSET0   0x0200 /* Source Set Register 0 */

Definition at line 45 of file tzic.c.

#define TZIC_SWINT   0x0F00 /* Software Interrupt Rigger Register */

Definition at line 51 of file tzic.c.

#define TZIC_SYNCCTRL   0x0010 /* Synchronizer Control register */

Definition at line 40 of file tzic.c.

#define TZIC_WAKEUP0 (   i)    (0x0E00 + ((i) << 2)) /* Wakeup Config Register */

Definition at line 50 of file tzic.c.

Function Documentation

int tzic_enable_wake ( void  )

tzic_enable_wake() - enable wakeup interrupt

Returns
0 if successful; non-zero otherwise

This function provides an interrupt synchronization point that is required by tzic enabled platforms before entering imx specific low power modes (ie, those low power modes beyond the WAIT_CLOCKED basic ARM WFI only mode).

Definition at line 211 of file tzic.c.

asmlinkage void __exception_irq_entry tzic_handle_irq ( struct pt_regs regs)

Definition at line 130 of file tzic.c.

void __init tzic_init_irq ( void __iomem irqbase)

Definition at line 158 of file tzic.c.

Variable Documentation

void __iomem* tzic_base

Definition at line 54 of file tzic.c.