Lines Matching +full:phy +full:- +full:is +full:- +full:integrated

1 // SPDX-License-Identifier: GPL-2.0+
4 * Copyright (C) 2016 Hauke Mehrtens <hauke@hauke-m.de>
9 #include <linux/phy.h>
22 #define XWAY_MDIO_LED_LED3_EN BIT(11) /* Enable the integrated function of LED3 */
23 #define XWAY_MDIO_LED_LED2_EN BIT(10) /* Enable the integrated function of LED2 */
24 #define XWAY_MDIO_LED_LED1_EN BIT(9) /* Enable the integrated function of LED1 */
25 #define XWAY_MDIO_LED_LED0_EN BIT(8) /* Enable the integrated function of LED0 */
32 #define XWAY_MDIO_INIT_WOL BIT(15) /* Wake-On-LAN */
36 #define XWAY_MDIO_INIT_ANE BIT(11) /* Auto-Neg error */
37 #define XWAY_MDIO_INIT_ANC BIT(10) /* Auto-Neg complete */
38 #define XWAY_MDIO_INIT_ADSC BIT(5) /* Link auto-downspeed detect */
47 #define ADVERTISED_MPD BIT(10) /* Multi-port device */
170 struct device *dev = &phydev->mdio.dev; in xway_gphy_rgmii_init()
182 if (phydev->interface == PHY_INTERFACE_MODE_RGMII) { in xway_gphy_rgmii_init()
194 "PHY has delays (e.g. via pin strapping), but phy-mode = 'rgmii'\n" in xway_gphy_rgmii_init()
195 "Should be 'rgmii-id' to use internal delays txskew:%d ps rxskew:%d ps\n", in xway_gphy_rgmii_init()
201 if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID || in xway_gphy_rgmii_init()
202 phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID) { in xway_gphy_rgmii_init()
207 /* if rx-internal-delay-ps is missing, use default of 2.0 ns */ in xway_gphy_rgmii_init()
214 if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID || in xway_gphy_rgmii_init()
215 phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID) { in xway_gphy_rgmii_init()
220 /* if tx-internal-delay-ps is missing, use default of 2.0 ns */ in xway_gphy_rgmii_init()
246 /* Ensure that integrated led function is enabled for all leds */ in xway_gphy_config_init()
264 * In most cases only one LED is connected to this phy, so in xway_gphy_config_init()
265 * configure them all to constant on and pulse mode. LED3 is in xway_gphy_config_init()
290 /* Advertise as multi-port device, see IEEE802.3-2002 40.5.1.1 */ in xway_gphy14_config_aneg()
291 /* This is a workaround for an errata in rev < 1.5 devices */ in xway_gphy14_config_aneg()
314 if (phydev->interrupts == PHY_INTERRUPT_ENABLED) { in xway_gphy_config_intr()
418 .name = "Intel XWAY PHY11G (xRX v1.1 integrated)",
428 .name = "Intel XWAY PHY22F (xRX v1.1 integrated)",
438 .name = "Intel XWAY PHY11G (xRX v1.2 integrated)",
448 .name = "Intel XWAY PHY22F (xRX v1.2 integrated)",
474 MODULE_DESCRIPTION("Intel XWAY PHY driver");