24 #include <linux/module.h>
25 #include <linux/slab.h>
33 #define SSB_HCD_TMSLOW_HOSTMODE (1 << 29)
44 #ifdef CONFIG_SSB_DRIVER_MIPS
46 if (dev->
id.revision == 2 && dev->
bus->chip_id == 0x5354) {
48 ssb_write32(dev, 0x894, 0x00fe00fe);
51 ssb_write32(dev, 0x89c, ssb_read32(dev, 0x89c) | 0x1);
66 ssb_write32(dev, 0x200, 0x7ff);
69 ssb_write32(dev, 0x400, ssb_read32(dev, 0x400) & ~8);
70 ssb_read32(dev, 0x400);
73 ssb_write32(dev, 0x304, ssb_read32(dev, 0x304) & ~0x100);
74 ssb_read32(dev, 0x304);
111 memset(hci_res, 0,
sizeof(hci_res));
113 hci_res[0].start =
addr;
114 hci_res[0].end = hci_res[0].start + len - 1;
117 hci_res[1].start = dev->
irq;
121 "ehci-platform" , 0);
125 hci_dev->
dev.parent = dev->
dev;
126 hci_dev->
dev.dma_mask = &hci_dev->
dev.coherent_dma_mask;
157 u16 coreid = dev->
id.coreid;
161 chipid_top = (dev->
bus->chip_id & 0xFF00);
162 if (chipid_top != 0x4700 && chipid_top != 0x5300)
185 usb_dev->
ohci_dev = ssb_hcd_create_pdev(dev,
true, start, len);
188 goto err_free_usb_dev;
193 usb_dev->
ehci_dev = ssb_hcd_create_pdev(dev,
false, start, len);
196 goto err_unregister_ohci_dev;
200 ssb_set_drvdata(dev, usb_dev);
203 err_unregister_ohci_dev:
248 #define ssb_hcd_suspend NULL
249 #define ssb_hcd_resume NULL
261 .name = KBUILD_MODNAME,
262 .id_table = ssb_hcd_table,
263 .probe = ssb_hcd_probe,
265 .shutdown = ssb_hcd_shutdown,
270 static int __init ssb_hcd_init(
void)
276 static void __exit ssb_hcd_exit(
void)