For sama5d3xek we need to modify the SPL image for correct detection by ROM code. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com> Tested-by: Bo Shen <voice.shen@atmel.com>master
parent
7b1a411743
commit
5c390a5b26
@ -0,0 +1,10 @@ |
|||||||
|
#
|
||||||
|
# Copyright (C) 2014, Andreas Bießmann <andreas.devel@googlemail.com>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-2.0+
|
||||||
|
#
|
||||||
|
ifdef CONFIG_SPL_BUILD |
||||||
|
ALL-y += boot.bin
|
||||||
|
else |
||||||
|
ALL-y += u-boot.img
|
||||||
|
endif |
@ -0,0 +1,51 @@ |
|||||||
|
/*
|
||||||
|
* (C) Copyright 2014 Andreas Bießmann <andreas.devel@googlemail.com> |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: GPL-2.0+ |
||||||
|
*/ |
||||||
|
|
||||||
|
/*
|
||||||
|
* This is a host tool for generating an appropriate string out of board |
||||||
|
* configuration. The string is required for correct generation of PMECC |
||||||
|
* header which in turn is required for NAND flash booting of Atmel AT91 style |
||||||
|
* hardware. |
||||||
|
* |
||||||
|
* See doc/README.atmel_pmecc for more information. |
||||||
|
*/ |
||||||
|
|
||||||
|
#include <config.h> |
||||||
|
#include <stdlib.h> |
||||||
|
|
||||||
|
static int pmecc_get_ecc_bytes(int cap, int sector_size) |
||||||
|
{ |
||||||
|
int m = 12 + sector_size / 512; |
||||||
|
return (m * cap + 7) / 8; |
||||||
|
} |
||||||
|
|
||||||
|
int main(int argc, char *argv[]) |
||||||
|
{ |
||||||
|
unsigned int use_pmecc = 0; |
||||||
|
unsigned int sector_per_page; |
||||||
|
unsigned int sector_size = CONFIG_PMECC_SECTOR_SIZE; |
||||||
|
unsigned int oob_size = CONFIG_SYS_NAND_OOBSIZE; |
||||||
|
unsigned int ecc_bits = CONFIG_PMECC_CAP; |
||||||
|
unsigned int ecc_offset; |
||||||
|
|
||||||
|
#ifdef CONFIG_ATMEL_NAND_HW_PMECC |
||||||
|
use_pmecc = 1; |
||||||
|
#endif |
||||||
|
|
||||||
|
sector_per_page = CONFIG_SYS_NAND_PAGE_SIZE / CONFIG_PMECC_SECTOR_SIZE; |
||||||
|
ecc_offset = oob_size - |
||||||
|
pmecc_get_ecc_bytes(ecc_bits, sector_size) * sector_per_page; |
||||||
|
|
||||||
|
printf("usePmecc=%d,", use_pmecc); |
||||||
|
printf("sectorPerPage=%d,", sector_per_page); |
||||||
|
printf("sectorSize=%d,", sector_size); |
||||||
|
printf("spareSize=%d,", oob_size); |
||||||
|
printf("eccBits=%d,", ecc_bits); |
||||||
|
printf("eccOffset=%d", ecc_offset); |
||||||
|
printf("\n"); |
||||||
|
|
||||||
|
exit(EXIT_SUCCESS); |
||||||
|
} |
Loading…
Reference in new issue