Lines Matching refs:inst

117 					struct xsphy_instance *inst)  in u2_phy_slew_rate_calibrate()  argument
119 void __iomem *pbase = inst->port_base; in u2_phy_slew_rate_calibrate()
125 if (inst->eye_src) in u2_phy_slew_rate_calibrate()
176 inst->index, fm_out, calib_val, in u2_phy_slew_rate_calibrate()
192 struct xsphy_instance *inst) in u2_phy_instance_init() argument
194 void __iomem *pbase = inst->port_base; in u2_phy_instance_init()
208 struct xsphy_instance *inst) in u2_phy_instance_power_on() argument
210 void __iomem *pbase = inst->port_base; in u2_phy_instance_power_on()
211 u32 index = inst->index; in u2_phy_instance_power_on()
227 struct xsphy_instance *inst) in u2_phy_instance_power_off() argument
229 void __iomem *pbase = inst->port_base; in u2_phy_instance_power_off()
230 u32 index = inst->index; in u2_phy_instance_power_off()
246 struct xsphy_instance *inst, in u2_phy_instance_set_mode() argument
251 tmp = readl(inst->port_base + XSP_U2PHYDTM1); in u2_phy_instance_set_mode()
266 writel(tmp, inst->port_base + XSP_U2PHYDTM1); in u2_phy_instance_set_mode()
270 struct xsphy_instance *inst) in phy_parse_property() argument
272 struct device *dev = &inst->phy->dev; in phy_parse_property()
274 switch (inst->type) { in phy_parse_property()
277 &inst->efuse_intr); in phy_parse_property()
279 &inst->eye_src); in phy_parse_property()
281 &inst->eye_vrt); in phy_parse_property()
283 &inst->eye_term); in phy_parse_property()
285 inst->efuse_intr, inst->eye_src, in phy_parse_property()
286 inst->eye_vrt, inst->eye_term); in phy_parse_property()
290 &inst->efuse_intr); in phy_parse_property()
292 &inst->efuse_tx_imp); in phy_parse_property()
294 &inst->efuse_rx_imp); in phy_parse_property()
296 inst->efuse_intr, inst->efuse_tx_imp, in phy_parse_property()
297 inst->efuse_rx_imp); in phy_parse_property()
306 struct xsphy_instance *inst) in u2_phy_props_set() argument
308 void __iomem *pbase = inst->port_base; in u2_phy_props_set()
311 if (inst->efuse_intr) { in u2_phy_props_set()
314 tmp |= P2A1_RG_INTR_CAL_VAL(inst->efuse_intr); in u2_phy_props_set()
318 if (inst->eye_src) { in u2_phy_props_set()
321 tmp |= P2A5_RG_HSTX_SRCTRL_VAL(inst->eye_src); in u2_phy_props_set()
325 if (inst->eye_vrt) { in u2_phy_props_set()
328 tmp |= P2A1_RG_VRT_SEL_VAL(inst->eye_vrt); in u2_phy_props_set()
332 if (inst->eye_term) { in u2_phy_props_set()
335 tmp |= P2A1_RG_TERM_SEL_VAL(inst->eye_term); in u2_phy_props_set()
341 struct xsphy_instance *inst) in u3_phy_props_set() argument
343 void __iomem *pbase = inst->port_base; in u3_phy_props_set()
346 if (inst->efuse_intr) { in u3_phy_props_set()
349 tmp |= RG_XTP_GLB_BIAS_INTR_CTRL_VAL(inst->efuse_intr); in u3_phy_props_set()
353 if (inst->efuse_tx_imp) { in u3_phy_props_set()
356 tmp |= RG_XTP_LN0_TX_IMPSEL_VAL(inst->efuse_tx_imp); in u3_phy_props_set()
360 if (inst->efuse_rx_imp) { in u3_phy_props_set()
363 tmp |= RG_XTP_LN0_RX_IMPSEL_VAL(inst->efuse_rx_imp); in u3_phy_props_set()
370 struct xsphy_instance *inst = phy_get_drvdata(phy); in mtk_phy_init() local
374 ret = clk_prepare_enable(inst->ref_clk); in mtk_phy_init()
380 switch (inst->type) { in mtk_phy_init()
382 u2_phy_instance_init(xsphy, inst); in mtk_phy_init()
383 u2_phy_props_set(xsphy, inst); in mtk_phy_init()
386 u3_phy_props_set(xsphy, inst); in mtk_phy_init()
390 clk_disable_unprepare(inst->ref_clk); in mtk_phy_init()
399 struct xsphy_instance *inst = phy_get_drvdata(phy); in mtk_phy_power_on() local
402 if (inst->type == PHY_TYPE_USB2) { in mtk_phy_power_on()
403 u2_phy_instance_power_on(xsphy, inst); in mtk_phy_power_on()
404 u2_phy_slew_rate_calibrate(xsphy, inst); in mtk_phy_power_on()
412 struct xsphy_instance *inst = phy_get_drvdata(phy); in mtk_phy_power_off() local
415 if (inst->type == PHY_TYPE_USB2) in mtk_phy_power_off()
416 u2_phy_instance_power_off(xsphy, inst); in mtk_phy_power_off()
423 struct xsphy_instance *inst = phy_get_drvdata(phy); in mtk_phy_exit() local
425 clk_disable_unprepare(inst->ref_clk); in mtk_phy_exit()
431 struct xsphy_instance *inst = phy_get_drvdata(phy); in mtk_phy_set_mode() local
434 if (inst->type == PHY_TYPE_USB2) in mtk_phy_set_mode()
435 u2_phy_instance_set_mode(xsphy, inst, mode); in mtk_phy_set_mode()
444 struct xsphy_instance *inst = NULL; in mtk_phy_xlate() local
455 inst = xsphy->phys[index]; in mtk_phy_xlate()
459 if (!inst) { in mtk_phy_xlate()
464 inst->type = args->args[0]; in mtk_phy_xlate()
465 if (!(inst->type == PHY_TYPE_USB2 || in mtk_phy_xlate()
466 inst->type == PHY_TYPE_USB3)) { in mtk_phy_xlate()
467 dev_err(dev, "unsupported phy type: %d\n", inst->type); in mtk_phy_xlate()
471 phy_parse_property(xsphy, inst); in mtk_phy_xlate()
473 return inst->phy; in mtk_phy_xlate()
535 struct xsphy_instance *inst; in mtk_xsphy_probe() local
538 inst = devm_kzalloc(dev, sizeof(*inst), GFP_KERNEL); in mtk_xsphy_probe()
539 if (!inst) { in mtk_xsphy_probe()
544 xsphy->phys[port] = inst; in mtk_xsphy_probe()
560 inst->port_base = devm_ioremap_resource(&phy->dev, &res); in mtk_xsphy_probe()
561 if (IS_ERR(inst->port_base)) { in mtk_xsphy_probe()
563 retval = PTR_ERR(inst->port_base); in mtk_xsphy_probe()
567 inst->phy = phy; in mtk_xsphy_probe()
568 inst->index = port; in mtk_xsphy_probe()
569 phy_set_drvdata(phy, inst); in mtk_xsphy_probe()
572 inst->ref_clk = devm_clk_get(&phy->dev, "ref"); in mtk_xsphy_probe()
573 if (IS_ERR(inst->ref_clk)) { in mtk_xsphy_probe()
575 retval = PTR_ERR(inst->ref_clk); in mtk_xsphy_probe()