diff options
author | Huang Rui <ray.huang@amd.com> | 2014-10-30 23:11:17 -0400 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2014-11-03 11:03:40 -0500 |
commit | 9755449d568b3c2745fc9c7075a7d7833c4528bd (patch) | |
tree | 06ad539612b2717991805f9ef0ad0d0eab3b4292 /drivers/usb/dwc3 | |
parent | be6646bfbaec7af72ddf3fc98050ca6f19dc2b79 (diff) |
usb: dwc3: add support for AMD Nolan platform
This patch adds support for AMD Nolan (NL) FPGA and SoC platform.
Cc: Jason Chang <jason.chang@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/dwc3')
-rw-r--r-- | drivers/usb/dwc3/dwc3-pci.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/drivers/usb/dwc3/dwc3-pci.c b/drivers/usb/dwc3/dwc3-pci.c index ada975f0b365..7c4faf738747 100644 --- a/drivers/usb/dwc3/dwc3-pci.c +++ b/drivers/usb/dwc3/dwc3-pci.c | |||
@@ -145,6 +145,31 @@ static int dwc3_pci_probe(struct pci_dev *pci, | |||
145 | res[1].name = "dwc_usb3"; | 145 | res[1].name = "dwc_usb3"; |
146 | res[1].flags = IORESOURCE_IRQ; | 146 | res[1].flags = IORESOURCE_IRQ; |
147 | 147 | ||
148 | if (pci->vendor == PCI_VENDOR_ID_AMD && | ||
149 | pci->device == PCI_DEVICE_ID_AMD_NL_USB) { | ||
150 | dwc3_pdata.has_lpm_erratum = true; | ||
151 | dwc3_pdata.lpm_nyet_threshold = 0xf; | ||
152 | |||
153 | dwc3_pdata.u2exit_lfps_quirk = true; | ||
154 | dwc3_pdata.u2ss_inp3_quirk = true; | ||
155 | dwc3_pdata.req_p1p2p3_quirk = true; | ||
156 | dwc3_pdata.del_p1p2p3_quirk = true; | ||
157 | dwc3_pdata.del_phy_power_chg_quirk = true; | ||
158 | dwc3_pdata.lfps_filter_quirk = true; | ||
159 | dwc3_pdata.rx_detect_poll_quirk = true; | ||
160 | |||
161 | dwc3_pdata.tx_de_emphasis_quirk = true; | ||
162 | dwc3_pdata.tx_de_emphasis = 1; | ||
163 | |||
164 | /* | ||
165 | * FIXME these quirks should be removed when AMD NL | ||
166 | * taps out | ||
167 | */ | ||
168 | dwc3_pdata.disable_scramble_quirk = true; | ||
169 | dwc3_pdata.dis_u3_susphy_quirk = true; | ||
170 | dwc3_pdata.dis_u2_susphy_quirk = true; | ||
171 | } | ||
172 | |||
148 | ret = platform_device_add_resources(dwc3, res, ARRAY_SIZE(res)); | 173 | ret = platform_device_add_resources(dwc3, res, ARRAY_SIZE(res)); |
149 | if (ret) { | 174 | if (ret) { |
150 | dev_err(dev, "couldn't add resources to dwc3 device\n"); | 175 | dev_err(dev, "couldn't add resources to dwc3 device\n"); |
@@ -194,6 +219,7 @@ static const struct pci_device_id dwc3_pci_id_table[] = { | |||
194 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_BSW), }, | 219 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_BSW), }, |
195 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_BYT), }, | 220 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_BYT), }, |
196 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_MRFLD), }, | 221 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_MRFLD), }, |
222 | { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_NL_USB), }, | ||
197 | { } /* Terminating Entry */ | 223 | { } /* Terminating Entry */ |
198 | }; | 224 | }; |
199 | MODULE_DEVICE_TABLE(pci, dwc3_pci_id_table); | 225 | MODULE_DEVICE_TABLE(pci, dwc3_pci_id_table); |