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