Merge tag 'arm-soc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[linux-2.6-block.git] / include / linux / stmmac.h
CommitLineData
3c9732c0
GC
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
57a503c6
VK
29#include <linux/platform_device.h>
30
36bcfe7d
GC
31/* Platfrom data for platform device structure's platform_data field */
32
33struct 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};
3c9732c0 40
3c9732c0
GC
41struct plat_stmmacenet_data {
42 int bus_id;
36bcfe7d
GC
43 int phy_addr;
44 int interface;
45 struct stmmac_mdio_bus_data *mdio_bus_data;
3c9732c0 46 int pbl;
dfb8fb96 47 int clk_csr;
3c9732c0 48 int has_gmac;
e326e850 49 int enh_desc;
ebbb293f
GC
50 int tx_coe;
51 int bugged_jumbo;
543876c9 52 int pmt;
61b8013a 53 int force_sf_dma_mode;
3c9732c0 54 void (*fix_mac_speed)(void *priv, unsigned int speed);
ad01b7d4 55 void (*bus_setup)(void __iomem *ioaddr);
293bb1c4
GC
56 int (*init)(struct platform_device *pdev);
57 void (*exit)(struct platform_device *pdev);
58 void *custom_cfg;
3c9732c0
GC
59 void *bsp_priv;
60};
3c9732c0 61#endif