2005-04-16 15:20:36 -07:00
/*
* linux / arch / arm / mach - pxa / generic . h
*
* Author : Nicolas Pitre
* Copyright : MontaVista Software Inc .
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation .
*/
2013-07-08 16:01:40 -07:00
# include <linux/reboot.h>
2010-11-29 11:18:26 +01:00
struct irq_data ;
2005-04-16 15:20:36 -07:00
extern unsigned int get_clk_frequency_khz ( int info ) ;
2014-09-28 13:59:41 +02:00
extern void __init pxa_dt_irq_init ( int ( * fn ) ( struct irq_data * ,
unsigned int ) ) ;
extern void __init pxa_map_io ( void ) ;
extern void pxa_timer_init ( void ) ;
2005-04-16 15:20:36 -07:00
# define SET_BANK(__nr,__start,__size) \
mi - > bank [ __nr ] . start = ( __start ) , \
2010-05-07 17:40:33 +01:00
mi - > bank [ __nr ] . size = ( __size )
2005-04-16 15:20:36 -07:00
2008-02-03 15:49:09 +08:00
# define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x)
2014-09-28 13:59:41 +02:00
# define pxa25x_handle_irq icip_handle_irq
2014-12-27 14:55:25 +01:00
extern int __init pxa25x_clocks_init ( void ) ;
2014-09-28 13:59:41 +02:00
extern void __init pxa25x_init_irq ( void ) ;
extern void __init pxa25x_map_io ( void ) ;
extern void __init pxa26x_init_irq ( void ) ;
# define pxa27x_handle_irq ichp_handle_irq
2014-12-27 14:55:25 +01:00
extern int __init pxa27x_clocks_init ( void ) ;
2014-09-28 13:59:41 +02:00
extern unsigned pxa27x_get_clk_frequency_khz ( int ) ;
extern void __init pxa27x_init_irq ( void ) ;
extern void __init pxa27x_map_io ( void ) ;
# define pxa3xx_handle_irq ichp_handle_irq
2015-02-07 22:54:03 +01:00
extern int __init pxa3xx_clocks_init ( void ) ;
2014-09-28 13:59:41 +02:00
extern void __init pxa3xx_init_irq ( void ) ;
extern void __init pxa3xx_map_io ( void ) ;
extern struct syscore_ops pxa_irq_syscore_ops ;
extern struct syscore_ops pxa2xx_mfp_syscore_ops ;
extern struct syscore_ops pxa3xx_mfp_syscore_ops ;
void __init pxa_set_ffuart_info ( void * info ) ;
void __init pxa_set_btuart_info ( void * info ) ;
void __init pxa_set_stuart_info ( void * info ) ;
void __init pxa_set_hwuart_info ( void * info ) ;
void pxa_restart ( enum reboot_mode , const char * ) ;
# if defined(CONFIG_PXA25x) || defined(CONFIG_PXA27x)
extern void pxa2xx_clear_reset_status ( unsigned int ) ;
# else
static inline void pxa2xx_clear_reset_status ( unsigned int mask ) { }
# endif
/*
* Once fully converted to the clock framework , all these functions should be
* removed , and replaced with a clk_get ( NULL , " core " ) .
*/
2007-08-20 10:07:44 +01:00
# ifdef CONFIG_PXA25x
extern unsigned pxa25x_get_clk_frequency_khz ( int ) ;
# else
# define pxa25x_get_clk_frequency_khz(x) (0)
# endif
# ifdef CONFIG_PXA27x
# else
# define pxa27x_get_clk_frequency_khz(x) (0)
# endif
2007-09-11 19:13:17 -07:00
# ifdef CONFIG_PXA3xx
2014-09-28 13:59:41 +02:00
extern unsigned pxa3xx_get_clk_frequency_khz ( int ) ;
2007-09-11 19:13:17 -07:00
# else
# define pxa3xx_get_clk_frequency_khz(x) (0)
# endif