blob: af60376d50debe30132acd00c58254c4d1a7ab9a [file] [log] [blame]
Boris BREZILLONb1479eb2014-07-10 19:14:18 +02001/*
2 * Atmel AT91 common AIC (Advanced Interrupt Controller) header file
3 *
4 * Copyright (C) 2004 SAN People
5 * Copyright (C) 2004 ATMEL
6 * Copyright (C) Rick Bronson
7 * Copyright (C) 2014 Free Electrons
8 *
9 * Author: Boris BREZILLON <boris.brezillon@free-electrons.com>
10 *
11 * This file is licensed under the terms of the GNU General Public
12 * License version 2. This program is licensed "as is" without any
13 * warranty of any kind, whether express or implied.
14 */
15
16#ifndef __IRQ_ATMEL_AIC_COMMON_H
17#define __IRQ_ATMEL_AIC_COMMON_H
18
19
20int aic_common_set_type(struct irq_data *d, unsigned type, unsigned *val);
21
Milo Kim5fd26a02016-01-13 16:19:51 +090022void aic_common_set_priority(int priority, unsigned *val);
Boris BREZILLONb1479eb2014-07-10 19:14:18 +020023
24int aic_common_irq_domain_xlate(struct irq_domain *d,
25 struct device_node *ctrlr,
26 const u32 *intspec,
27 unsigned int intsize,
28 irq_hw_number_t *out_hwirq,
29 unsigned int *out_type);
30
31struct irq_domain *__init aic_common_of_init(struct device_node *node,
32 const struct irq_domain_ops *ops,
Milo Kimdd85c792016-01-13 16:19:49 +090033 const char *name, int nirqs,
34 const struct of_device_id *matches);
Boris BREZILLONb1479eb2014-07-10 19:14:18 +020035
Boris BREZILLON3d614672014-07-10 20:25:40 +020036void __init aic_common_rtc_irq_fixup(struct device_node *root);
37
Boris BREZILLON41853152014-11-03 09:31:00 +010038void __init aic_common_rtt_irq_fixup(struct device_node *root);
39
Boris BREZILLONb1479eb2014-07-10 19:14:18 +020040#endif /* __IRQ_ATMEL_AIC_COMMON_H */