rk3326 源码修改ddr驱动强度 详细修改步骤
时间: 2023-10-24 10:07:50 浏览: 173
修改rk3326的DDR驱动强度的具体步骤如下:
1. 打开rk3326的DDR控制器寄存器
打开DDR控制器寄存器,可以使用开发板提供的工具软件,如RKTools、RKDevTool等,或者使用命令行工具adb shell访问寄存器。
2. 进入PHY寄存器,找到与强度相关的控制位
在DDR控制器的寄存器中,找到PHY寄存器,一般为PHY_REG1、PHY_REG2等,具体寄存器地址可以查阅rk3326的技术手册。在这些PHY寄存器中,会有一些与驱动强度相关的控制位,如PHY_DRV_STRENGTH等。
3. 修改控制位的值,来改变DDR驱动强度
通过修改PHY寄存器中与驱动强度相关的控制位的值,可以改变DDR驱动强度。一般来说,控制位的位宽为2-4位,每一位代表一个驱动强度等级,可以根据需求将其中的一个或多个控制位的值修改为所需的驱动强度等级。
4. 写入修改后的值到寄存器,完成DDR驱动强度的修改
在修改完控制位的值后,需要将修改后的值写入到PHY寄存器中,才能生效。写入的方式可以使用RKTools等工具软件,或者使用命令行工具adb shell访问寄存器。写入成功后,重新启动设备,DDR驱动强度即可生效。
需要注意的是,不同DDR控制器的寄存器地址、PHY寄存器、控制位等可能不同,具体修改方法需根据rk3326的技术手册进行操作。同时,修改DDR驱动强度需要对硬件有一定的了解,不当的修改可能会导致系统不稳定,甚至损坏硬件。因此,建议在进行修改之前,先备份原始的寄存器值,并在实验室等受控环境下进行。
相关问题
rk3326 源码修改ddr驱动强度
修改rk3326的ddr驱动强度需要打开rk3326的DDR控制器的寄存器,在寄存器中修改PHY寄存器的值来实现。具体步骤如下:
1. 打开rk3326的DDR控制器寄存器。
2. 进入PHY寄存器,找到与强度相关的控制位。
3. 修改控制位的值,来改变DDR驱动强度。
4. 写入修改后的值到寄存器,完成DDR驱动强度的修改。
需要注意的是,修改DDR驱动强度需要对硬件有一定的了解,不当的修改可能会导致系统不稳定,甚至损坏硬件。因此,建议在进行修改之前,先备份原始的寄存器值,并在实验室等受控环境下进行。
rk3326 增加ddr驱动强度 源码修改
要增加RK3326 DDR驱动强度,需要修改内核源码并重新编译内核。具体的步骤如下:
1. 下载并解压内核源码:
```
git clone https://github.com/rockchip-linux/kernel.git
cd kernel/
git checkout -b rk3326-pie origin/release-4.4-rockchip-ayufan-bsp
```
2. 进入内核配置界面,启用DDR压力测试选项:
```
make ARCH=arm64 rockchip_rk3326_defconfig
make ARCH=arm64 menuconfig
```
在菜单中选择“Device Drivers” -> “Memory Technology Devices” -> “Rockchip DDR Stress Test Driver”,将其选中并保存退出。
3. 修改DDR驱动强度:
进入驱动源码目录:
```
cd drivers/mtd/nand/rk_nand/
```
编辑rk_nand.c文件,在rk_nfc_init函数中增加如下代码:
```
struct device_node *np = NULL;
u32 ddr_para[3] = {0x02000000, 0x0, 0x0};
np = of_find_compatible_node(NULL, NULL, "rockchip,rk3326-nand");
if (np)
of_property_read_u32_array(np, "rockchip,ddr_para", ddr_para, ARRAY_SIZE(ddr_para));
nand_phy_ddr_set_para(ddr_para[0], ddr_para[1], ddr_para[2]);
```
其中,ddr_para数组中的三个值分别代表:PHY_CTL0,PHY_CTL1和PHY_CTL2。这些值需要根据实际情况调整,可以参考rk3326-nand.dtsi文件中的设置。
4. 编译内核:
```
make ARCH=arm64 rk3326-px30-evb.img -j8
```
5. 将新编译的内核烧录到设备中。
阅读全文