Merge commit 'v2.6.27-rc8' into x86/setup
[pandora-kernel.git] / arch / arm / mach-ixp23xx / include / mach / platform.h
1 /*
2  * arch/arm/mach-ixp23xx/include/mach/platform.h
3  *
4  * Various bits of code used by platform-level code.
5  *
6  * Author: Deepak Saxena <dsaxena@plexity.net>
7  *
8  * Copyright 2005 (c) MontaVista Software, Inc.
9  *
10  * This file is licensed under the terms of the GNU General Public
11  * License version 2. This program is licensed "as is" without any
12  * warranty of any kind, whether express or implied.
13  */
14
15 #ifndef __ASSEMBLY__
16
17 static inline unsigned long ixp2000_reg_read(volatile void *reg)
18 {
19         return *((volatile unsigned long *)reg);
20 }
21
22 static inline void ixp2000_reg_write(volatile void *reg, unsigned long val)
23 {
24         *((volatile unsigned long *)reg) = val;
25 }
26
27 static inline void ixp2000_reg_wrb(volatile void *reg, unsigned long val)
28 {
29         *((volatile unsigned long *)reg) = val;
30 }
31
32 struct pci_sys_data;
33
34 void ixp23xx_map_io(void);
35 void ixp23xx_init_irq(void);
36 void ixp23xx_sys_init(void);
37 int ixp23xx_pci_setup(int, struct pci_sys_data *);
38 void ixp23xx_pci_preinit(void);
39 struct pci_bus *ixp23xx_pci_scan_bus(int, struct pci_sys_data*);
40 void ixp23xx_pci_slave_init(void);
41
42 extern struct sys_timer ixp23xx_timer;
43
44 #define IXP23XX_UART_XTAL               14745600
45
46 #ifndef __ASSEMBLY__
47 /*
48  * Is system memory on the XSI or CPP bus?
49  */
50 static inline unsigned ixp23xx_cpp_boot(void)
51 {
52         return (*IXP23XX_EXP_CFG0 & IXP23XX_EXP_CFG0_XSI_NOT_PRES);
53 }
54 #endif
55
56
57 #endif