/openbmc/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 | 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 | core.h | 689 struct dwc3 *dwc; 737 struct dwc3 *dwc; 1147 struct dwc3 { struct 1375 #define work_to_dwc(w) (container_of((w), struct dwc3, drd_work)) argument 1534 void dwc3_set_prtcap(struct dwc3 *dwc, u32 mode); 1535 void dwc3_set_mode(struct dwc3 *dwc, u32 mode); 1565 static inline u32 dwc3_mdwidth(struct dwc3 *dwc) in dwc3_mdwidth() 1576 bool dwc3_has_imod(struct dwc3 *dwc); 1578 int dwc3_event_buffers_setup(struct dwc3 *dwc); 1579 void dwc3_event_buffers_cleanup(struct dwc3 *dwc); [all …]
|
H A 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, 33 static int dwc3_ep0_delegate_req(struct dwc3 *dwc, 40 struct dwc3 *dwc; in dwc3_ep0_prepare_one_trb() 68 struct dwc3 *dwc; in dwc3_ep0_start_trans() 92 struct dwc3 *dwc = dep->dwc; in __dwc3_gadget_ep0_queue() 195 struct dwc3 *dwc = dep->dwc; in dwc3_gadget_ep0_queue() 223 void dwc3_ep0_stall_and_restart(struct dwc3 *dwc) in dwc3_ep0_stall_and_restart() 258 struct dwc3 *dwc = dep->dwc; in __dwc3_gadget_ep0_set_halt() 268 struct dwc3 *dwc = dep->dwc; in dwc3_gadget_ep0_set_halt() [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-qcom.c | 70 struct platform_device *dwc3; member 267 max_speed = usb_get_maximum_speed(&qcom->dwc3->dev); in dwc3_qcom_interconnect_init() 310 struct dwc3 *dwc; in dwc3_qcom_is_host() 315 dwc = platform_get_drvdata(qcom->dwc3); in dwc3_qcom_is_host() 326 struct dwc3 *dwc = platform_get_drvdata(qcom->dwc3); in dwc3_qcom_read_usb2_speed() 489 struct dwc3 *dwc = platform_get_drvdata(qcom->dwc3); in qcom_dwc3_resume_irq() 675 qcom->dwc3 = platform_device_alloc("dwc3", PLATFORM_DEVID_AUTO); in dwc3_qcom_acpi_register_core() 676 if (!qcom->dwc3) in dwc3_qcom_acpi_register_core() 679 qcom->dwc3->dev.parent = dev; in dwc3_qcom_acpi_register_core() 680 qcom->dwc3->dev.type = dev->type; in dwc3_qcom_acpi_register_core() [all …]
|
H A D | dwc3-imx8mp.c | 53 struct platform_device *dwc3; member 101 struct dwc3 *dwc3 = platform_get_drvdata(dwc3_imx->dwc3); in dwc3_imx8mp_wakeup_enable() local 104 if (!dwc3) in dwc3_imx8mp_wakeup_enable() 109 if ((dwc3->current_dr_role == DWC3_GCTL_PRTCAP_HOST) && dwc3->xhci) in dwc3_imx8mp_wakeup_enable() 112 else if (dwc3->current_dr_role == DWC3_GCTL_PRTCAP_DEVICE) in dwc3_imx8mp_wakeup_enable() 131 struct dwc3 *dwc = platform_get_drvdata(dwc3_imx->dwc3); in dwc3_imx8mp_interrupt() 235 dwc3_imx->dwc3 = of_find_device_by_node(dwc3_np); in dwc3_imx8mp_probe() 236 if (!dwc3_imx->dwc3) { in dwc3_imx8mp_probe() 303 struct dwc3 *dwc = platform_get_drvdata(dwc3_imx->dwc3); in dwc3_imx8mp_resume()
|
H A D | core.c | 49 static int dwc3_get_dr_mode(struct dwc3 *dwc) in dwc3_get_dr_mode() 107 void dwc3_enable_susphy(struct dwc3 *dwc, bool enable) in dwc3_enable_susphy() 128 void dwc3_set_prtcap(struct dwc3 *dwc, u32 mode) in dwc3_set_prtcap() 142 struct dwc3 *dwc = work_to_dwc(work); in __dwc3_set_mode() 261 void dwc3_set_mode(struct dwc3 *dwc, u32 mode) in dwc3_set_mode() 277 struct dwc3 *dwc = dep->dwc; in dwc3_core_fifo_space() 293 int dwc3_core_soft_reset(struct dwc3 *dwc) in dwc3_core_soft_reset() 350 static void dwc3_frame_length_adjustment(struct dwc3 *dwc) in dwc3_frame_length_adjustment() 378 static void dwc3_ref_clk_period(struct dwc3 *dwc) in dwc3_ref_clk_period() 448 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() 230 struct dwc3 *dwc = dep->dwc; in dwc3_gadget_giveback() 249 int dwc3_send_gadget_generic_command(struct dwc3 *dwc, unsigned int cmd, in dwc3_send_gadget_generic_command() 280 static int __dwc3_gadget_wakeup(struct dwc3 *dwc, bool async); 312 struct dwc3 *dwc = dep->dwc; in dwc3_send_gadget_ep_cmd() 456 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 …]
|
/openbmc/u-boot/drivers/usb/dwc3/ |
H A D | dwc3-generic.c | 27 struct dwc3 dwc3; member 36 struct dwc3 *dwc3 = &priv->dwc3; in dm_usb_gadget_handle_interrupts() local 38 dwc3_gadget_uboot_handle_interrupt(dwc3); in dm_usb_gadget_handle_interrupts() 47 struct dwc3 *dwc3 = &priv->dwc3; in dwc3_generic_peripheral_probe() local 53 dwc3->regs = map_physmem(priv->base, DWC3_OTG_REGS_END, MAP_NOCACHE); in dwc3_generic_peripheral_probe() 54 dwc3->regs += DWC3_GLOBALS_REGS_START; in dwc3_generic_peripheral_probe() 55 dwc3->dev = dev; in dwc3_generic_peripheral_probe() 57 rc = dwc3_init(dwc3); in dwc3_generic_peripheral_probe() 59 unmap_physmem(dwc3->regs, MAP_NOCACHE); in dwc3_generic_peripheral_probe() 69 struct dwc3 *dwc3 = &priv->dwc3; in dwc3_generic_peripheral_remove() local [all …]
|
H A D | core.h | 398 struct dwc3 *dwc; 442 struct dwc3 *dwc; 700 struct dwc3 { struct 993 int dwc3_gadget_resize_tx_fifos(struct dwc3 *dwc); 994 int dwc3_init(struct dwc3 *dwc); 995 void dwc3_remove(struct dwc3 *dwc); 998 int dwc3_host_init(struct dwc3 *dwc); 999 void dwc3_host_exit(struct dwc3 *dwc); 1001 static inline int dwc3_host_init(struct dwc3 *dwc) in dwc3_host_init() 1003 static inline void dwc3_host_exit(struct dwc3 *dwc) in dwc3_host_exit() [all …]
|
H A D | Makefile | 3 obj-$(CONFIG_USB_DWC3) += dwc3.o 5 dwc3-y := core.o 9 obj-$(CONFIG_USB_DWC3_OMAP) += dwc3-omap.o 10 obj-$(CONFIG_USB_DWC3_GENERIC) += dwc3-generic.o 11 obj-$(CONFIG_USB_DWC3_UNIPHIER) += dwc3-uniphier.o
|
H A D | gadget.c | 40 int dwc3_gadget_set_test_mode(struct dwc3 *dwc, int mode) in dwc3_gadget_set_test_mode() 71 int dwc3_gadget_get_link_state(struct dwc3 *dwc) in dwc3_gadget_get_link_state() 88 int dwc3_gadget_set_link_state(struct dwc3 *dwc, enum dwc3_link_state state) in dwc3_gadget_set_link_state() 161 int dwc3_gadget_resize_tx_fifos(struct dwc3 *dwc) in dwc3_gadget_resize_tx_fifos() 227 struct dwc3 *dwc = dep->dwc; in dwc3_gadget_giveback() 265 int dwc3_send_gadget_generic_command(struct dwc3 *dwc, unsigned cmd, u32 param) in dwc3_send_gadget_generic_command() 292 int dwc3_send_gadget_ep_cmd(struct dwc3 *dwc, unsigned ep, in dwc3_send_gadget_ep_cmd() 359 static int dwc3_gadget_start_config(struct dwc3 *dwc, struct dwc3_ep *dep) in dwc3_gadget_start_config() 382 static int dwc3_gadget_set_ep_config(struct dwc3 *dwc, struct dwc3_ep *dep, in dwc3_gadget_set_ep_config() 445 static int dwc3_gadget_set_xfer_resource(struct dwc3 *dwc, struct dwc3_ep *dep) in dwc3_gadget_set_xfer_resource() [all …]
|
H A D | core.c | 35 static void dwc3_set_mode(struct dwc3 *dwc, u32 mode) in dwc3_set_mode() 49 static int dwc3_core_soft_reset(struct dwc3 *dwc) in dwc3_core_soft_reset() 95 static void dwc3_free_one_event_buffer(struct dwc3 *dwc, in dwc3_free_one_event_buffer() 109 static struct dwc3_event_buffer *dwc3_alloc_one_event_buffer(struct dwc3 *dwc, in dwc3_alloc_one_event_buffer() 135 static void dwc3_free_event_buffers(struct dwc3 *dwc) in dwc3_free_event_buffers() 155 static int dwc3_alloc_event_buffers(struct dwc3 *dwc, unsigned length) in dwc3_alloc_event_buffers() 188 static int dwc3_event_buffers_setup(struct dwc3 *dwc) in dwc3_event_buffers_setup() 213 static void dwc3_event_buffers_cleanup(struct dwc3 *dwc) in dwc3_event_buffers_cleanup() 231 static int dwc3_alloc_scratch_buffers(struct dwc3 *dwc) in dwc3_alloc_scratch_buffers() 247 static int dwc3_setup_scratch_buffers(struct dwc3 *dwc) in dwc3_setup_scratch_buffers() [all …]
|
H A D | ep0.c | 29 static void __dwc3_ep0_do_control_status(struct dwc3 *dwc, struct dwc3_ep *dep); 30 static void __dwc3_ep0_do_control_data(struct dwc3 *dwc, 49 static int dwc3_ep0_start_trans(struct dwc3 *dwc, u8 epnum, dma_addr_t buf_dma, in dwc3_ep0_start_trans() 112 struct dwc3 *dwc = dep->dwc; in __dwc3_gadget_ep0_queue() 217 struct dwc3 *dwc = dep->dwc; in dwc3_gadget_ep0_queue() 249 static void dwc3_ep0_stall_and_restart(struct dwc3 *dwc) in dwc3_ep0_stall_and_restart() 277 struct dwc3 *dwc = dep->dwc; in __dwc3_gadget_ep0_set_halt() 296 void dwc3_ep0_out_start(struct dwc3 *dwc) in dwc3_ep0_out_start() 305 static struct dwc3_ep *dwc3_wIndex_to_dep(struct dwc3 *dwc, __le16 wIndex_le) in dwc3_wIndex_to_dep() 328 static int dwc3_ep0_handle_status(struct dwc3 *dwc, in dwc3_ep0_handle_status() [all …]
|
H A D | gadget.h | 25 struct dwc3; 27 #define gadget_to_dwc(g) (container_of(g, struct dwc3, gadget)) 81 void dwc3_ep0_interrupt(struct dwc3 *dwc, 83 void dwc3_ep0_out_start(struct dwc3 *dwc); 89 void dwc3_gadget_uboot_handle_interrupt(struct dwc3 *dwc); 98 static inline u32 dwc3_gadget_ep_get_transfer_index(struct dwc3 *dwc, u8 number) in dwc3_gadget_ep_get_transfer_index()
|
/openbmc/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";
|
/openbmc/u-boot/doc/device-tree-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" 28 The dwc3 core should be added as subnode to ST DWC3 glue as shown in the 32 is "otg", which isn't supported by this SoC. Valid dr_mode values for dwc3-st are 37 st_dwc3: dwc3@8f94000 { 39 compatible = "st,stih407-dwc3"; 52 dwc3: dwc3@9900000 { 53 compatible = "snps,dwc3";
|
/openbmc/qemu/hw/usb/ |
H A D | xlnx-usb-subsystem.c | 40 sysbus_realize(SYS_BUS_DEVICE(&s->dwc3), &err); in versal_usb2_realize() 52 qdev_pass_gpios(DEVICE(&s->dwc3.sysbus_xhci), dev, SYSBUS_DEVICE_GPIO_IRQ); in versal_usb2_realize() 59 object_initialize_child(obj, "versal.dwc3", &s->dwc3, in versal_usb2_init() 64 &s->dwc3.iomem, 0, DWC3_SIZE); in versal_usb2_init() 67 qdev_alias_all_properties(DEVICE(&s->dwc3), obj); in versal_usb2_init() 68 qdev_alias_all_properties(DEVICE(&s->dwc3.sysbus_xhci), obj); in versal_usb2_init() 69 object_property_add_alias(obj, "dma", OBJECT(&s->dwc3.sysbus_xhci), "dma"); in versal_usb2_init()
|
/openbmc/u-boot/drivers/usb/host/ |
H A D | xhci-dwc3.c | 27 void dwc3_set_mode(struct dwc3 *dwc3_reg, u32 mode) in dwc3_set_mode() 34 static void dwc3_phy_reset(struct dwc3 *dwc3_reg) in dwc3_phy_reset() 51 void dwc3_core_soft_reset(struct dwc3 *dwc3_reg) in dwc3_core_soft_reset() 65 int dwc3_core_init(struct dwc3 *dwc3_reg) in dwc3_core_init() 107 void dwc3_set_fladj(struct dwc3 *dwc3_reg, u32 val) in dwc3_set_fladj() 118 struct dwc3 *dwc3_reg; in xhci_dwc3_probe() 131 dwc3_reg = (struct dwc3 *)((char *)(hccr) + DWC3_REG_OFFSET); in xhci_dwc3_probe()
|