From 138f9d63fbb633cf53dea211b525f6b9d3c5febf Mon Sep 17 00:00:00 2001 From: Tang Yun ping Date: Tue, 28 May 2019 15:34:05 +0800 Subject: [PATCH] rk322xh/rk3328: ddr: update ddr init code to v1.16 print info: DDR Version 1.14 20190328 from commit: aba5167 rk322xh: update DDR Version 1.16 20190528 update feature: b4ea57c rk322xh: ddr: enable 2T mode for DDR3 7134b25 rk322xH: ddr: fix wrong uart base address for atags Change-Id: I5ecd6a0082c7c2afc3b1196d42dbad4a1adbe231 Signed-off-by: Tang Yun ping --- RKBOOT/RK322XHMINIALL.ini | 6 +++--- RKBOOT/RK3328MINIALL.ini | 6 +++--- ...v1.14.bin => rk322xh_ddr_333MHz_v1.16.bin} | Bin 28468 -> 28532 bytes ..._v1.14.bin => rk3328_ddr_333MHz_v1.16.bin} | Bin 28468 -> 28532 bytes 4 files changed, 6 insertions(+), 6 deletions(-) rename bin/rk33/{rk322xh_ddr_333MHz_v1.14.bin => rk322xh_ddr_333MHz_v1.16.bin} (55%) rename bin/rk33/{rk3328_ddr_333MHz_v1.14.bin => rk3328_ddr_333MHz_v1.16.bin} (54%) diff --git a/RKBOOT/RK322XHMINIALL.ini b/RKBOOT/RK322XHMINIALL.ini index 96096347..055beb07 100755 --- a/RKBOOT/RK322XHMINIALL.ini +++ b/RKBOOT/RK322XHMINIALL.ini @@ -5,7 +5,7 @@ MAJOR=2 MINOR=50 [CODE471_OPTION] NUM=1 -Path1=bin/rk33/rk322xh_ddr_333MHz_v1.14.bin +Path1=bin/rk33/rk322xh_ddr_333MHz_v1.16.bin Sleep=1 [CODE472_OPTION] NUM=1 @@ -14,7 +14,7 @@ Path1=bin/rk33/rk322xh_usbplug_v2.50.bin NUM=2 LOADER1=FlashData LOADER2=FlashBoot -FlashData=bin/rk33/rk322xh_ddr_333MHz_v1.14.bin +FlashData=bin/rk33/rk322xh_ddr_333MHz_v1.16.bin FlashBoot=bin/rk33/rk322xh_miniloader_v2.50.bin [OUTPUT] -PATH=rk322xh_loader_v1.14.250.bin +PATH=rk322xh_loader_v1.16.250.bin diff --git a/RKBOOT/RK3328MINIALL.ini b/RKBOOT/RK3328MINIALL.ini index 3c20c918..d1aac87c 100755 --- a/RKBOOT/RK3328MINIALL.ini +++ b/RKBOOT/RK3328MINIALL.ini @@ -5,7 +5,7 @@ MAJOR=2 MINOR=50 [CODE471_OPTION] NUM=1 -Path1=bin/rk33/rk3328_ddr_333MHz_v1.14.bin +Path1=bin/rk33/rk3328_ddr_333MHz_v1.16.bin Sleep=1 [CODE472_OPTION] NUM=1 @@ -14,7 +14,7 @@ Path1=bin/rk33/rk322xh_usbplug_v2.50.bin NUM=2 LOADER1=FlashData LOADER2=FlashBoot -FlashData=bin/rk33/rk3328_ddr_333MHz_v1.14.bin +FlashData=bin/rk33/rk3328_ddr_333MHz_v1.16.bin FlashBoot=bin/rk33/rk322xh_miniloader_v2.50.bin [OUTPUT] -PATH=rk3328_loader_v1.14.250.bin +PATH=rk3328_loader_v1.16.250.bin diff --git a/bin/rk33/rk322xh_ddr_333MHz_v1.14.bin b/bin/rk33/rk322xh_ddr_333MHz_v1.16.bin similarity index 55% rename from bin/rk33/rk322xh_ddr_333MHz_v1.14.bin rename to bin/rk33/rk322xh_ddr_333MHz_v1.16.bin index 0af5fb8510a7d2c1c79491c8a086356a279053d9..4a66eae1df68af8c7f4295b335126ebc74dfe559 100644 GIT binary patch delta 5834 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 UTiTnJ!O5--l)m&y*P8l&0;bv+2mk;8 delta 5669 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 Z#20S;+OpO*y3)Ira_@DV=<91;^#5so*3AF_ diff --git a/bin/rk33/rk3328_ddr_333MHz_v1.14.bin b/bin/rk33/rk3328_ddr_333MHz_v1.16.bin similarity index 54% rename from bin/rk33/rk3328_ddr_333MHz_v1.14.bin rename to bin/rk33/rk3328_ddr_333MHz_v1.16.bin index 867cdd0ddcdf7be5068e472c96e0bcc0ffdd2810..f40d4d84a7c8fc73e1665163aa45f0e248deac89 100644 GIT binary patch delta 6083 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