Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  *  linux/arch/arm/mach-pxa/generic.h
0004  *
0005  * Author:  Nicolas Pitre
0006  * Copyright:   MontaVista Software Inc.
0007  */
0008 
0009 #include <linux/reboot.h>
0010 
0011 struct irq_data;
0012 
0013 extern void __init pxa_dt_irq_init(int (*fn)(struct irq_data *,
0014                          unsigned int));
0015 extern void __init pxa_map_io(void);
0016 extern void pxa_timer_init(void);
0017 
0018 #define SET_BANK(__nr,__start,__size) \
0019     mi->bank[__nr].start = (__start), \
0020     mi->bank[__nr].size = (__size)
0021 
0022 #define ARRAY_AND_SIZE(x)   (x), ARRAY_SIZE(x)
0023 
0024 #define pxa25x_handle_irq icip_handle_irq
0025 extern void __init pxa25x_init_irq(void);
0026 extern void __init pxa25x_map_io(void);
0027 extern void __init pxa26x_init_irq(void);
0028 
0029 #define pxa27x_handle_irq ichp_handle_irq
0030 extern unsigned pxa27x_get_clk_frequency_khz(int);
0031 extern void __init pxa27x_init_irq(void);
0032 extern void __init pxa27x_map_io(void);
0033 
0034 #define pxa3xx_handle_irq ichp_handle_irq
0035 extern void __init pxa3xx_init_irq(void);
0036 extern void __init pxa3xx_map_io(void);
0037 
0038 extern struct syscore_ops pxa_irq_syscore_ops;
0039 extern struct syscore_ops pxa2xx_mfp_syscore_ops;
0040 extern struct syscore_ops pxa3xx_mfp_syscore_ops;
0041 
0042 void __init pxa_set_ffuart_info(void *info);
0043 void __init pxa_set_btuart_info(void *info);
0044 void __init pxa_set_stuart_info(void *info);
0045 void __init pxa_set_hwuart_info(void *info);
0046 
0047 void pxa_restart(enum reboot_mode, const char *);
0048 
0049 #if defined(CONFIG_PXA25x) || defined(CONFIG_PXA27x)
0050 extern void pxa2xx_clear_reset_status(unsigned int);
0051 #else
0052 static inline void pxa2xx_clear_reset_status(unsigned int mask) {}
0053 #endif
0054 
0055 /*
0056  * Once fully converted to the clock framework, all these functions should be
0057  * removed, and replaced with a clk_get(NULL, "core").
0058  */
0059 #ifdef CONFIG_PXA25x
0060 extern unsigned pxa25x_get_clk_frequency_khz(int);
0061 #else
0062 #define pxa25x_get_clk_frequency_khz(x)     (0)
0063 #endif
0064 
0065 #ifdef CONFIG_PXA27x
0066 #else
0067 #define pxa27x_get_clk_frequency_khz(x)     (0)
0068 #endif
0069