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