OpenCores
URL https://opencores.org/ocsvn/c0or1k/c0or1k/trunk

Subversion Repositories c0or1k

[/] [c0or1k/] [trunk/] [include/] [l4/] [drivers/] [irq/] [pl190/] [pl190_vic.h] - Rev 2

Compare with Previous | Blame | View Log

/*
 * PL190 Primecell Vectored Interrupt Controller offsets
 *
 * Copyright (C) 2007 Bahadir Balban
 *
 */
 
#ifndef __PL190_VIC_H__
#define __PL190_VIC_H__
 
#include INC_PLAT(platform.h)
#include INC_ARCH(types.h)
#include INC_ARCH(io.h)
 
#define PL190_BASE				PLATFORM_IRQCTRL0_VBASE
#define PL190_SIC_BASE				PLATFORM_IRQCTRL1_VBASE
 
#define PL190_IRQS_MAX				32
 
/* VIC register offsets */
#define PL190_VIC_IRQSTATUS			(PL190_BASE + 0x00)
#define PL190_VIC_FIQSTATUS			(PL190_BASE + 0x04)
#define PL190_VIC_RAWINTR			(PL190_BASE + 0x08)
#define PL190_VIC_INTSELECT			(PL190_BASE + 0x0C)
#define PL190_VIC_INTENABLE			(PL190_BASE + 0x10)
#define PL190_VIC_INTENCLEAR			(PL190_BASE + 0x14)
#define PL190_VIC_SOFTINT			(PL190_BASE + 0x18)
#define PL190_VIC_SOFTINTCLEAR			(PL190_BASE + 0x1C)
#define PL190_VIC_PROTECTION			(PL190_BASE + 0x20)
#define PL190_VIC_VECTADDR			(PL190_BASE + 0x30)
#define PL190_VIC_DEFVECTADDR			(PL190_BASE + 0x34)
#define PL190_VIC_VECTADDR0			(PL190_BASE + 0x100)
/* 15 PIC_VECTADDR registers up to	0x13C */
#define PL190_VIC_VECTCNTL0			(PL190_BASE + 0x200)
/* 15 PIC_VECTCNTL registers up to	0x23C */
 
#define PL190_SIC_IRQS_MAX			32
#define PL190_SIC_STATUS			(PL190_SIC_BASE + 0x0)
#define PL190_SIC_RAWSTAT			(PL190_SIC_BASE + 0x04)
#define PL190_SIC_ENABLE			(PL190_SIC_BASE + 0x08)
#define PL190_SIC_ENSET				(PL190_SIC_BASE + 0x08)
#define PL190_SIC_ENCLR				(PL190_SIC_BASE + 0x0C)
#define PL190_SIC_SOFTINTSET			(PL190_SIC_BASE + 0x10)
#define PL190_SIC_SOFTINTCLR			(PL190_SIC_BASE + 0x14)
#define PL190_SIC_PICENABLE			(PL190_SIC_BASE + 0x20)
#define PL190_SIC_PICENSET			(PL190_SIC_BASE + 0x20)
#define PL190_SIC_PICENCLR			(PL190_SIC_BASE + 0x24)
 
void pl190_vic_init(void);
void pl190_ack_irq(l4id_t irq);
void pl190_mask_irq(l4id_t irq);
void pl190_unmask_irq(l4id_t irq);
l4id_t pl190_read_irq(void *irq_chip_data);
 
l4id_t pl190_sic_read_irq(void *irq_chip_data);
void pl190_sic_mask_irq(l4id_t irq);
void pl190_sic_mask_irq(l4id_t irq);
void pl190_sic_ack_irq(l4id_t irq);
void pl190_sic_unmask_irq(l4id_t irq);
void pl190_sic_init(void);
 
#endif /* __PL190_VIC_H__ */
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.