Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 1 | /* |
| 2 | * arch/arm/mach-kirkwood/common.h |
| 3 | * |
| 4 | * Core functions for Marvell Kirkwood SoCs |
| 5 | * |
| 6 | * This file is licensed under the terms of the GNU General Public |
| 7 | * License version 2. This program is licensed "as is" without any |
| 8 | * warranty of any kind, whether express or implied. |
| 9 | */ |
| 10 | |
| 11 | #ifndef __ARCH_KIRKWOOD_COMMON_H |
| 12 | #define __ARCH_KIRKWOOD_COMMON_H |
| 13 | |
Lennert Buytenhek | dcf1cec | 2008-09-25 16:23:48 +0200 | [diff] [blame] | 14 | struct dsa_platform_data; |
Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 15 | struct mv643xx_eth_platform_data; |
| 16 | struct mv_sata_platform_data; |
Nicolas Pitre | 8235ee0 | 2009-02-14 03:15:55 -0500 | [diff] [blame] | 17 | struct mvsdio_platform_data; |
Nicolas Pitre | fb7b2d3 | 2009-06-01 15:36:36 -0400 | [diff] [blame] | 18 | struct mtd_partition; |
Ben Dooks | 010937e | 2010-04-20 10:26:19 +0100 | [diff] [blame] | 19 | struct mtd_info; |
Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 20 | |
| 21 | /* |
| 22 | * Basic Kirkwood init functions used early by machine-setup. |
| 23 | */ |
| 24 | void kirkwood_map_io(void); |
| 25 | void kirkwood_init(void); |
| 26 | void kirkwood_init_irq(void); |
| 27 | |
| 28 | extern struct mbus_dram_target_info kirkwood_mbus_dram_info; |
| 29 | void kirkwood_setup_cpu_mbus(void); |
Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 30 | |
Ronen Shitrit | b2b3dc2 | 2008-09-15 10:40:35 +0300 | [diff] [blame] | 31 | void kirkwood_pcie_id(u32 *dev, u32 *rev); |
| 32 | |
Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 33 | void kirkwood_ehci_init(void); |
| 34 | void kirkwood_ge00_init(struct mv643xx_eth_platform_data *eth_data); |
Ronen Shitrit | d15fb9e | 2008-10-19 23:10:14 +0200 | [diff] [blame] | 35 | void kirkwood_ge01_init(struct mv643xx_eth_platform_data *eth_data); |
Lennert Buytenhek | dcf1cec | 2008-09-25 16:23:48 +0200 | [diff] [blame] | 36 | void kirkwood_ge00_switch_init(struct dsa_platform_data *d, int irq); |
Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 37 | void kirkwood_pcie_init(void); |
Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 38 | void kirkwood_sata_init(struct mv_sata_platform_data *sata_data); |
Nicolas Pitre | 8235ee0 | 2009-02-14 03:15:55 -0500 | [diff] [blame] | 39 | void kirkwood_sdio_init(struct mvsdio_platform_data *mvsdio_data); |
Lennert Buytenhek | 18365d1 | 2008-08-09 15:38:18 +0200 | [diff] [blame] | 40 | void kirkwood_spi_init(void); |
Martin Michlmayr | 6574e00 | 2009-03-23 19:13:21 +0100 | [diff] [blame] | 41 | void kirkwood_i2c_init(void); |
Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 42 | void kirkwood_uart0_init(void); |
| 43 | void kirkwood_uart1_init(void); |
Nicolas Pitre | fb7b2d3 | 2009-06-01 15:36:36 -0400 | [diff] [blame] | 44 | void kirkwood_nand_init(struct mtd_partition *parts, int nr_parts, int delay); |
Ben Dooks | 010937e | 2010-04-20 10:26:19 +0100 | [diff] [blame] | 45 | void kirkwood_nand_init_rnb(struct mtd_partition *parts, int nr_parts, int (*dev_ready)(struct mtd_info *)); |
Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 46 | |
Martin Michlmayr | 586dcf2 | 2009-03-22 15:22:11 +0100 | [diff] [blame] | 47 | extern int kirkwood_tclk; |
Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 48 | extern struct sys_timer kirkwood_timer; |
| 49 | |
Nicolas Pitre | fb7b2d3 | 2009-06-01 15:36:36 -0400 | [diff] [blame] | 50 | #define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x) |
Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 51 | |
| 52 | #endif |