Back to home page

OSCL-LXR

 
 

    


0001 /*
0002  * arch/arm/plat-orion/include/plat/common.h
0003  *
0004  * Marvell Orion SoC common setup code used by different mach-/common.c
0005  *
0006  * This file is licensed under the terms of the GNU General Public
0007  * License version 2.  This program is licensed "as is" without any
0008  * warranty of any kind, whether express or implied.
0009  */
0010 
0011 #ifndef __PLAT_COMMON_H
0012 #include <linux/mv643xx_eth.h>
0013 #include <linux/platform_data/usb-ehci-orion.h>
0014 
0015 struct dsa_chip_data;
0016 struct mv_sata_platform_data;
0017 
0018 void __init orion_uart0_init(void __iomem *membase,
0019                  resource_size_t mapbase,
0020                  unsigned int irq,
0021                  struct clk *clk);
0022 
0023 void __init orion_uart1_init(void __iomem *membase,
0024                  resource_size_t mapbase,
0025                  unsigned int irq,
0026                  struct clk *clk);
0027 
0028 void __init orion_uart2_init(void __iomem *membase,
0029                  resource_size_t mapbase,
0030                  unsigned int irq,
0031                  struct clk *clk);
0032 
0033 void __init orion_uart3_init(void __iomem *membase,
0034                  resource_size_t mapbase,
0035                  unsigned int irq,
0036                  struct clk *clk);
0037 
0038 void __init orion_rtc_init(unsigned long mapbase,
0039                unsigned long irq);
0040 
0041 void __init orion_ge00_init(struct mv643xx_eth_platform_data *eth_data,
0042                 unsigned long mapbase,
0043                 unsigned long irq,
0044                 unsigned long irq_err,
0045                 unsigned int tx_csum_limit);
0046 
0047 void __init orion_ge01_init(struct mv643xx_eth_platform_data *eth_data,
0048                 unsigned long mapbase,
0049                 unsigned long irq,
0050                 unsigned int tx_csum_limit);
0051 
0052 void __init orion_ge10_init(struct mv643xx_eth_platform_data *eth_data,
0053                 unsigned long mapbase,
0054                 unsigned long irq);
0055 
0056 void __init orion_ge11_init(struct mv643xx_eth_platform_data *eth_data,
0057                 unsigned long mapbase,
0058                 unsigned long irq);
0059 
0060 void __init orion_ge00_switch_init(struct dsa_chip_data *d);
0061 
0062 void __init orion_i2c_init(unsigned long mapbase,
0063                unsigned long irq,
0064                unsigned long freq_m);
0065 
0066 void __init orion_i2c_1_init(unsigned long mapbase,
0067                  unsigned long irq,
0068                  unsigned long freq_m);
0069 
0070 void __init orion_spi_init(unsigned long mapbase);
0071 
0072 void __init orion_spi_1_init(unsigned long mapbase);
0073 
0074 void __init orion_xor0_init(unsigned long mapbase_low,
0075                 unsigned long mapbase_high,
0076                 unsigned long irq_0,
0077                 unsigned long irq_1);
0078 
0079 void __init orion_xor1_init(unsigned long mapbase_low,
0080                 unsigned long mapbase_high,
0081                 unsigned long irq_0,
0082                 unsigned long irq_1);
0083 
0084 void __init orion_ehci_init(unsigned long mapbase,
0085                 unsigned long irq,
0086                 enum orion_ehci_phy_ver phy_version);
0087 
0088 void __init orion_ehci_1_init(unsigned long mapbase,
0089                   unsigned long irq);
0090 
0091 void __init orion_ehci_2_init(unsigned long mapbase,
0092                   unsigned long irq);
0093 
0094 void __init orion_sata_init(struct mv_sata_platform_data *sata_data,
0095                 unsigned long mapbase,
0096                 unsigned long irq);
0097 
0098 void __init orion_crypto_init(unsigned long mapbase,
0099                   unsigned long srambase,
0100                   unsigned long sram_size,
0101                   unsigned long irq);
0102 
0103 void __init orion_clkdev_add(const char *con_id, const char *dev_id,
0104                  struct clk *clk);
0105 
0106 void __init orion_clkdev_init(struct clk *tclk);
0107 #endif