Lines Matching refs:lane

115 int tegra_xusb_lane_parse_dt(struct tegra_xusb_lane *lane,
118 struct device *dev = &lane->pad->dev;
126 err = match_string(lane->soc->funcs, lane->soc->num_funcs, function);
128 dev_err(dev, "invalid function \"%s\" for lane \"%pOFn\"\n",
133 lane->function = err;
141 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
143 lane->pad->ops->remove(lane);
191 struct phy *lane;
199 pad->lanes = devm_kcalloc(&pad->dev, pad->soc->num_lanes, sizeof(lane),
208 struct tegra_xusb_lane *lane;
223 lane = pad->ops->probe(pad, np, i);
224 if (IS_ERR(lane)) {
226 err = PTR_ERR(lane);
230 list_add_tail(&lane->list, &pad->padctl->lanes);
231 phy_set_drvdata(pad->lanes[i], lane);
320 static void tegra_xusb_lane_program(struct tegra_xusb_lane *lane)
322 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
323 const struct tegra_xusb_lane_soc *soc = lane->soc;
330 if (lane->pad->ops->iddq_enable)
331 lane->pad->ops->iddq_enable(lane);
336 value |= lane->function << soc->shift;
339 if (lane->pad->ops->iddq_disable)
340 lane->pad->ops->iddq_disable(lane);
348 struct tegra_xusb_lane *lane;
351 lane = phy_get_drvdata(pad->lanes[i]);
352 tegra_xusb_lane_program(lane);
391 bool tegra_xusb_lane_check(struct tegra_xusb_lane *lane,
394 const char *func = lane->soc->funcs[lane->function];
403 struct tegra_xusb_lane *lane, *hit = ERR_PTR(-ENODEV);
410 list_for_each_entry(lane, &padctl->lanes, list) {
411 if (strcmp(lane->soc->name, name) == 0) {
412 hit = lane;
426 struct tegra_xusb_lane *lane, *match = ERR_PTR(-ENODEV);
432 lane = tegra_xusb_find_lane(port->padctl, map->type,
434 if (IS_ERR(lane))
437 if (!tegra_xusb_lane_check(lane, function))
444 match = lane;
662 struct tegra_xusb_lane *lane;
701 lane = tegra_xusb_find_lane(port->padctl, "usb2", port->index);
707 port->usb_phy.dev = &lane->pad->lanes[port->index]->dev;
809 usb2->base.lane = usb2->base.ops->map(&usb2->base);
810 if (IS_ERR(usb2->base.lane)) {
811 err = PTR_ERR(usb2->base.lane);
876 ulpi->base.lane = ulpi->base.ops->map(&ulpi->base);
877 if (IS_ERR(ulpi->base.lane)) {
878 err = PTR_ERR(ulpi->base.lane);
932 hsic->base.lane = hsic->base.ops->map(&hsic->base);
933 if (IS_ERR(hsic->base.lane)) {
934 err = PTR_ERR(hsic->base.lane);
1017 usb3->base.lane = usb3->base.ops->map(&usb3->base);
1018 if (IS_ERR(usb3->base.lane)) {
1019 err = PTR_ERR(usb3->base.lane);
1395 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
1397 if (lane->pad->ops->enable_phy_sleepwalk)
1398 return lane->pad->ops->enable_phy_sleepwalk(lane, speed);
1406 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
1408 if (lane->pad->ops->disable_phy_sleepwalk)
1409 return lane->pad->ops->disable_phy_sleepwalk(lane);
1417 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
1419 if (lane->pad->ops->enable_phy_wake)
1420 return lane->pad->ops->enable_phy_wake(lane);
1428 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
1430 if (lane->pad->ops->disable_phy_wake)
1431 return lane->pad->ops->disable_phy_wake(lane);
1439 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
1441 if (lane->pad->ops->remote_wake_detected)
1442 return lane->pad->ops->remote_wake_detected(lane);
1471 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
1472 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
1483 struct tegra_xusb_lane *lane;
1489 lane = phy_get_drvdata(phy);
1490 padctl = lane->pad->padctl;
1499 struct tegra_xusb_lane *lane;
1505 lane = phy_get_drvdata(phy);
1506 padctl = lane->pad->padctl;
1536 struct tegra_xusb_lane *lane;
1541 lane = phy_get_drvdata(phy);
1543 return lane->index;