Skip to contentSkip to conversation

powerpc/usb: Workaround for erratum-A006918

PATCH New Ramneek Mehresh 2 participants 2 messages Aug 5, 2013 – Aug 13, 2013 PowerPC

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 powerpc/usb: Workaround for erratum-A006918

Erratum-A006918 prevents internal UTMI dual phy pll inside T4240 rev 1.0 from starting sometimes. Workaround involves restarting phy pll maximum seven times with 1ms delay in each loop

---
Applies on git://git.denx.de/u-boot.git
(branch master)

 arch/powerpc/cpu/mpc85xx/cmd_errata.c     |  4 +++
 arch/powerpc/cpu/mpc85xx/cpu_init.c       | 55 +++++++++++++++++++++++++++++++
 arch/powerpc/include/asm/config_mpc85xx.h |  1 +
 include/fsl_usb.h                         |  7 ++++
 4 files changed, 67 insertions(+)
arch/powerpc/cpu/mpc85xx/cmd_errata.c +4 -0
index 5cd02cc..779b352 100644
@@ -195,6 +195,10 @@ static int do_errata(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	puts("Work-around for Erratum DDR111 enabled\n");
 	puts("Work-around for Erratum DDR134 enabled\n");
 #endif
+#ifdef CONFIG_SYS_FSL_ERRATUM_A006918
+	if (IS_SVR_REV(svr, 1, 0))
+		puts("Work-around for Erratum A006918 enabled\n");
+#endif
 #ifdef CONFIG_SYS_FSL_ERRATUM_IFC_A002769
 	puts("Work-around for Erratum IFC-A002769 enabled\n");
 #endif
arch/powerpc/cpu/mpc85xx/cpu_init.c +55 -0

79 lines not on this page · raw message

arch/powerpc/include/asm/config_mpc85xx.h +1 -0
index 7ed93ac..f7926ef 100644
@@ -542,6 +542,7 @@
 #define CONFIG_SYS_FSL_ERRATUM_A_004934
 #define CONFIG_SYS_FSL_ERRATUM_A005871
 #define CONFIG_SYS_FSL_ERRATUM_A006593
+#define CONFIG_SYS_FSL_ERRATUM_A006918
 #define CONFIG_SYS_CCSRBAR_DEFAULT	0xfe000000
 #define CONFIG_SYS_FSL_PCI_VER_3_X
 
include/fsl_usb.h +7 -0
index 88d6a1f..a3e681b 100644
@@ -25,6 +25,8 @@
 #ifndef _ASM_FSL_USB_H_
 #define _ASM_FSL_USB_H_
 
+#include <stdbool.h>
+
 #ifdef CONFIG_SYS_FSL_USB_DUAL_PHY_ENABLE
 struct ccsr_usb_port_ctrl {
 	u32	ctrl;
@@ -68,6 +70,11 @@ struct ccsr_usb_phy {
 #define CONFIG_SYS_FSL_USB_PLLPRG2_MFI (5 << 16)
 #define CONFIG_SYS_FSL_USB_PLLPRG2_PLL_EN (1 << 21)
 #define CONFIG_SYS_FSL_USB_SYS_CLK_VALID (1 << 0)
+
+#ifdef CONFIG_SYS_FSL_ERRATUM_A006918
+extern bool	has_fsl_erratum_a006918;
+#define	FSL_MAX_USBPLL_RETRY_COUNT	7
+#endif
 #else
 struct ccsr_usb_phy {
 	u8	res0[0x18];
Signature · 1 line
1.7.11.7
#1 lore raw

PATCH 1/2 powerpc/usb: Workaround for erratum-A006918

Quoted 6 lines · Ramneek Mehresh

Erratum-A006918 prevents internal UTMI dual phy pll inside T4240 rev 1.0 from starting sometimes. Workaround involves restarting phy pll maximum seven times with 1ms delay in each loop

Mehresh,

This patch only applies to rev 1 of T4240, doesn't it? Rev 1 part is not available for general public. We don't submit rev 1 errata workaround.

York