/linux/drivers/usb/host/ |
H A D | xhci-mem.c | 3 * xHCI host controller driver 18 #include "xhci.h" 19 #include "xhci-trace.h" 20 #include "xhci-debugfs.h" 29 static struct xhci_segment *xhci_segment_alloc(struct xhci_hcd *xhci, in xhci_segment_alloc() argument 36 struct device *dev = xhci_to_hcd(xhci)->self.sysdev; in xhci_segment_alloc() 42 seg->trbs = dma_pool_zalloc(xhci->segment_pool, flags, &dma); in xhci_segment_alloc() 52 dma_pool_free(xhci->segment_pool, seg->trbs, dma); in xhci_segment_alloc() 64 static void xhci_segment_free(struct xhci_hcd *xhci, struct xhci_segment *seg) in xhci_segment_free() argument 67 dma_pool_free(xhci->segment_pool, seg->trbs, seg->dma); in xhci_segment_free() [all …]
|
H A D | Makefile | 6 # tell define_trace.h where to find the xhci trace header 14 xhci-hcd-y := xhci.o xhci-mem.o xhci-ext-caps.o 15 xhci-hcd-y += xhci-ring.o xhci-hub.o xhci-dbg.o 16 xhci-hcd-y += xhci-trace.o 19 xhci-hcd-y += xhci-dbgcap.o xhci-dbgtty.o 22 xhci-mtk-hcd-y := xhci-mtk.o xhci-mtk-sch.o 24 xhci-plat-hcd-y := xhci-plat.o 26 xhci-plat-hcd-y += xhci-mvebu.o 29 xhci-hcd-y += xhci-debugfs.o 32 xhci-rcar-hcd-y += xhci-rcar.o [all …]
|
H A D | xhci-debugfs.c | 3 * xhci-debugfs.c - xHCI debugfs interface 13 #include "xhci.h" 14 #include "xhci-debugfs.h" 86 static struct xhci_regset *xhci_debugfs_alloc_regset(struct xhci_hcd *xhci) in xhci_debugfs_alloc_regset() argument 99 list_add_tail(®set->list, &xhci->regset_list); in xhci_debugfs_alloc_regset() 114 static void xhci_debugfs_regset(struct xhci_hcd *xhci, u32 base, in xhci_debugfs_regset() argument 122 struct usb_hcd *hcd = xhci_to_hcd(xhci); in xhci_debugfs_regset() 124 rgs = xhci_debugfs_alloc_regset(xhci); in xhci_debugfs_regset() 141 static void xhci_debugfs_extcap_regset(struct xhci_hcd *xhci, int cap_id, in xhci_debugfs_extcap_regset() argument 148 void __iomem *base = &xhci->cap_regs->hc_capbase; in xhci_debugfs_extcap_regset() [all …]
|
H A D | xhci-hub.c | 3 * xHCI host controller driver 17 #include "xhci.h" 18 #include "xhci-trace.h" 36 static int xhci_create_usb3x_bos_desc(struct xhci_hcd *xhci, char *buf, in xhci_create_usb3x_bos_desc() argument 61 for (i = 0; i < xhci->num_port_caps; i++) { in xhci_create_usb3x_bos_desc() 62 u8 major = xhci->port_caps[i].maj_rev; in xhci_create_usb3x_bos_desc() 63 u8 minor = xhci->port_caps[i].min_rev; in xhci_create_usb3x_bos_desc() 68 port_cap = &xhci->port_caps[i]; in xhci_create_usb3x_bos_desc() 112 reg = readl(&xhci->cap_regs->hcc_params); in xhci_create_usb3x_bos_desc() 116 if ((xhci->quirks & XHCI_LPM_SUPPORT)) { in xhci_create_usb3x_bos_desc() [all …]
|
H A D | xhci-mtk.c | 3 * MediaTek xHCI Host Controller Driver 24 #include "xhci.h" 25 #include "xhci-mtk.h" 61 /* xHCI CSR */ 145 if (!of_device_is_compatible(dev->of_node, "mediatek,mt8195-xhci")) in xhci_mtk_set_frame_interval() 451 static void xhci_mtk_quirks(struct device *dev, struct xhci_hcd *xhci) in xhci_mtk_quirks() argument 453 struct usb_hcd *hcd = xhci_to_hcd(xhci); in xhci_mtk_quirks() 456 xhci->quirks |= XHCI_MTK_HOST; in xhci_mtk_quirks() 461 xhci->quirks |= XHCI_SPURIOUS_SUCCESS; in xhci_mtk_quirks() 463 xhci->quirks |= XHCI_LPM_SUPPORT; in xhci_mtk_quirks() [all …]
|
H A D | xhci-debugfs.h | 3 * xhci-debugfs.h - xHCI debugfs interface 107 void xhci_debugfs_init(struct xhci_hcd *xhci); 108 void xhci_debugfs_exit(struct xhci_hcd *xhci); 111 void xhci_debugfs_create_slot(struct xhci_hcd *xhci, int slot_id); 112 void xhci_debugfs_remove_slot(struct xhci_hcd *xhci, int slot_id); 113 void xhci_debugfs_create_endpoint(struct xhci_hcd *xhci, 116 void xhci_debugfs_remove_endpoint(struct xhci_hcd *xhci, 119 void xhci_debugfs_create_stream_files(struct xhci_hcd *xhci, 123 static inline void xhci_debugfs_init(struct xhci_hcd *xhci) { } in xhci_debugfs_init() argument 124 static inline void xhci_debugfs_exit(struct xhci_hcd *xhci) { } in xhci_debugfs_exit() argument [all …]
|
H A D | xhci-dbgcap.c | 3 * xhci-dbgcap.c - xHCI debug capability support 28 #include "xhci.h" 29 #include "xhci-trace.h" 30 #include "xhci-dbgcap.h" 438 /* xhci 7.6.9, all three contexts; info, ep-out and ep-in. Each 64 bytes*/ in dbc_alloc_ctx() 1041 struct xhci_hcd *xhci; in dbc_show() local 1043 xhci = hcd_to_xhci(dev_get_drvdata(dev)); in dbc_show() 1044 dbc = xhci->dbc; in dbc_show() 1056 struct xhci_hcd *xhci; in dbc_store() local 1059 xhci = hcd_to_xhci(dev_get_drvdata(dev)); in dbc_store() [all …]
|
H A D | xhci-ext-caps.c | 3 * XHCI extended capability handling 11 #include "xhci.h" 28 static int xhci_create_intel_xhci_sw_pdev(struct xhci_hcd *xhci, u32 cap_offset) in xhci_create_intel_xhci_sw_pdev() argument 30 struct usb_hcd *hcd = xhci_to_hcd(xhci); in xhci_create_intel_xhci_sw_pdev() 39 xhci_err(xhci, "couldn't allocate %s platform device\n", in xhci_create_intel_xhci_sw_pdev() 84 int xhci_ext_cap_init(struct xhci_hcd *xhci) in xhci_ext_cap_init() argument 86 void __iomem *base = &xhci->cap_regs->hc_capbase; in xhci_ext_cap_init() 97 if (xhci->quirks & XHCI_INTEL_USB_ROLE_SW) { in xhci_ext_cap_init() 98 ret = xhci_create_intel_xhci_sw_pdev(xhci, in xhci_ext_cap_init()
|
H A D | xhci-dbgcap.h | 3 * xhci-dbgcap.h - xHCI debug capability support 127 struct xhci_hcd *xhci; member 208 int xhci_create_dbc_dev(struct xhci_hcd *xhci); 209 void xhci_remove_dbc_dev(struct xhci_hcd *xhci); 214 int xhci_dbc_tty_probe(struct device *dev, void __iomem *res, struct xhci_hcd *xhci); 225 int xhci_dbc_suspend(struct xhci_hcd *xhci); 226 int xhci_dbc_resume(struct xhci_hcd *xhci); 229 static inline int xhci_create_dbc_dev(struct xhci_hcd *xhci) in xhci_create_dbc_dev() argument 234 static inline void xhci_remove_dbc_dev(struct xhci_hcd *xhci) in xhci_remove_dbc_dev() argument 244 static inline int xhci_dbc_suspend(struct xhci_hcd *xhci) in xhci_dbc_suspend() argument [all …]
|
H A D | xhci-dbg.c | 3 * xHCI host controller driver 11 #include "xhci.h" 13 char *xhci_get_slot_state(struct xhci_hcd *xhci, in xhci_get_slot_state() argument 16 struct xhci_slot_ctx *slot_ctx = xhci_get_slot_ctx(xhci, ctx); in xhci_get_slot_state() 22 void xhci_dbg_trace(struct xhci_hcd *xhci, void (*trace)(struct va_format *), in xhci_dbg_trace() argument 31 xhci_dbg(xhci, "%pV\n", &vaf); in xhci_dbg_trace()
|
H A D | xhci-rzv2m.c | 3 * xHCI host controller driver for RZ/V2M 9 #include "xhci.h" 10 #include "xhci-plat.h" 11 #include "xhci-rzv2m.h"
|
H A D | xhci-mtk-sch.c | 13 #include "xhci.h" 14 #include "xhci-mtk.h" 130 struct xhci_hcd *xhci = hcd_to_xhci(mtk->hcd); in get_bw_info() local 134 virt_dev = xhci->devs[udev->slot_id]; in get_bw_info() 147 bw_index = virt_dev->rhub_port->hw_portnum + xhci->usb3_rhub.num_ports; in get_bw_info() 332 * xHCI spec section6.2.3.4 in setup_sch_info() 887 struct xhci_hcd *xhci = hcd_to_xhci(mtk->hcd); in xhci_mtk_sch_init() local 892 num_usb_bus = xhci->usb3_rhub.num_ports * 2 + xhci->usb2_rhub.num_ports; in xhci_mtk_sch_init() 915 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in add_ep_quirk() local 921 virt_dev = xhci->devs[udev->slot_id]; in add_ep_quirk() [all …]
|
/linux/Documentation/devicetree/bindings/usb/ |
H A D | renesas,usb-xhci.yaml | 4 $id: http://devicetree.org/schemas/usb/renesas,usb-xhci.yaml# 7 title: Renesas USB xHCI controllers 18 - renesas,xhci-r8a7742 # RZ/G1H 19 - renesas,xhci-r8a7743 # RZ/G1M 20 - renesas,xhci-r8a7744 # RZ/G1N 21 - renesas,xhci-r8a7790 # R-Car H2 22 - renesas,xhci-r8a7791 # R-Car M2-W 23 - renesas,xhci-r8a7793 # R-Car M2-N 24 - const: renesas,rcar-gen2-xhci # R-Car Gen2 and RZ/G1 27 - renesas,xhci-r8a774a1 # RZ/G2M [all …]
|
H A D | mediatek,mtk-xhci.yaml | 5 $id: http://devicetree.org/schemas/usb/mediatek,mtk-xhci.yaml# 8 title: MediaTek USB3 xHCI 14 - $ref: usb-xhci.yaml 18 case 1: only supports xHCI driver; 19 case 2: supports dual-role mode, and the host is based on xHCI driver. 26 - mediatek,mt2701-xhci 27 - mediatek,mt2712-xhci 28 - mediatek,mt7622-xhci 29 - mediatek,mt7623-xhci 30 - mediatek,mt7629-xhci [all …]
|
H A D | nvidia,tegra234-xusb.yaml | 7 title: NVIDIA Tegra234 xHCI controller 14 The Tegra xHCI controller supports both USB2 and USB3 interfaces exposed by 15 the Tegra XUSB pad controller. The xHCI controller controls up to eight 24 - description: xHCI host registers 36 - description: xHCI host interrupt 79 the USB pads used by the XHCI controller 112 - $ref: usb-xhci.yaml
|
H A D | mediatek,mtu3.yaml | 18 based on xHCI. 186 layer between xHCI and SPM, the field should always be 3 cells long. 220 $ref: /schemas/usb/mediatek,mtk-xhci.yaml# 222 The xhci should be added as subnode to mtu3 as shown in the following 269 xhci: usb@11270000 { 270 compatible = "mediatek,mt8173-xhci", "mediatek,mtk-xhci"; 302 compatible = "mediatek,mt2712-xhci", "mediatek,mtk-xhci"; 339 compatible = "mediatek,mt8183-xhci", "mediatek,mtk-xhci";
|
H A D | cdns,usb3.yaml | 19 - description: XHCI Host controller registers 25 - const: xhci 31 - description: XHCI host controller interrupt 35 cleared by xhci core, this interrupt is optional 103 reg-names = "otg", "xhci", "dev";
|
H A D | nvidia,tegra186-xusb.yaml | 7 title: NVIDIA Tegra186 xHCI controller 13 description: The Tegra xHCI controller supports both USB2 and USB3 interfaces 22 - description: base and length of the xHCI host registers 32 - description: xHCI host interrupt 75 the USB pads used by the XHCI controller 126 - $ref: usb-xhci.yaml
|
H A D | nvidia,tegra194-xusb.yaml | 7 title: NVIDIA Tegra194 xHCI controller 13 description: The Tegra xHCI controller supports both USB2 and USB3 interfaces 22 - description: base and length of the xHCI host registers 32 - description: xHCI host interrupt 75 the USB pads used by the XHCI controller 127 - $ref: usb-xhci.yaml
|
/linux/drivers/usb/dwc3/ |
H A D | host.c | 16 #include "../host/xhci-port.h" 17 #include "../host/xhci-ext-caps.h" 18 #include "../host/xhci-caps.h" 19 #include "../host/xhci-plat.h" 38 /* xhci regs are not mapped yet, do it temporarily here */ in dwc3_power_off_all_roothub_ports() 59 dev_err(dwc->dev, "xhci base reg invalid\n"); in dwc3_power_off_all_roothub_ports() 130 struct platform_device *xhci; in dwc3_host_init() local 136 * mode to avoid VBUS glitch happen when xhci get reset later. in dwc3_host_init() 144 xhci = platform_device_alloc("xhci-hcd", PLATFORM_DEVID_AUTO); in dwc3_host_init() 145 if (!xhci) { in dwc3_host_init() [all …]
|
/linux/Documentation/devicetree/bindings/phy/ |
H A D | realtek,usb2phy.yaml | 15 The USB 2.0 PHY driver is designed to support the XHCI controller. The SoCs 16 support multiple XHCI controllers. One PHY device node maps to one XHCI 20 The USB architecture includes three XHCI controllers. 21 Each XHCI maps to one USB 2.0 PHY and map one USB 3.0 PHY on some 23 XHCI controller#0 -- usb2phy -- phy#0 25 XHCI controller#1 -- usb2phy -- phy#0 26 XHCI controller#2 -- usb2phy -- phy#0 30 The USB architecture includes two XHCI controllers. 33 XHCI controller#0 -- usb2phy -- phy#0 34 XHCI controller#1 -- usb2phy -- phy#0 [all …]
|
H A D | realtek,usb3phy.yaml | 15 The USB 3.0 PHY driver is designed to support the XHCI controller. The SoCs 16 support multiple XHCI controllers. One PHY device node maps to one XHCI 20 The USB architecture includes three XHCI controllers. 21 Each XHCI maps to one USB 2.0 PHY and map one USB 3.0 PHY on some 23 XHCI controller#0 -- usb2phy -- phy#0 25 XHCI controller#1 -- usb2phy -- phy#0 26 XHCI controller#2 -- usb2phy -- phy#0 30 The USB architecture includes three XHCI controllers. 31 Each XHCI maps to one USB 2.0 PHY and map one USB 3.0 PHY on controllers#2. 32 XHCI controller#0 -- usb2phy -- phy#0 [all …]
|
H A D | brcm,brcmstb-usb-phy.yaml | 9 description: Broadcom's PHY that handles EHCI/OHCI and/or XHCI 28 - description: XHCI EC register 29 - description: XHCI GBL register 88 brcm,has-xhci: 89 description: Indicates the PHY has an XHCI PHY. 109 - brcm,has-xhci 169 brcm,has-xhci; 195 brcm,has-xhci;
|
/linux/include/linux/usb/ |
H A D | xhci-sideband.h | 3 * xHCI host controller sideband support 16 #define EP_CTX_PER_DEV 31 /* FIXME defined twice, from xhci.h */ 41 * @xhci: The xhci host controller the usb device is connected to 45 * @type: xHCI sideband type 48 * @notify_client: callback for xHCI sideband sequences 53 struct xhci_hcd *xhci; 59 /* Synchronizing xHCI sideband operations with client drivers operations */ 52 struct xhci_hcd *xhci; global() member
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-bus-pci-drivers-xhci_hcd | 5 xHCI compatible USB host controllers (i.e. super-speed 12 The DbC debug device shares a root port with xHCI host. 15 to xHCI. 21 port will roll back to the xHCI. 32 presented in the USB device descriptor by this xhci debug 45 presented in the USB device descriptor by this xhci debug 57 presented in the USB device descriptor by this xhci debug 70 presented in the USB Interface descriptor by the xhci debug
|