1 /* 2 * arch/arm/plat-orion/include/plat/common.h 3 * 4 * Marvell Orion SoC common setup code used by different mach-/common.c 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 __PLAT_COMMON_H 12 #include <linux/mv643xx_eth.h> 13 #include <linux/platform_data/usb-ehci-orion.h> 14 15 struct dsa_platform_data; 16 struct mv_sata_platform_data; 17 18 void __init orion_uart0_init(void __iomem *membase, 19 resource_size_t mapbase, 20 unsigned int irq, 21 struct clk *clk); 22 23 void __init orion_uart1_init(void __iomem *membase, 24 resource_size_t mapbase, 25 unsigned int irq, 26 struct clk *clk); 27 28 void __init orion_uart2_init(void __iomem *membase, 29 resource_size_t mapbase, 30 unsigned int irq, 31 struct clk *clk); 32 33 void __init orion_uart3_init(void __iomem *membase, 34 resource_size_t mapbase, 35 unsigned int irq, 36 struct clk *clk); 37 38 void __init orion_rtc_init(unsigned long mapbase, 39 unsigned long irq); 40 41 void __init orion_ge00_init(struct mv643xx_eth_platform_data *eth_data, 42 unsigned long mapbase, 43 unsigned long irq, 44 unsigned long irq_err, 45 unsigned int tx_csum_limit); 46 47 void __init orion_ge01_init(struct mv643xx_eth_platform_data *eth_data, 48 unsigned long mapbase, 49 unsigned long irq, 50 unsigned long irq_err, 51 unsigned int tx_csum_limit); 52 53 void __init orion_ge10_init(struct mv643xx_eth_platform_data *eth_data, 54 unsigned long mapbase, 55 unsigned long irq, 56 unsigned long irq_err); 57 58 void __init orion_ge11_init(struct mv643xx_eth_platform_data *eth_data, 59 unsigned long mapbase, 60 unsigned long irq, 61 unsigned long irq_err); 62 63 void __init orion_ge00_switch_init(struct dsa_platform_data *d, 64 int irq); 65 66 void __init orion_i2c_init(unsigned long mapbase, 67 unsigned long irq, 68 unsigned long freq_m); 69 70 void __init orion_i2c_1_init(unsigned long mapbase, 71 unsigned long irq, 72 unsigned long freq_m); 73 74 void __init orion_spi_init(unsigned long mapbase); 75 76 void __init orion_spi_1_init(unsigned long mapbase); 77 78 void __init orion_wdt_init(void); 79 80 void __init orion_xor0_init(unsigned long mapbase_low, 81 unsigned long mapbase_high, 82 unsigned long irq_0, 83 unsigned long irq_1); 84 85 void __init orion_xor1_init(unsigned long mapbase_low, 86 unsigned long mapbase_high, 87 unsigned long irq_0, 88 unsigned long irq_1); 89 90 void __init orion_ehci_init(unsigned long mapbase, 91 unsigned long irq, 92 enum orion_ehci_phy_ver phy_version); 93 94 void __init orion_ehci_1_init(unsigned long mapbase, 95 unsigned long irq); 96 97 void __init orion_ehci_2_init(unsigned long mapbase, 98 unsigned long irq); 99 100 void __init orion_sata_init(struct mv_sata_platform_data *sata_data, 101 unsigned long mapbase, 102 unsigned long irq); 103 104 void __init orion_crypto_init(unsigned long mapbase, 105 unsigned long srambase, 106 unsigned long sram_size, 107 unsigned long irq); 108 109 void __init orion_clkdev_add(const char *con_id, const char *dev_id, 110 struct clk *clk); 111 112 void __init orion_clkdev_init(struct clk *tclk); 113 #endif 114