xref: /openbmc/linux/drivers/net/ethernet/qualcomm/emac/emac-phy.h (revision b9b17debc69d27cd55e21ee51a5ba7fc50a426cf)
1*b9b17debSTimur Tabi /* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
2*b9b17debSTimur Tabi *
3*b9b17debSTimur Tabi * This program is free software; you can redistribute it and/or modify
4*b9b17debSTimur Tabi * it under the terms of the GNU General Public License version 2 and
5*b9b17debSTimur Tabi * only version 2 as published by the Free Software Foundation.
6*b9b17debSTimur Tabi *
7*b9b17debSTimur Tabi * This program is distributed in the hope that it will be useful,
8*b9b17debSTimur Tabi * but WITHOUT ANY WARRANTY; without even the implied warranty of
9*b9b17debSTimur Tabi * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10*b9b17debSTimur Tabi * GNU General Public License for more details.
11*b9b17debSTimur Tabi */
12*b9b17debSTimur Tabi 
13*b9b17debSTimur Tabi #ifndef _EMAC_PHY_H_
14*b9b17debSTimur Tabi #define _EMAC_PHY_H_
15*b9b17debSTimur Tabi 
16*b9b17debSTimur Tabi typedef int (*emac_sgmii_initialize)(struct emac_adapter *adpt);
17*b9b17debSTimur Tabi 
18*b9b17debSTimur Tabi /** emac_phy - internal emac phy
19*b9b17debSTimur Tabi  * @base base address
20*b9b17debSTimur Tabi  * @digital per-lane digital block
21*b9b17debSTimur Tabi  * @initialize initialization function
22*b9b17debSTimur Tabi  */
23*b9b17debSTimur Tabi struct emac_phy {
24*b9b17debSTimur Tabi 	void __iomem		*base;
25*b9b17debSTimur Tabi 	void __iomem		*digital;
26*b9b17debSTimur Tabi 	emac_sgmii_initialize	initialize;
27*b9b17debSTimur Tabi };
28*b9b17debSTimur Tabi 
29*b9b17debSTimur Tabi struct emac_adapter;
30*b9b17debSTimur Tabi 
31*b9b17debSTimur Tabi int emac_phy_config(struct platform_device *pdev, struct emac_adapter *adpt);
32*b9b17debSTimur Tabi 
33*b9b17debSTimur Tabi #endif /* _EMAC_PHY_H_ */
34