| /Linux-v6.1/drivers/net/pcs/ |
| D | pcs-xpcs.c | 4 * Synopsys DesignWare XPCS helpers 10 #include <linux/pcs/pcs-xpcs.h> 14 #include "pcs-xpcs.h" 137 int (*pma_config)(struct dw_xpcs *xpcs); 162 int xpcs_get_an_mode(struct dw_xpcs *xpcs, phy_interface_t interface) in xpcs_get_an_mode() argument 166 compat = xpcs_find_compat(xpcs->id, interface); in xpcs_get_an_mode() 189 int xpcs_read(struct dw_xpcs *xpcs, int dev, u32 reg) in xpcs_read() argument 191 struct mii_bus *bus = xpcs->mdiodev->bus; in xpcs_read() 192 int addr = xpcs->mdiodev->addr; in xpcs_read() 197 int xpcs_write(struct dw_xpcs *xpcs, int dev, u32 reg, u16 val) in xpcs_write() argument [all …]
|
| D | pcs-xpcs-nxp.c | 4 #include <linux/pcs/pcs-xpcs.h> 5 #include "pcs-xpcs.h" 72 int nxp_sja1105_sgmii_pma_config(struct dw_xpcs *xpcs) in nxp_sja1105_sgmii_pma_config() argument 74 return xpcs_write(xpcs, MDIO_MMD_VEND2, DW_VR_MII_DIG_CTRL2, in nxp_sja1105_sgmii_pma_config() 78 static int nxp_sja1110_pma_config(struct dw_xpcs *xpcs, in nxp_sja1110_pma_config() argument 89 ret = xpcs_write(xpcs, MDIO_MMD_VEND2, SJA1110_TXPLL_CTRL0, in nxp_sja1110_pma_config() 94 ret = xpcs_write(xpcs, MDIO_MMD_VEND2, SJA1110_TXPLL_CTRL1, in nxp_sja1110_pma_config() 100 ret = xpcs_write(xpcs, MDIO_MMD_VEND2, SJA1110_LANE_DRIVER1_0, in nxp_sja1110_pma_config() 107 ret = xpcs_write(xpcs, MDIO_MMD_VEND2, SJA1110_LANE_DRIVER2_0, val); in nxp_sja1110_pma_config() 113 ret = xpcs_write(xpcs, MDIO_MMD_VEND2, SJA1110_LANE_DRIVER2_1, val); in nxp_sja1110_pma_config() [all …]
|
| D | pcs-xpcs.h | 4 * Synopsys DesignWare XPCS helpers 110 int xpcs_read(struct dw_xpcs *xpcs, int dev, u32 reg); 111 int xpcs_write(struct dw_xpcs *xpcs, int dev, u32 reg, u16 val); 112 int nxp_sja1105_sgmii_pma_config(struct dw_xpcs *xpcs); 113 int nxp_sja1110_sgmii_pma_config(struct dw_xpcs *xpcs); 114 int nxp_sja1110_2500basex_pma_config(struct dw_xpcs *xpcs);
|
| D | Makefile | 4 pcs_xpcs-$(CONFIG_PCS_XPCS) := pcs-xpcs.o pcs-xpcs-nxp.o
|
| D | Kconfig | 12 This module provides helper functions for Synopsys DesignWare XPCS
|
| /Linux-v6.1/include/linux/pcs/ |
| D | pcs-xpcs.h | 4 * Synopsys DesignWare XPCS helpers 30 int xpcs_get_an_mode(struct dw_xpcs *xpcs, phy_interface_t interface); 33 int xpcs_do_config(struct dw_xpcs *xpcs, phy_interface_t interface, 35 void xpcs_get_interfaces(struct dw_xpcs *xpcs, unsigned long *interfaces); 36 int xpcs_config_eee(struct dw_xpcs *xpcs, int mult_fact_100ns, 40 void xpcs_destroy(struct dw_xpcs *xpcs);
|
| /Linux-v6.1/drivers/net/dsa/sja1105/ |
| D | sja1105_mdio.c | 4 #include <linux/pcs/pcs-xpcs.h> 429 struct dw_xpcs *xpcs; in sja1105_mdiobus_pcs_register() local 444 xpcs = xpcs_create(mdiodev, priv->phy_mode[port]); in sja1105_mdiobus_pcs_register() 445 if (IS_ERR(xpcs)) { in sja1105_mdiobus_pcs_register() 446 rc = PTR_ERR(xpcs); in sja1105_mdiobus_pcs_register() 450 priv->xpcs[port] = xpcs; in sja1105_mdiobus_pcs_register() 459 if (!priv->xpcs[port]) in sja1105_mdiobus_pcs_register() 462 mdio_device_free(priv->xpcs[port]->mdiodev); in sja1105_mdiobus_pcs_register() 463 xpcs_destroy(priv->xpcs[port]); in sja1105_mdiobus_pcs_register() 464 priv->xpcs[port] = NULL; in sja1105_mdiobus_pcs_register() [all …]
|
| D | sja1105_main.c | 19 #include <linux/pcs/pcs-xpcs.h> 1363 struct dw_xpcs *xpcs = priv->xpcs[port]; in sja1105_mac_select_pcs() local 1365 if (xpcs) in sja1105_mac_select_pcs() 1366 return &xpcs->pcs; in sja1105_mac_select_pcs() 1409 * sense, because that is done through the XPCS. We allow in sja1105_phylink_get_caps() 2259 if (priv->xpcs[i]) in sja1105_static_config_reload() 2316 struct dw_xpcs *xpcs = priv->xpcs[i]; in sja1105_static_config_reload() local 2323 if (!xpcs) in sja1105_static_config_reload() 2333 rc = xpcs_do_config(xpcs, priv->phy_mode[i], mode, NULL); in sja1105_static_config_reload() 2349 xpcs_link_up(&xpcs->pcs, mode, priv->phy_mode[i], in sja1105_static_config_reload()
|
| D | sja1105.h | 274 struct dw_xpcs *xpcs[SJA1105_MAX_NUM_PORTS]; member
|
| /Linux-v6.1/drivers/net/ethernet/stmicro/stmmac/ |
| D | stmmac_mdio.c | 397 struct dw_xpcs *xpcs; in stmmac_xpcs_setup() local 403 /* Try to probe the XPCS by scanning all addresses. */ in stmmac_xpcs_setup() 409 xpcs = xpcs_create(mdiodev, mode); in stmmac_xpcs_setup() 410 if (IS_ERR_OR_NULL(xpcs)) { in stmmac_xpcs_setup() 415 priv->hw->xpcs = xpcs; in stmmac_xpcs_setup() 419 if (!priv->hw->xpcs) { in stmmac_xpcs_setup() 420 dev_warn(priv->device, "No xPCS found\n"); in stmmac_xpcs_setup() 569 if (priv->hw->xpcs) { in stmmac_mdio_unregister() 570 mdio_device_free(priv->hw->xpcs->mdiodev); in stmmac_mdio_unregister() 571 xpcs_destroy(priv->hw->xpcs); in stmmac_mdio_unregister()
|
| D | common.h | 18 #include <linux/pcs/pcs-xpcs.h> 520 struct dw_xpcs *xpcs; member
|
| D | stmmac_main.c | 493 if (priv->hw->xpcs) in stmmac_eee_init() 494 xpcs_config_eee(priv->hw->xpcs, in stmmac_eee_init() 506 if (priv->hw->xpcs) in stmmac_eee_init() 507 xpcs_config_eee(priv->hw->xpcs, in stmmac_eee_init() 940 if (!priv->hw->xpcs) in stmmac_mac_select_pcs() 943 return &priv->hw->xpcs->pcs; in stmmac_mac_select_pcs() 1190 /* If we have an xpcs, it defines which PHY interfaces are supported. */ in stmmac_phy_setup() 1191 if (priv->hw->xpcs) in stmmac_phy_setup() 1192 xpcs_get_interfaces(priv->hw->xpcs, in stmmac_phy_setup() 3791 (!priv->hw->xpcs || in __stmmac_open() [all …]
|
| D | dwmac-intel.c | 606 /* Ensure mdio bus scan skips intel serdes and pcs-xpcs */ in intel_mgbe_common_data()
|
| /Linux-v6.1/drivers/net/ethernet/amd/xgbe/ |
| D | xgbe-pci.c | 268 dev_err(dev, "xpcs ioremap failed\n"); in xgbe_pci_probe() 305 dev_dbg(dev, "xpcs window def = %#010x\n", in xgbe_pci_probe() 307 dev_dbg(dev, "xpcs window sel = %#010x\n", in xgbe_pci_probe() 309 dev_dbg(dev, "xpcs window = %#010x\n", in xgbe_pci_probe() 311 dev_dbg(dev, "xpcs window size = %#010x\n", in xgbe_pci_probe() 313 dev_dbg(dev, "xpcs window mask = %#010x\n", in xgbe_pci_probe()
|
| D | xgbe-platform.c | 366 dev_err(dev, "xpcs ioremap failed\n"); in xgbe_platform_probe() 462 /* Always have XGMAC and XPCS (auto-negotiation) interrupts */ in xgbe_platform_probe()
|
| D | xgbe.h | 1059 /* XGMAC/XPCS related mmio registers */ 1061 void __iomem *xpcs_regs; /* XPCS MMD registers */ 1078 /* XPCS indirect addressing lock */
|
| D | xgbe-common.h | 1535 * within the register values of XPCS registers.
|
| /Linux-v6.1/Documentation/devicetree/bindings/net/ |
| D | nvidia,tegra234-mgbe.yaml | 24 - const: xpcs 121 reg-names = "hypervisor", "mac", "xpcs";
|
| /Linux-v6.1/drivers/net/ethernet/marvell/mvpp2/ |
| D | mvpp2_main.c | 1547 void __iomem *xpcs = priv->iface_base + MVPP22_XPCS_BASE(port->gop_id); in mvpp22_gop_init_10gkr() local 1550 val = readl(xpcs + MVPP22_XPCS_CFG0); in mvpp22_gop_init_10gkr() 1554 writel(val, xpcs + MVPP22_XPCS_CFG0); in mvpp22_gop_init_10gkr() 2159 void __iomem *mpcs, *xpcs; in mvpp22_pcs_reset_assert() local 2166 xpcs = priv->iface_base + MVPP22_XPCS_BASE(port->gop_id); in mvpp22_pcs_reset_assert() 2173 val = readl(xpcs + MVPP22_XPCS_CFG0); in mvpp22_pcs_reset_assert() 2174 writel(val & ~MVPP22_XPCS_CFG0_RESET_DIS, xpcs + MVPP22_XPCS_CFG0); in mvpp22_pcs_reset_assert() 2181 void __iomem *mpcs, *xpcs; in mvpp22_pcs_reset_deassert() local 2188 xpcs = priv->iface_base + MVPP22_XPCS_BASE(port->gop_id); in mvpp22_pcs_reset_deassert() 2201 val = readl(xpcs + MVPP22_XPCS_CFG0); in mvpp22_pcs_reset_deassert() [all …]
|
| D | mvpp2.h | 598 /* XPCS registers.PPv2.2 and PPv2.3 */ 618 /* XPCS registers. PPv2.2 and PPv2.3 */
|
| /Linux-v6.1/arch/arm64/boot/dts/nvidia/ |
| D | tegra234.dtsi | 975 reg-names = "hypervisor", "mac", "xpcs"; 1009 reg-names = "hypervisor", "mac", "xpcs"; 1043 reg-names = "hypervisor", "mac", "xpcs"; 1077 reg-names = "hypervisor", "mac", "xpcs";
|
| /Linux-v6.1/drivers/net/ethernet/sun/ |
| D | niu.c | 8283 /* 10G fiber, XPCS */ in niu_phy_type_prop_decode() 8293 /* 10G copper, XPCS */ in niu_phy_type_prop_decode() 8450 /* 10G copper, XPCS */ in niu_pci_probe_sprom() 8457 /* 10G fiber, XPCS */ in niu_pci_probe_sprom() 9720 (np->mac_xcvr == MAC_XCVR_PCS ? "PCS" : "XPCS")), in niu_device_announce() 9731 (np->mac_xcvr == MAC_XCVR_PCS ? "PCS" : "XPCS")), in niu_device_announce()
|
| D | niu.h | 591 /* XPCS registers, offset from np->regs + np->xpcs_off */
|
| /Linux-v6.1/ |
| D | MAINTAINERS | 14846 F: drivers/net/pcs/pcs-xpcs-nxp.c 19953 SYNOPSYS DESIGNWARE ETHERNET XPCS DRIVER 19957 F: drivers/net/pcs/pcs-xpcs.c 19958 F: drivers/net/pcs/pcs-xpcs.h 19959 F: include/linux/pcs/pcs-xpcs.h
|