Lines Matching refs:lane

447 static int tegra210_usb3_lane_map(struct tegra_xusb_lane *lane)
452 if (map->index == lane->index &&
453 strcmp(map->type, lane->pad->soc->name) == 0) {
454 dev_dbg(lane->pad->padctl->dev, "lane = %s map to port = usb3-%d\n",
455 lane->pad->soc->lanes[lane->index].name, map->port);
706 struct tegra_xusb_lane *lane = tegra_xusb_find_lane(padctl, "sata", 0);
716 if (IS_ERR(lane))
722 usb = tegra_xusb_lane_check(lane, "usb3-ss");
1058 static int tegra210_usb3_enable_phy_sleepwalk(struct tegra_xusb_lane *lane,
1061 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
1062 int port = tegra210_usb3_lane_map(lane);
1090 static int tegra210_usb3_disable_phy_sleepwalk(struct tegra_xusb_lane *lane)
1092 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
1093 int port = tegra210_usb3_lane_map(lane);
1119 static int tegra210_usb3_enable_phy_wake(struct tegra_xusb_lane *lane)
1121 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
1122 int port = tegra210_usb3_lane_map(lane);
1150 static int tegra210_usb3_disable_phy_wake(struct tegra_xusb_lane *lane)
1152 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
1153 int port = tegra210_usb3_lane_map(lane);
1181 static bool tegra210_usb3_phy_remote_wake_detected(struct tegra_xusb_lane *lane)
1183 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
1184 int index = tegra210_usb3_lane_map(lane);
1197 static int tegra210_utmi_enable_phy_wake(struct tegra_xusb_lane *lane)
1199 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
1200 unsigned int index = lane->index;
1222 static int tegra210_utmi_disable_phy_wake(struct tegra_xusb_lane *lane)
1224 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
1225 unsigned int index = lane->index;
1247 static bool tegra210_utmi_phy_remote_wake_detected(struct tegra_xusb_lane *lane)
1249 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
1250 unsigned int index = lane->index;
1261 static int tegra210_hsic_enable_phy_wake(struct tegra_xusb_lane *lane)
1263 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
1264 unsigned int index = lane->index;
1286 static int tegra210_hsic_disable_phy_wake(struct tegra_xusb_lane *lane)
1288 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
1289 unsigned int index = lane->index;
1311 static bool tegra210_hsic_phy_remote_wake_detected(struct tegra_xusb_lane *lane)
1313 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
1314 unsigned int index = lane->index;
1335 static int tegra210_pmc_utmi_enable_phy_sleepwalk(struct tegra_xusb_lane *lane,
1338 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
1340 unsigned int port = lane->index;
1508 static int tegra210_pmc_utmi_disable_phy_sleepwalk(struct tegra_xusb_lane *lane)
1510 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
1512 unsigned int port = lane->index;
1556 static int tegra210_pmc_hsic_enable_phy_sleepwalk(struct tegra_xusb_lane *lane,
1559 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
1658 static int tegra210_pmc_hsic_disable_phy_sleepwalk(struct tegra_xusb_lane *lane)
1660 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
1699 struct tegra_xusb_lane *lane;
1706 lane = port->lane;
1708 if (lane->pad == padctl->pcie)
1709 offset = XUSB_PADCTL_UPHY_MISC_PAD_PX_CTL1(lane->index);
1781 static void tegra210_usb2_lane_remove(struct tegra_xusb_lane *lane)
1783 struct tegra_xusb_usb2_lane *usb2 = to_usb2_lane(lane);
1800 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
1801 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
1802 unsigned int index = lane->index;
1809 dev_err(&phy->dev, "no port found for USB2 lane %u\n", index);
1835 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
1836 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
1840 port = tegra_xusb_find_usb2_port(padctl, lane->index);
1842 dev_err(&phy->dev, "no port found for USB2 lane %u\n", lane->index);
1916 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
1917 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
1919 lane->index);
1954 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
1955 struct tegra_xusb_usb2_lane *usb2 = to_usb2_lane(lane);
1956 struct tegra_xusb_usb2_pad *pad = to_usb2_pad(lane->pad);
1957 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
1960 unsigned int index = lane->index;
1966 dev_err(&phy->dev, "no port found for USB2 lane %u\n", index);
2114 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
2115 struct tegra_xusb_usb2_pad *pad = to_usb2_pad(lane->pad);
2116 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
2120 port = tegra_xusb_find_usb2_port(padctl, lane->index);
2122 dev_err(&phy->dev, "no port found for USB2 lane %u\n",
2123 lane->index);
2277 static void tegra210_hsic_lane_remove(struct tegra_xusb_lane *lane)
2279 struct tegra_xusb_hsic_lane *hsic = to_hsic_lane(lane);
2296 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
2297 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
2317 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
2318 struct tegra_xusb_hsic_lane *hsic = to_hsic_lane(lane);
2319 struct tegra_xusb_hsic_pad *pad = to_hsic_pad(lane->pad);
2320 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
2321 unsigned int index = lane->index;
2402 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
2403 struct tegra_xusb_hsic_pad *pad = to_hsic_pad(lane->pad);
2404 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
2405 unsigned int index = lane->index;
2496 static void tegra210_uphy_lane_iddq_enable(struct tegra_xusb_lane *lane)
2498 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
2501 value = padctl_readl(padctl, lane->soc->regs.misc_ctl2);
2512 padctl_writel(padctl, value, lane->soc->regs.misc_ctl2);
2515 static void tegra210_uphy_lane_iddq_disable(struct tegra_xusb_lane *lane)
2517 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
2520 value = padctl_readl(padctl, lane->soc->regs.misc_ctl2);
2531 padctl_writel(padctl, value, lane->soc->regs.misc_ctl2);
2563 tegra210_lane_to_usb3_port(struct tegra_xusb_lane *lane)
2567 if (!lane || !lane->pad || !lane->pad->padctl)
2570 port = tegra210_usb3_lane_map(lane);
2574 return tegra_xusb_find_usb3_port(lane->pad->padctl, port);
2580 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
2581 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
2582 struct tegra_xusb_usb3_port *usb3 = tegra210_lane_to_usb3_port(lane);
2587 dev_err(dev, "no USB3 port found for lane %u\n", lane->index);
2653 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
2654 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
2655 struct tegra_xusb_usb3_port *usb3 = tegra210_lane_to_usb3_port(lane);
2660 dev_err(dev, "no USB3 port found for lane %u\n", lane->index);
2710 static void tegra210_pcie_lane_remove(struct tegra_xusb_lane *lane)
2712 struct tegra_xusb_pcie_lane *pcie = to_pcie_lane(lane);
2731 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
2732 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
2745 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
2746 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
2751 if (tegra_xusb_lane_check(lane, "usb3-ss"))
2760 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
2761 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
2766 if (tegra_xusb_lane_check(lane, "usb3-ss"))
2880 static void tegra210_sata_lane_remove(struct tegra_xusb_lane *lane)
2882 struct tegra_xusb_sata_lane *sata = to_sata_lane(lane);
2901 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
2902 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
2914 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
2915 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
2920 if (tegra_xusb_lane_check(lane, "usb3-ss"))
2929 struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
2930 struct tegra_xusb_padctl *padctl = lane->pad->padctl;
2935 if (tegra_xusb_lane_check(lane, "usb3-ss"))
3089 struct tegra_xusb_lane *lane;
3092 lane = phy_get_drvdata(phy);
3093 padctl = lane->pad->padctl;
3096 XUSB_PADCTL_USB2_BATTERY_CHRG_OTGPADX_CTL0(lane->index));
3204 struct tegra_xusb_lane *lane;
3213 list_for_each_entry(lane, &padctl->lanes, list) {
3214 if (lane->pad->ops->iddq_enable)
3215 tegra210_uphy_lane_iddq_enable(lane);
3221 list_for_each_entry(lane, &padctl->lanes, list) {
3222 if (lane->pad->ops->iddq_disable)
3223 tegra210_uphy_lane_iddq_disable(lane);