Lines Matching refs:lane
103 int tegra_xusb_lane_parse_dt(struct tegra_xusb_lane *lane, in tegra_xusb_lane_parse_dt() argument
106 struct device *dev = &lane->pad->dev; in tegra_xusb_lane_parse_dt()
114 err = match_string(lane->soc->funcs, lane->soc->num_funcs, function); in tegra_xusb_lane_parse_dt()
121 lane->function = err; in tegra_xusb_lane_parse_dt()
129 struct tegra_xusb_lane *lane = phy_get_drvdata(phy); in tegra_xusb_lane_destroy() local
131 lane->pad->ops->remove(lane); in tegra_xusb_lane_destroy()
179 struct phy *lane; in tegra_xusb_pad_register() local
187 pad->lanes = devm_kcalloc(&pad->dev, pad->soc->num_lanes, sizeof(lane), in tegra_xusb_pad_register()
196 struct tegra_xusb_lane *lane; in tegra_xusb_pad_register() local
211 lane = pad->ops->probe(pad, np, i); in tegra_xusb_pad_register()
212 if (IS_ERR(lane)) { in tegra_xusb_pad_register()
214 err = PTR_ERR(lane); in tegra_xusb_pad_register()
218 list_add_tail(&lane->list, &pad->padctl->lanes); in tegra_xusb_pad_register()
219 phy_set_drvdata(pad->lanes[i], lane); in tegra_xusb_pad_register()
308 static void tegra_xusb_lane_program(struct tegra_xusb_lane *lane) in tegra_xusb_lane_program() argument
310 struct tegra_xusb_padctl *padctl = lane->pad->padctl; in tegra_xusb_lane_program()
311 const struct tegra_xusb_lane_soc *soc = lane->soc; in tegra_xusb_lane_program()
321 value |= lane->function << soc->shift; in tegra_xusb_lane_program()
330 struct tegra_xusb_lane *lane; in tegra_xusb_pad_program() local
333 lane = phy_get_drvdata(pad->lanes[i]); in tegra_xusb_pad_program()
334 tegra_xusb_lane_program(lane); in tegra_xusb_pad_program()
373 static bool tegra_xusb_lane_check(struct tegra_xusb_lane *lane, in tegra_xusb_lane_check() argument
376 const char *func = lane->soc->funcs[lane->function]; in tegra_xusb_lane_check()
385 struct tegra_xusb_lane *lane, *hit = ERR_PTR(-ENODEV); in tegra_xusb_find_lane() local
392 list_for_each_entry(lane, &padctl->lanes, list) { in tegra_xusb_find_lane()
393 if (strcmp(lane->soc->name, name) == 0) { in tegra_xusb_find_lane()
394 hit = lane; in tegra_xusb_find_lane()
408 struct tegra_xusb_lane *lane, *match = ERR_PTR(-ENODEV); in tegra_xusb_port_find_lane() local
414 lane = tegra_xusb_find_lane(port->padctl, map->type, in tegra_xusb_port_find_lane()
416 if (IS_ERR(lane)) in tegra_xusb_port_find_lane()
419 if (!tegra_xusb_lane_check(lane, function)) in tegra_xusb_port_find_lane()
426 match = lane; in tegra_xusb_port_find_lane()
606 usb2->base.lane = usb2->base.ops->map(&usb2->base); in tegra_xusb_add_usb2_port()
607 if (IS_ERR(usb2->base.lane)) { in tegra_xusb_add_usb2_port()
608 err = PTR_ERR(usb2->base.lane); in tegra_xusb_add_usb2_port()
658 ulpi->base.lane = ulpi->base.ops->map(&ulpi->base); in tegra_xusb_add_ulpi_port()
659 if (IS_ERR(ulpi->base.lane)) { in tegra_xusb_add_ulpi_port()
660 err = PTR_ERR(ulpi->base.lane); in tegra_xusb_add_ulpi_port()
706 hsic->base.lane = hsic->base.ops->map(&hsic->base); in tegra_xusb_add_hsic_port()
707 if (IS_ERR(hsic->base.lane)) { in tegra_xusb_add_hsic_port()
708 err = PTR_ERR(hsic->base.lane); in tegra_xusb_add_hsic_port()
774 usb3->base.lane = usb3->base.ops->map(&usb3->base); in tegra_xusb_add_usb3_port()
775 if (IS_ERR(usb3->base.lane)) { in tegra_xusb_add_usb3_port()
776 err = PTR_ERR(usb3->base.lane); in tegra_xusb_add_usb3_port()