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 .
*/
2008-03-04 14:19:58 +08:00
typedef int ( * set_wake_t ) ( unsigned int , unsigned int ) ;
2005-04-16 15:20:36 -07:00
struct sys_timer ;
extern struct sys_timer pxa_timer ;
2008-03-04 14:19:58 +08: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 04:14:09 +01:00
extern void __init pxa25x_init_irq ( void ) ;
extern void __init pxa27x_init_irq ( void ) ;
2007-09-11 19:13:17 -07:00
extern void __init pxa3xx_init_irq ( void ) ;
2005-04-16 15:20:36 -07:00
extern void __init pxa_map_io ( void ) ;
extern unsigned int get_clk_frequency_khz ( int info ) ;
2007-08-29 10:18:47 +01:00
extern int pxa_last_gpio ;
2005-04-16 15:20:36 -07: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 15:49:09 +08:00
# define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x)
2007-08-20 10:07:44 +01: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 14:26:00 +08: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-11 19:13:17 -07:00
# ifdef CONFIG_PXA3xx
extern unsigned pxa3xx_get_clk_frequency_khz ( int ) ;
extern unsigned pxa3xx_get_memclk_frequency_10khz ( void ) ;
2008-07-29 14:26:00 +08:00
extern void pxa3xx_clear_reset_status ( unsigned int ) ;
2007-09-11 19:13:17 -07:00
# else
# define pxa3xx_get_clk_frequency_khz(x) (0)
# define pxa3xx_get_memclk_frequency_10khz() (0)
2008-07-29 14:26:00 +08:00
static inline void pxa3xx_clear_reset_status ( unsigned int mask ) { }
2007-09-11 19:13:17 -07:00
# endif
2008-01-28 23:00:02 +00:00
extern struct sysdev_class pxa_irq_sysclass ;
2008-01-28 23:00:02 +00:00
extern struct sysdev_class pxa_gpio_sysclass ;
2008-02-04 10:07:09 +08:00
extern struct sysdev_class pxa3xx_mfp_sysclass ;