From: Kumar Gala <galak@kernel.crashing.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 6/7][v2] powerpc/P1010: Add workaround for erratum P1010-A003549 (related to IFC)
Date: Fri, 5 Aug 2011 09:44:39 -0500 [thread overview]
Message-ID: <1312555480-13401-7-git-send-email-galak@kernel.crashing.org> (raw)
In-Reply-To: <1312555480-13401-6-git-send-email-galak@kernel.crashing.org>
From: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Issue:
Peripheral connected to IFC_CS3 may hamper booting from IFC.
Impact:
Boot from IFC may not be successful if IFC_CS3 is used.
Workaround:
If IFC_CS3 is used, gate IFC_CS3 while booting from NAND or NOR.
Also Software should select IFC_CS3 using PMUXCR[26:27] = 0x01.
Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
arch/powerpc/cpu/mpc85xx/cmd_errata.c | 3 +++
arch/powerpc/cpu/mpc85xx/cpu_init_early.c | 12 ++++++++++++
arch/powerpc/include/asm/config_mpc85xx.h | 2 ++
3 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/cpu/mpc85xx/cmd_errata.c b/arch/powerpc/cpu/mpc85xx/cmd_errata.c
index 446f759..c2fb5b8 100644
--- a/arch/powerpc/cpu/mpc85xx/cmd_errata.c
+++ b/arch/powerpc/cpu/mpc85xx/cmd_errata.c
@@ -90,6 +90,9 @@ static int do_errata(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
#ifdef CONFIG_SYS_FSL_ERRATUM_IFC_A002769
puts("Work-around for Erratum IFC-A002769 enabled\n");
#endif
+#ifdef CONFIG_SYS_FSL_ERRATUM_P1010_A003549
+ puts("Work-around for Erratum P1010-A003549 enabled\n");
+#endif
return 0;
}
diff --git a/arch/powerpc/cpu/mpc85xx/cpu_init_early.c b/arch/powerpc/cpu/mpc85xx/cpu_init_early.c
index 359f03e..c42efb1 100644
--- a/arch/powerpc/cpu/mpc85xx/cpu_init_early.c
+++ b/arch/powerpc/cpu/mpc85xx/cpu_init_early.c
@@ -30,6 +30,9 @@ void cpu_init_early_f(void)
{
u32 mas0, mas1, mas2, mas3, mas7;
int i;
+#ifdef CONFIG_SYS_FSL_ERRATUM_P1010_A003549
+ ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
+#endif
/* Pointer is writable since we allocated a register for it */
gd = (gd_t *) (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_GBL_DATA_OFFSET);
@@ -49,6 +52,15 @@ void cpu_init_early_f(void)
write_tlb(mas0, mas1, mas2, mas3, mas7);
+/*
+ * Work Around for IFC Erratum A-003549. This issue is P1010
+ * specific. LCLK(a free running clk signal) is muxed with IFC_CS3 on P1010 SOC
+ * Hence specifically selecting CS3.
+ */
+#ifdef CONFIG_SYS_FSL_ERRATUM_P1010_A003549
+ setbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_LCLK_IFC_CS3);
+#endif
+
init_laws();
invalidate_tlb(1);
init_tlbs();
diff --git a/arch/powerpc/include/asm/config_mpc85xx.h b/arch/powerpc/include/asm/config_mpc85xx.h
index f334645..61c19ea 100644
--- a/arch/powerpc/include/asm/config_mpc85xx.h
+++ b/arch/powerpc/include/asm/config_mpc85xx.h
@@ -113,6 +113,7 @@
#define CONFIG_SYS_FSL_PCIE_COMPAT "fsl,qoriq-pcie-v2.2"
#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
#define CONFIG_SYS_FSL_ERRATUM_IFC_A002769
+#define CONFIG_SYS_FSL_ERRATUM_P1010_A003549
/* P1011 is single core version of P1020 */
#elif defined(CONFIG_P1011)
@@ -162,6 +163,7 @@
#define CONFIG_SYS_CCSRBAR_DEFAULT 0xff700000
#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
#define CONFIG_SYS_FSL_ERRATUM_IFC_A002769
+#define CONFIG_SYS_FSL_ERRATUM_P1010_A003549
/* P1015 is single core version of P1024 */
#elif defined(CONFIG_P1015)
--
1.7.3.4
next prev parent reply other threads:[~2011-08-05 14:44 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-05 14:44 [U-Boot] [PATCH 0/7][v2] powerpc/85xx: P1010RDB Kumar Gala
2011-08-05 14:44 ` [U-Boot] [PATCH 1/7][v2] powerpc/85xx: Add basic support for P1010RDB Kumar Gala
2011-08-05 14:44 ` [U-Boot] [PATCH 2/7][v2] nand: Freescale Integrated Flash Controller NAND support Kumar Gala
2011-08-05 14:44 ` [U-Boot] [PATCH 3/7][v2] powerpc/85xx: Add NAND/NAND_SPL support to P1010RDB Kumar Gala
2011-08-05 14:44 ` [U-Boot] [PATCH 4/7][v2] powerpc/85xx: Expanding the window of CCSRBAR in AS=1 from 4k to 1M Kumar Gala
2011-08-05 14:44 ` [U-Boot] [PATCH 5/7][v2] fsl_ifc: Add the workaround for erratum IFC-A002769 (enable on P1010) Kumar Gala
2011-08-05 14:44 ` Kumar Gala [this message]
2011-08-05 14:44 ` [U-Boot] [PATCH 7/7][v2] fsl_ifc: Add the workaround for erratum IFC A-003399(enabled " Kumar Gala
2011-10-18 6:35 ` Wolfgang Denk
2011-10-18 11:48 ` Kumar Gala
2011-10-18 11:54 ` Aggrwal Poonam-B10812
2011-10-18 20:18 ` Wolfgang Denk
2011-10-19 6:21 ` Kumar Gala
2011-10-20 0:53 ` Aggrwal Poonam-B10812
2011-08-07 11:52 ` [U-Boot] [PATCH 4/7][v2] powerpc/85xx: Expanding the window of CCSRBAR in AS=1 from 4k to 1M Sergei Shtylyov
2011-08-07 16:46 ` Kumar Gala
2011-08-26 19:08 ` [U-Boot] [PATCH 0/7][v2] powerpc/85xx: P1010RDB Kumar Gala
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1312555480-13401-7-git-send-email-galak@kernel.crashing.org \
--to=galak@kernel.crashing.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox