From 92623672f9d3f1b4ea12ae1e2bcc0ad9fde5d2cb Mon Sep 17 00:00:00 2001 From: Sriram Dash Date: Mon, 13 Jun 2016 09:58:34 +0530 Subject: fsl: usb: make errata function common for PPC and ARM This patch does the following things: 1. Makes the errata checking code common for PPC and ARM 2. Moves all these static inline functions into a dedicated C file Signed-off-by: Sriram Dash Signed-off-by: Rajesh Bhagat --- include/fsl_usb.h | 191 +++--------------------------------------------------- 1 file changed, 8 insertions(+), 183 deletions(-) (limited to 'include/fsl_usb.h') diff --git a/include/fsl_usb.h b/include/fsl_usb.h index 187e384..d183349 100644 --- a/include/fsl_usb.h +++ b/include/fsl_usb.h @@ -86,188 +86,13 @@ struct ccsr_usb_phy { #endif /* 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(); - u32 soc = SVR_SOC_VER(svr); - - switch (soc) { - case SVR_P1010: - return IS_SVR_REV(svr, 1, 0) || IS_SVR_REV(svr, 2, 0); - case SVR_P2041: - case SVR_P2040: - return IS_SVR_REV(svr, 1, 0) || - IS_SVR_REV(svr, 1, 1) || IS_SVR_REV(svr, 2, 1); - case SVR_P3041: - return IS_SVR_REV(svr, 1, 0) || - IS_SVR_REV(svr, 1, 1) || - IS_SVR_REV(svr, 2, 0) || IS_SVR_REV(svr, 2, 1); - case SVR_P5010: - case SVR_P5020: - case SVR_P5021: - return IS_SVR_REV(svr, 1, 0) || IS_SVR_REV(svr, 2, 0); - case SVR_T4240: - case SVR_T4160: - case SVR_T4080: - return IS_SVR_REV(svr, 1, 0) || IS_SVR_REV(svr, 2, 0); - case SVR_T1040: - return IS_SVR_REV(svr, 1, 0); - case SVR_T2080: - case SVR_T2081: - return IS_SVR_REV(svr, 1, 0); - case SVR_P5040: - return IS_SVR_REV(svr, 1, 0); - } - - return false; -} - -static inline bool has_erratum_a007075(void) -{ - u32 svr = get_svr(); - u32 soc = SVR_SOC_VER(svr); - - switch (soc) { - case SVR_B4860: - case SVR_B4420: - return IS_SVR_REV(svr, 1, 0) || IS_SVR_REV(svr, 2, 0); - case SVR_P1010: - return IS_SVR_REV(svr, 1, 0); - case SVR_P4080: - return IS_SVR_REV(svr, 2, 0) || IS_SVR_REV(svr, 3, 0); - } - return false; -} - -static inline bool has_erratum_a007798(void) -{ - return SVR_SOC_VER(get_svr()) == SVR_T4240 && - IS_SVR_REV(get_svr(), 2, 0); -} - -static inline bool has_erratum_a007792(void) -{ - u32 svr = get_svr(); - u32 soc = SVR_SOC_VER(svr); - - switch (soc) { - case SVR_T4240: - case SVR_T4160: - case SVR_T4080: - return IS_SVR_REV(svr, 2, 0); - case SVR_T1024: - case SVR_T1023: - 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); - } - return false; -} - -static inline bool has_erratum_a005697(void) -{ - u32 svr = get_svr(); - u32 soc = SVR_SOC_VER(svr); - - switch (soc) { - case SVR_9131: - case SVR_9132: - return IS_SVR_REV(svr, 1, 0) || IS_SVR_REV(svr, 1, 1); - } - return false; -} - -static inline bool has_erratum_a004477(void) -{ - u32 svr = get_svr(); - u32 soc = SVR_SOC_VER(svr); - - switch (soc) { - case SVR_P1010: - return IS_SVR_REV(svr, 1, 0) || IS_SVR_REV(svr, 2, 0); - case SVR_P1022: - case SVR_9131: - case SVR_9132: - return IS_SVR_REV(svr, 1, 0) || IS_SVR_REV(svr, 1, 1); - case SVR_P2020: - return IS_SVR_REV(svr, 1, 0) || IS_SVR_REV(svr, 2, 0) || - IS_SVR_REV(svr, 2, 1); - case SVR_B4860: - case SVR_B4420: - return IS_SVR_REV(svr, 1, 0) || IS_SVR_REV(svr, 2, 0); - case SVR_P4080: - return IS_SVR_REV(svr, 2, 0) || IS_SVR_REV(svr, 3, 0); - } - - return false; -} -#else -static inline bool has_dual_phy(void) -{ - return false; -} - -static inline bool has_erratum_a006261(void) -{ - return false; -} - -static inline bool has_erratum_a007075(void) -{ - return false; -} - -static inline bool has_erratum_a007798(void) -{ - return false; -} - -static inline bool has_erratum_a007792(void) -{ - return false; -} - -static inline bool has_erratum_a005697(void) -{ - return false; -} - -static inline bool has_erratum_a004477(void) -{ - return false; -} +#if defined(CONFIG_PPC) || defined(CONFIG_ARM) +bool has_dual_phy(void); +bool has_erratum_a006261(void); +bool has_erratum_a007075(void); +bool has_erratum_a007798(void); +bool has_erratum_a007792(void); +bool has_erratum_a005697(void); +bool has_erratum_a004477(void); #endif #endif /*_ASM_FSL_USB_H_ */ -- cgit v1.1