Home
last modified time | relevance | path

Searched full:xhci (Results 1 – 25 of 171) sorted by relevance

1234567

/Linux-v5.15/drivers/usb/host/
Dxhci-mem.c3 * xHCI host controller driver
17 #include "xhci.h"
18 #include "xhci-trace.h"
19 #include "xhci-debugfs.h"
28 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()
68 static void xhci_segment_free(struct xhci_hcd *xhci, struct xhci_segment *seg) in xhci_segment_free() argument
71 dma_pool_free(xhci->segment_pool, seg->trbs, seg->dma); in xhci_segment_free()
[all …]
Dxhci.c3 * xHCI host controller driver
21 #include "xhci.h"
22 #include "xhci-trace.h"
23 #include "xhci-debugfs.h"
24 #include "xhci-dbgcap.h"
84 * Disable interrupts and begin the xHCI halting process.
86 void xhci_quiesce(struct xhci_hcd *xhci) in xhci_quiesce() argument
93 halted = readl(&xhci->op_regs->status) & STS_HALT; in xhci_quiesce()
97 cmd = readl(&xhci->op_regs->command); in xhci_quiesce()
99 writel(cmd, &xhci->op_regs->command); in xhci_quiesce()
[all …]
Dxhci-pci.c3 * xHCI host controller driver PCI Bus Glue.
17 #include "xhci.h"
18 #include "xhci-trace.h"
19 #include "xhci-pci.h"
85 static int xhci_pci_reinit(struct xhci_hcd *xhci, struct pci_dev *pdev) in xhci_pci_reinit() argument
95 xhci_dbg(xhci, "MWI active\n"); in xhci_pci_reinit()
97 xhci_dbg(xhci, "Finished xhci_pci_reinit\n"); in xhci_pci_reinit()
101 static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) in xhci_pci_quirks() argument
111 xhci->quirks |= driver_data->quirks; in xhci_pci_quirks()
121 xhci->quirks |= XHCI_RESET_EP_QUIRK; in xhci_pci_quirks()
[all …]
Dxhci-ring.c3 * xHCI host controller driver
58 #include "xhci.h"
59 #include "xhci-trace.h"
61 static int queue_command(struct xhci_hcd *xhci, struct xhci_command *cmd,
142 static void next_trb(struct xhci_hcd *xhci, in next_trb() argument
158 void inc_deq(struct xhci_hcd *xhci, struct xhci_ring *ring) in inc_deq() argument
178 xhci_warn(xhci, "Missing link TRB at end of segment\n"); in inc_deq()
190 xhci_warn(xhci, "Ring is an endless link TRB loop\n"); in inc_deq()
211 * xHCI hardware can't handle the chain bit being cleared on a link TRB.
216 static void inc_enq(struct xhci_hcd *xhci, struct xhci_ring *ring, in inc_enq() argument
[all …]
Dxhci-plat.c3 * xhci-plat.c - xHCI host controller driver platform Bus Glue.
8 * A lot of code borrowed from the Linux xHCI driver.
23 #include "xhci.h"
24 #include "xhci-plat.h"
25 #include "xhci-mvebu.h"
26 #include "xhci-rcar.h"
87 static void xhci_plat_quirks(struct device *dev, struct xhci_hcd *xhci) in xhci_plat_quirks() argument
89 struct xhci_plat_priv *priv = xhci_to_priv(xhci); in xhci_plat_quirks()
96 xhci->quirks |= XHCI_PLAT | priv->quirks; in xhci_plat_quirks()
142 .compatible = "generic-xhci",
[all …]
Dxhci-hub.c3 * xHCI host controller driver
16 #include "xhci.h"
17 #include "xhci-trace.h"
35 static int xhci_create_usb3x_bos_desc(struct xhci_hcd *xhci, char *buf, in xhci_create_usb3x_bos_desc() argument
60 for (i = 0; i < xhci->num_port_caps; i++) { in xhci_create_usb3x_bos_desc()
61 u8 major = xhci->port_caps[i].maj_rev; in xhci_create_usb3x_bos_desc()
62 u8 minor = xhci->port_caps[i].min_rev; in xhci_create_usb3x_bos_desc()
67 port_cap = &xhci->port_caps[i]; in xhci_create_usb3x_bos_desc()
111 reg = readl(&xhci->cap_regs->hcc_params); in xhci_create_usb3x_bos_desc()
115 if ((xhci->quirks & XHCI_LPM_SUPPORT)) { in xhci_create_usb3x_bos_desc()
[all …]
DMakefile6 # 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-plat-hcd-y += xhci-rcar.o
33 xhci-hcd-y += xhci-debugfs.o
[all …]
Dxhci-debugfs.c3 * 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(&regset->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()
140 static void xhci_debugfs_extcap_regset(struct xhci_hcd *xhci, int cap_id, in xhci_debugfs_extcap_regset() argument
147 void __iomem *base = &xhci->cap_regs->hc_capbase; in xhci_debugfs_extcap_regset()
[all …]
Dxhci-histb.c3 * xHCI host controller driver for HiSilicon STB SoCs
19 #include "xhci.h"
69 * refer to xHCI spec in xhci_histb_config()
167 static void xhci_histb_quirks(struct device *dev, struct xhci_hcd *xhci) in xhci_histb_quirks() argument
174 xhci->quirks |= XHCI_PLAT; in xhci_histb_quirks()
203 struct xhci_hcd *xhci; in xhci_histb_probe() local
262 xhci = hcd_to_xhci(hcd); in xhci_histb_probe()
266 xhci->main_hcd = hcd; in xhci_histb_probe()
267 xhci->shared_hcd = usb_create_shared_hcd(driver, dev, dev_name(dev), in xhci_histb_probe()
269 if (!xhci->shared_hcd) { in xhci_histb_probe()
[all …]
Dxhci-mtk.c3 * MediaTek xHCI Host Controller Driver
22 #include "xhci.h"
23 #include "xhci-mtk.h"
59 /* xHCI CSR */
121 if (!of_device_is_compatible(dev->of_node, "mediatek,mt8195-xhci")) in xhci_mtk_set_frame_interval()
391 static void xhci_mtk_quirks(struct device *dev, struct xhci_hcd *xhci) in xhci_mtk_quirks() argument
393 struct usb_hcd *hcd = xhci_to_hcd(xhci); in xhci_mtk_quirks()
401 xhci->quirks |= XHCI_PLAT; in xhci_mtk_quirks()
402 xhci->quirks |= XHCI_MTK_HOST; in xhci_mtk_quirks()
407 xhci->quirks |= XHCI_SPURIOUS_SUCCESS; in xhci_mtk_quirks()
[all …]
Dxhci-debugfs.h3 * 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 …]
Dxhci-ext-caps.c3 * 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()
Dxhci-dbgcap.c3 * xhci-dbgcap.c - xHCI debug capability support
13 #include "xhci.h"
14 #include "xhci-trace.h"
15 #include "xhci-dbgcap.h"
412 /* xhci 7.6.9, all three contexts; info, ep-out and ep-in. Each 64 bytes*/ in dbc_alloc_ctx()
917 static void xhci_do_dbc_exit(struct xhci_hcd *xhci) in xhci_do_dbc_exit() argument
921 spin_lock_irqsave(&xhci->lock, flags); in xhci_do_dbc_exit()
922 kfree(xhci->dbc); in xhci_do_dbc_exit()
923 xhci->dbc = NULL; in xhci_do_dbc_exit()
924 spin_unlock_irqrestore(&xhci->lock, flags); in xhci_do_dbc_exit()
[all …]
Dxhci-dbgcap.h3 * xhci-dbgcap.h - xHCI debug capability support
123 struct xhci_hcd *xhci; member
197 int xhci_dbc_init(struct xhci_hcd *xhci);
198 void xhci_dbc_exit(struct xhci_hcd *xhci);
199 int xhci_dbc_tty_probe(struct xhci_hcd *xhci);
207 int xhci_dbc_suspend(struct xhci_hcd *xhci);
208 int xhci_dbc_resume(struct xhci_hcd *xhci);
211 static inline int xhci_dbc_init(struct xhci_hcd *xhci) in xhci_dbc_init() argument
216 static inline void xhci_dbc_exit(struct xhci_hcd *xhci) in xhci_dbc_exit() argument
220 static inline int xhci_dbc_suspend(struct xhci_hcd *xhci) in xhci_dbc_suspend() argument
[all …]
Dxhci.h4 * xHCI host controller driver
21 /* Code sharing between pci-quirks and xhci hcd */
22 #include "xhci-ext-caps.h"
28 /* xHCI PCI Configuration Registers */
37 * xHCI register interface.
38 * This corresponds to the eXtensible Host Controller Interface (xHCI)
43 * struct xhci_cap_regs - xHCI Host Controller Capability Registers.
51 * @hcc_params2: HCCPARAMS2 Capability Parameters 2, xhci 1.1 only
61 __le32 hcc_params2; /* xhci 1.1 */
158 * struct xhci_op_regs - xHCI Host Controller Operational Registers.
[all …]
Dxhci-dbg.c3 * 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()
DKconfig21 tristate "xHCI HCD (USB 3.0) support"
24 The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
28 module will be called xhci-hcd.
32 bool "xHCI support for debug capability"
35 Say 'Y' to enable the support for the xHCI debug capability. Make
36 sure that your xHCI host supports the extended debug capability and
37 you want a TTY serial device based on the xHCI debug capability
47 tristate "Support for additional Renesas xHCI controller with firmware"
49 Say 'Y' to enable the support for the Renesas xHCI controller with
55 tristate "Generic xHCI driver for a platform device"
[all …]
Dxhci-mtk-sch.c13 #include "xhci.h"
14 #include "xhci-mtk.h"
118 * @real_port value is defined as follow according to xHCI spec:
127 struct xhci_hcd *xhci = hcd_to_xhci(mtk->hcd); in get_bw_info() local
131 virt_dev = xhci->devs[udev->slot_id]; in get_bw_info()
144 bw_index = virt_dev->real_port + xhci->usb3_rhub.num_ports - 1; in get_bw_info()
330 * xHCI spec section6.2.3.4 in setup_sch_info()
662 struct xhci_hcd *xhci = hcd_to_xhci(mtk->hcd); in xhci_mtk_sch_init() local
667 num_usb_bus = xhci->usb3_rhub.num_ports * 2 + xhci->usb2_rhub.num_ports; in xhci_mtk_sch_init()
690 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in add_ep_quirk() local
[all …]
Dxhci-mvebu.c16 #include "xhci-mvebu.h"
17 #include "xhci.h"
80 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_mvebu_a3700_plat_setup() local
102 /* Skip initializatin of XHCI PHY when it is unsupported by firmware */ in xhci_mvebu_a3700_plat_setup()
104 xhci->quirks |= XHCI_SKIP_PHY_INIT; in xhci_mvebu_a3700_plat_setup()
121 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_mvebu_a3700_init_quirk() local
124 xhci->quirks |= XHCI_RESET_ON_RESUME; in xhci_mvebu_a3700_init_quirk()
/Linux-v5.15/Documentation/devicetree/bindings/usb/
Drenesas,usb-xhci.yaml4 $id: http://devicetree.org/schemas/usb/renesas,usb-xhci.yaml#
7 title: Renesas USB xHCI controllers
14 - $ref: "usb-xhci.yaml"
21 - renesas,xhci-r8a7742 # RZ/G1H
22 - renesas,xhci-r8a7743 # RZ/G1M
23 - renesas,xhci-r8a7744 # RZ/G1N
24 - renesas,xhci-r8a7790 # R-Car H2
25 - renesas,xhci-r8a7791 # R-Car M2-W
26 - renesas,xhci-r8a7793 # R-Car M2-N
27 - const: renesas,rcar-gen2-xhci # R-Car Gen2 and RZ/G1
[all …]
Dgeneric-xhci.yaml4 $id: http://devicetree.org/schemas/usb/generic-xhci.yaml#
7 title: USB xHCI Controller Device Tree Bindings
13 - $ref: "usb-xhci.yaml#"
18 - description: Generic xHCI device
19 const: generic-xhci
23 - marvell,armada3700-xhci
24 - marvell,armada-375-xhci
25 - marvell,armada-380-xhci
26 - marvell,armada-8k-xhci
27 - const: generic-xhci
[all …]
Dmediatek,mtk-xhci.yaml5 $id: http://devicetree.org/schemas/usb/mediatek,mtk-xhci.yaml#
8 title: MediaTek USB3 xHCI Device Tree Bindings
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 …]
/Linux-v5.15/drivers/usb/cdns3/
Dhost.c17 #include "../host/xhci.h"
18 #include "../host/xhci-plat.h"
35 struct platform_device *xhci; in __cdns_host_init() local
41 xhci = platform_device_alloc("xhci-hcd", PLATFORM_DEVID_AUTO); in __cdns_host_init()
42 if (!xhci) { in __cdns_host_init()
43 dev_err(cdns->dev, "couldn't allocate xHCI device\n"); in __cdns_host_init()
47 xhci->dev.parent = cdns->dev; in __cdns_host_init()
48 cdns->host_dev = xhci; in __cdns_host_init()
50 ret = platform_device_add_resources(xhci, cdns->xhci_res, in __cdns_host_init()
53 dev_err(cdns->dev, "couldn't add resources to xHCI device\n"); in __cdns_host_init()
[all …]
/Linux-v5.15/drivers/usb/dwc3/
Dhost.c48 struct platform_device *xhci; in dwc3_host_init() local
72 xhci = platform_device_alloc("xhci-hcd", PLATFORM_DEVID_AUTO); in dwc3_host_init()
73 if (!xhci) { in dwc3_host_init()
74 dev_err(dwc->dev, "couldn't allocate xHCI device\n"); 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()
105 * This following flag tells XHCI to do just that. in dwc3_host_init()
[all …]
/Linux-v5.15/Documentation/devicetree/bindings/phy/
Dbrcm,brcmstb-usb-phy.yaml9 description: Broadcom's PHY that handles EHCI/OHCI and/or XHCI
27 - description: XHCI EC register
28 - description: XHCI GBL register
87 brcm,has-xhci:
88 description: Indicates the PHY has an XHCI PHY.
108 - brcm,has-xhci
166 brcm,has-xhci;
192 brcm,has-xhci;

1234567