| /linux/drivers/net/pcs/ |
| H A D | pcs-xpcs.c | 158 int (*pma_config)(struct dw_xpcs *xpcs); 168 xpcs_find_compat(struct dw_xpcs *xpcs, phy_interface_t interface) in xpcs_find_compat() argument 172 for (compat = xpcs->desc->compat; compat->supported; compat++) in xpcs_find_compat() 179 struct phylink_pcs *xpcs_to_phylink_pcs(struct dw_xpcs *xpcs) in xpcs_to_phylink_pcs() argument 181 return &xpcs->pcs; in xpcs_to_phylink_pcs() 185 int xpcs_get_an_mode(struct dw_xpcs *xpcs, phy_interface_t interface) in xpcs_get_an_mode() argument 189 compat = xpcs_find_compat(xpcs, interface); in xpcs_get_an_mode() 212 int xpcs_read(struct dw_xpcs *xpcs, int dev, u32 reg) in xpcs_read() argument 214 return mdiodev_c45_read(xpcs->mdiodev, dev, reg); in xpcs_read() 217 int xpcs_write(struct dw_xpcs *xpcs, int dev, u32 reg, u16 val) in xpcs_write() argument [all …]
|
| H A D | pcs-xpcs-wx.c | 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() 66 txgbe_write_pma(xpcs, TXGBE_MISC_CTL0, TXGBE_MISC_CTL0_PLL | in txgbe_pma_config_10gbaser() 68 txgbe_write_pma(xpcs, TXGBE_VCO_CAL_LD0, 0x549); in txgbe_pma_config_10gbaser() [all …]
|
| H A D | pcs-xpcs-nxp.c | 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() 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 …]
|
| H A D | pcs-xpcs.h | 119 int xpcs_read(struct dw_xpcs *xpcs, int dev, u32 reg); 120 int xpcs_write(struct dw_xpcs *xpcs, int dev, u32 reg, u16 val); 121 int xpcs_modify(struct dw_xpcs *xpcs, int dev, u32 reg, u16 mask, u16 set); 122 int xpcs_read_vpcs(struct dw_xpcs *xpcs, int reg); 123 int xpcs_write_vpcs(struct dw_xpcs *xpcs, int reg, u16 val); 124 int nxp_sja1105_sgmii_pma_config(struct dw_xpcs *xpcs); 125 int nxp_sja1110_sgmii_pma_config(struct dw_xpcs *xpcs); 126 int nxp_sja1110_2500basex_pma_config(struct dw_xpcs *xpcs); 127 int txgbe_xpcs_switch_mode(struct dw_xpcs *xpcs, phy_interface_t interface);
|
| H A D | Makefile | 4 pcs_xpcs-$(CONFIG_PCS_XPCS) := pcs-xpcs.o pcs-xpcs-plat.o \ 5 pcs-xpcs-nxp.o pcs-xpcs-wx.o
|
| /linux/drivers/net/ethernet/stmicro/stmmac/ |
| H A D | dwmac-tegra.c | 27 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 …]
|
| H A D | stmmac_mdio.c | 430 struct dw_xpcs *xpcs = NULL; in stmmac_pcs_setup() local 439 xpcs = xpcs_create_fwnode(pcsnode); in stmmac_pcs_setup() 441 ret = PTR_ERR_OR_ZERO(xpcs); in stmmac_pcs_setup() 445 xpcs = xpcs_create_mdiodev(priv->mii, addr); in stmmac_pcs_setup() 446 ret = PTR_ERR_OR_ZERO(xpcs); in stmmac_pcs_setup() 454 if (xpcs) in stmmac_pcs_setup() 455 xpcs_config_eee_mult_fact(xpcs, priv->plat->mult_fact_100ns); in stmmac_pcs_setup() 457 priv->hw->xpcs = xpcs; in stmmac_pcs_setup() 469 if (!priv->hw->xpcs) in stmmac_pcs_clean() 472 xpcs_destroy(priv->hw->xpcs); in stmmac_pcs_clean() [all …]
|
| H A D | common.h | 628 struct dw_xpcs *xpcs; member
|
| H A D | dwmac-intel.c | 581 return xpcs_to_phylink_pcs(priv->hw->xpcs); in intel_mgbe_select_pcs()
|
| H A D | stmmac_main.c | 1259 if (priv->hw->xpcs && in stmmac_init_phy() 1260 xpcs_get_an_mode(priv->hw->xpcs, mode) == DW_AN_C73) in stmmac_init_phy() 1368 if (priv->hw->xpcs) in stmmac_phylink_setup() 1369 pcs = xpcs_to_phylink_pcs(priv->hw->xpcs); in stmmac_phylink_setup()
|
| /linux/include/linux/pcs/ |
| H A D | pcs-xpcs.h | 53 struct phylink_pcs *xpcs_to_phylink_pcs(struct dw_xpcs *xpcs); 54 int xpcs_get_an_mode(struct dw_xpcs *xpcs, phy_interface_t interface); 55 void xpcs_config_eee_mult_fact(struct dw_xpcs *xpcs, u8 mult_fact); 58 void xpcs_destroy(struct dw_xpcs *xpcs);
|
| /linux/drivers/net/ethernet/marvell/mvpp2/ |
| H A D | mvpp2_main.c | 1583 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 …]
|
| /linux/arch/arm64/boot/dts/nvidia/ |
| H A D | tegra234.dtsi | 3593 reg-names = "hypervisor", "mac", "xpcs"; 3635 reg-names = "hypervisor", "mac", "xpcs"; 3677 reg-names = "hypervisor", "mac", "xpcs"; 3719 reg-names = "hypervisor", "mac", "xpcs";
|
| /linux/ |
| H A D | MAINTAINERS | 19151 F: drivers/net/pcs/pcs-xpcs-nxp.c 25631 F: drivers/net/pcs/pcs-xpcs.c 25632 F: drivers/net/pcs/pcs-xpcs.h 25633 F: include/linux/pcs/pcs-xpcs.h 28372 F: drivers/net/pcs/pcs-xpcs-wx.c
|