18c2ecf20Sopenharmony_ci/* 28c2ecf20Sopenharmony_ci * arch/arm/plat-orion/include/plat/common.h 38c2ecf20Sopenharmony_ci * 48c2ecf20Sopenharmony_ci * Marvell Orion SoC common setup code used by different mach-/common.c 58c2ecf20Sopenharmony_ci * 68c2ecf20Sopenharmony_ci * This file is licensed under the terms of the GNU General Public 78c2ecf20Sopenharmony_ci * License version 2. This program is licensed "as is" without any 88c2ecf20Sopenharmony_ci * warranty of any kind, whether express or implied. 98c2ecf20Sopenharmony_ci */ 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci#ifndef __PLAT_COMMON_H 128c2ecf20Sopenharmony_ci#include <linux/mv643xx_eth.h> 138c2ecf20Sopenharmony_ci#include <linux/platform_data/usb-ehci-orion.h> 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_cistruct dsa_chip_data; 168c2ecf20Sopenharmony_cistruct mv_sata_platform_data; 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_civoid __init orion_uart0_init(void __iomem *membase, 198c2ecf20Sopenharmony_ci resource_size_t mapbase, 208c2ecf20Sopenharmony_ci unsigned int irq, 218c2ecf20Sopenharmony_ci struct clk *clk); 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_civoid __init orion_uart1_init(void __iomem *membase, 248c2ecf20Sopenharmony_ci resource_size_t mapbase, 258c2ecf20Sopenharmony_ci unsigned int irq, 268c2ecf20Sopenharmony_ci struct clk *clk); 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_civoid __init orion_uart2_init(void __iomem *membase, 298c2ecf20Sopenharmony_ci resource_size_t mapbase, 308c2ecf20Sopenharmony_ci unsigned int irq, 318c2ecf20Sopenharmony_ci struct clk *clk); 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_civoid __init orion_uart3_init(void __iomem *membase, 348c2ecf20Sopenharmony_ci resource_size_t mapbase, 358c2ecf20Sopenharmony_ci unsigned int irq, 368c2ecf20Sopenharmony_ci struct clk *clk); 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_civoid __init orion_rtc_init(unsigned long mapbase, 398c2ecf20Sopenharmony_ci unsigned long irq); 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_civoid __init orion_ge00_init(struct mv643xx_eth_platform_data *eth_data, 428c2ecf20Sopenharmony_ci unsigned long mapbase, 438c2ecf20Sopenharmony_ci unsigned long irq, 448c2ecf20Sopenharmony_ci unsigned long irq_err, 458c2ecf20Sopenharmony_ci unsigned int tx_csum_limit); 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_civoid __init orion_ge01_init(struct mv643xx_eth_platform_data *eth_data, 488c2ecf20Sopenharmony_ci unsigned long mapbase, 498c2ecf20Sopenharmony_ci unsigned long irq, 508c2ecf20Sopenharmony_ci unsigned int tx_csum_limit); 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_civoid __init orion_ge10_init(struct mv643xx_eth_platform_data *eth_data, 538c2ecf20Sopenharmony_ci unsigned long mapbase, 548c2ecf20Sopenharmony_ci unsigned long irq); 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_civoid __init orion_ge11_init(struct mv643xx_eth_platform_data *eth_data, 578c2ecf20Sopenharmony_ci unsigned long mapbase, 588c2ecf20Sopenharmony_ci unsigned long irq); 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_civoid __init orion_ge00_switch_init(struct dsa_chip_data *d); 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_civoid __init orion_i2c_init(unsigned long mapbase, 638c2ecf20Sopenharmony_ci unsigned long irq, 648c2ecf20Sopenharmony_ci unsigned long freq_m); 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_civoid __init orion_i2c_1_init(unsigned long mapbase, 678c2ecf20Sopenharmony_ci unsigned long irq, 688c2ecf20Sopenharmony_ci unsigned long freq_m); 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_civoid __init orion_spi_init(unsigned long mapbase); 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_civoid __init orion_spi_1_init(unsigned long mapbase); 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_civoid __init orion_xor0_init(unsigned long mapbase_low, 758c2ecf20Sopenharmony_ci unsigned long mapbase_high, 768c2ecf20Sopenharmony_ci unsigned long irq_0, 778c2ecf20Sopenharmony_ci unsigned long irq_1); 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_civoid __init orion_xor1_init(unsigned long mapbase_low, 808c2ecf20Sopenharmony_ci unsigned long mapbase_high, 818c2ecf20Sopenharmony_ci unsigned long irq_0, 828c2ecf20Sopenharmony_ci unsigned long irq_1); 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_civoid __init orion_ehci_init(unsigned long mapbase, 858c2ecf20Sopenharmony_ci unsigned long irq, 868c2ecf20Sopenharmony_ci enum orion_ehci_phy_ver phy_version); 878c2ecf20Sopenharmony_ci 888c2ecf20Sopenharmony_civoid __init orion_ehci_1_init(unsigned long mapbase, 898c2ecf20Sopenharmony_ci unsigned long irq); 908c2ecf20Sopenharmony_ci 918c2ecf20Sopenharmony_civoid __init orion_ehci_2_init(unsigned long mapbase, 928c2ecf20Sopenharmony_ci unsigned long irq); 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_civoid __init orion_sata_init(struct mv_sata_platform_data *sata_data, 958c2ecf20Sopenharmony_ci unsigned long mapbase, 968c2ecf20Sopenharmony_ci unsigned long irq); 978c2ecf20Sopenharmony_ci 988c2ecf20Sopenharmony_civoid __init orion_crypto_init(unsigned long mapbase, 998c2ecf20Sopenharmony_ci unsigned long srambase, 1008c2ecf20Sopenharmony_ci unsigned long sram_size, 1018c2ecf20Sopenharmony_ci unsigned long irq); 1028c2ecf20Sopenharmony_ci 1038c2ecf20Sopenharmony_civoid __init orion_clkdev_add(const char *con_id, const char *dev_id, 1048c2ecf20Sopenharmony_ci struct clk *clk); 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_civoid __init orion_clkdev_init(struct clk *tclk); 1078c2ecf20Sopenharmony_ci#endif 108