Home
last modified time | relevance | path

Searched refs:serdes (Results 1 - 25 of 34) sorted by relevance

12

/kernel/linux/linux-6.6/drivers/phy/qualcomm/
H A Dphy-qcom-qmp-pcie-msm8996.c174 /* Init sequence for PHY blocks - serdes, tx, rx, pcs */
203 * @serdes: iomapped memory space for phy's serdes (i.e. PLL)
215 void __iomem *serdes; member
340 void __iomem *serdes = qphy->serdes; in qmp_pcie_msm8996_serdes_init() local
347 qmp_pcie_msm8996_configure(serdes, serdes_tbl, serdes_tbl_num); in qmp_pcie_msm8996_serdes_init()
349 qphy_clrbits(serdes, cfg->regs[QPHY_COM_SW_RESET], SW_RESET); in qmp_pcie_msm8996_serdes_init()
350 qphy_setbits(serdes, cfg->regs[QPHY_COM_START_CONTROL], in qmp_pcie_msm8996_serdes_init()
353 status = serdes in qmp_pcie_msm8996_serdes_init()
369 void __iomem *serdes = qphy->serdes; qmp_pcie_msm8996_com_init() local
422 void __iomem *serdes = qphy->serdes; qmp_pcie_msm8996_com_exit() local
709 qmp_pcie_msm8996_create(struct device *dev, struct device_node *np, int id, void __iomem *serdes, const struct qmp_phy_cfg *cfg) qmp_pcie_msm8996_create() argument
786 void __iomem *serdes; qmp_pcie_msm8996_probe() local
[all...]
H A Dphy-qcom-qmp-ufs.c702 u16 serdes; member
711 /* Init sequence for PHY blocks - serdes, tx, rx, pcs */
712 const struct qmp_phy_init_tbl *serdes; member
728 /* Main init sequence for PHY blocks - serdes, tx, rx, pcs */
754 void __iomem *serdes; member
815 .serdes = 0,
824 .serdes = 0,
838 .serdes = msm8996_ufsphy_serdes,
863 .serdes = sm8350_ufsphy_serdes,
873 .serdes
1195 void __iomem *serdes = qmp->serdes; qmp_ufs_serdes_init() local
[all...]
H A Dphy-qcom-qmp-pcie.c2151 u16 serdes; member
2162 const struct qmp_phy_init_tbl *serdes; member
2182 /* Main init sequence for PHY blocks - serdes, tx, rx, pcs */
2225 void __iomem *serdes; member
2298 .serdes = 0,
2305 .serdes = 0,
2312 .serdes = 0,
2320 .serdes = 0,
2328 .serdes = 0,
2338 .serdes
3137 void __iomem *serdes = qmp->serdes; qmp_pcie_init_registers() local
[all...]
H A Dphy-qcom-qmp-usb.c1152 u16 serdes; member
1169 /* Init sequence for PHY blocks - serdes, tx, rx, pcs */
1206 void __iomem *serdes; member
1292 .serdes = 0,
1300 .serdes = 0,
1310 .serdes = 0,
1645 void __iomem *serdes = qmp->serdes; in qmp_usb_serdes_init() local
1649 qmp_usb_configure(serdes, serdes_tbl, serdes_tbl_num); in qmp_usb_serdes_init()
2065 qmp->serdes in qmp_usb_parse_dt_legacy()
[all...]
H A Dphy-qcom-qmp-usb-legacy.c501 u16 serdes; member
514 /* Init sequence for PHY blocks - serdes, tx, rx, pcs */
548 void __iomem *serdes; member
761 void __iomem *serdes = qmp->serdes; in qmp_usb_legacy_serdes_init() local
765 qmp_usb_legacy_configure(serdes, serdes_tbl, serdes_tbl_num); in qmp_usb_legacy_serdes_init()
1205 qmp->serdes = devm_platform_ioremap_resource(pdev, 0); in qmp_usb_legacy_parse_dt_legacy()
1206 if (IS_ERR(qmp->serdes)) in qmp_usb_legacy_parse_dt_legacy()
1207 return PTR_ERR(qmp->serdes); in qmp_usb_legacy_parse_dt_legacy()
1277 qmp->serdes in qmp_usb_legacy_parse_dt()
[all...]
H A Dphy-qcom-qmp-combo.c1322 /* Init sequence for PHY blocks - serdes, tx, rx, pcs */
1386 void __iomem *serdes; member
1899 void __iomem *serdes = qmp->dp_serdes; in qmp_combo_dp_serdes_init() local
1902 qmp_combo_configure(serdes, cfg->dp_serdes_tbl, cfg->dp_serdes_tbl_num); in qmp_combo_dp_serdes_init()
1906 qmp_combo_configure(serdes, cfg->serdes_tbl_rbr, in qmp_combo_dp_serdes_init()
1910 qmp_combo_configure(serdes, cfg->serdes_tbl_hbr, in qmp_combo_dp_serdes_init()
1914 qmp_combo_configure(serdes, cfg->serdes_tbl_hbr2, in qmp_combo_dp_serdes_init()
1918 qmp_combo_configure(serdes, cfg->serdes_tbl_hbr3, in qmp_combo_dp_serdes_init()
2552 void __iomem *serdes = qmp->serdes; in qmp_combo_usb_power_on() local
[all...]
/kernel/linux/linux-5.10/drivers/phy/mscc/
H A Dphy-ocelot-serdes.c19 #include <dt-bindings/phy/phy-ocelot-serdes.h>
60 static int serdes_init_s6g(struct regmap *regmap, u8 serdes, int mode) in serdes_init_s6g() argument
89 ret = serdes_update_mcb_s6g(regmap, serdes); in serdes_init_s6g()
146 ret = serdes_commit_mcb_s6g(regmap, serdes); in serdes_init_s6g()
222 ret = serdes_commit_mcb_s6g(regmap, serdes); in serdes_init_s6g()
230 ret = serdes_commit_mcb_s6g(regmap, serdes); in serdes_init_s6g()
244 ret = serdes_commit_mcb_s6g(regmap, serdes); in serdes_init_s6g()
292 static int serdes_init_s1g(struct regmap *regmap, u8 serdes) in serdes_init_s1g() argument
296 ret = serdes_update_mcb_s1g(regmap, serdes); in serdes_init_s1g()
318 ret = serdes_commit_mcb_s1g(regmap, serdes); in serdes_init_s1g()
[all...]
/kernel/linux/linux-6.6/drivers/phy/mscc/
H A Dphy-ocelot-serdes.c19 #include <dt-bindings/phy/phy-ocelot-serdes.h>
60 static int serdes_init_s6g(struct regmap *regmap, u8 serdes, int mode) in serdes_init_s6g() argument
89 ret = serdes_update_mcb_s6g(regmap, serdes); in serdes_init_s6g()
146 ret = serdes_commit_mcb_s6g(regmap, serdes); in serdes_init_s6g()
222 ret = serdes_commit_mcb_s6g(regmap, serdes); in serdes_init_s6g()
230 ret = serdes_commit_mcb_s6g(regmap, serdes); in serdes_init_s6g()
244 ret = serdes_commit_mcb_s6g(regmap, serdes); in serdes_init_s6g()
292 static int serdes_init_s1g(struct regmap *regmap, u8 serdes) in serdes_init_s1g() argument
296 ret = serdes_update_mcb_s1g(regmap, serdes); in serdes_init_s1g()
318 ret = serdes_commit_mcb_s1g(regmap, serdes); in serdes_init_s1g()
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/microchip/lan966x/
H A Dlan966x_phylink.c33 if (port->serdes) { in lan966x_phylink_mac_prepare()
34 err = phy_set_mode_ext(port->serdes, PHY_MODE_ETHERNET, in lan966x_phylink_mac_prepare()
63 phy_set_speed(port->serdes, speed); in lan966x_phylink_mac_link_up()
H A Dlan966x_main.c1190 struct phy *serdes; in lan966x_probe() local
1205 serdes = devm_of_phy_optional_get(lan966x->dev, in lan966x_probe()
1207 if (IS_ERR(serdes)) { in lan966x_probe()
1208 err = PTR_ERR(serdes); in lan966x_probe()
1211 lan966x->ports[p]->serdes = serdes; in lan966x_probe()
/kernel/linux/linux-5.10/drivers/phy/xilinx/
H A Dphy-zynqmp.c207 * @serdes: serdes base address
218 void __iomem *serdes; member
255 return readl(gtr_dev->serdes + reg); in xpsgtr_read()
260 writel(value, gtr_dev->serdes + reg); in xpsgtr_write()
275 void __iomem *addr = gtr_phy->dev->serdes in xpsgtr_read_phy()
284 void __iomem *addr = gtr_phy->dev->serdes in xpsgtr_write_phy()
293 void __iomem *addr = gtr_phy->dev->serdes in xpsgtr_clr_set_phy()
935 gtr_dev->serdes = devm_platform_ioremap_resource_byname(pdev, "serdes"); in xpsgtr_probe()
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/freescale/fman/
H A Dfman_memac.c293 struct phy *serdes; member
531 ret = phy_init(memac->serdes); in memac_enable()
534 "could not initialize serdes: %pe\n", ERR_PTR(ret)); in memac_enable()
538 ret = phy_power_on(memac->serdes); in memac_enable()
541 "could not power on serdes: %pe\n", ERR_PTR(ret)); in memac_enable()
542 phy_exit(memac->serdes); in memac_enable()
550 phy_power_off(memac->serdes); in memac_disable()
551 phy_exit(memac->serdes); in memac_disable()
692 return phy_set_mode_ext(memac->serdes, PHY_MODE_ETHERNET, in memac_prepare()
1056 /* If there's no serdes devic in memac_supports()
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/microchip/sparx5/
H A Dsparx5_main.c40 struct phy *serdes; member
274 spx5_port->serdes = config->serdes; in sparx5_create_port()
790 struct phy *serdes; in mchp_sparx5_probe() local
820 serdes = devm_of_phy_get(sparx5->dev, portnp, NULL); in mchp_sparx5_probe()
821 if (IS_ERR(serdes)) { in mchp_sparx5_probe()
822 err = dev_err_probe(sparx5->dev, PTR_ERR(serdes), in mchp_sparx5_probe()
823 "port %u: missing serdes\n", in mchp_sparx5_probe()
830 config->serdes = serdes; in mchp_sparx5_probe()
[all...]
H A Dsparx5_netdev.c113 /* power up serdes */ in sparx5_port_open()
118 err = phy_power_on(port->serdes); in sparx5_port_open()
146 /* power down serdes */ in sparx5_port_stop()
151 err = phy_power_off(port->serdes); in sparx5_port_stop()
H A Dsparx5_port.c700 err = phy_set_media(port->serdes, conf->media); in sparx5_serdes_set()
704 err = phy_set_speed(port->serdes, speed); in sparx5_serdes_set()
709 err = phy_reset(port->serdes); in sparx5_serdes_set()
715 * For BaseR, the serdes driver supports 10GGBASE-R and speed 5G/10G/25G in sparx5_serdes_set()
720 err = phy_set_mode_ext(port->serdes, PHY_MODE_ETHERNET, portmode); in sparx5_serdes_set()
/kernel/linux/linux-6.6/drivers/phy/xilinx/
H A Dphy-zynqmp.c207 * @serdes: serdes base address
219 void __iomem *serdes; member
257 return readl(gtr_dev->serdes + reg); in xpsgtr_read()
262 writel(value, gtr_dev->serdes + reg); in xpsgtr_write()
277 void __iomem *addr = gtr_phy->dev->serdes in xpsgtr_read_phy()
286 void __iomem *addr = gtr_phy->dev->serdes in xpsgtr_write_phy()
295 void __iomem *addr = gtr_phy->dev->serdes in xpsgtr_clr_set_phy()
949 gtr_dev->serdes = devm_platform_ioremap_resource_byname(pdev, "serdes"); in xpsgtr_probe()
[all...]
/kernel/linux/linux-5.10/drivers/net/dsa/mv88e6xxx/
H A DMakefile16 mv88e6xxx-objs += serdes.o
/kernel/linux/linux-5.10/drivers/phy/qualcomm/
H A Dphy-qcom-qmp.c1834 /* Init sequence for PHY blocks - serdes, tx, rx, pcs */
1902 * @serdes: iomapped memory space for phy's serdes (i.e. PLL)
1918 void __iomem *serdes; member
2625 void __iomem *serdes = qphy->serdes; in qcom_qmp_phy_serdes_init() local
2631 qcom_qmp_phy_configure(serdes, cfg->regs, serdes_tbl, serdes_tbl_num); in qcom_qmp_phy_serdes_init()
2636 qcom_qmp_phy_configure(serdes, cfg->regs, in qcom_qmp_phy_serdes_init()
2641 qcom_qmp_phy_configure(serdes, cfg->regs, in qcom_qmp_phy_serdes_init()
2646 qcom_qmp_phy_configure(serdes, cf in qcom_qmp_phy_serdes_init()
2914 void __iomem *serdes = qphy->serdes; qcom_qmp_phy_com_init() local
3011 void __iomem *serdes = qphy->serdes; qcom_qmp_phy_com_exit() local
3726 qcom_qmp_phy_create(struct device *dev, struct device_node *np, int id, void __iomem *serdes, const struct qmp_phy_cfg *cfg) qcom_qmp_phy_create() argument
3936 void __iomem *serdes; qcom_qmp_phy_probe() local
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/renesas/
H A Drswitch.c1256 phy_power_on(rdev->serdes); in rswitch_adjust_link()
1257 else if (rdev->serdes->power_count) in rswitch_adjust_link()
1258 phy_power_off(rdev->serdes); in rswitch_adjust_link()
1267 phy_set_speed(rdev->serdes, rdev->etha->speed); in rswitch_adjust_link()
1350 err = phy_set_mode_ext(rdev->serdes, PHY_MODE_ETHERNET, in rswitch_serdes_set_params()
1355 return phy_set_speed(rdev->serdes, rdev->etha->speed); in rswitch_serdes_set_params()
1378 rdev->serdes = devm_of_phy_get(&rdev->priv->pdev->dev, rdev->np_port, NULL); in rswitch_ether_port_init_one()
1379 if (IS_ERR(rdev->serdes)) { in rswitch_ether_port_init_one()
1380 err = PTR_ERR(rdev->serdes); in rswitch_ether_port_init_one()
1417 err = phy_init(priv->rdev[i]->serdes); in rswitch_ether_port_init_all()
[all...]
/kernel/linux/linux-6.6/drivers/net/dsa/mv88e6xxx/
H A DMakefile19 mv88e6xxx-objs += serdes.o
/kernel/linux/linux-5.10/drivers/net/ethernet/mscc/
H A Docelot_vsc7514.c1081 struct phy *serdes; in mscc_ocelot_init_ports() local
1141 serdes = devm_of_phy_get(ocelot->dev, portnp, NULL); in mscc_ocelot_init_ports()
1142 if (IS_ERR(serdes)) { in mscc_ocelot_init_ports()
1143 err = PTR_ERR(serdes); in mscc_ocelot_init_ports()
1155 priv->serdes = serdes; in mscc_ocelot_init_ports()
H A Docelot.h65 struct phy *serdes; member
/kernel/linux/linux-5.10/drivers/phy/ti/
H A Dphy-j721e-wiz.c785 struct device_node *serdes, *subnode; in wiz_get_lane_phy_types() local
787 serdes = of_get_child_by_name(dev->of_node, "serdes"); in wiz_get_lane_phy_types()
788 if (!serdes) { in wiz_get_lane_phy_types()
789 dev_err(dev, "%s: Getting \"serdes\"-node failed\n", __func__); in wiz_get_lane_phy_types()
793 for_each_child_of_node(serdes, subnode) { in wiz_get_lane_phy_types()
837 child_node = of_get_child_by_name(node, "serdes"); in wiz_probe()
/kernel/linux/linux-6.6/drivers/net/ethernet/intel/ice/
H A Dice_ptp_hw.c1378 * ice_phy_get_speed_and_fec_e822 - Get link speed and FEC based on serdes mode
1384 * Read the serdes data for the PHY port and extract the link speed and FEC
1394 u32 serdes; in ice_phy_get_speed_and_fec_e822() local
1397 err = ice_read_phy_reg_e822(hw, port, P_REG_LINK_SPEED, &serdes); in ice_phy_get_speed_and_fec_e822()
1399 ice_debug(hw, ICE_DBG_PTP, "Failed to read serdes info\n"); in ice_phy_get_speed_and_fec_e822()
1404 fec = (enum ice_ptp_fec_mode)P_REG_LINK_SPEED_FEC_MODE(serdes); in ice_phy_get_speed_and_fec_e822()
1406 serdes &= P_REG_LINK_SPEED_SERDES_M; in ice_phy_get_speed_and_fec_e822()
1410 switch (serdes) { in ice_phy_get_speed_and_fec_e822()
1424 switch (serdes) { in ice_phy_get_speed_and_fec_e822()
1501 * serdes uni
[all...]
/kernel/linux/linux-6.6/drivers/net/can/
H A Dkvaser_pciefd.c261 (KVASER_PCIEFD_GET_BLOCK_ADDR((pcie), serdes))
286 u32 serdes; member
315 .serdes = 0x1000,
327 .serdes = 0x280c8,

Completed in 38 milliseconds

12