xref: /linux-6.15/include/linux/stmmac.h (revision edc7616c)
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 /* platfrom data for platfrom device structure's platfrom_data field */
30 
31 /* Private data for the STM on-board ethernet driver */
32 struct plat_stmmacenet_data {
33 	int bus_id;
34 	int pbl;
35 	int has_gmac;
36 	void (*fix_mac_speed)(void *priv, unsigned int speed);
37 	void (*bus_setup)(unsigned long ioaddr);
38 #ifdef CONFIG_STM_DRIVERS
39 	struct stm_pad_config *pad_config;
40 #endif
41 	void *bsp_priv;
42 };
43 
44 struct plat_stmmacphy_data {
45 	int bus_id;
46 	int phy_addr;
47 	unsigned int phy_mask;
48 	int interface;
49 	int (*phy_reset)(void *priv);
50 	void *priv;
51 };
52 #endif
53 
54