LS10XX的RCW参数修改方法

http://baijiahao.baidu.com/s?id=1647057098826810528&wfr=spider&for=pc

在使用LS10xx系列核心板开发项目的过程中,有时候需要根据自己的需求修改一些引脚功能或者一些引脚设置,难免有需要修改RCW(Reset ConfigurationWord)的时候。本文就是根据平时开发的经验谈一下LS10xx系列开发板修改RCW参数修改的方法。

针对三个平台修改的RCW文件位置在OK10xx-linux-fs源码中,位置为:用户资料\Linux\源码\OK10xx-linux-fs.tar.bz2,分别是:

LS1012A平台:

flexbuild/packages/firmware/rcw/ls1012ardb/R_SPNH_3508/rcw_1000_default.rcw

LS1043A平台:

flexbuild/packages/firmware/rcw/ls1043ardb/RR_FQPP_1455/rcw_1600_qspiboot.rcw

LS1046A平台:

SerDes为1040_5559的rcw配置文件:

flexbuild/packages/firmware/rcw/ls1046ardb/FORLINX/rcw_1800_qspiboot_1040_5559.rcw

SerDes为1133_5559的rcw配置文件:

flexbuild/packages/firmware/rcw/ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot.rcw

假如我们想要修改LS1046A的 EVDD IO域的电压,经过查阅《QorIQ LS1046A Reference Manual》,在P295有如下内容:

 

可以发现,我们需要修改RCW的第439-440位,字段名称为EVDD_VSEL,作用为配置EVDD IO域的电压。

打开源文件:

flexbuild/packages/firmware/rcw/ls1046ardb/FORLINX/rcw_1800_qspiboot_1040_5559.rcw

在94行有以下内容:

EVDD_VSEL=2

可知,我们源码中的RCW字段为EVDD_VSEL设置的参数为二进制的10,即EVDD IO域的电压为3.3 V。

我们在开发板上电的打印信息中是否也可以读到我们核心板RCW设置的相关信息呢?当然可以!

在LS1046A开发板上电时,串口最开始有打印信息如下:

U-Boot 2018.03 (Aug 15 2019 - 02:30:28 +0000)

SoC: LS1046A Rev1.0 (0x87070110)

Clock Configuration:

CPU0(A72):1800 MHz CPU1(A72):1800 MHz CPU2(A72):1800 MHz

CPU3(A72):1800 MHz

Bus: 700 MHz DDR: 2100 MT/s FMAN: 800 MHzReset Configuration Word (RCW):

00000000: 0e150012 10000000 00000000 00000000

00000010: 10405559 40005012 40025000 c1000000

00000020: 00000000 00000000 00000000 00238802

00000030: 20044500 00001102 00000096 00000001

我们也可以通过这个地方读出RCW字段为EVDD_VSEL设置的值。

首先通过上文我们知道,EVDD_VSEL字段处于RCW的第439-440位。而上图中RCW每一行前面显示的就是RCW的内存地址,每一个内存地址中存储着8位数据。

所以我们首先计算第439-440位处于RCW内存地址中的位置:

439/8=54

那么好了,我们取出地址54,55的数据:

00000030: 20044500 0000110200000096 00000001

因为RCW是16进制显示,则将1102化成二进制为:

0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0

接下来我们就需要知道439-440处于上面的哪两位。

首先确认上面数据的第一位处于RCW的第几位:

54*8=432

则我们可以知道上面数据的对应关系为:

 

可见,439-440的值为 10,与代码中设置相符。

接下来我们在源码中修改LS1046A的RCW文件并修改EVDD_VSEL=0,修改完成之后,编译firmware文件并烧写到核心板上。

LS1046A开发板重新上电,可以看到串口打印信息为:

U-Boot 2018.03 (Aug 15 2019 - 03:26:15 +0000)

SoC: LS1046A Rev1.0 (0x87070110)

Clock Configuration:

CPU0(A72):1800 MHz CPU1(A72):1800 MHz CPU2(A72):1800 MHz

CPU3(A72):1800 MHz

Bus: 700 MHz DDR: 2100 MT/s FMAN: 800 MHzReset Configuration Word (RCW):

00000000: 0e150012 10000000 00000000 00000000

00000010: 10405559 40005012 40025000 c1000000

00000020: 00000000 00000000 00000000 00238802

00000030: 20044500 00001002 00000096 00000001

按上面办法重新读出439-440位的数据如下:

 

 

可见已经修改成功。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值