xref: /linux-6.15/include/linux/stmmac.h (revision 3e4cd073)
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 <[email protected]>
24 *******************************************************************************/
25 
26 #ifndef __STMMAC_PLATFORM_DATA
27 #define __STMMAC_PLATFORM_DATA
28 
29 #include <linux/platform_device.h>
30 
31 /* platform data for platform device structure's platform_data field */
32 
33 /* Private data for the STM on-board ethernet driver */
34 struct plat_stmmacenet_data {
35 	int bus_id;
36 	int pbl;
37 	int clk_csr;
38 	int has_gmac;
39 	int enh_desc;
40 	int tx_coe;
41 	int bugged_jumbo;
42 	int pmt;
43 	void (*fix_mac_speed)(void *priv, unsigned int speed);
44 	void (*bus_setup)(void __iomem *ioaddr);
45 	int (*init)(struct platform_device *pdev);
46 	void (*exit)(struct platform_device *pdev);
47 	void *custom_cfg;
48 	void *bsp_priv;
49 };
50 
51 struct plat_stmmacphy_data {
52 	int bus_id;
53 	int phy_addr;
54 	unsigned int phy_mask;
55 	int interface;
56 	int (*phy_reset)(void *priv);
57 	void *priv;
58 };
59 #endif
60 
61