mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-20 22:54:55 +07:00
575e93f7b5
Utilize the ability to pass board specific MDIO bus information towards a particular MDIO device thus allowing us to provide the per-port switch layout to the Marvell 88E6XXX switch driver. Since we would end-up with conflicting registration paths, do not register the "dsa" platform device anymore. Note that the MDIO devices registered by code in net/dsa/dsa2.c does not parse a dsa_platform_data, but directly take a dsa_chip_data (specific to a single switch chip), so we update the different call sites to pass this structure down to orion_ge00_switch_init(). Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
108 lines
3.0 KiB
C
108 lines
3.0 KiB
C
/*
|
|
* 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
|
|
#include <linux/mv643xx_eth.h>
|
|
#include <linux/platform_data/usb-ehci-orion.h>
|
|
|
|
struct dsa_chip_data;
|
|
struct mv_sata_platform_data;
|
|
|
|
void __init orion_uart0_init(void __iomem *membase,
|
|
resource_size_t mapbase,
|
|
unsigned int irq,
|
|
struct clk *clk);
|
|
|
|
void __init orion_uart1_init(void __iomem *membase,
|
|
resource_size_t mapbase,
|
|
unsigned int irq,
|
|
struct clk *clk);
|
|
|
|
void __init orion_uart2_init(void __iomem *membase,
|
|
resource_size_t mapbase,
|
|
unsigned int irq,
|
|
struct clk *clk);
|
|
|
|
void __init orion_uart3_init(void __iomem *membase,
|
|
resource_size_t mapbase,
|
|
unsigned int irq,
|
|
struct clk *clk);
|
|
|
|
void __init orion_rtc_init(unsigned long mapbase,
|
|
unsigned long irq);
|
|
|
|
void __init orion_ge00_init(struct mv643xx_eth_platform_data *eth_data,
|
|
unsigned long mapbase,
|
|
unsigned long irq,
|
|
unsigned long irq_err,
|
|
unsigned int tx_csum_limit);
|
|
|
|
void __init orion_ge01_init(struct mv643xx_eth_platform_data *eth_data,
|
|
unsigned long mapbase,
|
|
unsigned long irq,
|
|
unsigned int tx_csum_limit);
|
|
|
|
void __init orion_ge10_init(struct mv643xx_eth_platform_data *eth_data,
|
|
unsigned long mapbase,
|
|
unsigned long irq);
|
|
|
|
void __init orion_ge11_init(struct mv643xx_eth_platform_data *eth_data,
|
|
unsigned long mapbase,
|
|
unsigned long irq);
|
|
|
|
void __init orion_ge00_switch_init(struct dsa_chip_data *d);
|
|
|
|
void __init orion_i2c_init(unsigned long mapbase,
|
|
unsigned long irq,
|
|
unsigned long freq_m);
|
|
|
|
void __init orion_i2c_1_init(unsigned long mapbase,
|
|
unsigned long irq,
|
|
unsigned long freq_m);
|
|
|
|
void __init orion_spi_init(unsigned long mapbase);
|
|
|
|
void __init orion_spi_1_init(unsigned long mapbase);
|
|
|
|
void __init orion_xor0_init(unsigned long mapbase_low,
|
|
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);
|
|
|
|
void __init orion_ehci_init(unsigned long mapbase,
|
|
unsigned long irq,
|
|
enum orion_ehci_phy_ver phy_version);
|
|
|
|
void __init orion_ehci_1_init(unsigned long mapbase,
|
|
unsigned long irq);
|
|
|
|
void __init orion_ehci_2_init(unsigned long mapbase,
|
|
unsigned long irq);
|
|
|
|
void __init orion_sata_init(struct mv_sata_platform_data *sata_data,
|
|
unsigned long mapbase,
|
|
unsigned long irq);
|
|
|
|
void __init orion_crypto_init(unsigned long mapbase,
|
|
unsigned long srambase,
|
|
unsigned long sram_size,
|
|
unsigned long irq);
|
|
|
|
void __init orion_clkdev_add(const char *con_id, const char *dev_id,
|
|
struct clk *clk);
|
|
|
|
void __init orion_clkdev_init(struct clk *tclk);
|
|
#endif
|