arm: mvebu: Add complete SDRAM ECC scrubbing
This patch introduces the SDRAM scrubbing for ECC enabled board to fill/initialize the ECC bytes. This is done via the XOR engine to speed up the process. The scrubbing is a 2-stage process: 1) SPL scrubs the area 0 - 0x100.0000 (16MiB) for the main U-Boot 2) U-Boot scrubs the remaining SDRAM area(s) Signed-off-by: Stefan Roese <sr@denx.de> Cc: Luka Perkov <luka.perkov@sartura.hr>
This commit is contained in:

committed by
Luka Perkov

parent
a8b57a90ec
commit
0ceb2dae78
@@ -18,7 +18,6 @@ static u32 xor_regs_ctrl_backup;
|
||||
static u32 xor_regs_base_backup[MAX_CS];
|
||||
static u32 xor_regs_mask_backup[MAX_CS];
|
||||
|
||||
static void mv_xor_hal_init(u32 chan_num);
|
||||
static int mv_xor_cmd_set(u32 chan, int command);
|
||||
static int mv_xor_ctrl_set(u32 chan, u32 xor_ctrl);
|
||||
|
||||
@@ -110,7 +109,7 @@ void mv_sys_xor_finish(void)
|
||||
* RETURN:
|
||||
* MV_BAD_PARAM if parameters to function invalid, MV_OK otherwise.
|
||||
*/
|
||||
static void mv_xor_hal_init(u32 chan_num)
|
||||
void mv_xor_hal_init(u32 chan_num)
|
||||
{
|
||||
u32 i;
|
||||
|
||||
|
@@ -60,6 +60,7 @@ struct crc_dma_desc {
|
||||
u32 src_addr1; /* Mode: Source Block address pointer */
|
||||
} __packed;
|
||||
|
||||
void mv_xor_hal_init(u32 chan_num);
|
||||
int mv_xor_state_get(u32 chan);
|
||||
void mv_sys_xor_init(MV_DRAM_INFO *dram_info);
|
||||
void mv_sys_xor_finish(void);
|
||||
|
Reference in New Issue
Block a user