mirror of
https://github.com/Stichting-MINIX-Research-Foundation/u-boot.git
synced 2025-09-13 14:06:07 -04:00
ppc4xx: Update Sequoia NAND booting support with ECC
Signed-off-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
cf959c7d66
commit
9d9096043e
@ -379,7 +379,11 @@ void denali_core_search_data_eye(unsigned long memory_size)
|
|||||||
long int initdram (int board_type)
|
long int initdram (int board_type)
|
||||||
{
|
{
|
||||||
#if !defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL)
|
#if !defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL)
|
||||||
|
#if !defined(CONFIG_NAND_SPL)
|
||||||
ulong speed = get_bus_freq(0);
|
ulong speed = get_bus_freq(0);
|
||||||
|
#else
|
||||||
|
ulong speed = 133333333; /* 133MHz is on the safe side */
|
||||||
|
#endif
|
||||||
|
|
||||||
mtsdram(DDR0_02, 0x00000000);
|
mtsdram(DDR0_02, 0x00000000);
|
||||||
|
|
||||||
|
@ -166,12 +166,19 @@
|
|||||||
/*
|
/*
|
||||||
* Now the NAND chip has to be defined (no autodetection used!)
|
* Now the NAND chip has to be defined (no autodetection used!)
|
||||||
*/
|
*/
|
||||||
#define CFG_NAND_PAGE_SIZE (512) /* NAND chip page size */
|
#define CFG_NAND_PAGE_SIZE 512 /* NAND chip page size */
|
||||||
#define CFG_NAND_BLOCK_SIZE (16 << 10) /* NAND chip block size */
|
#define CFG_NAND_BLOCK_SIZE (16 << 10) /* NAND chip block size */
|
||||||
#define CFG_NAND_PAGE_COUNT (32) /* NAND chip page count */
|
#define CFG_NAND_PAGE_COUNT 32 /* NAND chip page count */
|
||||||
#define CFG_NAND_BAD_BLOCK_POS (5) /* Location of bad block marker */
|
#define CFG_NAND_BAD_BLOCK_POS 5 /* Location of bad block marker */
|
||||||
#undef CFG_NAND_4_ADDR_CYCLE /* No fourth addr used (<=32MB) */
|
#undef CFG_NAND_4_ADDR_CYCLE /* No fourth addr used (<=32MB) */
|
||||||
|
|
||||||
|
#define CFG_NAND_ECCSIZE 256
|
||||||
|
#define CFG_NAND_ECCBYTES 3
|
||||||
|
#define CFG_NAND_ECCSTEPS (CFG_NAND_PAGE_SIZE / CFG_NAND_ECCSIZE)
|
||||||
|
#define CFG_NAND_OOBSIZE 16
|
||||||
|
#define CFG_NAND_ECCTOTAL (CFG_NAND_ECCBYTES * CFG_NAND_ECCSTEPS)
|
||||||
|
#define CFG_NAND_ECCPOS {0, 1, 2, 3, 6, 7}
|
||||||
|
|
||||||
#ifdef CFG_ENV_IS_IN_NAND
|
#ifdef CFG_ENV_IS_IN_NAND
|
||||||
/*
|
/*
|
||||||
* For NAND booting the environment is embedded in the U-Boot image. Please take
|
* For NAND booting the environment is embedded in the U-Boot image. Please take
|
||||||
|
@ -30,7 +30,7 @@ AFLAGS += -DCONFIG_NAND_SPL
|
|||||||
CFLAGS += -DCONFIG_NAND_SPL
|
CFLAGS += -DCONFIG_NAND_SPL
|
||||||
|
|
||||||
SOBJS = start.o init.o resetvec.o
|
SOBJS = start.o init.o resetvec.o
|
||||||
COBJS = nand_boot.o ndfc.o sdram.o speed.o
|
COBJS = nand_boot.o nand_ecc.o ndfc.o sdram.o
|
||||||
|
|
||||||
SRCS := $(addprefix $(obj),$(SOBJS:.o=.S) $(COBJS:.o=.c))
|
SRCS := $(addprefix $(obj),$(SOBJS:.o=.S) $(COBJS:.o=.c))
|
||||||
OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS))
|
OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS))
|
||||||
@ -69,10 +69,6 @@ $(obj)start.S:
|
|||||||
@rm -f $(obj)start.S
|
@rm -f $(obj)start.S
|
||||||
ln -s $(SRCTREE)/cpu/ppc4xx/start.S $(obj)start.S
|
ln -s $(SRCTREE)/cpu/ppc4xx/start.S $(obj)start.S
|
||||||
|
|
||||||
$(obj)speed.c:
|
|
||||||
@rm -f $(obj)speed.c
|
|
||||||
ln -s $(SRCTREE)/cpu/ppc4xx/speed.c $(obj)speed.c
|
|
||||||
|
|
||||||
# from board directory
|
# from board directory
|
||||||
$(obj)init.S:
|
$(obj)init.S:
|
||||||
@rm -f $(obj)init.S
|
@rm -f $(obj)init.S
|
||||||
@ -89,6 +85,11 @@ $(obj)nand_boot.c:
|
|||||||
@rm -f $(obj)nand_boot.c
|
@rm -f $(obj)nand_boot.c
|
||||||
ln -s $(SRCTREE)/nand_spl/nand_boot.c $(obj)nand_boot.c
|
ln -s $(SRCTREE)/nand_spl/nand_boot.c $(obj)nand_boot.c
|
||||||
|
|
||||||
|
# from drivers/nand directory
|
||||||
|
$(obj)nand_ecc.c:
|
||||||
|
@rm -f $(obj)nand_ecc.c
|
||||||
|
ln -s $(SRCTREE)/drivers/nand/nand_ecc.c $(obj)nand_ecc.c
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
$(obj)%.o: $(obj)%.S
|
$(obj)%.o: $(obj)%.S
|
||||||
|
Loading…
x
Reference in New Issue
Block a user