Home
last modified time | relevance | path

Searched full:ohci (Results 1 – 25 of 258) sorted by relevance

1234567891011

/linux/drivers/usb/host/
H A Dohci-hub.c3 * OHCI HCD (Host Controller Driver) for USB.
14 * OHCI Root Hub ... the nonsharable stuff
47 static int ohci_rh_suspend (struct ohci_hcd *ohci, int autostop) in ohci_rh_suspend() argument
48 __releases(ohci->lock) in ohci_rh_suspend()
49 __acquires(ohci->lock) in ohci_rh_suspend()
53 ohci->hc_control = ohci_readl (ohci, &ohci->regs->control); in ohci_rh_suspend()
54 switch (ohci->hc_control & OHCI_CTRL_HCFS) { in ohci_rh_suspend()
56 ohci_dbg (ohci, "resume/suspend?\n"); in ohci_rh_suspend()
57 ohci->hc_control &= ~OHCI_CTRL_HCFS; in ohci_rh_suspend()
58 ohci->hc_control |= OHCI_USB_RESET; in ohci_rh_suspend()
[all …]
H A Dohci-hcd.c3 * Open Host Controller Interface (OHCI) driver for USB.
11 * [ uhci code and gregs ohci fragments ]
16 * OHCI is the main "non-Intel/VIA" standard for USB 1.1 host controller
52 #define DRIVER_DESC "USB 1.1 'Open' Host Controller (OHCI) Driver"
80 #include "ohci.h"
83 static void ohci_dump(struct ohci_hcd *ohci);
87 #include "ohci-hub.c"
88 #include "ohci-dbg.c"
89 #include "ohci-mem.c"
90 #include "ohci-q.c"
[all …]
H A Dohci-q.c3 * OHCI HCD (Host Controller Driver) for USB.
38 * PRECONDITION: ohci lock held, irqs blocked.
41 finish_urb(struct ohci_hcd *ohci, struct urb *urb, int status) in finish_urb() argument
42 __releases(ohci->lock) in finish_urb()
43 __acquires(ohci->lock) in finish_urb()
45 struct device *dev = ohci_to_hcd(ohci)->self.controller; in finish_urb()
52 urb_free_priv (ohci, urb->hcpriv); in finish_urb()
59 ohci_to_hcd(ohci)->self.bandwidth_isoc_reqs--; in finish_urb()
60 if (ohci_to_hcd(ohci)->self.bandwidth_isoc_reqs == 0) { in finish_urb()
61 if (quirk_amdiso(ohci)) in finish_urb()
[all …]
H A Dohci-pci.c3 * OHCI HCD (Host Controller Driver) for USB.
9 * [ uhci code and gregs ohci fragments ]
25 #include "ohci.h"
28 #define DRIVER_DESC "OHCI PCI platform driver"
30 static const char hcd_name[] = "ohci-pci";
46 struct ohci_hcd *ohci = hcd_to_ohci (hcd); in ohci_quirk_amd756() local
48 ohci->flags = OHCI_QUIRK_AMD756; in ohci_quirk_amd756()
49 ohci_dbg (ohci, "AMD756 erratum 4 workaround\n"); in ohci_quirk_amd756()
55 /* Apple's OHCI driver has a lot of bizarre workarounds
61 struct ohci_hcd *ohci = hcd_to_ohci (hcd); in ohci_quirk_opti() local
[all …]
H A Dohci-dbg.c3 * OHCI HCD (Host Controller Driver) for USB.
23 #define ohci_dbg_sw(ohci, next, size, format, arg...) \ argument
30 ohci_dbg(ohci,format, ## arg ); \
34 #define ohci_dbg_nosw(ohci, next, size, format, arg...) \ argument
43 struct ohci_hcd *ohci, in ohci_dump_intr_mask() argument
49 ohci_dbg_sw (ohci, next, size, "%s 0x%08x%s%s%s%s%s%s%s%s%s\n", in ohci_dump_intr_mask()
65 struct ohci_hcd *ohci, in maybe_print_eds() argument
72 ohci_dbg_sw (ohci, next, size, "%s %08x\n", label, value); in maybe_print_eds()
86 static const char *rh_state_string(struct ohci_hcd *ohci) in rh_state_string() argument
88 switch (ohci->rh_state) { in rh_state_string()
[all …]
H A Dohci.h3 * OHCI HCD (Host Controller Driver) for USB.
20 * OHCI Endpoint Descriptor (ED) ... holds TD queue
21 * See OHCI spec, section 4.2
75 #define OKAY_TO_TAKEBACK(ohci, ed) \ argument
76 ((int) (ohci->wdh_cnt - ed->takeback_wdh_cnt) >= 0)
84 * OHCI Transfer Descriptor (TD) ... one per transfer segment
85 * See OHCI spec, sections 4.3.1 (general = control/bulk/interrupt)
164 /* map OHCI TD status codes (CC) to errno values */
187 * structure defined section 4.4.1 of the OHCI spec. The HC is
195 * OHCI defines u16 frame_no, followed by u16 zero pad.
[all …]
H A Dohci-mem.c3 * OHCI HCD (Host Controller Driver) for USB.
14 * OHCI deals with three types of memory:
27 static void ohci_hcd_init (struct ohci_hcd *ohci) in ohci_hcd_init() argument
29 ohci->next_statechange = jiffies; in ohci_hcd_init()
30 spin_lock_init (&ohci->lock); in ohci_hcd_init()
31 INIT_LIST_HEAD (&ohci->pending); in ohci_hcd_init()
32 INIT_LIST_HEAD(&ohci->eds_in_use); in ohci_hcd_init()
37 static int ohci_mem_init (struct ohci_hcd *ohci) in ohci_mem_init() argument
43 if (ohci_to_hcd(ohci)->localmem_pool) in ohci_mem_init()
46 ohci->td_cache = dma_pool_create ("ohci_td", in ohci_mem_init()
[all …]
H A Dohci-spear.c3 * OHCI HCD (Host Controller Driver) for USB.
8 * Based on various ohci-*.c drivers
22 #include "ohci.h"
24 #define DRIVER_DESC "OHCI SPEAr driver"
116 struct ohci_hcd *ohci = hcd_to_ohci(hcd); in spear_ohci_hcd_drv_suspend() local
121 if (time_before(jiffies, ohci->next_statechange)) in spear_ohci_hcd_drv_suspend()
123 ohci->next_statechange = jiffies; in spear_ohci_hcd_drv_suspend()
137 struct ohci_hcd *ohci = hcd_to_ohci(hcd); in spear_ohci_hcd_drv_resume() local
140 if (time_before(jiffies, ohci->next_statechange)) in spear_ohci_hcd_drv_resume()
142 ohci->next_statechange = jiffies; in spear_ohci_hcd_drv_resume()
[all …]
H A DMakefile57 obj-$(CONFIG_USB_OHCI_HCD) += ohci-hcd.o
58 obj-$(CONFIG_USB_OHCI_HCD_PCI) += ohci-pci.o
59 obj-$(CONFIG_USB_OHCI_HCD_PLATFORM) += ohci-platform.o
60 obj-$(CONFIG_USB_OHCI_EXYNOS) += ohci-exynos.o
61 obj-$(CONFIG_USB_OHCI_HCD_OMAP1) += ohci-omap.o
62 obj-$(CONFIG_USB_OHCI_HCD_SPEAR) += ohci-spear.o
63 obj-$(CONFIG_USB_OHCI_HCD_STI) += ohci-st.o
64 obj-$(CONFIG_USB_OHCI_HCD_AT91) += ohci-at91.o
65 obj-$(CONFIG_USB_OHCI_HCD_S3C2410) += ohci-s3c2410.o
66 obj-$(CONFIG_USB_OHCI_HCD_LPC32XX) += ohci-nxp.o
[all …]
H A Dohci-ps3.c3 * PS3 OHCI Host Controller driver
14 struct ohci_hcd *ohci = hcd_to_ohci(hcd); in ps3_ohci_hc_reset() local
16 ohci->flags |= OHCI_QUIRK_BE_MMIO; in ps3_ohci_hc_reset()
17 ohci_hcd_init(ohci); in ps3_ohci_hc_reset()
18 return ohci_init(ohci); in ps3_ohci_hc_reset()
24 struct ohci_hcd *ohci = hcd_to_ohci(hcd); in ps3_ohci_hc_start() local
29 ohci_writel(ohci, 0x7f000000 | RH_A_PSM | RH_A_OCPM, in ps3_ohci_hc_start()
30 &ohci->regs->roothub.a); in ps3_ohci_hc_start()
31 ohci_writel(ohci, 0x00060000, &ohci->regs->roothub.b); in ps3_ohci_hc_start()
33 result = ohci_run(ohci); in ps3_ohci_hc_start()
[all …]
H A Dohci-sa1111.c3 * OHCI HCD (Host Controller Driver) for USB.
59 struct ohci_hcd *ohci = hcd_to_ohci(hcd); in ohci_sa1111_reset() local
61 ohci_hcd_init(ohci); in ohci_sa1111_reset()
62 return ohci_init(ohci); in ohci_sa1111_reset()
67 struct ohci_hcd *ohci = hcd_to_ohci(hcd); in ohci_sa1111_start() local
70 ret = ohci_run(ohci); in ohci_sa1111_start()
72 ohci_err(ohci, "can't start\n"); in ohci_sa1111_start()
80 .product_desc = "SA-1111 OHCI",
126 dev_dbg(&dev->dev, "starting SA-1111 OHCI USB Controller\n"); in sa1111_start_hc()
155 dev_dbg(&dev->dev, "stopping SA-1111 OHCI USB Controller\n"); in sa1111_stop_hc()
[all …]
H A Dssb-hcd.c8 * Based on ssb-ohci driver
11 * Derived from the OHCI-PCI driver
103 static struct platform_device *ssb_hcd_create_pdev(struct ssb_device *dev, bool ohci, u32 addr, u32… in ssb_hcd_create_pdev() argument
118 hci_dev = platform_device_alloc(ohci ? "ohci-platform" : in ssb_hcd_create_pdev()
130 if (ohci) in ssb_hcd_create_pdev()
174 * as HOST OHCI. If we want to attach it as Client device, in ssb_hcd_probe()
H A Dohci-at91.c3 * OHCI HCD (Host Controller Driver) for USB.
11 * Based on ohci-omap.c
32 #include "ohci.h"
63 #define DRIVER_DESC "OHCI Atmel driver"
184 struct ohci_hcd *ohci; in usb_hcd_at91_probe() local
237 ohci = hcd_to_ohci(hcd); in usb_hcd_at91_probe()
238 ohci->num_ports = board->ports; in usb_hcd_at91_probe()
245 ohci->hc_control = OHCI_CTRL_RWC; in usb_hcd_at91_probe()
523 { .compatible = "atmel,at91rm9200-ohci" },
617 struct ohci_hcd *ohci = hcd_to_ohci(hcd); in ohci_hcd_at91_drv_suspend() local
[all …]
/linux/drivers/firewire/
H A Dinit_ohci1394_dma.c3 * init_ohci1394_dma.c - Initializes physical DMA on all OHCI 1394 controllers
9 * - scan the PCI very early on boot for all OHCI 1394-compliant controllers
32 #include "ohci.h"
36 struct ohci { struct
40 static inline void reg_write(const struct ohci *ohci, int offset, u32 data) in reg_write() argument
42 writel(data, ohci->registers + offset); in reg_write()
45 static inline u32 reg_read(const struct ohci *ohci, int offset) in reg_read() argument
47 return readl(ohci->registers + offset); in reg_read()
52 /* Reads a PHY register of an OHCI-1394 controller */
53 static inline u8 __init get_phy_reg(struct ohci *ohci, u8 addr) in get_phy_reg() argument
[all …]
H A DMakefile8 firewire-ohci-y += ohci.o
13 obj-$(CONFIG_FIREWIRE_OHCI) += firewire-ohci.o
22 obj-$(CONFIG_FIREWIRE_KUNIT_OHCI_SERDES_TEST) += ohci-serdes-test.o
/linux/Documentation/devicetree/bindings/mfd/
H A Domap-usb-host.txt21 "ohci-phy-6pin-datse0",
22 "ohci-phy-6pin-dpdm",
23 "ohci-phy-3pin-datse0",
24 "ohci-phy-4pin-dpdm",
25 "ohci-tll-6pin-datse0",
26 "ohci-tll-6pin-dpdm",
27 "ohci-tll-3pin-datse0",
28 "ohci-tll-4pin-dpdm",
29 "ohci-tll-2pin-datse0",
30 "ohci-tll-2pin-dpdm",
[all …]
/linux/Documentation/usb/
H A Dohci.rst2 OHCI title
7 The "ohci-hcd" driver is a USB Host Controller Driver (HCD) that is derived
8 from the "usb-ohci" driver from the 2.4 kernel series. The "usb-ohci" code
12 It supports the "Open Host Controller Interface" (OHCI), which standardizes
16 from vendors other than Intel and VIA generally use OHCI.
24 - supports some non-PCI implementations of OHCI
27 The "ohci-hcd" driver handles all USB 1.1 transfer types. Transfers of all
28 types can be queued. That was also true in "usb-ohci", except for interrupt
/linux/Documentation/core-api/
H A Ddebugging-via-ohci1394.rst2 Using physical DMA provided by OHCI-1394 FireWire controllers for debugging
9 to the OHCI-1394 specification which defines the controller to be a PCI
12 PCI-Bus master DMA after applying filters defined by the OHCI-1394 driver.
15 ask the OHCI-1394 controller to perform read and write requests on
34 Together with a early initialization of the OHCI-1394 controller for debugging,
43 The firewire-ohci driver in drivers/firewire uses filtered physical
47 Because the firewire-ohci driver depends on the PCI enumeration to be
80 The OHCI-1394 specification regulates that the OHCI-1394 controller must
84 interrupts are disabled and where no polling of the OHCI-1394 controller
89 Step-by-step instructions for using firescope with early OHCI initialization:
[all …]
/linux/drivers/mfd/
H A Domap-usb-host.c3 * omap-usb-host.c - The USBHS core driver for OMAP EHCI & OHCI
27 #define OMAP_OHCI_DEVICE "ohci-omap3"
132 [OMAP_OHCI_PORT_MODE_PHY_6PIN_DATSE0] = "ohci-phy-6pin-datse0",
133 [OMAP_OHCI_PORT_MODE_PHY_6PIN_DPDM] = "ohci-phy-6pin-dpdm",
134 [OMAP_OHCI_PORT_MODE_PHY_3PIN_DATSE0] = "ohci-phy-3pin-datse0",
135 [OMAP_OHCI_PORT_MODE_PHY_4PIN_DPDM] = "ohci-phy-4pin-dpdm",
136 [OMAP_OHCI_PORT_MODE_TLL_6PIN_DATSE0] = "ohci-tll-6pin-datse0",
137 [OMAP_OHCI_PORT_MODE_TLL_6PIN_DPDM] = "ohci-tll-6pin-dpdm",
138 [OMAP_OHCI_PORT_MODE_TLL_3PIN_DATSE0] = "ohci-tll-3pin-datse0",
139 [OMAP_OHCI_PORT_MODE_TLL_4PIN_DPDM] = "ohci-tll-4pin-dpdm",
[all …]
/linux/Documentation/devicetree/bindings/usb/
H A Dohci-da8xx.txt1 DA8XX USB OHCI controller
5 - compatible: Should be "ti,da830-ohci"
16 ohci: usb@225000 {
17 compatible = "ti,da830-ohci";
H A Datmel-usb.txt3 OHCI
6 - compatible: Should be "atmel,at91rm9200-ohci" for USB controllers
9 - interrupts: Should contain ohci interrupt
21 usb0: ohci@500000 {
22 compatible = "atmel,at91rm9200-ohci", "usb-ohci";
H A Dohci-st.txt1 ST USB OHCI controller
5 - compatible : must be "st,st-ohci-300x"
8 - interrupts : one OHCI controller interrupt should be described here
24 compatible = "st,st-ohci-300x";
H A Dpxa-usb.txt3 OHCI
6 - compatible: Should be "marvell,pxa-ohci" for USB controllers
24 usb0: ohci@4c000000 {
25 compatible = "marvell,pxa-ohci";
H A Dsamsung,exynos-usb2.yaml7 title: Samsung Exynos SoC USB 2.0 EHCI/OHCI Controller
16 - samsung,exynos4210-ohci
61 const: samsung,exynos4210-ohci
100 compatible = "samsung,exynos4210-ohci";
/linux/arch/mips/alchemy/common/
H A Dusb.c5 * Au1000+: The OHCI block control register is at the far end of the OHCI memory
6 * area. Au1550 has OHCI on different base address. No need to handle
28 #define USBHEN_RD (1 << 4) /* OHCI reset-done indicator */
29 #define USBHEN_CE (1 << 3) /* OHCI block clock enable */
30 #define USBHEN_E (1 << 2) /* OHCI block enable */
31 #define USBHEN_C (1 << 1) /* OHCI block coherency bit */
32 #define USBHEN_BE (1 << 0) /* OHCI Big-Endian */
42 #define USBCFG_OCE (1 << 16) /* OHCI clock enable */
50 #define USBCFG_OBE (1 << 1) /* OHCI busmaster enable */
51 #define USBCFG_OME (1 << 0) /* OHCI mem enable */
[all …]

1234567891011