summaryrefslogtreecommitdiff
path: root/include/fsl_usb.h
diff options
context:
space:
mode:
authorNikhil Badola <nikhil.badola@freescale.com>2015-03-11 15:44:23 +0530
committerYork Sun <yorksun@freescale.com>2015-04-21 10:19:19 -0700
commit0c77106095755c76de37dc51a0719dd7bb2c95ed (patch)
tree704b84d7043ec41a70fa42c9a8c862aeefe8f7d8 /include/fsl_usb.h
parent98cb0efde8aaed200750e6d75fa8e5fc01dcd8f4 (diff)
downloadu-boot-0c77106095755c76de37dc51a0719dd7bb2c95ed.tar.gz
drivers:usb: Add device-tree fixup to identify socs having dual phy
Identify soc(s) having dual phy so as to add "utmi_dual" as phy_mode for all these socs. This is required for supporting deel-sleep feature in linux for usb driver Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com> Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
Diffstat (limited to 'include/fsl_usb.h')
-rw-r--r--include/fsl_usb.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/fsl_usb.h b/include/fsl_usb.h
index d251f5d4ce..d24ffa7fca 100644
--- a/include/fsl_usb.h
+++ b/include/fsl_usb.h
@@ -87,6 +87,33 @@ struct ccsr_usb_phy {
/* USB Erratum Checking code */
#ifdef CONFIG_PPC
+static inline bool has_dual_phy(void)
+{
+ u32 svr = get_svr();
+ u32 soc = SVR_SOC_VER(svr);
+
+ switch (soc) {
+ case SVR_T1023:
+ case SVR_T1024:
+ case SVR_T1013:
+ case SVR_T1014:
+ return IS_SVR_REV(svr, 1, 0);
+ case SVR_T1040:
+ case SVR_T1042:
+ case SVR_T1020:
+ case SVR_T1022:
+ case SVR_T2080:
+ case SVR_T2081:
+ return IS_SVR_REV(svr, 1, 0) || IS_SVR_REV(svr, 1, 1);
+ case SVR_T4240:
+ case SVR_T4160:
+ case SVR_T4080:
+ return IS_SVR_REV(svr, 1, 0) || IS_SVR_REV(svr, 2, 0);
+ }
+
+ return false;
+}
+
static inline bool has_erratum_a006261(void)
{
u32 svr = get_svr();
@@ -165,6 +192,11 @@ static inline bool has_erratum_a007792(void)
}
#else
+static inline bool has_dual_phy(void)
+{
+ return false;
+}
+
static inline bool has_erratum_a006261(void)
{
return false;