1b1479ebbSBoris BREZILLON /*
2b1479ebbSBoris BREZILLON  * Atmel AT91 common AIC (Advanced Interrupt Controller) header file
3b1479ebbSBoris BREZILLON  *
4b1479ebbSBoris BREZILLON  *  Copyright (C) 2004 SAN People
5b1479ebbSBoris BREZILLON  *  Copyright (C) 2004 ATMEL
6b1479ebbSBoris BREZILLON  *  Copyright (C) Rick Bronson
7b1479ebbSBoris BREZILLON  *  Copyright (C) 2014 Free Electrons
8b1479ebbSBoris BREZILLON  *
9b1479ebbSBoris BREZILLON  *  Author: Boris BREZILLON <boris.brezillon@free-electrons.com>
10b1479ebbSBoris BREZILLON  *
11b1479ebbSBoris BREZILLON  * This file is licensed under the terms of the GNU General Public
12b1479ebbSBoris BREZILLON  * License version 2.  This program is licensed "as is" without any
13b1479ebbSBoris BREZILLON  * warranty of any kind, whether express or implied.
14b1479ebbSBoris BREZILLON  */
15b1479ebbSBoris BREZILLON 
16b1479ebbSBoris BREZILLON #ifndef __IRQ_ATMEL_AIC_COMMON_H
17b1479ebbSBoris BREZILLON #define __IRQ_ATMEL_AIC_COMMON_H
18b1479ebbSBoris BREZILLON 
19b1479ebbSBoris BREZILLON 
20b1479ebbSBoris BREZILLON int aic_common_set_type(struct irq_data *d, unsigned type, unsigned *val);
21b1479ebbSBoris BREZILLON 
225fd26a0bSMilo Kim void aic_common_set_priority(int priority, unsigned *val);
23b1479ebbSBoris BREZILLON 
24b1479ebbSBoris BREZILLON int aic_common_irq_domain_xlate(struct irq_domain *d,
25b1479ebbSBoris BREZILLON 				struct device_node *ctrlr,
26b1479ebbSBoris BREZILLON 				const u32 *intspec,
27b1479ebbSBoris BREZILLON 				unsigned int intsize,
28b1479ebbSBoris BREZILLON 				irq_hw_number_t *out_hwirq,
29b1479ebbSBoris BREZILLON 				unsigned int *out_type);
30b1479ebbSBoris BREZILLON 
31b1479ebbSBoris BREZILLON struct irq_domain *__init aic_common_of_init(struct device_node *node,
32b1479ebbSBoris BREZILLON 					     const struct irq_domain_ops *ops,
33dd85c791SMilo Kim 					     const char *name, int nirqs,
34dd85c791SMilo Kim 					     const struct of_device_id *matches);
35b1479ebbSBoris BREZILLON 
360a46230bSBoris Brezillon void __init aic_common_rtc_irq_fixup(void);
373d61467fSBoris BREZILLON 
380a46230bSBoris Brezillon void __init aic_common_rtt_irq_fixup(void);
394185315aSBoris BREZILLON 
40b1479ebbSBoris BREZILLON #endif /* __IRQ_ATMEL_AIC_COMMON_H */
41