/linux/drivers/usb/dwc3/ |
H A 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_AM62) += dwc3-am62.o 46 obj-$(CONFIG_USB_DWC3_OMAP) += dwc3-omap.o [all …]
|
H A D | core.h | 706 struct dwc3 *dwc; 756 struct dwc3 *dwc; 1168 struct dwc3 { struct 1402 #define work_to_dwc(w) (container_of((w), struct dwc3, drd_work)) argument 1561 void dwc3_set_prtcap(struct dwc3 *dwc, u32 mode, bool ignore_susphy); 1562 void dwc3_set_mode(struct dwc3 *dwc, u32 mode); 1592 static inline u32 dwc3_mdwidth(struct dwc3 *dwc) in dwc3_mdwidth() 1603 bool dwc3_has_imod(struct dwc3 *dwc); 1605 int dwc3_event_buffers_setup(struct dwc3 *dwc); 1606 void dwc3_event_buffers_cleanup(struct dwc3 *dwc); [all …]
|
H A 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 …]
|
H A 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 …]
|
H A D | dwc3-pci.c | 81 struct platform_device *dwc3; member 277 dwc->dwc3->id = PLATFORM_DEVID_NONE; in dwc3_pci_quirks() 298 return device_add_software_node(&dwc->dwc3->dev, swnode); in dwc3_pci_quirks() 305 struct platform_device *dwc3 = dwc->dwc3; in dwc3_pci_resume_work() local 308 ret = pm_runtime_get_sync(&dwc3->dev); in dwc3_pci_resume_work() 310 pm_runtime_put_sync_autosuspend(&dwc3->dev); in dwc3_pci_resume_work() 314 pm_runtime_mark_last_busy(&dwc3->dev); in dwc3_pci_resume_work() 315 pm_runtime_put_sync_autosuspend(&dwc3->dev); in dwc3_pci_resume_work() 338 dwc->dwc3 = platform_device_alloc("dwc3", PLATFORM_DEVID_AUTO); in dwc3_pci_probe() 339 if (!dwc->dwc3) in dwc3_pci_probe() [all …]
|
H A D | gadget.h | 18 struct dwc3; 110 void dwc3_ep0_interrupt(struct dwc3 *dwc, 112 void dwc3_ep0_out_start(struct dwc3 *dwc); 113 void dwc3_ep0_end_control_data(struct dwc3 *dwc, struct dwc3_ep *dep); 114 void dwc3_ep0_stall_and_restart(struct dwc3 *dwc); 120 void dwc3_ep0_send_delayed_status(struct dwc3 *dwc); 122 int dwc3_gadget_start_config(struct dwc3 *dwc, unsigned int resource_index); 147 static inline void dwc3_gadget_dctl_write_safe(struct dwc3 *dwc, u32 value) in dwc3_gadget_dctl_write_safe()
|
H A D | dwc3-imx8mp.c | 54 struct platform_device *dwc3; member 103 struct dwc3 *dwc3 = platform_get_drvdata(dwc3_imx->dwc3); in dwc3_imx8mp_wakeup_enable() local 106 if (!dwc3) in dwc3_imx8mp_wakeup_enable() 111 if ((dwc3->current_dr_role == DWC3_GCTL_PRTCAP_HOST) && dwc3->xhci) { in dwc3_imx8mp_wakeup_enable() 145 struct dwc3 *dwc = platform_get_drvdata(dwc3_imx->dwc3); in dwc3_imx8mp_interrupt() 236 dwc3_imx->dwc3 = of_find_device_by_node(dwc3_np); in dwc3_imx8mp_probe() 237 if (!dwc3_imx->dwc3) { in dwc3_imx8mp_probe() 294 struct dwc3 *dwc = platform_get_drvdata(dwc3_imx->dwc3); in dwc3_imx8mp_resume()
|
H A D | core.c | 50 static int dwc3_get_dr_mode(struct dwc3 *dwc) in dwc3_get_dr_mode() 108 void dwc3_enable_susphy(struct dwc3 *dwc, bool enable) in dwc3_enable_susphy() 134 void dwc3_set_prtcap(struct dwc3 *dwc, u32 mode, bool ignore_susphy) in dwc3_set_prtcap() 161 struct dwc3 *dwc = work_to_dwc(work); in __dwc3_set_mode() 285 void dwc3_set_mode(struct dwc3 *dwc, u32 mode) in dwc3_set_mode() 301 struct dwc3 *dwc = dep->dwc; in dwc3_core_fifo_space() 317 int dwc3_core_soft_reset(struct dwc3 *dwc) in dwc3_core_soft_reset() 374 static void dwc3_frame_length_adjustment(struct dwc3 *dwc) in dwc3_frame_length_adjustment() 402 static void dwc3_ref_clk_period(struct dwc3 *dwc) in dwc3_ref_clk_period() 472 static void dwc3_free_one_event_buffer(struct dwc3 *dwc, in dwc3_free_one_event_buffer() [all …]
|
H A 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() 142 static void dwc3_ep0_reset_state(struct dwc3 *dwc) in dwc3_ep0_reset_state() 196 struct dwc3 *dwc = dep->dwc; in dwc3_gadget_del_and_unmap_request() 229 struct dwc3 *dwc = dep->dwc; in dwc3_gadget_giveback() 248 int dwc3_send_gadget_generic_command(struct dwc3 *dwc, unsigned int cmd, in dwc3_send_gadget_generic_command() 279 static int __dwc3_gadget_wakeup(struct dwc3 *dwc, bool async); 311 struct dwc3 *dwc = dep->dwc; in dwc3_send_gadget_ep_cmd() 455 struct dwc3 *dwc = dep->dwc; in dwc3_send_clear_stall_ep_cmd() [all …]
|
H A 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()
|
H A D | debugfs.c | 287 struct dwc3 *dwc = s->private; in dwc3_host_lsp() 317 struct dwc3 *dwc = s->private; in dwc3_gadget_lsp() 331 struct dwc3 *dwc = s->private; in dwc3_lsp_show() 372 struct dwc3 *dwc = s->private; in dwc3_lsp_write() 402 struct dwc3 *dwc = s->private; in dwc3_mode_show() 443 struct dwc3 *dwc = s->private; in dwc3_mode_write() 477 struct dwc3 *dwc = s->private; in dwc3_testmode_show() 529 struct dwc3 *dwc = s->private; in dwc3_testmode_write() 574 struct dwc3 *dwc = s->private; in dwc3_link_state_show() 617 struct dwc3 *dwc = s->private; in dwc3_link_state_write() [all …]
|
H A D | debug.h | 420 extern void dwc3_debugfs_init(struct dwc3 *d); 421 extern void dwc3_debugfs_exit(struct dwc3 *d); 427 static inline void dwc3_debugfs_init(struct dwc3 *d) in dwc3_debugfs_init() 429 static inline void dwc3_debugfs_exit(struct dwc3 *d) in dwc3_debugfs_exit()
|
/linux/Documentation/devicetree/bindings/usb/ |
H A 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 …]
|
H A 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";
|
H A 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", "snps,dwc3";
|
/linux/arch/arm/boot/dts/ti/keystone/ |
H A D | keystone-k2g.dtsi | 499 keystone_usb0: keystone-dwc3@2680000 { 500 compatible = "ti,keystone-dwc3"; 512 compatible = "snps,dwc3"; 522 keystone_usb1: keystone-dwc3@2580000 { 523 compatible = "ti,keystone-dwc3"; 535 compatible = "snps,dwc3";
|
H A D | keystone-k2e.dtsi | 69 compatible = "ti,keystone-dwc3"; 82 compatible = "snps,dwc3";
|
/linux/Documentation/driver-api/usb/ |
H A D | index.rst | 19 dwc3
|
H A D | dwc3.rst | 65 The DWC3 driver sits on the *drivers/usb/dwc3/* directory. All files 144 # echo 1 > /t/events/dwc3/enable 153 # cat /d/*dwc3*/regdump > /root/regdump.txt 160 **[BUG REPORT] usb: dwc3: Bug while doing XYZ** 687 .. kernel-doc:: drivers/usb/dwc3/core.h 691 .. kernel-doc:: drivers/usb/dwc3/gadget.h 695 .. kernel-doc:: drivers/usb/dwc3/gadget.c 699 .. kernel-doc:: drivers/usb/dwc3/core.c
|
/linux/arch/arm/boot/dts/socionext/ |
H A D | uniphier-pro5.dtsi | 476 compatible = "socionext,uniphier-dwc3", "snps,dwc3"; 491 compatible = "socionext,uniphier-pro5-dwc3-glue", 541 compatible = "socionext,uniphier-dwc3", "snps,dwc3"; 556 compatible = "socionext,uniphier-pro5-dwc3-glue",
|
H A D | uniphier-pro4.dtsi | 618 compatible = "socionext,uniphier-dwc3", "snps,dwc3"; 634 compatible = "socionext,uniphier-pro4-dwc3-glue", 673 compatible = "socionext,uniphier-dwc3", "snps,dwc3"; 689 compatible = "socionext,uniphier-pro4-dwc3-glue",
|
H A D | uniphier-pxs2.dtsi | 646 compatible = "socionext,uniphier-dwc3", "snps,dwc3"; 662 compatible = "socionext,uniphier-pxs2-dwc3-glue", 743 compatible = "socionext,uniphier-dwc3", "snps,dwc3"; 758 compatible = "socionext,uniphier-pxs2-dwc3-glue",
|
/linux/Documentation/usb/ |
H A D | index.rst | 11 dwc3
|
/linux/arch/arm/boot/dts/samsung/ |
H A D | exynos54xx.dtsi | 152 compatible = "snps,dwc3"; 174 compatible = "snps,dwc3";
|
/linux/arch/arm/boot/dts/ti/omap/ |
H A D | dra74x.dtsi | 209 compatible = "ti,dwc3"; 218 compatible = "snps,dwc3";
|