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 121da177e4SLinus Torvalds struct sys_timer; 131da177e4SLinus Torvalds 141da177e4SLinus Torvalds extern struct sys_timer pxa_timer; 15a58fbcd8SEric Miao extern void __init pxa_init_irq(int irq_nr, 16a58fbcd8SEric Miao int (*set_wake)(unsigned int, unsigned int)); 17cd49104dSEric Miao extern void __init pxa25x_init_irq(void); 18918c71c0SMarek Vasut #ifdef CONFIG_CPU_PXA26x 19918c71c0SMarek Vasut extern void __init pxa26x_init_irq(void); 20918c71c0SMarek Vasut #endif 21cd49104dSEric Miao extern void __init pxa27x_init_irq(void); 222c8086a5Seric miao extern void __init pxa3xx_init_irq(void); 23*851982c1SMarek Vasut 241da177e4SLinus Torvalds extern void __init pxa_map_io(void); 25*851982c1SMarek Vasut extern void __init pxa25x_map_io(void); 26*851982c1SMarek Vasut extern void __init pxa27x_map_io(void); 27*851982c1SMarek Vasut extern void __init pxa3xx_map_io(void); 281da177e4SLinus Torvalds 291da177e4SLinus Torvalds extern unsigned int get_clk_frequency_khz(int info); 301da177e4SLinus Torvalds 311da177e4SLinus Torvalds #define SET_BANK(__nr,__start,__size) \ 321da177e4SLinus Torvalds mi->bank[__nr].start = (__start), \ 33be370302SRussell King mi->bank[__nr].size = (__size) 341da177e4SLinus Torvalds 353d3934c3Seric miao #define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x) 363d3934c3Seric miao 3715a40333SRussell King #ifdef CONFIG_PXA25x 3815a40333SRussell King extern unsigned pxa25x_get_clk_frequency_khz(int); 3915a40333SRussell King extern unsigned pxa25x_get_memclk_frequency_10khz(void); 4015a40333SRussell King #else 4115a40333SRussell King #define pxa25x_get_clk_frequency_khz(x) (0) 4215a40333SRussell King #define pxa25x_get_memclk_frequency_10khz() (0) 4315a40333SRussell King #endif 4415a40333SRussell King 4515a40333SRussell King #ifdef CONFIG_PXA27x 4615a40333SRussell King extern unsigned pxa27x_get_clk_frequency_khz(int); 4715a40333SRussell King extern unsigned pxa27x_get_memclk_frequency_10khz(void); 4815a40333SRussell King #else 4915a40333SRussell King #define pxa27x_get_clk_frequency_khz(x) (0) 5015a40333SRussell King #define pxa27x_get_memclk_frequency_10khz() (0) 5115a40333SRussell King #endif 5215a40333SRussell King 5304fef228SEric Miao #if defined(CONFIG_PXA25x) || defined(CONFIG_PXA27x) 5404fef228SEric Miao extern void pxa2xx_clear_reset_status(unsigned int); 5504fef228SEric Miao #else 5604fef228SEric Miao static inline void pxa2xx_clear_reset_status(unsigned int mask) {} 5704fef228SEric Miao #endif 5804fef228SEric Miao 592c8086a5Seric miao #ifdef CONFIG_PXA3xx 602c8086a5Seric miao extern unsigned pxa3xx_get_clk_frequency_khz(int); 6104fef228SEric Miao extern void pxa3xx_clear_reset_status(unsigned int); 622c8086a5Seric miao #else 632c8086a5Seric miao #define pxa3xx_get_clk_frequency_khz(x) (0) 6404fef228SEric Miao static inline void pxa3xx_clear_reset_status(unsigned int mask) {} 652c8086a5Seric miao #endif 66c0165504Seric miao 67c0165504Seric miao extern struct sysdev_class pxa_irq_sysclass; 6816dfdbf0Seric miao extern struct sysdev_class pxa_gpio_sysclass; 695a3d9651SEric Miao extern struct sysdev_class pxa2xx_mfp_sysclass; 704be35e23Seric miao extern struct sysdev_class pxa3xx_mfp_sysclass; 71cc155c6fSRussell King 72cc155c6fSRussell King void __init pxa_set_ffuart_info(void *info); 73cc155c6fSRussell King void __init pxa_set_btuart_info(void *info); 74cc155c6fSRussell King void __init pxa_set_stuart_info(void *info); 75cc155c6fSRussell King void __init pxa_set_hwuart_info(void *info); 76