Lines Matching +full:usb2 +full:- +full:lpm +full:- +full:disable
1 // SPDX-License-Identifier: GPL-2.0
3 * host.c - DesignWare USB3 DRD Controller Host Glue
5 * Copyright (C) 2011 Texas Instruments Incorporated - https://www.ti.com
17 struct platform_device *dwc3_pdev = to_platform_device(dwc->dev); in dwc3_host_get_irq()
24 if (irq == -EPROBE_DEFER) in dwc3_host_get_irq()
31 if (irq == -EPROBE_DEFER) in dwc3_host_get_irq()
39 irq = -EINVAL; in dwc3_host_get_irq()
51 struct platform_device *dwc3_pdev = to_platform_device(dwc->dev); in dwc3_host_init()
65 return -ENOMEM; in dwc3_host_init()
67 dwc->xhci_resources[1].start = irq; in dwc3_host_init()
68 dwc->xhci_resources[1].end = irq; in dwc3_host_init()
69 dwc->xhci_resources[1].flags = res->flags; in dwc3_host_init()
70 dwc->xhci_resources[1].name = res->name; in dwc3_host_init()
72 xhci = platform_device_alloc("xhci-hcd", PLATFORM_DEVID_AUTO); in dwc3_host_init()
74 dev_err(dwc->dev, "couldn't allocate xHCI device\n"); in dwc3_host_init()
75 return -ENOMEM; in dwc3_host_init()
78 xhci->dev.parent = dwc->dev; in dwc3_host_init()
79 ACPI_COMPANION_SET(&xhci->dev, ACPI_COMPANION(dwc->dev)); in dwc3_host_init()
81 dwc->xhci = xhci; in dwc3_host_init()
83 ret = platform_device_add_resources(xhci, dwc->xhci_resources, in dwc3_host_init()
86 dev_err(dwc->dev, "couldn't add resources to xHCI device\n"); in dwc3_host_init()
92 if (dwc->usb3_lpm_capable) in dwc3_host_init()
93 props[prop_idx++] = PROPERTY_ENTRY_BOOL("usb3-lpm-capable"); in dwc3_host_init()
95 if (dwc->usb2_lpm_disable) in dwc3_host_init()
96 props[prop_idx++] = PROPERTY_ENTRY_BOOL("usb2-lpm-disable"); in dwc3_host_init()
100 * where Port Disable command doesn't work. in dwc3_host_init()
102 * The suggested workaround is that we avoid Port Disable in dwc3_host_init()
108 props[prop_idx++] = PROPERTY_ENTRY_BOOL("quirk-broken-port-ped"); in dwc3_host_init()
111 ret = device_create_managed_software_node(&xhci->dev, props, NULL); in dwc3_host_init()
113 dev_err(dwc->dev, "failed to add properties to xHCI\n"); in dwc3_host_init()
120 dev_err(dwc->dev, "failed to register xHCI device\n"); in dwc3_host_init()
132 platform_device_unregister(dwc->xhci); in dwc3_host_exit()