Lines Matching +full:phy +full:- +full:is +full:- +full:integrated
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
4 * Copyright (c) 2011-2012 Stefan Bethke.
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
66 * Access PHYs integrated into the switch by going direct
67 * to the PHY space itself, rather than through the switch
71 arswitch_readphy_external(device_t dev, int phy, int reg) in arswitch_readphy_external() argument
79 ret = (MDIO_READREG(device_get_parent(dev), phy, reg)); in arswitch_readphy_external()
81 "%s: phy=0x%08x, reg=0x%08x, ret=0x%08x\n", in arswitch_readphy_external()
82 __func__, phy, reg, ret); in arswitch_readphy_external()
89 arswitch_writephy_external(device_t dev, int phy, int reg, int data) in arswitch_writephy_external() argument
96 (void) MDIO_WRITEREG(device_get_parent(dev), phy, in arswitch_writephy_external()
99 "%s: phy=0x%08x, reg=0x%08x, data=0x%08x\n", in arswitch_writephy_external()
100 __func__, phy, reg, data); in arswitch_writephy_external()
107 * Access PHYs integrated into the switch chip through the switch's MDIO
111 arswitch_readphy_internal(device_t dev, int phy, int reg) in arswitch_readphy_internal() argument
121 if (phy < 0 || phy >= 32) in arswitch_readphy_internal()
135 (phy << AR8X16_MDIO_CTRL_PHY_ADDR_SHIFT) | in arswitch_readphy_internal()
137 DEVERR(dev, err, "arswitch_readphy()=%d: phy=%d.%02x\n", phy, reg); in arswitch_readphy_internal()
140 for (timeout = 100; timeout--; ) { in arswitch_readphy_internal()
147 "arswitch_readphy(): phy=%d.%02x; timeout=%d\n", in arswitch_readphy_internal()
148 phy, reg, timeout); in arswitch_readphy_internal()
156 "%s: phy=0x%08x, reg=0x%08x, ret=0x%08x\n", in arswitch_readphy_internal()
157 __func__, phy, reg, data); in arswitch_readphy_internal()
165 "%s: phy=0x%08x, reg=0x%08x, fail; err=%d\n", in arswitch_readphy_internal()
166 __func__, phy, reg, err); in arswitch_readphy_internal()
168 return (-1); in arswitch_readphy_internal()
172 arswitch_writephy_internal(device_t dev, int phy, int reg, int data) in arswitch_writephy_internal() argument
195 (phy << AR8X16_MDIO_CTRL_PHY_ADDR_SHIFT) | in arswitch_writephy_internal()
200 for (timeout = 100; timeout--; ) { in arswitch_writephy_internal()
209 "%s: phy=0x%08x, reg=0x%08x, data=0x%08x, err=%d\n", in arswitch_writephy_internal()
210 __func__, phy, reg, data, err); in arswitch_writephy_internal()
213 DEVERR(dev, err, "arswitch_writephy()=%d: phy=%d.%02x\n", phy, reg); in arswitch_writephy_internal()