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; |
apatard@mandriva.com | 49106c7 | 2010-05-31 13:49:12 +0200 | [diff] [blame] | 20 | struct kirkwood_asoc_platform_data; |
Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 21 | |
Saeed Bishara | ffd58bd | 2010-06-08 14:21:34 +0300 | [diff] [blame] | 22 | #define KW_PCIE0 (1 << 0) |
| 23 | #define KW_PCIE1 (1 << 1) |
| 24 | |
Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 25 | /* |
| 26 | * Basic Kirkwood init functions used early by machine-setup. |
| 27 | */ |
| 28 | void kirkwood_map_io(void); |
| 29 | void kirkwood_init(void); |
Lennert Buytenhek | 4ee1f6b | 2010-10-15 16:50:26 +0200 | [diff] [blame] | 30 | void kirkwood_init_early(void); |
Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 31 | void kirkwood_init_irq(void); |
| 32 | |
Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 33 | void kirkwood_setup_cpu_mbus(void); |
Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 34 | |
Eric Cooper | 0e0cdd3 | 2011-02-02 17:16:10 -0500 | [diff] [blame] | 35 | void kirkwood_enable_pcie(void); |
Ronen Shitrit | b2b3dc2 | 2008-09-15 10:40:35 +0300 | [diff] [blame] | 36 | void kirkwood_pcie_id(u32 *dev, u32 *rev); |
| 37 | |
Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 38 | void kirkwood_ehci_init(void); |
| 39 | void kirkwood_ge00_init(struct mv643xx_eth_platform_data *eth_data); |
Ronen Shitrit | d15fb9e | 2008-10-19 23:10:14 +0200 | [diff] [blame] | 40 | void kirkwood_ge01_init(struct mv643xx_eth_platform_data *eth_data); |
Lennert Buytenhek | dcf1cec | 2008-09-25 16:23:48 +0200 | [diff] [blame] | 41 | void kirkwood_ge00_switch_init(struct dsa_platform_data *d, int irq); |
Saeed Bishara | ffd58bd | 2010-06-08 14:21:34 +0300 | [diff] [blame] | 42 | void kirkwood_pcie_init(unsigned int portmask); |
Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 43 | void kirkwood_sata_init(struct mv_sata_platform_data *sata_data); |
Nicolas Pitre | 8235ee0 | 2009-02-14 03:15:55 -0500 | [diff] [blame] | 44 | void kirkwood_sdio_init(struct mvsdio_platform_data *mvsdio_data); |
Lennert Buytenhek | 18365d1 | 2008-08-09 15:38:18 +0200 | [diff] [blame] | 45 | void kirkwood_spi_init(void); |
Martin Michlmayr | 6574e00 | 2009-03-23 19:13:21 +0100 | [diff] [blame] | 46 | void kirkwood_i2c_init(void); |
Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 47 | void kirkwood_uart0_init(void); |
| 48 | void kirkwood_uart1_init(void); |
Nicolas Pitre | fb7b2d3 | 2009-06-01 15:36:36 -0400 | [diff] [blame] | 49 | 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] | 50 | void kirkwood_nand_init_rnb(struct mtd_partition *parts, int nr_parts, int (*dev_ready)(struct mtd_info *)); |
apatard@mandriva.com | 49106c7 | 2010-05-31 13:49:12 +0200 | [diff] [blame] | 51 | void kirkwood_audio_init(void); |
Russell King | cb15dff | 2011-11-05 10:03:47 +0000 | [diff] [blame] | 52 | void kirkwood_restart(char, const char *); |
Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 53 | |
Jason Cooper | 6fa6b87 | 2012-03-15 00:52:31 +0000 | [diff] [blame] | 54 | /* board init functions for boards not fully converted to fdt */ |
| 55 | #ifdef CONFIG_MACH_DREAMPLUG_DT |
| 56 | void dreamplug_init(void); |
| 57 | #else |
| 58 | static inline void dreamplug_init(void) {}; |
| 59 | #endif |
| 60 | |
| 61 | /* early init functions not converted to fdt yet */ |
Jason Cooper | 2b45e05 | 2012-02-29 17:39:08 +0000 | [diff] [blame] | 62 | char *kirkwood_id(void); |
| 63 | void kirkwood_l2_init(void); |
Jason Cooper | 2b45e05 | 2012-02-29 17:39:08 +0000 | [diff] [blame] | 64 | void kirkwood_wdt_init(void); |
| 65 | void kirkwood_xor0_init(void); |
| 66 | void kirkwood_xor1_init(void); |
| 67 | void kirkwood_crypto_init(void); |
| 68 | |
Martin Michlmayr | 586dcf2 | 2009-03-22 15:22:11 +0100 | [diff] [blame] | 69 | extern int kirkwood_tclk; |
Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 70 | extern struct sys_timer kirkwood_timer; |
| 71 | |
Nicolas Pitre | fb7b2d3 | 2009-06-01 15:36:36 -0400 | [diff] [blame] | 72 | #define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x) |
Saeed Bishara | 651c74c | 2008-06-22 22:45:06 +0200 | [diff] [blame] | 73 | |
| 74 | #endif |