common.h 3.2 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
/*
 * arch/arm/plat-orion/include/plat/common.h
 *
 * Marvell Orion SoC common setup code used by different mach-/common.c
 *
 * This file is licensed under the terms of the GNU General Public
 * License version 2.  This program is licensed "as is" without any
 * warranty of any kind, whether express or implied.
 */

#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 20
			     resource_size_t mapbase,
			     unsigned int irq,
21
			     struct clk *clk);
22

23
void __init orion_uart1_init(void __iomem *membase,
24 25
			     resource_size_t mapbase,
			     unsigned int irq,
26
			     struct clk *clk);
27

28
void __init orion_uart2_init(void __iomem *membase,
29 30
			     resource_size_t mapbase,
			     unsigned int irq,
31
			     struct clk *clk);
32

33
void __init orion_uart3_init(void __iomem *membase,
34 35
			     resource_size_t mapbase,
			     unsigned int irq,
36
			     struct clk *clk);
37 38 39

void __init orion_rtc_init(unsigned long mapbase,
			   unsigned long irq);
40 41 42 43

void __init orion_ge00_init(struct mv643xx_eth_platform_data *eth_data,
			    unsigned long mapbase,
			    unsigned long irq,
44 45
			    unsigned long irq_err,
			    unsigned int tx_csum_limit);
46 47 48 49

void __init orion_ge01_init(struct mv643xx_eth_platform_data *eth_data,
			    unsigned long mapbase,
			    unsigned long irq,
50 51
			    unsigned long irq_err,
			    unsigned int tx_csum_limit);
52 53 54 55

void __init orion_ge10_init(struct mv643xx_eth_platform_data *eth_data,
			    unsigned long mapbase,
			    unsigned long irq,
56
			    unsigned long irq_err);
57 58 59 60

void __init orion_ge11_init(struct mv643xx_eth_platform_data *eth_data,
			    unsigned long mapbase,
			    unsigned long irq,
61
			    unsigned long irq_err);
62 63 64

void __init orion_ge00_switch_init(struct dsa_platform_data *d,
				   int irq);
65

66 67 68
void __init orion_i2c_init(unsigned long mapbase,
			   unsigned long irq,
			   unsigned long freq_m);
69

70 71 72
void __init orion_i2c_1_init(unsigned long mapbase,
			     unsigned long irq,
			     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 82 83 84 85 86 87 88
			    unsigned long mapbase_high,
			    unsigned long irq_0,
			    unsigned long irq_1);

void __init orion_xor1_init(unsigned long mapbase_low,
			    unsigned long mapbase_high,
			    unsigned long irq_0,
			    unsigned long irq_1);
89

90
void __init orion_ehci_init(unsigned long mapbase,
91 92
			    unsigned long irq,
			    enum orion_ehci_phy_ver phy_version);
93

94
void __init orion_ehci_1_init(unsigned long mapbase,
95 96
			      unsigned long irq);

97
void __init orion_ehci_2_init(unsigned long mapbase,
98
			      unsigned long irq);
99 100 101 102

void __init orion_sata_init(struct mv_sata_platform_data *sata_data,
			    unsigned long mapbase,
			    unsigned long irq);
103 104 105 106 107

void __init orion_crypto_init(unsigned long mapbase,
			      unsigned long srambase,
			      unsigned long sram_size,
			      unsigned long irq);
108 109 110 111 112

void __init orion_clkdev_add(const char *con_id, const char *dev_id,
			     struct clk *clk);

void __init orion_clkdev_init(struct clk *tclk);
113
#endif