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_chip_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 int tx_csum_limit); 51 52 void __init orion_ge10_init(struct mv643xx_eth_platform_data *eth_data, 53 unsigned long mapbase, 54 unsigned long irq); 55 56 void __init orion_ge11_init(struct mv643xx_eth_platform_data *eth_data, 57 unsigned long mapbase, 58 unsigned long irq); 59 60 void __init orion_ge00_switch_init(struct dsa_chip_data *d); 61 62 void __init orion_i2c_init(unsigned long mapbase, 63 unsigned long irq, 64 unsigned long freq_m); 65 66 void __init orion_i2c_1_init(unsigned long mapbase, 67 unsigned long irq, 68 unsigned long freq_m); 69 70 void __init orion_spi_init(unsigned long mapbase); 71 72 void __init orion_spi_1_init(unsigned long mapbase); 73 74 void __init orion_xor0_init(unsigned long mapbase_low, 75 unsigned long mapbase_high, 76 unsigned long irq_0, 77 unsigned long irq_1); 78 79 void __init orion_xor1_init(unsigned long mapbase_low, 80 unsigned long mapbase_high, 81 unsigned long irq_0, 82 unsigned long irq_1); 83 84 void __init orion_ehci_init(unsigned long mapbase, 85 unsigned long irq, 86 enum orion_ehci_phy_ver phy_version); 87 88 void __init orion_ehci_1_init(unsigned long mapbase, 89 unsigned long irq); 90 91 void __init orion_ehci_2_init(unsigned long mapbase, 92 unsigned long irq); 93 94 void __init orion_sata_init(struct mv_sata_platform_data *sata_data, 95 unsigned long mapbase, 96 unsigned long irq); 97 98 void __init orion_crypto_init(unsigned long mapbase, 99 unsigned long srambase, 100 unsigned long sram_size, 101 unsigned long irq); 102 103 void __init orion_clkdev_add(const char *con_id, const char *dev_id, 104 struct clk *clk); 105 106 void __init orion_clkdev_init(struct clk *tclk); 107 #endif 108