Hi Felipe,

Felipe Balbi wrote:
> Hi,
>
> Thinh Nguyen <thinh.ngu...@synopsys.com> writes:
>> i.MX6QP and i.MX7D platform use a PCIe controller with the same VID and
>> PID as this USB controller. The system may incorrectly match this driver
>> to that PCIe controller. To workaround this, specifically use class type
>> USB with PCI device ID to prevent incorrect driver matching.
>>
>> Signed-off-by: Thinh Nguyen <thi...@synopsys.com>
>> ---
>>  drivers/usb/dwc3/dwc3-haps.c | 9 +++++++++
>>  1 file changed, 9 insertions(+)
>>
>> diff --git a/drivers/usb/dwc3/dwc3-haps.c b/drivers/usb/dwc3/dwc3-haps.c
>> index 02d57d98ef9b..3cecbf169452 100644
>> --- a/drivers/usb/dwc3/dwc3-haps.c
>> +++ b/drivers/usb/dwc3/dwc3-haps.c
>> @@ -106,6 +106,15 @@ static const struct pci_device_id dwc3_haps_id_table[] 
>> = {
>>      {
>>              PCI_DEVICE(PCI_VENDOR_ID_SYNOPSYS,
>>                         PCI_DEVICE_ID_SYNOPSYS_HAPSUSB3),
>> +            /*
>> +             * i.MX6QP and i.MX7D platform use a PCIe controller with the
>> +             * same VID and PID as this USB controller. The system may
>> +             * incorrectly match this driver to that PCIe controller. To
>> +             * workaround this, specifically use class type USB to prevent
>> +             * incorrect driver matching.
>> +             */
>> +            .class = (PCI_CLASS_SERIAL_USB << 8),
>> +            .class_mask = 0xffff00,
> Just curious, how can NXP use Synopsys' vendor ID?
>

NXP cannot use Synopsys' vendor ID. This workaround is intended for the
PCIe controller on their existing SoC.

Thanks,
Thinh

Reply via email to