summaryrefslogtreecommitdiff
path: root/drivers/usb/cdns3/drd.h
diff options
context:
space:
mode:
authorPawel Laszczak <pawell@cadence.com>2024-02-15 15:16:09 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-02-19 11:30:41 +0300
commit47625b018c6bc788bc10dd654c82696eb0a5ef11 (patch)
tree605368cf9b97026910c58c416d599b76b549c820 /drivers/usb/cdns3/drd.h
parent18a6be674306c9acb05c08e5c3fd376ef50a917c (diff)
downloadlinux-47625b018c6bc788bc10dd654c82696eb0a5ef11.tar.xz
usb: cdnsp: fixed issue with incorrect detecting CDNSP family controllers
Cadence have several controllers from 0x000403xx family but current driver suuport detecting only one with DID equal 0x0004034E. It causes that if someone uses different CDNSP controller then driver will use incorrect version and register space. Patch fix this issue. cc: stable@vger.kernel.org Fixes: 3d82904559f4 ("usb: cdnsp: cdns3 Add main part of Cadence USBSSP DRD Driver") Signed-off-by: Pawel Laszczak <pawell@cadence.com> Link: https://lore.kernel.org/r/20240215121609.259772-1-pawell@cadence.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/cdns3/drd.h')
-rw-r--r--drivers/usb/cdns3/drd.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/usb/cdns3/drd.h b/drivers/usb/cdns3/drd.h
index cbdf94f73ed9..d72370c321d3 100644
--- a/drivers/usb/cdns3/drd.h
+++ b/drivers/usb/cdns3/drd.h
@@ -79,7 +79,11 @@ struct cdnsp_otg_regs {
__le32 susp_timing_ctrl;
};
-#define OTG_CDNSP_DID 0x0004034E
+/* CDNSP driver supports 0x000403xx Cadence USB controller family. */
+#define OTG_CDNSP_CHECK_DID(did) (((did) & GENMASK(31, 8)) == 0x00040300)
+
+/* CDNS3 driver supports 0x000402xx Cadence USB controller family. */
+#define OTG_CDNS3_CHECK_DID(did) (((did) & GENMASK(31, 8)) == 0x00040200)
/*
* Common registers interface for both CDNS3 and CDNSP version of DRD.