1633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham/*
2633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * include/asm-mips/txx9irq.h
3633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * TX39/TX49 interrupt controller definitions.
4633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham *
5633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * This file is subject to the terms and conditions of the GNU General Public
6633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * License.  See the file "COPYING" in the main directory of this archive
7633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * for more details.
8633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham */
9633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#ifndef __ASM_TXX9IRQ_H
10633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define __ASM_TXX9IRQ_H
11633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
12633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#include <irq.h>
13633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
14633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#ifdef CONFIG_IRQ_CPU
15633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define TXX9_IRQ_BASE	(MIPS_CPU_IRQ_BASE + 8)
16633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#else
17633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#ifdef CONFIG_I8259
18633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define TXX9_IRQ_BASE	(I8259A_IRQ_BASE + 16)
19633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#else
20633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define TXX9_IRQ_BASE	0
21633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#endif
22633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#endif
23633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
24633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#ifdef CONFIG_CPU_TX39XX
25633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define TXx9_MAX_IR 16
26633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#else
27633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define TXx9_MAX_IR 32
28633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#endif
29633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
30633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamvoid txx9_irq_init(unsigned long baseaddr);
31633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamint txx9_irq(void);
32633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamint txx9_irq_set_pri(int irc_irq, int new_pri);
33633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
34633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#endif /* __ASM_TXX9IRQ_H */
35