/kernel/linux/linux-6.6/drivers/phy/qualcomm/ |
H A D | phy-qcom-qmp-pcie-msm8996.c | 174 /* 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 D | phy-qcom-qmp-ufs.c | 702 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 D | phy-qcom-qmp-pcie.c | 2151 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 D | phy-qcom-qmp-usb.c | 1152 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 D | phy-qcom-qmp-usb-legacy.c | 501 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 D | phy-qcom-qmp-combo.c | 1322 /* 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 D | phy-ocelot-serdes.c | 19 #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 D | phy-ocelot-serdes.c | 19 #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 D | lan966x_phylink.c | 33 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 D | lan966x_main.c | 1190 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 D | phy-zynqmp.c | 207 * @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 D | fman_memac.c | 293 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 D | sparx5_main.c | 40 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 D | sparx5_netdev.c | 113 /* 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 D | sparx5_port.c | 700 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 D | phy-zynqmp.c | 207 * @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 D | Makefile | 16 mv88e6xxx-objs += serdes.o
|
/kernel/linux/linux-5.10/drivers/phy/qualcomm/ |
H A D | phy-qcom-qmp.c | 1834 /* 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 D | rswitch.c | 1256 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 D | Makefile | 19 mv88e6xxx-objs += serdes.o
|
/kernel/linux/linux-5.10/drivers/net/ethernet/mscc/ |
H A D | ocelot_vsc7514.c | 1081 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 D | ocelot.h | 65 struct phy *serdes; member
|
/kernel/linux/linux-5.10/drivers/phy/ti/ |
H A D | phy-j721e-wiz.c | 785 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 D | ice_ptp_hw.c | 1378 * 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 D | kvaser_pciefd.c | 261 (KVASER_PCIEFD_GET_BLOCK_ADDR((pcie), serdes)) 286 u32 serdes; member 315 .serdes = 0x1000, 327 .serdes = 0x280c8,
|