xref: /openbmc/u-boot/drivers/net/phy/atheros.c (revision 9082eeac5de1335d663016668c9b89c290f5c79b)
1*9082eeacSAndy Fleming /*
2*9082eeacSAndy Fleming  * Atheros PHY drivers
3*9082eeacSAndy Fleming  *
4*9082eeacSAndy Fleming  * This program is free software; you can redistribute it and/or
5*9082eeacSAndy Fleming  * modify it under the terms of the GNU General Public License as
6*9082eeacSAndy Fleming  * published by the Free Software Foundation; either version 2 of
7*9082eeacSAndy Fleming  * the License, or (at your option) any later version.
8*9082eeacSAndy Fleming  *
9*9082eeacSAndy Fleming  * This program is distributed in the hope that it will be useful,
10*9082eeacSAndy Fleming  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11*9082eeacSAndy Fleming  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12*9082eeacSAndy Fleming  * GNU General Public License for more details.
13*9082eeacSAndy Fleming  *
14*9082eeacSAndy Fleming  * You should have received a copy of the GNU General Public License
15*9082eeacSAndy Fleming  * along with this program; if not, write to the Free Software
16*9082eeacSAndy Fleming  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
17*9082eeacSAndy Fleming  * MA 02111-1307 USA
18*9082eeacSAndy Fleming  *
19*9082eeacSAndy Fleming  * Copyright 2011 Freescale Semiconductor, Inc.
20*9082eeacSAndy Fleming  * author Andy Fleming
21*9082eeacSAndy Fleming  *
22*9082eeacSAndy Fleming  */
23*9082eeacSAndy Fleming #include <phy.h>
24*9082eeacSAndy Fleming 
25*9082eeacSAndy Fleming static int ar8021_config(struct phy_device *phydev)
26*9082eeacSAndy Fleming {
27*9082eeacSAndy Fleming 	phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x05);
28*9082eeacSAndy Fleming 	phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x3D47);
29*9082eeacSAndy Fleming 
30*9082eeacSAndy Fleming 	return 0;
31*9082eeacSAndy Fleming }
32*9082eeacSAndy Fleming 
33*9082eeacSAndy Fleming struct phy_driver AR8021_driver =  {
34*9082eeacSAndy Fleming 	.name = "AR8021",
35*9082eeacSAndy Fleming 	.uid = 0x4dd040,
36*9082eeacSAndy Fleming 	.mask = 0xfffff0,
37*9082eeacSAndy Fleming 	.features = PHY_GBIT_FEATURES,
38*9082eeacSAndy Fleming 	.config = ar8021_config,
39*9082eeacSAndy Fleming 	.startup = genphy_startup,
40*9082eeacSAndy Fleming 	.shutdown = genphy_shutdown,
41*9082eeacSAndy Fleming };
42*9082eeacSAndy Fleming 
43*9082eeacSAndy Fleming int phy_atheros_init(void)
44*9082eeacSAndy Fleming {
45*9082eeacSAndy Fleming 	phy_register(&AR8021_driver);
46*9082eeacSAndy Fleming 
47*9082eeacSAndy Fleming 	return 0;
48*9082eeacSAndy Fleming }
49