fsl_elbc_nand: redirect the pointer of bbt pattern to RAM
The bbt descriptors contains the pointer to the bbt pattern which are statically initialized memory struct. When relocated to RAM, these pointers will continue point to NOR flash(or L2 SRAM, or other boot device). If the contents of NOR flash changed or L2 SRAM disabled, it'll hang the system. Signed-off-by: Mingkai Hu <Mingkai.hu@freescale.com> Signed-off-by: Scott Wood <scottwood@freescale.com>
This commit is contained in:
		
							parent
							
								
									1dac3a5187
								
							
						
					
					
						commit
						66372fe2ab
					
				|  | @ -766,6 +766,9 @@ int board_nand_init(struct nand_chip *nand) | ||||||
| 	nand->waitfunc = fsl_elbc_wait; | 	nand->waitfunc = fsl_elbc_wait; | ||||||
| 
 | 
 | ||||||
| 	/* set up nand options */ | 	/* set up nand options */ | ||||||
|  | 	/* redirect the pointer of bbt pattern to RAM */ | ||||||
|  | 	bbt_main_descr.pattern = bbt_pattern; | ||||||
|  | 	bbt_mirror_descr.pattern = mirror_pattern; | ||||||
| 	nand->bbt_td = &bbt_main_descr; | 	nand->bbt_td = &bbt_main_descr; | ||||||
| 	nand->bbt_md = &bbt_mirror_descr; | 	nand->bbt_md = &bbt_mirror_descr; | ||||||
| 
 | 
 | ||||||
|  | @ -812,6 +815,7 @@ int board_nand_init(struct nand_chip *nand) | ||||||
| 	/* Large-page-specific setup */ | 	/* Large-page-specific setup */ | ||||||
| 	if (or & OR_FCM_PGS) { | 	if (or & OR_FCM_PGS) { | ||||||
| 		priv->page_size = 1; | 		priv->page_size = 1; | ||||||
|  | 		largepage_memorybased.pattern = scan_ff_pattern; | ||||||
| 		nand->badblock_pattern = &largepage_memorybased; | 		nand->badblock_pattern = &largepage_memorybased; | ||||||
| 
 | 
 | ||||||
| 		/* adjust ecc setup if needed */ | 		/* adjust ecc setup if needed */ | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue