11da177e4SLinus Torvalds /* 21da177e4SLinus Torvalds * linux/arch/arm/mach-pxa/generic.h 31da177e4SLinus Torvalds * 41da177e4SLinus Torvalds * Author: Nicolas Pitre 51da177e4SLinus Torvalds * Copyright: MontaVista Software Inc. 61da177e4SLinus Torvalds * 71da177e4SLinus Torvalds * This program is free software; you can redistribute it and/or modify 81da177e4SLinus Torvalds * it under the terms of the GNU General Public License version 2 as 91da177e4SLinus Torvalds * published by the Free Software Foundation. 101da177e4SLinus Torvalds */ 111da177e4SLinus Torvalds 12*b9e25aceSeric miao typedef int (*set_wake_t)(unsigned int, unsigned int); 13*b9e25aceSeric miao 141da177e4SLinus Torvalds struct sys_timer; 151da177e4SLinus Torvalds 161da177e4SLinus Torvalds extern struct sys_timer pxa_timer; 17*b9e25aceSeric miao extern void __init pxa_init_irq(int irq_nr, set_wake_t fn); 18*b9e25aceSeric miao extern void __init pxa_init_gpio(int gpio_nr, set_wake_t fn); 19cd49104dSEric Miao extern void __init pxa25x_init_irq(void); 20cd49104dSEric Miao extern void __init pxa27x_init_irq(void); 212c8086a5Seric miao extern void __init pxa3xx_init_irq(void); 221da177e4SLinus Torvalds extern void __init pxa_map_io(void); 231da177e4SLinus Torvalds 241da177e4SLinus Torvalds extern unsigned int get_clk_frequency_khz(int info); 2530f0b408Seric miao extern int pxa_last_gpio; 261da177e4SLinus Torvalds 271da177e4SLinus Torvalds #define SET_BANK(__nr,__start,__size) \ 281da177e4SLinus Torvalds mi->bank[__nr].start = (__start), \ 291da177e4SLinus Torvalds mi->bank[__nr].size = (__size), \ 301da177e4SLinus Torvalds mi->bank[__nr].node = (((unsigned)(__start) - PHYS_OFFSET) >> 27) 311da177e4SLinus Torvalds 3215a40333SRussell King #ifdef CONFIG_PXA25x 3315a40333SRussell King extern unsigned pxa25x_get_clk_frequency_khz(int); 3415a40333SRussell King extern unsigned pxa25x_get_memclk_frequency_10khz(void); 3515a40333SRussell King #else 3615a40333SRussell King #define pxa25x_get_clk_frequency_khz(x) (0) 3715a40333SRussell King #define pxa25x_get_memclk_frequency_10khz() (0) 3815a40333SRussell King #endif 3915a40333SRussell King 4015a40333SRussell King #ifdef CONFIG_PXA27x 4115a40333SRussell King extern unsigned pxa27x_get_clk_frequency_khz(int); 4215a40333SRussell King extern unsigned pxa27x_get_memclk_frequency_10khz(void); 4315a40333SRussell King #else 4415a40333SRussell King #define pxa27x_get_clk_frequency_khz(x) (0) 4515a40333SRussell King #define pxa27x_get_memclk_frequency_10khz() (0) 4615a40333SRussell King #endif 4715a40333SRussell King 482c8086a5Seric miao #ifdef CONFIG_PXA3xx 492c8086a5Seric miao extern unsigned pxa3xx_get_clk_frequency_khz(int); 502c8086a5Seric miao extern unsigned pxa3xx_get_memclk_frequency_10khz(void); 512c8086a5Seric miao #else 522c8086a5Seric miao #define pxa3xx_get_clk_frequency_khz(x) (0) 532c8086a5Seric miao #define pxa3xx_get_memclk_frequency_10khz() (0) 542c8086a5Seric miao #endif 55c0165504Seric miao 56c0165504Seric miao extern struct sysdev_class pxa_irq_sysclass; 5716dfdbf0Seric miao extern struct sysdev_class pxa_gpio_sysclass; 58