diff options
Diffstat (limited to 'arch/mips/netlogic')
-rw-r--r-- | arch/mips/netlogic/xlp/usb-init.c | 49 |
1 files changed, 36 insertions, 13 deletions
diff --git a/arch/mips/netlogic/xlp/usb-init.c b/arch/mips/netlogic/xlp/usb-init.c index 1d0b66c62fd1..9c401dd78337 100644 --- a/arch/mips/netlogic/xlp/usb-init.c +++ b/arch/mips/netlogic/xlp/usb-init.c | |||
@@ -42,7 +42,30 @@ | |||
42 | #include <asm/netlogic/haldefs.h> | 42 | #include <asm/netlogic/haldefs.h> |
43 | #include <asm/netlogic/xlp-hal/iomap.h> | 43 | #include <asm/netlogic/xlp-hal/iomap.h> |
44 | #include <asm/netlogic/xlp-hal/xlp.h> | 44 | #include <asm/netlogic/xlp-hal/xlp.h> |
45 | #include <asm/netlogic/xlp-hal/usb.h> | 45 | |
46 | /* | ||
47 | * USB glue logic registers, used only during initialization | ||
48 | */ | ||
49 | #define USB_CTL_0 0x01 | ||
50 | #define USB_PHY_0 0x0A | ||
51 | #define USB_PHY_RESET 0x01 | ||
52 | #define USB_PHY_PORT_RESET_0 0x10 | ||
53 | #define USB_PHY_PORT_RESET_1 0x20 | ||
54 | #define USB_CONTROLLER_RESET 0x01 | ||
55 | #define USB_INT_STATUS 0x0E | ||
56 | #define USB_INT_EN 0x0F | ||
57 | #define USB_PHY_INTERRUPT_EN 0x01 | ||
58 | #define USB_OHCI_INTERRUPT_EN 0x02 | ||
59 | #define USB_OHCI_INTERRUPT1_EN 0x04 | ||
60 | #define USB_OHCI_INTERRUPT2_EN 0x08 | ||
61 | #define USB_CTRL_INTERRUPT_EN 0x10 | ||
62 | |||
63 | #define nlm_read_usb_reg(b, r) nlm_read_reg(b, r) | ||
64 | #define nlm_write_usb_reg(b, r, v) nlm_write_reg(b, r, v) | ||
65 | #define nlm_get_usb_pcibase(node, inst) \ | ||
66 | nlm_pcicfg_base(XLP_IO_USB_OFFSET(node, inst)) | ||
67 | #define nlm_get_usb_regbase(node, inst) \ | ||
68 | (nlm_get_usb_pcibase(node, inst) + XLP_IO_PCI_HDRSZ) | ||
46 | 69 | ||
47 | static void nlm_usb_intr_en(int node, int port) | 70 | static void nlm_usb_intr_en(int node, int port) |
48 | { | 71 | { |
@@ -99,23 +122,23 @@ static void nlm_usb_fixup_final(struct pci_dev *dev) | |||
99 | dev->dev.coherent_dma_mask = DMA_BIT_MASK(64); | 122 | dev->dev.coherent_dma_mask = DMA_BIT_MASK(64); |
100 | switch (dev->devfn) { | 123 | switch (dev->devfn) { |
101 | case 0x10: | 124 | case 0x10: |
102 | dev->irq = PIC_EHCI_0_IRQ; | 125 | dev->irq = PIC_EHCI_0_IRQ; |
103 | break; | 126 | break; |
104 | case 0x11: | 127 | case 0x11: |
105 | dev->irq = PIC_OHCI_0_IRQ; | 128 | dev->irq = PIC_OHCI_0_IRQ; |
106 | break; | 129 | break; |
107 | case 0x12: | 130 | case 0x12: |
108 | dev->irq = PIC_OHCI_1_IRQ; | 131 | dev->irq = PIC_OHCI_1_IRQ; |
109 | break; | 132 | break; |
110 | case 0x13: | 133 | case 0x13: |
111 | dev->irq = PIC_EHCI_1_IRQ; | 134 | dev->irq = PIC_EHCI_1_IRQ; |
112 | break; | 135 | break; |
113 | case 0x14: | 136 | case 0x14: |
114 | dev->irq = PIC_OHCI_2_IRQ; | 137 | dev->irq = PIC_OHCI_2_IRQ; |
115 | break; | 138 | break; |
116 | case 0x15: | 139 | case 0x15: |
117 | dev->irq = PIC_OHCI_3_IRQ; | 140 | dev->irq = PIC_OHCI_3_IRQ; |
118 | break; | 141 | break; |
119 | } | 142 | } |
120 | } | 143 | } |
121 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_NETLOGIC, PCI_DEVICE_ID_NLM_EHCI, | 144 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_NETLOGIC, PCI_DEVICE_ID_NLM_EHCI, |