/Linux-v5.15/Documentation/devicetree/bindings/phy/ |
D | microchip,sparx5-serdes.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/phy/microchip,sparx5-serdes.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Steen Hegelund <steen.hegelund@microchip.com> 21 * Rx built-in fault detector (loss-of-lock/loss-of-signal) 22 * Adjustable tx de-emphasis (FFE) 31 The SERDES6G is a high-speed SERDES interface, which can operate at 34 * 100 Mbps (100BASE-FX) 35 * 1.25 Gbps (SGMII/1000BASE-X/1000BASE-KX) [all …]
|
/Linux-v5.15/include/uapi/linux/ |
D | mdio.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 4 * Copyright 2006-2009 Solarflare Communications Inc. 23 #define MDIO_MMD_DTEXS 5 /* DTE Extender Sublayer */ 25 #define MDIO_MMD_AN 7 /* Auto-Negotiation */ 36 #define MDIO_DEVS1 5 /* Devices in package */ 49 #define MDIO_PMA_NG_EXTABLE 21 /* 2.5G/5G PMA/PMD extended ability */ 57 /* Media-dependent registers. */ 58 #define MDIO_PMA_10GBT_SWAPPOL 130 /* 10GBASE-T pair swap & polarity */ 59 #define MDIO_PMA_10GBT_TXPWR 131 /* 10GBASE-T TX power control */ 60 #define MDIO_PMA_10GBT_SNR 133 /* 10GBASE-T SNR margin, lane A. [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/net/ |
D | ethernet-controller.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/net/ethernet-controller.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - David S. Miller <davem@davemloft.net> 16 local-mac-address: 19 $ref: /schemas/types.yaml#/definitions/uint8-array 21 - minItems: 6 24 mac-address: 29 local-mac-address property. [all …]
|
/Linux-v5.15/Documentation/networking/ |
D | phy.rst | 26 #. Increase code-reuse 27 #. Increase overall code-maintainability 67 for one of the users. (e.g. "git grep fsl,.*-mdio arch/powerpc/boot/dts/") 72 The Reduced Gigabit Medium Independent Interface (RGMII) is a 12-pin 84 or the PCB traces insert the correct 1.5-2ns delay 97 * PHY devices may offer sub-nanosecond granularity in how they allow a 115 PHY_INTERFACE_MODE_RGMII, it should make sure that the MAC-level delays are 130 ----------------------------------------- 197 PHY-specific flags should be set in phydev->dev_flags prior to the call 208 Now just make sure that phydev->supported and phydev->advertising have any [all …]
|
/Linux-v5.15/drivers/net/ethernet/chelsio/cxgb3/ |
D | ael1002.c | 2 * Copyright (c) 2005-2008 Chelsio, Inc. All rights reserved. 14 * - Redistributions of source code must retain the above 18 * - Redistributions in binary form must reproduce the above 88 for (err = 0; rv->mmd_addr && !err; rv++) { in set_phy_regs() 89 if (rv->clear_bits == 0xffff) in set_phy_regs() 90 err = t3_mdio_write(phy, rv->mmd_addr, rv->reg_addr, in set_phy_regs() 91 rv->set_bits); in set_phy_regs() 93 err = t3_mdio_change_bits(phy, rv->mmd_addr, in set_phy_regs() 94 rv->reg_addr, rv->clear_bits, in set_phy_regs() 95 rv->set_bits); in set_phy_regs() [all …]
|
/Linux-v5.15/drivers/net/dsa/mv88e6xxx/ |
D | serdes.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 42 /* 10GBASE-R and 10GBASE-X4/X2 */ 49 /* 1000BASE-X and SGMII */ 95 #define MV88E6393X_SERDES_POC_PDOWN BIT(5) 175 /* Return the (first) SERDES lane address a port is using, -errno otherwise. */ 179 if (!chip->info->ops->serdes_get_lane) in mv88e6xxx_serdes_get_lane() 180 return -EOPNOTSUPP; in mv88e6xxx_serdes_get_lane() 182 return chip->info->ops->serdes_get_lane(chip, port); in mv88e6xxx_serdes_get_lane() 188 if (!chip->info->ops->serdes_power) in mv88e6xxx_serdes_power_up() 189 return -EOPNOTSUPP; in mv88e6xxx_serdes_power_up() [all …]
|
D | serdes.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 57 state->link = !!(status & MV88E6390_SGMII_PHY_STATUS_LINK); in mv88e6xxx_serdes_pcs_get_state() 58 state->duplex = status & in mv88e6xxx_serdes_pcs_get_state() 63 state->pause |= MLO_PAUSE_TX; in mv88e6xxx_serdes_pcs_get_state() 65 state->pause |= MLO_PAUSE_RX; in mv88e6xxx_serdes_pcs_get_state() 69 if (state->interface == PHY_INTERFACE_MODE_2500BASEX) in mv88e6xxx_serdes_pcs_get_state() 70 state->speed = SPEED_2500; in mv88e6xxx_serdes_pcs_get_state() 72 state->speed = SPEED_1000; in mv88e6xxx_serdes_pcs_get_state() 75 state->speed = SPEED_100; in mv88e6xxx_serdes_pcs_get_state() 78 state->speed = SPEED_10; in mv88e6xxx_serdes_pcs_get_state() [all …]
|
/Linux-v5.15/drivers/net/phy/ |
D | marvell10g.c | 1 // SPDX-License-Identifier: GPL-2.0+ 10 * via observation and experimentation for a setup using single-lane Serdes: 12 * SGMII PHYXS -- BASE-T PCS -- 10G PMA -- AN -- Copper (for <= 1G) 13 * 10GBASE-KR PHYXS -- BASE-T PCS -- 10G PMA -- AN -- Copper (for 10G) 14 * 10GBASE-KR PHYXS -- BASE-R PCS -- Fiber 18 * XAUI PHYXS -- <appropriate PCS as above> 87 /* These registers appear at 0x800X and 0xa00X - the 0xa00X control 91 MV_AN_CTRL1000 = 0x8000, /* 1000base-T control register */ 92 MV_AN_STAT1000 = 0x8001, /* 1000base-T status register */ 150 return phydev->drv->driver_data; in to_mv3310_chip() [all …]
|
D | bcm84881.c | 1 // SPDX-License-Identifier: GPL-2.0 2 // Broadcom BCM84881 NBASE-T PHY driver, as found on a SFP+ module. 5 // Like the Marvell 88x3310, the Broadcom 84881 changes its host-side 6 // interface according to the operating speed between 10GBASE-R, 7 // 2500BASE-X and SGMII (but unlike the 88x3310, without the control 34 switch (phydev->interface) { in bcm84881_config_init() 40 return -ENODEV; in bcm84881_config_init() 50 if (!phydev->is_c45 || in bcm84881_probe() 51 (phydev->c45_ids.devices_in_package & mmd_mask) != mmd_mask) in bcm84881_probe() 52 return -ENODEV; in bcm84881_probe() [all …]
|
D | phylink.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * technologies such as SFP cages where the PHY is hot-pluggable. 40 * struct phylink - internal data type for phylink 57 u8 link_port; /* The current non-phy ethtool port */ 86 if ((pl)->config->type == PHYLINK_NETDEV) \ 87 netdev_printk(level, (pl)->netdev, fmt, ##__VA_ARGS__); \ 88 else if ((pl)->config->type == PHYLINK_DEV) \ 89 dev_printk(level, (pl)->dev, fmt, ##__VA_ARGS__); \ 101 if ((pl)->config->type == PHYLINK_NETDEV) \ 102 netdev_dbg((pl)->netdev, fmt, ##__VA_ARGS__); \ [all …]
|
/Linux-v5.15/include/linux/ |
D | phy.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 4 * Based on code in sungem_phy.c and (long-removed) gianfar_phy.c 73 * Set phydev->irq to PHY_POLL if interrupts are not supported, 77 #define PHY_POLL -1 78 #define PHY_MAC_INTERRUPT -2 86 * enum phy_interface_t - Interface Mode definitions 88 * @PHY_INTERFACE_MODE_NA: Not Applicable - don't touch 90 * @PHY_INTERFACE_MODE_MII: Median-independent interface 91 * @PHY_INTERFACE_MODE_GMII: Gigabit median-independent interface 92 * @PHY_INTERFACE_MODE_SGMII: Serial gigabit media-independent interface [all …]
|
/Linux-v5.15/drivers/net/ |
D | mdio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * mdio.c: Generic support for MDIO-compatible transceivers 4 * Copyright 2006-2009 Solarflare Communications Inc. 14 MODULE_DESCRIPTION("Generic support for MDIO-compatible transceivers"); 15 MODULE_AUTHOR("Copyright 2006-2009 Solarflare Communications Inc."); 19 * mdio45_probe - probe for an MDIO (clause 45) device 32 for (mmd = 1; mmd <= 5; mmd++) { in mdio45_probe() 34 stat2 = mdio->mdio_read(mdio->dev, prtad, mmd, MDIO_STAT2); in mdio45_probe() 40 devs1 = mdio->mdio_read(mdio->dev, prtad, mmd, MDIO_DEVS1); in mdio45_probe() 41 devs2 = mdio->mdio_read(mdio->dev, prtad, mmd, MDIO_DEVS2); in mdio45_probe() [all …]
|
/Linux-v5.15/arch/arm64/boot/dts/marvell/ |
D | armada-8040-clearfog-gt-8k.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 9 #include "armada-8040.dtsi" 11 #include <dt-bindings/input/input.h> 12 #include <dt-bindings/gpio/gpio.h> 16 compatible = "solidrun,clearfog-gt-8k", "marvell,armada8040", 17 "marvell,armada-ap806-quad", "marvell,armada-ap806"; 20 stdout-path = "serial0:115200n8"; 35 compatible = "pwm-fan"; 37 cooling-levels = <0 51 102 153 204 255>; 38 #cooling-cells = <2>; [all …]
|
/Linux-v5.15/drivers/net/ethernet/amd/xgbe/ |
D | xgbe-phy-v2.c | 125 #include "xgbe-common.h" 148 /* Rate-change complete wait/retry count */ 223 #define XGBE_SFP_BASE_10GBE_CC_LR BIT(5) 276 ((_x)->extd[XGBE_SFP_EXTD_SFF_8472] && \ 277 !((_x)->extd[XGBE_SFP_EXTD_DIAG] & XGBE_SFP_EXTD_DIAG_ADDR_CHANGE)) 284 #define XGBE_BEL_FUSE_VENDOR "BEL-FUSE " 285 #define XGBE_BEL_FUSE_PARTNO "1GBT-SFP06 " 304 /* Re-driver related definitions */ 318 XGBE_PHY_REDRV_MODE_CX = 5, 373 /* Re-driver support */ [all …]
|
/Linux-v5.15/drivers/net/ethernet/qlogic/qlcnic/ |
D | qlcnic_83xx_hw.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Copyright (c) 2009-2013 QLogic Corporation 39 #define QLC_83XX_MODULE_FIBRE_10GBASE_LRM 0x1 /* 10GBase-LRM */ 40 #define QLC_83XX_MODULE_FIBRE_10GBASE_LR 0x2 /* 10GBase-LR */ 41 #define QLC_83XX_MODULE_FIBRE_10GBASE_SR 0x3 /* 10GBase-SR */ 51 #define QLC_83XX_MODULE_FIBRE_1000BASE_SX 0x7 /* 1000Base-SX */ 52 #define QLC_83XX_MODULE_FIBRE_1000BASE_LX 0x8 /* 1000Base-LX */ 53 #define QLC_83XX_MODULE_FIBRE_1000BASE_CX 0x9 /* 1000Base-CX */ 54 #define QLC_83XX_MODULE_TP_1000BASE_T 0xa /* 1000Base-T*/ 78 {QLCNIC_CMD_WRITE_PHY, 5, 1}, [all …]
|
/Linux-v5.15/drivers/net/usb/ |
D | aqc111.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* Aquantia Corp. Aquantia AQtion USB to 5GbE Controller 3 * Copyright (C) 2003-2005 David Hollis <dhollis@davehollis.com> 5 * Copyright (C) 2002-2003 TiVo Inc. 6 * Copyright (C) 2017-2018 ASIX 34 netdev_warn(dev->net, in aqc111_read_cmd_nopm() 35 "Failed to read(0x%x) reg index 0x%04x: %d\n", in aqc111_read_cmd_nopm() 50 netdev_warn(dev->net, in aqc111_read_cmd() 51 "Failed to read(0x%x) reg index 0x%04x: %d\n", in aqc111_read_cmd() 82 int err = -ENOMEM; in __aqc111_write_cmd() [all …]
|
D | cdc_ether.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 * Copyright (C) 2003-2005 by David Brownell 26 return (desc->bInterfaceClass == USB_CLASS_COMM && in is_rndis() 27 desc->bInterfaceSubClass == 2 && in is_rndis() 28 desc->bInterfaceProtocol == 0xff); in is_rndis() 33 return (desc->bInterfaceClass == USB_CLASS_MISC && in is_activesync() 34 desc->bInterfaceSubClass == 1 && in is_activesync() 35 desc->bInterfaceProtocol == 1); in is_activesync() 40 return (desc->bInterfaceClass == USB_CLASS_WIRELESS_CONTROLLER && in is_wireless_rndis() 41 desc->bInterfaceSubClass == 1 && in is_wireless_rndis() [all …]
|
D | r8152.c | 1 // SPDX-License-Identifier: GPL-2.0-only 31 /* Information for net-next */ 443 #define pwd_dn_scale(x) ((x) << 1) argument 502 #define BYPASS_MAC_RESET BIT(5) 515 #define BYPASS_FLASH BIT(5) 543 #define USP_PREWAKE BIT(5) 560 /* bit 4 ~ 5: fifo empty boundary */ 578 #define MID_REVERSE BIT(5) /* RTL8156A */ 587 #define ups_flags_speed(x) ((x) << 16) argument 621 #define PHY_STAT_PWRDN 5 [all …]
|
/Linux-v5.15/drivers/phy/marvell/ |
D | phy-mvebu-cp110-comphy.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Antoine Tenart <antoine.tenart@free-electrons.com> 8 #include <linux/arm-smccc.h> 19 /* Relative to priv->base */ 31 #define MVEBU_COMPHY_SERDES_CFG1_CORE_RESET BIT(5) 41 #define MVEBU_COMPHY_PWRPLL_PHY_MODE(n) ((n) << 5) 68 #define MVEBU_COMPHY_EXT_SELV_RX_SAMPL(n) ((n) << 5) 70 #define MVEBU_COMPHY_MISC_CTRL0_ICP_FORCE BIT(5) 81 #define MVEBU_COMPHY_TX_SLEW_RATE_EMPH(n) ((n) << 5) 107 /* Relative to priv->regmap */ [all …]
|
/Linux-v5.15/drivers/net/ethernet/broadcom/bnx2x/ |
D | bnx2x_link.c | 1 /* Copyright 2008-2013 Broadcom Corporation 8 * at http://www.gnu.org/licenses/gpl-2.0.html (the "GPL"). 43 #define I2C_WA_PWR_ITER (I2C_WA_RETRY_CNT - 1) 161 #define SFP_EEPROM_10G_COMP_CODE_LR_MASK (1<<5) 205 (_phy)->def_md_devad, \ 211 (_phy)->def_md_devad, \ 239 * bnx2x_check_lfa - This function checks if link reinitialization is required, 251 struct bnx2x *bp = params->bp; in bnx2x_check_lfa() 254 REG_RD(bp, params->lfa_base + in bnx2x_check_lfa() 257 /* NOTE: must be first condition checked - in bnx2x_check_lfa() [all …]
|
D | bnx2x_reg.h | 3 * Copyright (c) 2007-2013 Broadcom Corporation 13 * R - Read only 14 * RC - Clear on read 15 * RW - Read/Write 16 * ST - Statistics register (clear on read) 17 * W - Write only 18 * WB - Wide bus register - the size is over 32 bits and it should be 20 * WR - Write Clear (write 1 to clear the bit) 28 #define ATC_ATC_INT_STS_REG_ATC_IREQ_LESS_THAN_STU (0x1<<5) 32 /* [RW 1] Initiate the ATC array - reset all the valid bits */ [all …]
|
/Linux-v5.15/drivers/net/ethernet/broadcom/bnxt/ |
D | bnxt_ethtool.c | 1 /* Broadcom NetXtreme-C/E network driver. 3 * Copyright (c) 2014-2016 Broadcom Corporation 4 * Copyright (c) 2016-2017 Broadcom Limited 42 return bp->msg_enable; in bnxt_get_msglevel() 49 bp->msg_enable = value; in bnxt_set_msglevel() 63 coal->use_adaptive_rx_coalesce = bp->flags & BNXT_FLAG_DIM; in bnxt_get_coalesce() 65 hw_coal = &bp->rx_coal; in bnxt_get_coalesce() 66 mult = hw_coal->bufs_per_record; in bnxt_get_coalesce() 67 coal->rx_coalesce_usecs = hw_coal->coal_ticks; in bnxt_get_coalesce() 68 coal->rx_max_coalesced_frames = hw_coal->coal_bufs / mult; in bnxt_get_coalesce() [all …]
|
D | bnxt.c | 1 /* Broadcom NetXtreme-C/E network driver. 3 * Copyright (c) 2014-2016 Broadcom Corporation 4 * Copyright (c) 2016-2019 Broadcom Limited 25 #include <linux/dma-mapping.h> 58 #include <linux/hwmon-sysfs.h> 75 #define BNXT_TX_TIMEOUT (5 * HZ) 140 [BCM57301] = { "Broadcom BCM57301 NetXtreme-C 10Gb Ethernet" }, 141 [BCM57302] = { "Broadcom BCM57302 NetXtreme-C 10Gb/25Gb Ethernet" }, 142 [BCM57304] = { "Broadcom BCM57304 NetXtreme-C 10Gb/25Gb/40Gb/50Gb Ethernet" }, 143 [BCM57417_NPAR] = { "Broadcom BCM57417 NetXtreme-E Ethernet Partition" }, [all …]
|
/Linux-v5.15/drivers/net/ethernet/marvell/mvpp2/ |
D | mvpp2_main.c | 1 // SPDX-License-Identifier: GPL-2.0 76 writel(data, priv->swth_base[0] + offset); in mvpp2_write() 81 return readl(priv->swth_base[0] + offset); in mvpp2_read() 86 return readl_relaxed(priv->swth_base[0] + offset); in mvpp2_read_relaxed() 91 return cpu % priv->nthreads; in mvpp2_cpu_to_thread() 96 writel(data, priv->cm3_base + offset); in mvpp2_cm3_write() 101 return readl(priv->cm3_base + offset); in mvpp2_cm3_read() 124 * - per-thread registers, where each thread has its own copy of the 140 * - global registers that must be accessed through a specific thread 141 * window, because they are related to an access to a per-thread [all …]
|
/Linux-v5.15/drivers/net/ethernet/intel/ixgbe/ |
D | ixgbe_82599.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 1999 - 2018 Intel Corporation. */ 65 struct ixgbe_mac_info *mac = &hw->mac; in ixgbe_init_mac_link_ops_82599() 70 if ((mac->ops.get_media_type(hw) == ixgbe_media_type_fiber) && in ixgbe_init_mac_link_ops_82599() 72 mac->ops.disable_tx_laser = in ixgbe_init_mac_link_ops_82599() 74 mac->ops.enable_tx_laser = in ixgbe_init_mac_link_ops_82599() 76 mac->ops.flap_tx_laser = &ixgbe_flap_tx_laser_multispeed_fiber; in ixgbe_init_mac_link_ops_82599() 78 mac->ops.disable_tx_laser = NULL; in ixgbe_init_mac_link_ops_82599() 79 mac->ops.enable_tx_laser = NULL; in ixgbe_init_mac_link_ops_82599() 80 mac->ops.flap_tx_laser = NULL; in ixgbe_init_mac_link_ops_82599() [all …]
|