Merge branch 'for-2.6.39' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
[pandora-kernel.git] / arch / arm / mach-davinci / include / mach / tnetv107x.h
1 /*
2  * Texas Instruments TNETV107X SoC Specific Defines
3  *
4  * Copyright (C) 2010 Texas Instruments
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License as
8  * published by the Free Software Foundation version 2.
9  *
10  * This program is distributed "as is" WITHOUT ANY WARRANTY of any
11  * kind, whether express or implied; without even the implied warranty
12  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  */
15 #ifndef __ASM_ARCH_DAVINCI_TNETV107X_H
16 #define __ASM_ARCH_DAVINCI_TNETV107X_H
17
18 #include <asm/sizes.h>
19
20 #define TNETV107X_DDR_BASE      0x80000000
21
22 /*
23  * Fixed mapping for early init starts here. If low-level debug is enabled,
24  * this area also gets mapped via io_pg_offset and io_phys by the boot code.
25  * To fit in with the io_pg_offset calculation, the io base address selected
26  * here _must_ be a multiple of 2^20.
27  */
28 #define TNETV107X_IO_BASE       0x08000000
29 #define TNETV107X_IO_VIRT       (IO_VIRT + SZ_1M)
30
31 #define TNETV107X_N_GPIO        65
32
33 #ifndef __ASSEMBLY__
34
35 #include <linux/serial_8250.h>
36 #include <linux/input/matrix_keypad.h>
37 #include <linux/mfd/ti_ssp.h>
38
39 #include <mach/mmc.h>
40 #include <mach/nand.h>
41 #include <mach/serial.h>
42
43 struct tnetv107x_device_info {
44         struct davinci_uart_config      *serial_config;
45         struct davinci_mmc_config       *mmc_config[2];  /* 2 controllers */
46         struct davinci_nand_pdata       *nand_config[4]; /* 4 chipsels */
47         struct matrix_keypad_platform_data *keypad_config;
48         struct ti_ssp_data              *ssp_config;
49 };
50
51 extern struct platform_device tnetv107x_wdt_device;
52 extern struct platform_device tnetv107x_serial_device;
53
54 extern void __init tnetv107x_init(void);
55 extern void __init tnetv107x_devices_init(struct tnetv107x_device_info *);
56 extern void __init tnetv107x_irq_init(void);
57
58 #endif
59
60 #endif /* __ASM_ARCH_DAVINCI_TNETV107X_H */