2005-04-17 02:20:36 +04: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 .
*/
2008-03-04 09:19:58 +03:00
typedef int ( * set_wake_t ) ( unsigned int , unsigned int ) ;
2005-04-17 02:20:36 +04:00
struct sys_timer ;
extern struct sys_timer pxa_timer ;
2008-03-04 09:19:58 +03:00
extern void __init pxa_init_irq ( int irq_nr , set_wake_t fn ) ;
extern void __init pxa_init_gpio ( int gpio_nr , set_wake_t fn ) ;
2007-06-22 07:14:09 +04:00
extern void __init pxa25x_init_irq ( void ) ;
extern void __init pxa27x_init_irq ( void ) ;
2007-09-12 06:13:17 +04:00
extern void __init pxa3xx_init_irq ( void ) ;
2005-04-17 02:20:36 +04:00
extern void __init pxa_map_io ( void ) ;
extern unsigned int get_clk_frequency_khz ( int info ) ;
2007-08-29 13:18:47 +04:00
extern int pxa_last_gpio ;
2005-04-17 02:20:36 +04:00
# define SET_BANK(__nr,__start,__size) \
mi - > bank [ __nr ] . start = ( __start ) , \
mi - > bank [ __nr ] . size = ( __size ) , \
mi - > bank [ __nr ] . node = ( ( ( unsigned ) ( __start ) - PHYS_OFFSET ) > > 27 )
2008-02-03 10:49:09 +03:00
# define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x)
2007-08-20 13:07:44 +04:00
# ifdef CONFIG_PXA25x
extern unsigned pxa25x_get_clk_frequency_khz ( int ) ;
extern unsigned pxa25x_get_memclk_frequency_10khz ( void ) ;
# else
# define pxa25x_get_clk_frequency_khz(x) (0)
# define pxa25x_get_memclk_frequency_10khz() (0)
# endif
# ifdef CONFIG_PXA27x
extern unsigned pxa27x_get_clk_frequency_khz ( int ) ;
extern unsigned pxa27x_get_memclk_frequency_10khz ( void ) ;
# else
# define pxa27x_get_clk_frequency_khz(x) (0)
# define pxa27x_get_memclk_frequency_10khz() (0)
# endif
2008-07-29 10:26:00 +04:00
# 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
2007-09-12 06:13:17 +04:00
# ifdef CONFIG_PXA3xx
extern unsigned pxa3xx_get_clk_frequency_khz ( int ) ;
extern unsigned pxa3xx_get_memclk_frequency_10khz ( void ) ;
2008-07-29 10:26:00 +04:00
extern void pxa3xx_clear_reset_status ( unsigned int ) ;
2007-09-12 06:13:17 +04:00
# else
# define pxa3xx_get_clk_frequency_khz(x) (0)
# define pxa3xx_get_memclk_frequency_10khz() (0)
2008-07-29 10:26:00 +04:00
static inline void pxa3xx_clear_reset_status ( unsigned int mask ) { }
2007-09-12 06:13:17 +04:00
# endif
2008-01-29 02:00:02 +03:00
extern struct sysdev_class pxa_irq_sysclass ;
2008-01-29 02:00:02 +03:00
extern struct sysdev_class pxa_gpio_sysclass ;
2008-09-03 14:06:34 +04:00
extern struct sysdev_class pxa2xx_mfp_sysclass ;
2008-02-04 05:07:09 +03:00
extern struct sysdev_class pxa3xx_mfp_sysclass ;