Lines Matching full:usb3
507 port = tegra_xusb_find_port(padctl, "usb3", index); in tegra_xusb_find_usb3_port()
928 static int tegra_xusb_usb3_port_parse_dt(struct tegra_xusb_usb3_port *usb3) in tegra_xusb_usb3_port_parse_dt() argument
930 struct tegra_xusb_port *port = &usb3->base; in tegra_xusb_usb3_port_parse_dt()
942 usb3->port = value; in tegra_xusb_usb3_port_parse_dt()
944 usb3->internal = of_property_read_bool(np, "nvidia,internal"); in tegra_xusb_usb3_port_parse_dt()
949 usb3->disable_gen2 = true; in tegra_xusb_usb3_port_parse_dt()
951 usb3->disable_gen2 = false; in tegra_xusb_usb3_port_parse_dt()
956 usb3->supply = regulator_get(&port->dev, "vbus"); in tegra_xusb_usb3_port_parse_dt()
957 return PTR_ERR_OR_ZERO(usb3->supply); in tegra_xusb_usb3_port_parse_dt()
963 struct tegra_xusb_usb3_port *usb3; in tegra_xusb_add_usb3_port() local
972 np = tegra_xusb_find_port_node(padctl, "usb3", index); in tegra_xusb_add_usb3_port()
976 usb3 = kzalloc(sizeof(*usb3), GFP_KERNEL); in tegra_xusb_add_usb3_port()
977 if (!usb3) { in tegra_xusb_add_usb3_port()
982 err = tegra_xusb_port_init(&usb3->base, padctl, np, "usb3", index); in tegra_xusb_add_usb3_port()
986 usb3->base.ops = padctl->soc->ports.usb3.ops; in tegra_xusb_add_usb3_port()
988 usb3->base.lane = usb3->base.ops->map(&usb3->base); in tegra_xusb_add_usb3_port()
989 if (IS_ERR(usb3->base.lane)) { in tegra_xusb_add_usb3_port()
990 err = PTR_ERR(usb3->base.lane); in tegra_xusb_add_usb3_port()
994 err = tegra_xusb_usb3_port_parse_dt(usb3); in tegra_xusb_add_usb3_port()
996 tegra_xusb_port_unregister(&usb3->base); in tegra_xusb_add_usb3_port()
1000 list_add_tail(&usb3->base.list, &padctl->ports); in tegra_xusb_add_usb3_port()
1009 struct tegra_xusb_usb3_port *usb3 = to_usb3_port(port); in tegra_xusb_usb3_port_release() local
1011 kfree(usb3); in tegra_xusb_usb3_port_release()
1016 struct tegra_xusb_usb3_port *usb3 = to_usb3_port(port); in tegra_xusb_usb3_port_remove() local
1018 regulator_put(usb3->supply); in tegra_xusb_usb3_port_remove()
1036 for (i = 0; i < padctl->soc->ports.usb3.count; i++) { in tegra_xusb_find_unused_usb3_port()
1037 np = tegra_xusb_find_port_node(padctl, "usb3", i); in tegra_xusb_find_unused_usb3_port()
1048 struct tegra_xusb_usb3_port *usb3; in tegra_xusb_port_is_companion() local
1051 for (i = 0; i < padctl->soc->ports.usb3.count; i++) { in tegra_xusb_port_is_companion()
1052 usb3 = tegra_xusb_find_usb3_port(padctl, i); in tegra_xusb_port_is_companion()
1053 if (usb3 && usb3->port == usb2->base.index) in tegra_xusb_port_is_companion()
1072 dev_err(&usb2->base.dev, "no unused USB3 ports available\n"); in tegra_xusb_update_usb3_fake_port()
1076 dev_dbg(&usb2->base.dev, "Found unused usb3 port: %d\n", fake); in tegra_xusb_update_usb3_fake_port()
1110 for (i = 0; i < padctl->soc->ports.usb3.count; i++) { in tegra_xusb_setup_ports()
1465 struct tegra_xusb_usb3_port *usb3; in tegra_xusb_padctl_get_usb3_companion() local
1472 for (i = 0; i < padctl->soc->ports.usb3.count; i++) { in tegra_xusb_padctl_get_usb3_companion()
1473 usb3 = tegra_xusb_find_usb3_port(padctl, i); in tegra_xusb_padctl_get_usb3_companion()
1474 if (usb3 && usb3->port == usb2->base.index) in tegra_xusb_padctl_get_usb3_companion()
1475 return usb3->base.index; in tegra_xusb_padctl_get_usb3_companion()