1 /*******************************************************************************
2 
3   Header file for stmmac platform data
4 
5   Copyright (C) 2009  STMicroelectronics Ltd
6 
7   This program is free software; you can redistribute it and/or modify it
8   under the terms and conditions of the GNU General Public License,
9   version 2, as published by the Free Software Foundation.
10 
11   This program is distributed in the hope it will be useful, but WITHOUT
12   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
14   more details.
15 
16   You should have received a copy of the GNU General Public License along with
17   this program; if not, write to the Free Software Foundation, Inc.,
18   51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
19 
20   The full GNU General Public License is included in this distribution in
21   the file called "COPYING".
22 
23   Author: Giuseppe Cavallaro <peppe.cavallaro@st.com>
24 *******************************************************************************/
25 
26 #ifndef __STMMAC_PLATFORM_DATA
27 #define __STMMAC_PLATFORM_DATA
28 
29 #include <linux/platform_device.h>
30 
31 /* Platfrom data for platform device structure's platform_data field */
32 
33 struct stmmac_mdio_bus_data {
34 	int bus_id;
35 	int (*phy_reset)(void *priv);
36 	unsigned int phy_mask;
37 	int *irqs;
38 	int probed_phy_irq;
39 };
40 
41 struct plat_stmmacenet_data {
42 	int bus_id;
43 	int phy_addr;
44 	int interface;
45 	struct stmmac_mdio_bus_data *mdio_bus_data;
46 	int pbl;
47 	int clk_csr;
48 	int has_gmac;
49 	int enh_desc;
50 	int tx_coe;
51 	int bugged_jumbo;
52 	int pmt;
53 	int force_sf_dma_mode;
54 	void (*fix_mac_speed)(void *priv, unsigned int speed);
55 	void (*bus_setup)(void __iomem *ioaddr);
56 	int (*init)(struct platform_device *pdev);
57 	void (*exit)(struct platform_device *pdev);
58 	void *custom_cfg;
59 	void *bsp_priv;
60 };
61 #endif
62