mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
powerpc/mpc85xx:No NOR boot, do not compile IFC errata A003399
IFC errata A003399 is valid for IFC NOR boot i.e.if no on-board NOR flash or no NOR boot, do not compile its workaround. Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com> Signed-off-by: Andy Fleming <afleming@freescale.com>
This commit is contained in:
parent
76d354f411
commit
74fa22ed73
4 changed files with 17 additions and 6 deletions
4
README
4
README
|
@ -413,6 +413,10 @@ The following options need to be configured:
|
|||
See Freescale App Note 4493 for more information about
|
||||
this erratum.
|
||||
|
||||
CONFIG_A003399_NOR_WORKAROUND
|
||||
Enables a workaround for IFC erratum A003399. It is only
|
||||
requred during NOR boot.
|
||||
|
||||
CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY
|
||||
|
||||
This is the value to write into CCSR offset 0x18600
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
#if defined(CONFIG_SYS_FSL_ERRATUM_IFC_A003399) && !defined(CONFIG_SYS_RAMBOOT)
|
||||
#ifdef CONFIG_A003399_NOR_WORKAROUND
|
||||
void setup_ifc(void)
|
||||
{
|
||||
struct fsl_ifc *ifc_regs = (void *)CONFIG_SYS_IFC_ADDR;
|
||||
|
@ -99,7 +99,7 @@ void cpu_init_early_f(void)
|
|||
#ifdef CONFIG_SYS_FSL_ERRATUM_P1010_A003549
|
||||
ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
|
||||
#endif
|
||||
#if defined(CONFIG_SYS_FSL_ERRATUM_IFC_A003399) && !defined(CONFIG_SYS_RAMBOOT)
|
||||
#ifdef CONFIG_A003399_NOR_WORKAROUND
|
||||
ccsr_l2cache_t *l2cache = (void *)CONFIG_SYS_MPC85xx_L2_ADDR;
|
||||
u32 *dst, *src;
|
||||
void (*setup_ifc_sram)(void);
|
||||
|
@ -138,7 +138,7 @@ void cpu_init_early_f(void)
|
|||
* Work Around for IFC Erratum A003399, issue will hit only when execution
|
||||
* from NOR Flash
|
||||
*/
|
||||
#if defined(CONFIG_SYS_FSL_ERRATUM_IFC_A003399) && !defined(CONFIG_SYS_RAMBOOT)
|
||||
#ifdef CONFIG_A003399_NOR_WORKAROUND
|
||||
#define SRAM_BASE_ADDR (0x00000000)
|
||||
/* TLB for SRAM */
|
||||
mas0 = MAS0_TLBSEL(1) | MAS0_ESEL(9);
|
||||
|
|
|
@ -43,7 +43,7 @@ void init_early_memctl_regs(void)
|
|||
set_ifc_ftim(IFC_CS0, IFC_FTIM2, CONFIG_SYS_CS0_FTIM2);
|
||||
set_ifc_ftim(IFC_CS0, IFC_FTIM3, CONFIG_SYS_CS0_FTIM3);
|
||||
|
||||
#if !defined(CONFIG_SYS_FSL_ERRATUM_IFC_A003399) || defined(CONFIG_SYS_RAMBOOT)
|
||||
#ifndef CONFIG_A003399_NOR_WORKAROUND
|
||||
#ifdef CONFIG_SYS_CSPR0_EXT
|
||||
set_ifc_cspr_ext(IFC_CS0, CONFIG_SYS_CSPR0_EXT);
|
||||
#endif
|
||||
|
|
|
@ -31,10 +31,10 @@
|
|||
#define CONFIG_PHYS_64BIT
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_P1010RDB
|
||||
#define CONFIG_P1010
|
||||
#define CONFIG_E500 /* BOOKE e500 family */
|
||||
#include <asm/config_mpc85xx.h>
|
||||
#define CONFIG_NAND_FSL_IFC
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SDCARD
|
||||
#define CONFIG_RAMBOOT_SDCARD
|
||||
|
@ -429,6 +429,13 @@ extern unsigned long get_sdram_size(void);
|
|||
#undef CONFIG_SYS_RAMBOOT
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SYS_FSL_ERRATUM_IFC_A003399
|
||||
#if !defined(CONFIG_SPL) && !defined(CONFIG_SYS_RAMBOOT)\
|
||||
&& !defined(CONFIG_SECURE_BOOT)
|
||||
#define CONFIG_A003399_NOR_WORKAROUND
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F /* Call board_pre_init */
|
||||
#define CONFIG_BOARD_EARLY_INIT_R
|
||||
|
||||
|
|
Loading…
Reference in a new issue