From e8e9617642345cfd9070442b0964ffc8f39b196f Mon Sep 17 00:00:00 2001 From: Tang Yun ping Date: Wed, 5 Aug 2020 10:36:47 +0800 Subject: [PATCH] rv1126: tpl: update thunder boot ddr bin to v1.03 build from next-dev: ee5f082 rv1126: ddr: add extended temperature support build command: CONFIG_ROCKCHIP_THUNDER_BOOT=y for lp3 bin, CONFIG_ROCKCHIP_TPL_INIT_DRAM_TYPE need set to 6. default CONFIG_ROCKCHIP_DRAM_EXTENDED_TEMP_SUPPORT=n, if you need extended temperature bin, you need enable "CONFIG_ROCKCHIP_DRAM\ _EXTENDED_TEMP_SUPPORT", then rebuild uboot. ./make.sh rv1126 && ./make.sh tpl. update feature: 1) update driver strength. 2) fix bug of wr training fail. 3) fix dram bandwidth detect error. 4) support dqs layout longger than clk. Change-Id: Ia79830e06e6b5f8f2e929a760414587e60f91754 Signed-off-by: Tang Yun ping --- RKBOOT/RV1126MINIALL_EMMC_TB.ini | 6 +++--- RKBOOT/RV1126MINIALL_SPI_NOR_TB.ini | 6 +++--- ...in => rv1126_tpl_924MHz_ddr3_tb_v1.03.bin} | Bin 20440 -> 20536 bytes ...bin => rv1126_tpl_924MHz_lp3_tb_v1.03.bin} | Bin 20440 -> 20536 bytes 4 files changed, 6 insertions(+), 6 deletions(-) rename bin/rv11/{rv1126_tpl_924MHz_ddr3_tb_v1.02.bin => rv1126_tpl_924MHz_ddr3_tb_v1.03.bin} (53%) rename bin/rv11/{rv1126_tpl_924MHz_lp3_tb_v1.02.bin => rv1126_tpl_924MHz_lp3_tb_v1.03.bin} (53%) diff --git a/RKBOOT/RV1126MINIALL_EMMC_TB.ini b/RKBOOT/RV1126MINIALL_EMMC_TB.ini index dfade881..c7cad706 100755 --- a/RKBOOT/RV1126MINIALL_EMMC_TB.ini +++ b/RKBOOT/RV1126MINIALL_EMMC_TB.ini @@ -5,7 +5,7 @@ MAJOR=1 MINOR=1 [CODE471_OPTION] NUM=1 -Path1=bin/rv11/rv1126_tpl_924MHz_ddr3_tb_v1.02.bin +Path1=bin/rv11/rv1126_tpl_924MHz_ddr3_tb_v1.03.bin Sleep=1 [CODE472_OPTION] NUM=1 @@ -14,7 +14,7 @@ Path1=bin/rv11/rv1126_usbplug_v1.11.bin NUM=2 LOADER1=FlashData LOADER2=FlashBoot -FlashData=bin/rv11/rv1126_tpl_924MHz_ddr3_tb_v1.02.bin +FlashData=bin/rv11/rv1126_tpl_924MHz_ddr3_tb_v1.03.bin FlashBoot=bin/rv11/rv1126_spl_emmc_tb_v1.01.bin [OUTPUT] -PATH=rv1126_spl_loader_v1.02.101.bin +PATH=rv1126_spl_loader_v1.03.101.bin diff --git a/RKBOOT/RV1126MINIALL_SPI_NOR_TB.ini b/RKBOOT/RV1126MINIALL_SPI_NOR_TB.ini index 1a78d052..295766e4 100755 --- a/RKBOOT/RV1126MINIALL_SPI_NOR_TB.ini +++ b/RKBOOT/RV1126MINIALL_SPI_NOR_TB.ini @@ -5,7 +5,7 @@ MAJOR=1 MINOR=1 [CODE471_OPTION] NUM=1 -Path1=bin/rv11/rv1126_tpl_924MHz_ddr3_tb_v1.02.bin +Path1=bin/rv11/rv1126_tpl_924MHz_ddr3_tb_v1.03.bin Sleep=1 [CODE472_OPTION] NUM=1 @@ -14,7 +14,7 @@ Path1=bin/rv11/rv1126_usbplug_v1.11.bin NUM=2 LOADER1=FlashData LOADER2=FlashBoot -FlashData=bin/rv11/rv1126_tpl_924MHz_ddr3_tb_v1.02.bin +FlashData=bin/rv11/rv1126_tpl_924MHz_ddr3_tb_v1.03.bin FlashBoot=bin/rv11/rv1126_spl_spi_nor_tb_v1.00.bin [OUTPUT] -PATH=rv1126_spl_loader_v1.00.100.bin +PATH=rv1126_spl_loader_v1.03.100.bin diff --git a/bin/rv11/rv1126_tpl_924MHz_ddr3_tb_v1.02.bin b/bin/rv11/rv1126_tpl_924MHz_ddr3_tb_v1.03.bin similarity index 53% rename from bin/rv11/rv1126_tpl_924MHz_ddr3_tb_v1.02.bin rename to bin/rv11/rv1126_tpl_924MHz_ddr3_tb_v1.03.bin index 66c121322260513c48513bbc0e24b3d980c02222..431d6c350393d0ba1ff8904237abd6ee9f9a83fb 100644 GIT binary patch delta 5231 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 b;C>D{vSy!G{Hw=1JPVx8D| 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 A@Bjb+ delta 4954 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 ba6gwEoHvE&N^_YCOg@{R*7bDhHxd5}OV_-S