xref: /linux/arch/arm/mach-pxa/generic.h (revision cdd5b5a9761fd66d17586e4f4ba6588c70e640ea)
1*d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
21da177e4SLinus Torvalds /*
31da177e4SLinus Torvalds  *  linux/arch/arm/mach-pxa/generic.h
41da177e4SLinus Torvalds  *
51da177e4SLinus Torvalds  * Author:	Nicolas Pitre
61da177e4SLinus Torvalds  * Copyright:	MontaVista Software Inc.
71da177e4SLinus Torvalds  */
81da177e4SLinus Torvalds 
97b6d864bSRobin Holt #include <linux/reboot.h>
107b6d864bSRobin Holt 
11a3f4c927SLennert Buytenhek struct irq_data;
121da177e4SLinus Torvalds 
134508f775SRobert Jarzmik extern void __init pxa_dt_irq_init(int (*fn)(struct irq_data *,
144508f775SRobert Jarzmik 					     unsigned int));
154508f775SRobert Jarzmik extern void __init pxa_map_io(void);
164508f775SRobert Jarzmik extern void pxa_timer_init(void);
171da177e4SLinus Torvalds 
181da177e4SLinus Torvalds #define SET_BANK(__nr,__start,__size) \
191da177e4SLinus Torvalds 	mi->bank[__nr].start = (__start), \
20be370302SRussell King 	mi->bank[__nr].size = (__size)
211da177e4SLinus Torvalds 
223d3934c3Seric miao #define ARRAY_AND_SIZE(x)	(x), ARRAY_SIZE(x)
233d3934c3Seric miao 
244508f775SRobert Jarzmik #define pxa25x_handle_irq icip_handle_irq
254508f775SRobert Jarzmik extern void __init pxa25x_init_irq(void);
264508f775SRobert Jarzmik extern void __init pxa25x_map_io(void);
274508f775SRobert Jarzmik extern void __init pxa26x_init_irq(void);
2815a40333SRussell King 
294508f775SRobert Jarzmik #define pxa27x_handle_irq ichp_handle_irq
304508f775SRobert Jarzmik extern void __init pxa27x_init_irq(void);
314508f775SRobert Jarzmik extern void __init pxa27x_map_io(void);
3215a40333SRussell King 
334508f775SRobert Jarzmik #define pxa3xx_handle_irq ichp_handle_irq
344508f775SRobert Jarzmik extern void __init pxa3xx_init_irq(void);
354508f775SRobert Jarzmik extern void __init pxa3xx_map_io(void);
36c0165504Seric miao 
372eaa03b5SRafael J. Wysocki extern struct syscore_ops pxa_irq_syscore_ops;
382eaa03b5SRafael J. Wysocki extern struct syscore_ops pxa2xx_mfp_syscore_ops;
392eaa03b5SRafael J. Wysocki extern struct syscore_ops pxa3xx_mfp_syscore_ops;
40cc155c6fSRussell King 
41cc155c6fSRussell King void __init pxa_set_ffuart_info(void *info);
42cc155c6fSRussell King void __init pxa_set_btuart_info(void *info);
43cc155c6fSRussell King void __init pxa_set_stuart_info(void *info);
44cc155c6fSRussell King void __init pxa_set_hwuart_info(void *info);
45271a74fcSRussell King 
467b6d864bSRobin Holt void pxa_restart(enum reboot_mode, const char *);
474508f775SRobert Jarzmik 
484508f775SRobert Jarzmik #if defined(CONFIG_PXA25x) || defined(CONFIG_PXA27x)
494508f775SRobert Jarzmik extern void pxa2xx_clear_reset_status(unsigned int);
504508f775SRobert Jarzmik #else
pxa2xx_clear_reset_status(unsigned int mask)514508f775SRobert Jarzmik static inline void pxa2xx_clear_reset_status(unsigned int mask) {}
524508f775SRobert Jarzmik #endif
534508f775SRobert Jarzmik 
544508f775SRobert Jarzmik 
55