ls1021aqds uboot nand boot
来源:互联网 发布:脂老虎饼干 知乎 编辑:程序博客网 时间:2024/06/18 06:44
ls1021aqds uboot nand boot
- • 0
- 评论 • 4
ls1021aqds NAND boot, firstly copy 8KB from NAND flash to IFC SRAM, then CPU execute in this SRAM.
I compiled the uboot and the size of uboot is > 8KB
-rw-rw-r-- 1 splin splin 35436 10月 12 14:31 u-boot-spl.pbl
So I think uboot must copy this code to SDRAM and change to execute in the SDRAM,
but I can't find the code in ls1021aqds.c . why?
I confused that the board_init_f() in ls1021aqds.c directly call board_init_r(NULL, 0).
the ls1021aqds board don't have enough space in IFC SRAM.
does anyone know the reson?? ? Thanks!
The following is board_init_f(),which is called by ENTRY(_main) of crt0.S
#ifdef CONFIG_SPL_BUILD
void board_init_f(ulong dummy)
{
struct ccsr_cci400 *cci = (struct ccsr_cci400 *)CONFIG_SYS_CCI400_ADDR;
unsigned int major;
#ifdef CONFIG_NAND_BOOT
struct ccsr_gur __iomem *gur = (void *)CONFIG_SYS_FSL_GUTS_ADDR;
u32 porsr1, pinctl;
/*
* There is LS1 SoC issue where NOR, FPGA are inaccessible during
* NAND boot because IFC signals > IFC_AD7 are not enabled.
* This workaround changes RCW source to make all signals enabled.
*/
porsr1 = in_be32(&gur->porsr1);
pinctl = ((porsr1 & ~(DCFG_CCSR_PORSR1_RCW_MASK)) |
DCFG_CCSR_PORSR1_RCW_SRC_I2C);
out_be32((unsigned int *)(CONFIG_SYS_DCSR_DCFG_ADDR + DCFG_DCSR_PORCR1),
pinctl);
#endif
/* Clear the BSS */
memset(__bss_start, 0, __bss_end - __bss_start);
#ifdef CONFIG_FSL_IFC
init_early_memctl_regs();
#endif
get_clocks();
#if defined(CONFIG_DEEP_SLEEP)
if (is_warm_boot())
fsl_dp_disable_console();
#endif
preloader_console_init();
#ifdef CONFIG_SPL_I2C_SUPPORT
i2c_init_all();
#endif
major = get_soc_major_rev();
if (major == SOC_MAJOR_VER_1_0)
out_le32(&cci->ctrl_ord, CCI400_CTRLORD_TERM_BARRIER);
dram_init();
/* Allow OCRAM access permission as R/W */
#ifdef CONFIG_LAYERSCAPE_NS_ACCESS
enable_layerscape_ns_access();
#endif
board_init_r(NULL, 0);
}
#endif
- ls1021aqds uboot nand boot
- 关于Uboot的NOR boot 或NAND boot问题
- [UBOOT] AM335x nand init/nand command trace(u-boot-2011.09)
- [NAND]UBOOT中NAND操作
- fl2440的U-boot-2010.09移植(五)uboot架构中NAND Flash驱动修改
- U-boot-2009.08移植(五)uboot架构中NAND Flash驱动修改
- U-boot-2009.08移植(五)uboot架构中NAND Flash驱动修改
- UBOOT中NAND操作
- UBOOT中NAND操作
- UBOOT中NAND操作
- uboot 的nand驱动
- UBOOT中NAND操作
- 5月- uboot - NAND
- UBOOT中NAND操作
- uboot 的nand驱动
- uboot nand 备份
- nand flash uboot 启动
- uboot启动(nand)
- 树莓派
- springcloud(六):配置中心git示例
- 基于Qt的SocketIO客户端实现 【三】发送与接收
- springcloud(七):配置中心svn示例和refresh
- 常用Benchmark
- ls1021aqds uboot nand boot
- leetcode: 98. Validate Binary Search Tree
- springcloud(八):配置中心服务化和高可用
- 腾讯2017秋招笔试编程题:素数对 [python]
- 写给小白看的 JavaScript 异步
- 2017-11-22 6周3次课 正则------awk
- SQL优化
- springcloud(九):配置中心和消息总线(配置中心终结版)
- win10+Anaconda5.0.1 python3.6 编译caffe的坑
Look at the following document:
https://www.denx.de/wiki/pub/U-Boot/MiniSummitELCE2013/tpl-presentation.pdf
Find information about SPL in u-boot Readme. This file is available in u-boot source folder.
Have a great day,
Pavel Chubakov
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------