Home
last modified time | relevance | path

Searched full:xpcs (Results 1 – 25 of 29) sorted by relevance

12

/linux-6.14.4/drivers/net/pcs/
Dpcs-xpcs-wx.c4 #include <linux/pcs/pcs-xpcs.h>
6 #include "pcs-xpcs.h"
49 static int txgbe_write_pma(struct dw_xpcs *xpcs, int reg, u16 val) in txgbe_write_pma() argument
51 return xpcs_write(xpcs, MDIO_MMD_PMAPMD, TXGBE_PMA_MMD + reg, val); in txgbe_write_pma()
54 static int txgbe_modify_pma(struct dw_xpcs *xpcs, int reg, u16 mask, u16 set) in txgbe_modify_pma() argument
56 return xpcs_modify(xpcs, MDIO_MMD_PMAPMD, TXGBE_PMA_MMD + reg, mask, in txgbe_modify_pma()
60 static void txgbe_pma_config_10gbaser(struct dw_xpcs *xpcs) in txgbe_pma_config_10gbaser() argument
62 txgbe_write_pma(xpcs, TXGBE_MPLLA_CTL0, 0x21); in txgbe_pma_config_10gbaser()
63 txgbe_write_pma(xpcs, TXGBE_MPLLA_CTL3, 0); in txgbe_pma_config_10gbaser()
64 txgbe_modify_pma(xpcs, TXGBE_TX_GENCTL1, TXGBE_TX_GENCTL1_VBOOST_LVL, in txgbe_pma_config_10gbaser()
[all …]
Dpcs-xpcs.c4 * Synopsys DesignWare XPCS helpers
11 #include <linux/pcs/pcs-xpcs.h>
17 #include "pcs-xpcs.h"
114 int (*pma_config)(struct dw_xpcs *xpcs);
124 xpcs_find_compat(struct dw_xpcs *xpcs, phy_interface_t interface) in xpcs_find_compat() argument
128 for (compat = xpcs->desc->compat; compat->supported; compat++) in xpcs_find_compat()
135 struct phylink_pcs *xpcs_to_phylink_pcs(struct dw_xpcs *xpcs) in xpcs_to_phylink_pcs() argument
137 return &xpcs->pcs; in xpcs_to_phylink_pcs()
141 int xpcs_get_an_mode(struct dw_xpcs *xpcs, phy_interface_t interface) in xpcs_get_an_mode() argument
145 compat = xpcs_find_compat(xpcs, interface); in xpcs_get_an_mode()
[all …]
Dpcs-xpcs-nxp.c4 #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 …]
Dpcs-xpcs.h4 * Synopsys DesignWare XPCS helpers
10 #include <linux/pcs/pcs-xpcs.h>
127 int xpcs_read(struct dw_xpcs *xpcs, int dev, u32 reg);
128 int xpcs_write(struct dw_xpcs *xpcs, int dev, u32 reg, u16 val);
129 int xpcs_modify(struct dw_xpcs *xpcs, int dev, u32 reg, u16 mask, u16 set);
130 int xpcs_read_vpcs(struct dw_xpcs *xpcs, int reg);
131 int xpcs_write_vpcs(struct dw_xpcs *xpcs, int reg, u16 val);
132 int nxp_sja1105_sgmii_pma_config(struct dw_xpcs *xpcs);
133 int nxp_sja1110_sgmii_pma_config(struct dw_xpcs *xpcs);
134 int nxp_sja1110_2500basex_pma_config(struct dw_xpcs *xpcs);
[all …]
Dpcs-xpcs-plat.c3 * Synopsys DesignWare XPCS platform device driver
15 #include <linux/pcs/pcs-xpcs.h>
22 #include "pcs-xpcs.h"
308 pxpcs->bus->name = "DW XPCS MCI/APB3"; in xpcs_plat_init_bus()
321 * the MDIO and MCI/APB3 IO interfaces utilized for the DW XPCS CSRs in xpcs_plat_init_bus()
343 /* There is a single memory-mapped DW XPCS device */ in xpcs_plat_init_dev()
354 /* Pass the data further so the DW XPCS driver core could use it */ in xpcs_plat_init_dev()
436 { .compatible = "snps,dw-xpcs", .data = &xpcs_generic },
437 { .compatible = "snps,dw-xpcs-gen1-3g", .data = &xpcs_pma_gen1_3g },
438 { .compatible = "snps,dw-xpcs-gen2-3g", .data = &xpcs_pma_gen2_3g },
[all …]
DMakefile4 pcs_xpcs-$(CONFIG_PCS_XPCS) := pcs-xpcs.o pcs-xpcs-plat.o \
5 pcs-xpcs-nxp.o pcs-xpcs-wx.o
DKconfig9 tristate "Synopsys DesignWare Ethernet XPCS"
13 DesignWare XPCS controllers.
/linux-6.14.4/drivers/net/ethernet/stmicro/stmmac/
Ddwmac-tegra.c27 void __iomem *xpcs; member
91 value = readl(mgbe->xpcs + XPCS_WRAP_UPHY_STATUS); in tegra_mgbe_resume()
93 value = readl(mgbe->xpcs + XPCS_WRAP_UPHY_HW_INIT_CTRL); in tegra_mgbe_resume()
95 writel(value, mgbe->xpcs + XPCS_WRAP_UPHY_HW_INIT_CTRL); in tegra_mgbe_resume()
98 err = readl_poll_timeout(mgbe->xpcs + XPCS_WRAP_UPHY_HW_INIT_CTRL, value, in tegra_mgbe_resume()
120 value = readl(mgbe->xpcs + XPCS_WRAP_UPHY_RX_CONTROL); in mgbe_uphy_lane_bringup_serdes_up()
122 writel(value, mgbe->xpcs + XPCS_WRAP_UPHY_RX_CONTROL); in mgbe_uphy_lane_bringup_serdes_up()
124 value = readl(mgbe->xpcs + XPCS_WRAP_UPHY_RX_CONTROL); in mgbe_uphy_lane_bringup_serdes_up()
126 writel(value, mgbe->xpcs + XPCS_WRAP_UPHY_RX_CONTROL); in mgbe_uphy_lane_bringup_serdes_up()
128 value = readl(mgbe->xpcs + XPCS_WRAP_UPHY_RX_CONTROL); in mgbe_uphy_lane_bringup_serdes_up()
[all …]
Dstmmac_mdio.c501 struct dw_xpcs *xpcs = NULL; in stmmac_pcs_setup() local
512 xpcs = xpcs_create_fwnode(pcsnode); in stmmac_pcs_setup()
514 ret = PTR_ERR_OR_ZERO(xpcs); in stmmac_pcs_setup()
518 xpcs = xpcs_create_mdiodev(priv->mii, addr); in stmmac_pcs_setup()
519 ret = PTR_ERR_OR_ZERO(xpcs); in stmmac_pcs_setup()
525 return dev_err_probe(priv->device, ret, "No xPCS found\n"); in stmmac_pcs_setup()
527 priv->hw->xpcs = xpcs; in stmmac_pcs_setup()
539 if (!priv->hw->xpcs) in stmmac_pcs_clean()
542 xpcs_destroy(priv->hw->xpcs); in stmmac_pcs_clean()
543 priv->hw->xpcs = NULL; in stmmac_pcs_clean()
Dcommon.h18 #include <linux/pcs/pcs-xpcs.h>
591 struct dw_xpcs *xpcs; member
Ddwmac-intel.c451 * should always be an XPCS. The original code would always in intel_mgbe_select_pcs()
454 return xpcs_to_phylink_pcs(priv->hw->xpcs); in intel_mgbe_select_pcs()
604 /* Ensure mdio bus scan skips intel serdes and pcs-xpcs */ in intel_mgbe_common_data()
Dstmmac_main.c499 if (priv->hw->xpcs) in stmmac_eee_init()
500 xpcs_config_eee(priv->hw->xpcs, in stmmac_eee_init()
512 if (priv->hw->xpcs) in stmmac_eee_init()
513 xpcs_config_eee(priv->hw->xpcs, in stmmac_eee_init()
1267 /* If we have an xpcs, it defines which PHY interfaces are supported. */ in stmmac_phy_setup()
1268 if (priv->hw->xpcs) in stmmac_phy_setup()
1269 pcs = xpcs_to_phylink_pcs(priv->hw->xpcs); in stmmac_phy_setup()
3986 if ((!priv->hw->xpcs || in __stmmac_open()
3987 xpcs_get_an_mode(priv->hw->xpcs, mode) != DW_AN_C73)) { in __stmmac_open()
/linux-6.14.4/Documentation/devicetree/bindings/net/pcs/
Dsnps,dw-xpcs.yaml4 $id: http://devicetree.org/schemas/net/pcs/snps,dw-xpcs.yaml#
22 by means of the APB3/MCI interfaces. In the later case the XPCS can be mapped
28 - description: Synopsys DesignWare XPCS with none or unknown PMA
29 const: snps,dw-xpcs
30 - description: Synopsys DesignWare XPCS with Consumer Gen1 3G PMA
31 const: snps,dw-xpcs-gen1-3g
32 - description: Synopsys DesignWare XPCS with Consumer Gen2 3G PMA
33 const: snps,dw-xpcs-gen2-3g
34 - description: Synopsys DesignWare XPCS with Consumer Gen2 6G PMA
35 const: snps,dw-xpcs-gen2-6g
[all …]
/linux-6.14.4/include/linux/pcs/
Dpcs-xpcs.h4 * Synopsys DesignWare XPCS helpers
51 struct phylink_pcs *xpcs_to_phylink_pcs(struct dw_xpcs *xpcs);
52 int xpcs_get_an_mode(struct dw_xpcs *xpcs, phy_interface_t interface);
53 int xpcs_config_eee(struct dw_xpcs *xpcs, int mult_fact_100ns,
57 void xpcs_destroy(struct dw_xpcs *xpcs);
/linux-6.14.4/drivers/net/ethernet/amd/xgbe/
Dxgbe-pci.c268 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()
Dxgbe-platform.c326 dev_err(dev, "xpcs ioremap failed\n"); in xgbe_platform_probe()
422 /* Always have XGMAC and XPCS (auto-negotiation) interrupts */ in xgbe_platform_probe()
Dxgbe.h1066 /* XGMAC/XPCS related mmio registers */
1068 void __iomem *xpcs_regs; /* XPCS MMD registers */
1085 /* XPCS indirect addressing lock */
Dxgbe-common.h1573 * within the register values of XPCS registers.
/linux-6.14.4/Documentation/devicetree/bindings/net/
Dnvidia,tegra234-mgbe.yaml24 - const: xpcs
121 reg-names = "hypervisor", "mac", "xpcs";
/linux-6.14.4/drivers/net/dsa/sja1105/
Dsja1105_mdio.c4 #include <linux/pcs/pcs-xpcs.h>
/linux-6.14.4/drivers/net/ethernet/marvell/mvpp2/
Dmvpp2_main.c1583 void __iomem *xpcs = priv->iface_base + MVPP22_XPCS_BASE(port->gop_id); in mvpp22_gop_init_10gkr() local
1586 val = readl(xpcs + MVPP22_XPCS_CFG0); in mvpp22_gop_init_10gkr()
1590 writel(val, xpcs + MVPP22_XPCS_CFG0); in mvpp22_gop_init_10gkr()
2183 void __iomem *mpcs, *xpcs; in mvpp22_pcs_reset_assert() local
2190 xpcs = priv->iface_base + MVPP22_XPCS_BASE(port->gop_id); in mvpp22_pcs_reset_assert()
2197 val = readl(xpcs + MVPP22_XPCS_CFG0); in mvpp22_pcs_reset_assert()
2198 writel(val & ~MVPP22_XPCS_CFG0_RESET_DIS, xpcs + MVPP22_XPCS_CFG0); in mvpp22_pcs_reset_assert()
2205 void __iomem *mpcs, *xpcs; in mvpp22_pcs_reset_deassert() local
2212 xpcs = priv->iface_base + MVPP22_XPCS_BASE(port->gop_id); in mvpp22_pcs_reset_deassert()
2225 val = readl(xpcs + MVPP22_XPCS_CFG0); in mvpp22_pcs_reset_deassert()
[all …]
Dmvpp2.h603 /* XPCS registers.PPv2.2 and PPv2.3 */
623 /* XPCS registers. PPv2.2 and PPv2.3 */
/linux-6.14.4/drivers/net/ethernet/wangxun/txgbe/
Dtxgbe_phy.c13 #include <linux/pcs/pcs-xpcs.h>
/linux-6.14.4/drivers/net/ethernet/sun/
Dniu.c8289 /* 10G fiber, XPCS */ in niu_phy_type_prop_decode()
8299 /* 10G copper, XPCS */ in niu_phy_type_prop_decode()
8456 /* 10G copper, XPCS */ in niu_pci_probe_sprom()
8463 /* 10G fiber, XPCS */ in niu_pci_probe_sprom()
9726 (np->mac_xcvr == MAC_XCVR_PCS ? "PCS" : "XPCS")), in niu_device_announce()
9737 (np->mac_xcvr == MAC_XCVR_PCS ? "PCS" : "XPCS")), in niu_device_announce()
/linux-6.14.4/arch/arm64/boot/dts/nvidia/
Dtegra234.dtsi3517 reg-names = "hypervisor", "mac", "xpcs";
3559 reg-names = "hypervisor", "mac", "xpcs";
3601 reg-names = "hypervisor", "mac", "xpcs";
3643 reg-names = "hypervisor", "mac", "xpcs";

12