Lines Matching full:usb3

501 	port = tegra_xusb_find_port(padctl, "usb3", index);  in tegra_xusb_find_usb3_port()
922 static int tegra_xusb_usb3_port_parse_dt(struct tegra_xusb_usb3_port *usb3) in tegra_xusb_usb3_port_parse_dt() argument
924 struct tegra_xusb_port *port = &usb3->base; in tegra_xusb_usb3_port_parse_dt()
936 usb3->port = value; in tegra_xusb_usb3_port_parse_dt()
938 usb3->internal = of_property_read_bool(np, "nvidia,internal"); in tegra_xusb_usb3_port_parse_dt()
943 usb3->disable_gen2 = true; in tegra_xusb_usb3_port_parse_dt()
945 usb3->disable_gen2 = false; in tegra_xusb_usb3_port_parse_dt()
950 usb3->supply = regulator_get(&port->dev, "vbus"); in tegra_xusb_usb3_port_parse_dt()
951 return PTR_ERR_OR_ZERO(usb3->supply); in tegra_xusb_usb3_port_parse_dt()
957 struct tegra_xusb_usb3_port *usb3; in tegra_xusb_add_usb3_port() local
966 np = tegra_xusb_find_port_node(padctl, "usb3", index); in tegra_xusb_add_usb3_port()
970 usb3 = kzalloc(sizeof(*usb3), GFP_KERNEL); in tegra_xusb_add_usb3_port()
971 if (!usb3) { in tegra_xusb_add_usb3_port()
976 err = tegra_xusb_port_init(&usb3->base, padctl, np, "usb3", index); in tegra_xusb_add_usb3_port()
980 usb3->base.ops = padctl->soc->ports.usb3.ops; in tegra_xusb_add_usb3_port()
982 usb3->base.lane = usb3->base.ops->map(&usb3->base); in tegra_xusb_add_usb3_port()
983 if (IS_ERR(usb3->base.lane)) { in tegra_xusb_add_usb3_port()
984 err = PTR_ERR(usb3->base.lane); in tegra_xusb_add_usb3_port()
988 err = tegra_xusb_usb3_port_parse_dt(usb3); in tegra_xusb_add_usb3_port()
990 tegra_xusb_port_unregister(&usb3->base); in tegra_xusb_add_usb3_port()
994 list_add_tail(&usb3->base.list, &padctl->ports); in tegra_xusb_add_usb3_port()
1003 struct tegra_xusb_usb3_port *usb3 = to_usb3_port(port); in tegra_xusb_usb3_port_release() local
1005 kfree(usb3); in tegra_xusb_usb3_port_release()
1010 struct tegra_xusb_usb3_port *usb3 = to_usb3_port(port); in tegra_xusb_usb3_port_remove() local
1012 regulator_put(usb3->supply); in tegra_xusb_usb3_port_remove()
1030 for (i = 0; i < padctl->soc->ports.usb3.count; i++) { in tegra_xusb_find_unused_usb3_port()
1031 np = tegra_xusb_find_port_node(padctl, "usb3", i); in tegra_xusb_find_unused_usb3_port()
1042 struct tegra_xusb_usb3_port *usb3; in tegra_xusb_port_is_companion() local
1045 for (i = 0; i < padctl->soc->ports.usb3.count; i++) { in tegra_xusb_port_is_companion()
1046 usb3 = tegra_xusb_find_usb3_port(padctl, i); in tegra_xusb_port_is_companion()
1047 if (usb3 && usb3->port == usb2->base.index) in tegra_xusb_port_is_companion()
1066 dev_err(&usb2->base.dev, "no unused USB3 ports available\n"); in tegra_xusb_update_usb3_fake_port()
1070 dev_dbg(&usb2->base.dev, "Found unused usb3 port: %d\n", fake); in tegra_xusb_update_usb3_fake_port()
1104 for (i = 0; i < padctl->soc->ports.usb3.count; i++) { in tegra_xusb_setup_ports()
1379 struct tegra_xusb_usb3_port *usb3; in tegra_xusb_padctl_get_usb3_companion() local
1386 for (i = 0; i < padctl->soc->ports.usb3.count; i++) { in tegra_xusb_padctl_get_usb3_companion()
1387 usb3 = tegra_xusb_find_usb3_port(padctl, i); in tegra_xusb_padctl_get_usb3_companion()
1388 if (usb3 && usb3->port == usb2->base.index) in tegra_xusb_padctl_get_usb3_companion()
1389 return usb3->base.index; in tegra_xusb_padctl_get_usb3_companion()