18c2ecf20Sopenharmony_ci/*
28c2ecf20Sopenharmony_ci * Atmel AT91 common AIC (Advanced Interrupt Controller) header file
38c2ecf20Sopenharmony_ci *
48c2ecf20Sopenharmony_ci *  Copyright (C) 2004 SAN People
58c2ecf20Sopenharmony_ci *  Copyright (C) 2004 ATMEL
68c2ecf20Sopenharmony_ci *  Copyright (C) Rick Bronson
78c2ecf20Sopenharmony_ci *  Copyright (C) 2014 Free Electrons
88c2ecf20Sopenharmony_ci *
98c2ecf20Sopenharmony_ci *  Author: Boris BREZILLON <boris.brezillon@free-electrons.com>
108c2ecf20Sopenharmony_ci *
118c2ecf20Sopenharmony_ci * This file is licensed under the terms of the GNU General Public
128c2ecf20Sopenharmony_ci * License version 2.  This program is licensed "as is" without any
138c2ecf20Sopenharmony_ci * warranty of any kind, whether express or implied.
148c2ecf20Sopenharmony_ci */
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci#ifndef __IRQ_ATMEL_AIC_COMMON_H
178c2ecf20Sopenharmony_ci#define __IRQ_ATMEL_AIC_COMMON_H
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciint aic_common_set_type(struct irq_data *d, unsigned type, unsigned *val);
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_civoid aic_common_set_priority(int priority, unsigned *val);
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ciint aic_common_irq_domain_xlate(struct irq_domain *d,
258c2ecf20Sopenharmony_ci				struct device_node *ctrlr,
268c2ecf20Sopenharmony_ci				const u32 *intspec,
278c2ecf20Sopenharmony_ci				unsigned int intsize,
288c2ecf20Sopenharmony_ci				irq_hw_number_t *out_hwirq,
298c2ecf20Sopenharmony_ci				unsigned int *out_type);
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_cistruct irq_domain *__init aic_common_of_init(struct device_node *node,
328c2ecf20Sopenharmony_ci					     const struct irq_domain_ops *ops,
338c2ecf20Sopenharmony_ci					     const char *name, int nirqs,
348c2ecf20Sopenharmony_ci					     const struct of_device_id *matches);
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_civoid __init aic_common_rtc_irq_fixup(void);
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_civoid __init aic_common_rtt_irq_fixup(void);
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci#endif /* __IRQ_ATMEL_AIC_COMMON_H */
41