diff options
author | Nikhil Badola <nikhil.badola@freescale.com> | 2015-03-11 15:44:23 +0530 |
---|---|---|
committer | York Sun <yorksun@freescale.com> | 2015-04-21 10:19:19 -0700 |
commit | 0c77106095755c76de37dc51a0719dd7bb2c95ed (patch) | |
tree | 704b84d7043ec41a70fa42c9a8c862aeefe8f7d8 /include/fsl_usb.h | |
parent | 98cb0efde8aaed200750e6d75fa8e5fc01dcd8f4 (diff) |
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.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/include/fsl_usb.h b/include/fsl_usb.h index d251f5d4ce1..d24ffa7fca5 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; |