TIwilliam hill官网
直播中

于帅

7年用户 183经验值
私信 关注
[问答]

dvr_rdk4.0 uboot启动不了的问题

大家好:
         我有一块板子,使用之前dvr_rdk3.0版本的uboot能够正常启动,但是在使用了dvr_rdk4.0的uboot之后发现板子不能正常启动了,进入uboot之后通常只能打印出几行打印,板子就挂了,dvr_rdk4.0的uboot我重新编过,我根据ddr3的芯片手册和ti提供的DM816x_C6A816x_AM389x_EMIF4_Register_Settings.xls表格计算过ddr_defs_ti816x.h和clocks_ti816x.h中的SDTIMR1,SDTIMR2,SDTIMR3,指定了#define CONFIG_TI816X_DDR3_796的值,并且把DDR_CWL 设为1      DDR_CL 设为7,我想问一下除了修改这几个地方还有别的地方要改吗,我做的这些修改有没有什么问题?  

回帖(5)

刘颖

2018-6-21 10:47:27
你好,
  你的是什么芯片平台?能否提供一下uboot打印的log?其实可以比较一下你可用的uboot(RDK 3.0)与RDK 4.0的uboot关于DDR的配置,如果一致,应该不是DDR的问题,如果不一致,就将可用的DDR配置导到RDK4.0来试一下。
举报

于帅

2018-6-21 11:05:11
引用: cmh8 发表于 2018-6-21 10:47
你好,
  你的是什么芯片平台?能否提供一下uboot打印的log?其实可以比较一下你可用的uboot(RDK 3.0)与RDK 4.0的uboot关于DDR的配置,如果一致,应该不是DDR的问题,如果不一致,就将可用的DDR配置导到RDK4.0来试一下。

你好,
    我们用的是dm8168 ccyg4.打印信息在附件中。uboot中修改的文件clocks_ti816x.h和ddr_defs_ti816x.h也在附件里。能不能帮我看一下是不是改这些地方。
同时还有一个问题,在uboot使用能够启动的版本启动后,用示波器测量差分时钟信号发现,不管如何修改ddr频率等配置,在uboot下板子始终跑在800M的频率下,请问这又是什么原因。
举报

刘颖

2018-6-21 11:19:57
引用: 碗里去金额 发表于 2018-6-21 11:05
你好,
    我们用的是dm8168 ccyg4.打印信息在附件中。uboot中修改的文件clocks_ti816x.h和ddr_defs_ti816x.h也在附件里。能不能帮我看一下是不是改这些地方。
同时还有一个问题,在uboot使用能够启动的版本启动后,用示波器测量差分时钟信号发现,不管如何修改ddr频率等配置,在uboot下板子始终跑在800M的频率下,请问 ...

你好,
  你修改的代码有问题, 下面红色部分是你的代码,控制DDR的频率是通过类似 “CONFIG_TI816X_DDR3_796” 宏来控制的,如果需要DDR为675,请将黄色部分修改宏为CONFIG_TI816X_DDR3_675,另外在ddr_defs_ti816x.h里面只用修改DDR的Timing和DDR leveling提到的几个寄存器。
#ifndef CONFIG_UD8168_DVR
#define CONFIG_TI816X_DDR3_796 /* Values supported 400,531,675,796 */
#endif
#ifdef CONFIG_TI816X_DDR3_796
#define DDR_PLL_796 675
#endif
#else
#define DDR_PLL_796 796/* Values supported 400,531,675,796 */
#endif
举报

于帅

2018-6-21 11:27:02
引用: cmh8 发表于 2018-6-21 11:19
你好,
  你修改的代码有问题, 下面红色部分是你的代码,控制DDR的频率是通过类似 “CONFIG_TI816X_DDR3_796” 宏来控制的,如果需要DDR为675,请将黄色部分修改宏为CONFIG_TI816X_DDR3_675,另外在ddr_defs_ti816x.h里面只用修改DDR的Timing和DDR leveling提到的几个寄存器。
#ifndef CONFIG_UD8168_DVR

你好,
    谢谢你的帮助,现在我们的板子使用4.0版本uboot不能启动的问题解决了,问题应该是在硬件上的电源芯片。但是我照着您说的方法修改ddr的频率之后发现ddr还是只跑在800M上。
    我现在想把频率改到1066,在ddr_defs_ti816x.h中做了如下修改:
#ifndef CONFIG_UD8168_DVR
#define CONFIG_TI816X_DDR3_531  /* Values supported 400,531,675,796 */
#endif
/* For 531 MHz */
#if defined(CONFIG_TI816X_DDR3_531)
#define EMIF_TIM1    0x0CCF36B3//0x0EF136AC
#define EMIF_TIM2    0x308F7FDA//0x30408063
#define EMIF_TIM3    0x001F88AF//0x009F83AF
我暂时没有修改DDR leveling那几个寄存器,那几个寄存器值是通过RatioSeed.xls和DDR3_SlaveRatio_ByteWiseSearch_TI816x.out在CCS上计算的吗?
修改ddr频率是否一定要修改这几个DDR leveling寄存器?

最后现在又出现了一个问题,uboot下硬件复位没有问题,但是敲reset命令后只能打印出resetting...  之后就没有任何反应了。不知这个问题您能不能给些思路
麻烦您了!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分