/Linux-v5.15/drivers/usb/dwc3/ |
D | Makefile | 5 obj-$(CONFIG_USB_DWC3) += dwc3.o 7 dwc3-y := core.o 10 dwc3-y += trace.o 14 dwc3-y += host.o 18 dwc3-y += gadget.o ep0.o 22 dwc3-y += drd.o 26 dwc3-y += ulpi.o 30 dwc3-y += debugfs.o 45 obj-$(CONFIG_USB_DWC3_OMAP) += dwc3-omap.o 46 obj-$(CONFIG_USB_DWC3_EXYNOS) += dwc3-exynos.o [all …]
|
D | dwc3-haps.c | 24 struct platform_device *dwc3; member 60 dwc->dwc3 = platform_device_alloc("dwc3", PLATFORM_DEVID_AUTO); in dwc3_haps_probe() 61 if (!dwc->dwc3) in dwc3_haps_probe() 75 ret = platform_device_add_resources(dwc->dwc3, res, ARRAY_SIZE(res)); in dwc3_haps_probe() 82 dwc->dwc3->dev.parent = dev; in dwc3_haps_probe() 84 ret = device_add_software_node(&dwc->dwc3->dev, &dwc3_haps_swnode); in dwc3_haps_probe() 88 ret = platform_device_add(dwc->dwc3); in dwc3_haps_probe() 98 device_remove_software_node(&dwc->dwc3->dev); in dwc3_haps_probe() 99 platform_device_put(dwc->dwc3); in dwc3_haps_probe() 107 device_remove_software_node(&dwc->dwc3->dev); in dwc3_haps_remove() [all …]
|
D | core.h | 662 struct dwc3 *dwc; 710 struct dwc3 *dwc; 1091 struct dwc3 { struct 1304 #define work_to_dwc(w) (container_of((w), struct dwc3, drd_work)) argument 1463 void dwc3_set_prtcap(struct dwc3 *dwc, u32 mode); 1464 void dwc3_set_mode(struct dwc3 *dwc, u32 mode); 1494 static inline u32 dwc3_mdwidth(struct dwc3 *dwc) in dwc3_mdwidth() 1505 bool dwc3_has_imod(struct dwc3 *dwc); 1507 int dwc3_event_buffers_setup(struct dwc3 *dwc); 1508 void dwc3_event_buffers_cleanup(struct dwc3 *dwc); [all …]
|
D | drd.c | 19 static void dwc3_otg_disable_events(struct dwc3 *dwc, u32 disable_mask) in dwc3_otg_disable_events() 27 static void dwc3_otg_enable_events(struct dwc3 *dwc, u32 enable_mask) in dwc3_otg_enable_events() 35 static void dwc3_otg_clear_events(struct dwc3 *dwc) in dwc3_otg_clear_events() 54 struct dwc3 *dwc = _dwc; in dwc3_otg_thread_irq() 72 struct dwc3 *dwc = _dwc; in dwc3_otg_irq() 93 static void dwc3_otgregs_init(struct dwc3 *dwc) in dwc3_otgregs_init() 137 static int dwc3_otg_get_irq(struct dwc3 *dwc) in dwc3_otg_get_irq() 167 void dwc3_otg_init(struct dwc3 *dwc) in dwc3_otg_init() 186 void dwc3_otg_exit(struct dwc3 *dwc) in dwc3_otg_exit() 195 void dwc3_otg_host_init(struct dwc3 *dwc) in dwc3_otg_host_init() [all …]
|
D | dwc3-pci.c | 67 struct platform_device *dwc3; member 240 struct platform_device *dwc3 = dwc->dwc3; in dwc3_pci_resume_work() local 243 ret = pm_runtime_get_sync(&dwc3->dev); in dwc3_pci_resume_work() 245 pm_runtime_put_sync_autosuspend(&dwc3->dev); in dwc3_pci_resume_work() 249 pm_runtime_mark_last_busy(&dwc3->dev); in dwc3_pci_resume_work() 250 pm_runtime_put_sync_autosuspend(&dwc3->dev); in dwc3_pci_resume_work() 273 dwc->dwc3 = platform_device_alloc("dwc3", PLATFORM_DEVID_AUTO); in dwc3_pci_probe() 274 if (!dwc->dwc3) in dwc3_pci_probe() 288 ret = platform_device_add_resources(dwc->dwc3, res, ARRAY_SIZE(res)); in dwc3_pci_probe() 295 dwc->dwc3->dev.parent = dev; in dwc3_pci_probe() [all …]
|
D | ep0.c | 30 static void __dwc3_ep0_do_control_status(struct dwc3 *dwc, struct dwc3_ep *dep); 31 static void __dwc3_ep0_do_control_data(struct dwc3 *dwc, 38 struct dwc3 *dwc; in dwc3_ep0_prepare_one_trb() 66 struct dwc3 *dwc; in dwc3_ep0_start_trans() 90 struct dwc3 *dwc = dep->dwc; in __dwc3_gadget_ep0_queue() 193 struct dwc3 *dwc = dep->dwc; in dwc3_gadget_ep0_queue() 221 static void dwc3_ep0_stall_and_restart(struct dwc3 *dwc) in dwc3_ep0_stall_and_restart() 249 struct dwc3 *dwc = dep->dwc; in __dwc3_gadget_ep0_set_halt() 259 struct dwc3 *dwc = dep->dwc; in dwc3_gadget_ep0_set_halt() 270 void dwc3_ep0_out_start(struct dwc3 *dwc) in dwc3_ep0_out_start() [all …]
|
D | dwc3-imx8mp.c | 41 struct platform_device *dwc3; member 52 struct dwc3 *dwc3 = platform_get_drvdata(dwc3_imx->dwc3); in dwc3_imx8mp_wakeup_enable() local 55 if (!dwc3) in dwc3_imx8mp_wakeup_enable() 60 if ((dwc3->current_dr_role == DWC3_GCTL_PRTCAP_HOST) && dwc3->xhci) in dwc3_imx8mp_wakeup_enable() 63 else if (dwc3->current_dr_role == DWC3_GCTL_PRTCAP_DEVICE) in dwc3_imx8mp_wakeup_enable() 82 struct dwc3 *dwc = platform_get_drvdata(dwc3_imx->dwc3); in dwc3_imx8mp_interrupt() 174 dwc3_imx->dwc3 = of_find_device_by_node(dwc3_np); in dwc3_imx8mp_probe() 175 if (!dwc3_imx->dwc3) { in dwc3_imx8mp_probe() 245 struct dwc3 *dwc = platform_get_drvdata(dwc3_imx->dwc3); in dwc3_imx8mp_resume()
|
D | core.c | 47 static int dwc3_get_dr_mode(struct dwc3 *dwc) in dwc3_get_dr_mode() 105 void dwc3_set_prtcap(struct dwc3 *dwc, u32 mode) in dwc3_set_prtcap() 117 static int dwc3_core_soft_reset(struct dwc3 *dwc); 121 struct dwc3 *dwc = work_to_dwc(work); in __dwc3_set_mode() 231 void dwc3_set_mode(struct dwc3 *dwc, u32 mode) in dwc3_set_mode() 247 struct dwc3 *dwc = dep->dwc; in dwc3_core_fifo_space() 263 static int dwc3_core_soft_reset(struct dwc3 *dwc) in dwc3_core_soft_reset() 318 static void dwc3_frame_length_adjustment(struct dwc3 *dwc) in dwc3_frame_length_adjustment() 343 static void dwc3_free_one_event_buffer(struct dwc3 *dwc, in dwc3_free_one_event_buffer() 357 static struct dwc3_event_buffer *dwc3_alloc_one_event_buffer(struct dwc3 *dwc, in dwc3_alloc_one_event_buffer() [all …]
|
D | gadget.c | 41 int dwc3_gadget_set_test_mode(struct dwc3 *dwc, int mode) in dwc3_gadget_set_test_mode() 72 int dwc3_gadget_get_link_state(struct dwc3 *dwc) in dwc3_gadget_get_link_state() 89 int dwc3_gadget_set_link_state(struct dwc3 *dwc, enum dwc3_link_state state) in dwc3_gadget_set_link_state() 178 struct dwc3 *dwc = dep->dwc; in dwc3_gadget_del_and_unmap_request() 211 struct dwc3 *dwc = dep->dwc; in dwc3_gadget_giveback() 230 int dwc3_send_gadget_generic_command(struct dwc3 *dwc, unsigned int cmd, in dwc3_send_gadget_generic_command() 261 static int __dwc3_gadget_wakeup(struct dwc3 *dwc); 276 struct dwc3 *dwc = dep->dwc; in dwc3_send_gadget_ep_cmd() 411 struct dwc3 *dwc = dep->dwc; in dwc3_send_clear_stall_ep_cmd() 443 struct dwc3 *dwc = dep->dwc; in dwc3_alloc_trb_pool() [all …]
|
D | ulpi.c | 24 static int dwc3_ulpi_busyloop(struct dwc3 *dwc, u8 addr, bool read) in dwc3_ulpi_busyloop() 53 struct dwc3 *dwc = dev_get_drvdata(dev); in dwc3_ulpi_read() 71 struct dwc3 *dwc = dev_get_drvdata(dev); in dwc3_ulpi_write() 86 int dwc3_ulpi_init(struct dwc3 *dwc) in dwc3_ulpi_init() 98 void dwc3_ulpi_exit(struct dwc3 *dwc) in dwc3_ulpi_exit()
|
D | gadget.h | 18 struct dwc3; 110 void dwc3_ep0_interrupt(struct dwc3 *dwc, 112 void dwc3_ep0_out_start(struct dwc3 *dwc); 118 void dwc3_ep0_send_delayed_status(struct dwc3 *dwc); 143 static inline void dwc3_gadget_dctl_write_safe(struct dwc3 *dwc, u32 value) in dwc3_gadget_dctl_write_safe()
|
D | debugfs.c | 282 struct dwc3 *dwc = s->private; in dwc3_host_lsp() 312 struct dwc3 *dwc = s->private; in dwc3_gadget_lsp() 326 struct dwc3 *dwc = s->private; in dwc3_lsp_show() 360 struct dwc3 *dwc = s->private; in dwc3_lsp_write() 390 struct dwc3 *dwc = s->private; in dwc3_mode_show() 424 struct dwc3 *dwc = s->private; in dwc3_mode_write() 458 struct dwc3 *dwc = s->private; in dwc3_testmode_show() 503 struct dwc3 *dwc = s->private; in dwc3_testmode_write() 541 struct dwc3 *dwc = s->private; in dwc3_link_state_show() 576 struct dwc3 *dwc = s->private; in dwc3_link_state_write() [all …]
|
D | dwc3-qcom.c | 69 struct platform_device *dwc3; member 264 if (usb_get_maximum_speed(&qcom->dwc3->dev) >= USB_SPEED_SUPER || in dwc3_qcom_interconnect_init() 265 usb_get_maximum_speed(&qcom->dwc3->dev) == USB_SPEED_UNKNOWN) in dwc3_qcom_interconnect_init() 408 struct dwc3 *dwc = platform_get_drvdata(qcom->dwc3); in qcom_dwc3_resume_irq() 590 qcom->dwc3 = platform_device_alloc("dwc3", PLATFORM_DEVID_AUTO); in dwc3_qcom_acpi_register_core() 591 if (!qcom->dwc3) in dwc3_qcom_acpi_register_core() 594 qcom->dwc3->dev.parent = dev; in dwc3_qcom_acpi_register_core() 595 qcom->dwc3->dev.type = dev->type; in dwc3_qcom_acpi_register_core() 596 qcom->dwc3->dev.dma_mask = dev->dma_mask; in dwc3_qcom_acpi_register_core() 597 qcom->dwc3->dev.dma_parms = dev->dma_parms; in dwc3_qcom_acpi_register_core() [all …]
|
D | host.c | 15 static int dwc3_host_get_irq(struct dwc3 *dwc) in dwc3_host_get_irq() 45 int dwc3_host_init(struct dwc3 *dwc) in dwc3_host_init() 130 void dwc3_host_exit(struct dwc3 *dwc) in dwc3_host_exit()
|
D | debug.h | 417 extern void dwc3_debugfs_init(struct dwc3 *d); 418 extern void dwc3_debugfs_exit(struct dwc3 *d); 422 static inline void dwc3_debugfs_init(struct dwc3 *d) in dwc3_debugfs_init() 424 static inline void dwc3_debugfs_exit(struct dwc3 *d) in dwc3_debugfs_exit()
|
/Linux-v5.15/Documentation/devicetree/bindings/usb/ |
D | dwc3-st.txt | 3 This file documents the parameters for the dwc3-st driver. 4 This driver controls the glue logic used to configure the dwc3 core on 8 - compatible : must be "st,stih407-dwc3" 32 The dwc3 core should be added as subnode to ST DWC3 glue as shown in the 33 example below. The DT binding details of dwc3 can be found in: 34 Documentation/devicetree/bindings/usb/snps,dwc3.yaml 37 is "otg", which isn't supported by this SoC. Valid dr_mode values for dwc3-st are either "host" 44 st_dwc3: dwc3@8f94000 { 45 compatible = "st,stih407-dwc3"; 58 dwc3: dwc3@9900000 { [all …]
|
D | omap-usb.txt | 48 * "ti,dwc3" for OMAP5 and DRA7 49 * "ti,am437x-dwc3" for AM437x 60 - extcon : phandle for the extcon device omap dwc3 uses to detect 65 The dwc3 core should be added as subnode to omap dwc3 glue. 66 - dwc3 : 67 The binding details of dwc3 can be found in: 68 Documentation/devicetree/bindings/usb/snps,dwc3.yaml 71 compatible = "ti,dwc3";
|
D | dwc3-xilinx.txt | 4 - compatible: May contain "xlnx,zynqmp-dwc3" or "xlnx,versal-dwc3" 20 the node is not important. The content of the node is defined in dwc3.txt. 22 Optional properties for snps,dwc3: 36 compatible = "xlnx,zynqmp-dwc3"; 46 dwc3@fe200000 { 47 compatible = "snps,dwc3";
|
D | exynos-usb.txt | 93 The dwc3 core should be added as subnode to Exynos dwc3 glue. 94 - dwc3 : 95 The binding details of dwc3 can be found in: 96 Documentation/devicetree/bindings/usb/snps,dwc3.yaml 109 dwc3 { 110 compatible = "synopsys,dwc3";
|
D | dwc3-cavium.txt | 8 the node is not important. The content of the node is defined in dwc3.txt. 23 compatible = "cavium,octeon-7130-xhci", "synopsys,dwc3";
|
/Linux-v5.15/Documentation/driver-api/usb/ |
D | index.rst | 19 dwc3
|
/Linux-v5.15/arch/arm/boot/dts/ |
D | uniphier-pro4.dtsi | 507 compatible = "socionext,uniphier-dwc3", "snps,dwc3"; 522 compatible = "socionext,uniphier-pro4-dwc3-glue", 560 compatible = "socionext,uniphier-dwc3", "snps,dwc3"; 575 compatible = "socionext,uniphier-pro4-dwc3-glue",
|
D | keystone-k2g.dtsi | 504 keystone_usb0: keystone-dwc3@2680000 { 505 compatible = "ti,keystone-dwc3"; 517 compatible = "snps,dwc3"; 527 keystone_usb1: keystone-dwc3@2580000 { 528 compatible = "ti,keystone-dwc3"; 540 compatible = "snps,dwc3";
|
D | qcom-ipq4019.dtsi | 640 compatible = "qcom,dwc3"; 651 dwc3@8a00000 { 652 compatible = "snps,dwc3"; 672 compatible = "qcom,dwc3"; 683 dwc3@6000000 { 684 compatible = "snps,dwc3";
|
/Linux-v5.15/Documentation/usb/ |
D | index.rst | 11 dwc3
|