Home
last modified time | relevance | path

Searched refs:xpcs (Results 1 – 19 of 19) sorted by relevance

/linux-6.12.1/drivers/net/pcs/
Dpcs-xpcs-wx.c49 static int txgbe_read_pma(struct dw_xpcs *xpcs, int reg) in txgbe_read_pma() argument
51 return xpcs_read(xpcs, MDIO_MMD_PMAPMD, TXGBE_PMA_MMD + reg); in txgbe_read_pma()
54 static int txgbe_write_pma(struct dw_xpcs *xpcs, int reg, u16 val) in txgbe_write_pma() argument
56 return xpcs_write(xpcs, MDIO_MMD_PMAPMD, TXGBE_PMA_MMD + reg, val); in txgbe_write_pma()
59 static void txgbe_pma_config_10gbaser(struct dw_xpcs *xpcs) in txgbe_pma_config_10gbaser() argument
63 txgbe_write_pma(xpcs, TXGBE_MPLLA_CTL0, 0x21); in txgbe_pma_config_10gbaser()
64 txgbe_write_pma(xpcs, TXGBE_MPLLA_CTL3, 0); in txgbe_pma_config_10gbaser()
65 val = txgbe_read_pma(xpcs, TXGBE_TX_GENCTL1); in txgbe_pma_config_10gbaser()
67 txgbe_write_pma(xpcs, TXGBE_TX_GENCTL1, val); in txgbe_pma_config_10gbaser()
68 txgbe_write_pma(xpcs, TXGBE_MISC_CTL0, TXGBE_MISC_CTL0_PLL | in txgbe_pma_config_10gbaser()
[all …]
Dpcs-xpcs.c154 int (*pma_config)(struct dw_xpcs *xpcs);
179 int xpcs_get_an_mode(struct dw_xpcs *xpcs, phy_interface_t interface) in xpcs_get_an_mode() argument
183 compat = xpcs_find_compat(xpcs->desc, interface); in xpcs_get_an_mode()
206 int xpcs_read(struct dw_xpcs *xpcs, int dev, u32 reg) in xpcs_read() argument
208 return mdiodev_c45_read(xpcs->mdiodev, dev, reg); in xpcs_read()
211 int xpcs_write(struct dw_xpcs *xpcs, int dev, u32 reg, u16 val) in xpcs_write() argument
213 return mdiodev_c45_write(xpcs->mdiodev, dev, reg, val); in xpcs_write()
216 static int xpcs_modify_changed(struct dw_xpcs *xpcs, int dev, u32 reg, in xpcs_modify_changed() argument
219 return mdiodev_c45_modify_changed(xpcs->mdiodev, dev, reg, mask, set); in xpcs_modify_changed()
222 static int xpcs_read_vendor(struct dw_xpcs *xpcs, int dev, u32 reg) in xpcs_read_vendor() argument
[all …]
Dpcs-xpcs-nxp.c72 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()
122 ret = xpcs_write(xpcs, MDIO_MMD_VEND2, SJA1110_LANE_TRIM, val); in nxp_sja1110_pma_config()
127 ret = xpcs_write(xpcs, MDIO_MMD_VEND2, SJA1110_LANE_DATAPATH_1, 0); in nxp_sja1110_pma_config()
[all …]
Dpcs-xpcs.h126 int xpcs_read(struct dw_xpcs *xpcs, int dev, u32 reg);
127 int xpcs_write(struct dw_xpcs *xpcs, int dev, u32 reg, u16 val);
128 int xpcs_read_vpcs(struct dw_xpcs *xpcs, int reg);
129 int xpcs_write_vpcs(struct dw_xpcs *xpcs, int reg, u16 val);
130 int nxp_sja1105_sgmii_pma_config(struct dw_xpcs *xpcs);
131 int nxp_sja1110_sgmii_pma_config(struct dw_xpcs *xpcs);
132 int nxp_sja1110_2500basex_pma_config(struct dw_xpcs *xpcs);
133 int txgbe_xpcs_switch_mode(struct dw_xpcs *xpcs, phy_interface_t interface);
DMakefile4 pcs_xpcs-$(CONFIG_PCS_XPCS) := pcs-xpcs.o pcs-xpcs-plat.o \
5 pcs-xpcs-nxp.o pcs-xpcs-wx.o
/linux-6.12.1/drivers/net/ethernet/stmicro/stmmac/
Ddwmac-tegra.c24 void __iomem *xpcs; member
89 value = readl(mgbe->xpcs + XPCS_WRAP_UPHY_STATUS); in tegra_mgbe_resume()
91 value = readl(mgbe->xpcs + XPCS_WRAP_UPHY_HW_INIT_CTRL); in tegra_mgbe_resume()
93 writel(value, mgbe->xpcs + XPCS_WRAP_UPHY_HW_INIT_CTRL); in tegra_mgbe_resume()
96 err = readl_poll_timeout(mgbe->xpcs + XPCS_WRAP_UPHY_HW_INIT_CTRL, value, in tegra_mgbe_resume()
118 value = readl(mgbe->xpcs + XPCS_WRAP_UPHY_RX_CONTROL); in mgbe_uphy_lane_bringup_serdes_up()
120 writel(value, mgbe->xpcs + XPCS_WRAP_UPHY_RX_CONTROL); in mgbe_uphy_lane_bringup_serdes_up()
122 value = readl(mgbe->xpcs + XPCS_WRAP_UPHY_RX_CONTROL); in mgbe_uphy_lane_bringup_serdes_up()
124 writel(value, mgbe->xpcs + XPCS_WRAP_UPHY_RX_CONTROL); in mgbe_uphy_lane_bringup_serdes_up()
126 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
513 xpcs = xpcs_create_fwnode(pcsnode, mode); in stmmac_pcs_setup()
515 ret = PTR_ERR_OR_ZERO(xpcs); in stmmac_pcs_setup()
519 xpcs = xpcs_create_mdiodev(priv->mii, addr, mode); in stmmac_pcs_setup()
520 ret = PTR_ERR_OR_ZERO(xpcs); in stmmac_pcs_setup()
528 priv->hw->xpcs = xpcs; in stmmac_pcs_setup()
540 if (!priv->hw->xpcs) in stmmac_pcs_clean()
543 xpcs_destroy(priv->hw->xpcs); in stmmac_pcs_clean()
544 priv->hw->xpcs = NULL; in stmmac_pcs_clean()
Dcommon.h595 struct dw_xpcs *xpcs; member
Dstmmac_main.c487 if (priv->hw->xpcs) in stmmac_eee_init()
488 xpcs_config_eee(priv->hw->xpcs, in stmmac_eee_init()
500 if (priv->hw->xpcs) in stmmac_eee_init()
501 xpcs_config_eee(priv->hw->xpcs, in stmmac_eee_init()
1250 if (priv->hw->xpcs) in stmmac_phy_setup()
1251 xpcs_get_interfaces(priv->hw->xpcs, in stmmac_phy_setup()
3940 if ((!priv->hw->xpcs || in __stmmac_open()
3941 xpcs_get_an_mode(priv->hw->xpcs, mode) != DW_AN_C73)) { in __stmmac_open()
Ddwmac-intel.c454 return &priv->hw->xpcs->pcs; in intel_mgbe_select_pcs()
/linux-6.12.1/include/linux/pcs/
Dpcs-xpcs.h66 int xpcs_get_an_mode(struct dw_xpcs *xpcs, phy_interface_t interface);
69 int xpcs_do_config(struct dw_xpcs *xpcs, phy_interface_t interface,
71 void xpcs_get_interfaces(struct dw_xpcs *xpcs, unsigned long *interfaces);
72 int xpcs_config_eee(struct dw_xpcs *xpcs, int mult_fact_100ns,
78 void xpcs_destroy(struct dw_xpcs *xpcs);
/linux-6.12.1/drivers/net/dsa/sja1105/
Dsja1105_mdio.c403 struct dw_xpcs *xpcs; in sja1105_mdiobus_pcs_register() local
412 xpcs = xpcs_create_mdiodev(bus, port, priv->phy_mode[port]); in sja1105_mdiobus_pcs_register()
413 if (IS_ERR(xpcs)) { in sja1105_mdiobus_pcs_register()
414 rc = PTR_ERR(xpcs); in sja1105_mdiobus_pcs_register()
418 priv->xpcs[port] = xpcs; in sja1105_mdiobus_pcs_register()
427 if (!priv->xpcs[port]) in sja1105_mdiobus_pcs_register()
430 xpcs_destroy(priv->xpcs[port]); in sja1105_mdiobus_pcs_register()
431 priv->xpcs[port] = NULL; in sja1105_mdiobus_pcs_register()
449 if (!priv->xpcs[port]) in sja1105_mdiobus_pcs_unregister()
452 xpcs_destroy(priv->xpcs[port]); in sja1105_mdiobus_pcs_unregister()
[all …]
Dsja1105_main.c1359 struct dw_xpcs *xpcs = priv->xpcs[dp->index]; in sja1105_mac_select_pcs() local
1361 if (xpcs) in sja1105_mac_select_pcs()
1362 return &xpcs->pcs; in sja1105_mac_select_pcs()
2320 if (priv->xpcs[i]) in sja1105_static_config_reload()
2377 struct dw_xpcs *xpcs = priv->xpcs[i]; in sja1105_static_config_reload() local
2384 if (!xpcs) in sja1105_static_config_reload()
2392 rc = xpcs_do_config(xpcs, priv->phy_mode[i], NULL, neg_mode); in sja1105_static_config_reload()
2408 xpcs_link_up(&xpcs->pcs, neg_mode, priv->phy_mode[i], in sja1105_static_config_reload()
Dsja1105.h281 struct dw_xpcs *xpcs[SJA1105_MAX_NUM_PORTS]; member
/linux-6.12.1/drivers/net/ethernet/wangxun/txgbe/
Dtxgbe_phy.c125 struct dw_xpcs *xpcs; in txgbe_mdio_pcs_init() local
150 xpcs = xpcs_create_mdiodev(mii_bus, 0, PHY_INTERFACE_MODE_10GBASER); in txgbe_mdio_pcs_init()
151 if (IS_ERR(xpcs)) in txgbe_mdio_pcs_init()
152 return PTR_ERR(xpcs); in txgbe_mdio_pcs_init()
154 txgbe->xpcs = xpcs; in txgbe_mdio_pcs_init()
166 return &txgbe->xpcs->pcs; in txgbe_phylink_mac_select()
305 phylink_pcs_change(&txgbe->xpcs->pcs, up); in txgbe_link_irq_handler()
781 xpcs_destroy(txgbe->xpcs); in txgbe_init_phy()
801 xpcs_destroy(txgbe->xpcs); in txgbe_remove_phy()
Dtxgbe_type.h332 struct dw_xpcs *xpcs; member
/linux-6.12.1/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()
2196 void __iomem *mpcs, *xpcs; in mvpp22_pcs_reset_assert() local
2203 xpcs = priv->iface_base + MVPP22_XPCS_BASE(port->gop_id); in mvpp22_pcs_reset_assert()
2210 val = readl(xpcs + MVPP22_XPCS_CFG0); in mvpp22_pcs_reset_assert()
2211 writel(val & ~MVPP22_XPCS_CFG0_RESET_DIS, xpcs + MVPP22_XPCS_CFG0); in mvpp22_pcs_reset_assert()
2218 void __iomem *mpcs, *xpcs; in mvpp22_pcs_reset_deassert() local
2225 xpcs = priv->iface_base + MVPP22_XPCS_BASE(port->gop_id); in mvpp22_pcs_reset_deassert()
2238 val = readl(xpcs + MVPP22_XPCS_CFG0); in mvpp22_pcs_reset_deassert()
[all …]
/linux-6.12.1/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";
/linux-6.12.1/
DMAINTAINERS16696 F: drivers/net/pcs/pcs-xpcs-nxp.c
22428 F: drivers/net/pcs/pcs-xpcs.c
22429 F: drivers/net/pcs/pcs-xpcs.h
22430 F: include/linux/pcs/pcs-xpcs.h
24900 F: drivers/net/pcs/pcs-xpcs-wx.c