一、概述
以下以rk3568为例,讲述如何修改串口波特率115200->1500000
二、修改
2.1 uboot中修改
修改配置文件:u-boot/configs/firefly-rk3568_defconfig
CONFIG_BAUDRATE=115200
该修改影响=》uboot阶段串口波特率
2.2 kernel中修改
修改设备树文件:kernel/arch/arm64/boot/dts/rockchip/rk3568-linux.dtsi
@@ -15,7 +15,7 @@
rockchip,wake-irq = <0>;
/* If enable uart uses irq instead of fiq */
rockchip,irq-mode-enable = <1>;
- rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */
+ rockchip,baudrate = <115200>; /* Only 115200 and 1500000 */
interrupts = <GIC_SPI 252 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&uart2m0_xfer>;
该修改影响=》kernel阶段串口波特率
2.3 如果固件使用的是闭源方案,还需要改ddr bin(uboot的前置阶段)
1)修改rkbin/tools/ddrbin_param.txt
@@ -10,7 +10,7 @@ lp4x_freq=
uart id=
uart iomux=
-uart baudrate=
+uart baudrate=115200
sr_idle=
pd_idle=
2)更新ddr bin文件
具体可查看rkbin/tools/ddrbin_tool_user_guide.txt文件
cd rkbin/tools
./ddrbin_tool ddrbin_param.txt ../bin/rk35/rk3568_ddr_1560MHz_v1.10.bin
三、ddr bin流程
rk3568默认使用闭源方案:
BOOTROM => ddr bin => Miniloader => TRUST => U-BOOT => KERNEL => rootfs
其中ddr bin是rk提供的闭源img,相当于uboot的tpl/spl阶段
u-boot/make.sh
select_ini_file
INI_LOADER=${RKBIN}/RKBOOT/${RKCHIP_LOADER}MINIALL.ini
=> rkbin/RKBOOT/RK3568MINIALL.ini
RK3568MINIALL.ini
13 [LOADER_OPTION]
14 NUM=2
15 LOADER1=FlashData
16 LOADER2=FlashBoot
17 FlashData=bin/rk35/rk3568_ddr_1560MHz_v1.10.bin
18 FlashBoot=bin/rk35/rk356x_spl_v1.11.bin
19 [OUTPUT]
20 PATH=rk356x_spl_loader_v1.10.111.bin
编译时将通过FlashData和FlashBoot生成rk356x_spl_loader_v1.10.111.bin作为闭源spl(ddr bin)
通过ddrbin_param.txt可以对ddr bin进行配置,具体请看ddrbin_tool_user_guide.txt