From 935f5374f2ea5d2fcb912c13ad2a65eeeb3d3e2b Mon Sep 17 00:00:00 2001 From: Tang Yun ping Date: Fri, 19 Jan 2018 11:36:04 +0800 Subject: [PATCH] rk3368: ddr: update ddr init code to V2.03 print info: "DDR Version v2.03 20180119" This version add 6Gb/12Gb dram support. from commit: 6813c82 rk3368: ddr init code update to v2.03 Change-Id: Ic2d26913d5b011f2d71bdab641ff6f5ab9d94d17 Signed-off-by: Tang Yun ping --- RKBOOT/PX5KERNEL4.4MINIALL.ini | 6 +++--- RKBOOT/PX5MINIALL.ini | 6 +++--- RKBOOT/RK3368.ini | 6 +++--- RKBOOT/RK3368BOXMINIALL.ini | 6 +++--- RKBOOT/RK3368HMINIALL.ini | 6 +++--- RKBOOT/RK3368MINIALL.ini | 6 +++--- bin/rk33/rk3368_ddr_600MHz_v2.02.bin | Bin 14796 -> 0 bytes bin/rk33/rk3368_ddr_600MHz_v2.03.bin | Bin 0 -> 15076 bytes 8 files changed, 18 insertions(+), 18 deletions(-) delete mode 100644 bin/rk33/rk3368_ddr_600MHz_v2.02.bin create mode 100755 bin/rk33/rk3368_ddr_600MHz_v2.03.bin diff --git a/RKBOOT/PX5KERNEL4.4MINIALL.ini b/RKBOOT/PX5KERNEL4.4MINIALL.ini index 3936fe84..69e0c2b0 100755 --- a/RKBOOT/PX5KERNEL4.4MINIALL.ini +++ b/RKBOOT/PX5KERNEL4.4MINIALL.ini @@ -5,7 +5,7 @@ MAJOR=2 MINOR=60 [CODE471_OPTION] NUM=1 -Path1=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.02.bin +Path1=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.03.bin Sleep=1 [CODE472_OPTION] NUM=1 @@ -14,7 +14,7 @@ Path1=tools/rk_tools/bin/rk33/rk3368_usbplug_v2.60.bin NUM=2 LOADER1=FlashData LOADER2=FlashBoot -FlashData=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.02.bin +FlashData=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.03.bin FlashBoot=tools/rk_tools/bin/rk33/rkpx5_miniloader_v2.62.bin [OUTPUT] -PATH=px5_loader_v2.02.262.bin +PATH=px5_loader_v2.03.262.bin diff --git a/RKBOOT/PX5MINIALL.ini b/RKBOOT/PX5MINIALL.ini index e04bdb56..c939febb 100755 --- a/RKBOOT/PX5MINIALL.ini +++ b/RKBOOT/PX5MINIALL.ini @@ -5,7 +5,7 @@ MAJOR=2 MINOR=58 [CODE471_OPTION] NUM=1 -Path1=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.02.bin +Path1=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.03.bin Sleep=1 [CODE472_OPTION] NUM=1 @@ -14,7 +14,7 @@ Path1=tools/rk_tools/bin/rk33/rk3368_usbplug_v2.58.bin NUM=2 LOADER1=FlashData LOADER2=FlashBoot -FlashData=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.02.bin +FlashData=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.03.bin FlashBoot=tools/rk_tools/bin/rk33/rk3368_miniloader_v2.58.bin [OUTPUT] -PATH=px5_loader_v2.02.258.bin +PATH=px5_loader_v2.03.258.bin diff --git a/RKBOOT/RK3368.ini b/RKBOOT/RK3368.ini index 10d197c4..f936c775 100755 --- a/RKBOOT/RK3368.ini +++ b/RKBOOT/RK3368.ini @@ -5,7 +5,7 @@ MAJOR=2 MINOR=60 [CODE471_OPTION] NUM=1 -Path1=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.02.bin +Path1=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.03.bin Sleep=1 [CODE472_OPTION] NUM=1 @@ -14,7 +14,7 @@ Path1=tools/rk_tools/bin/rk33/rk3368_usbplug_v2.60.bin NUM=2 LOADER1=FlashData LOADER2=FlashBoot -FlashData=tools/rk_tools/bin/rk33/RK3368_DDR_600M_V2.02.bin +FlashData=tools/rk_tools/bin/rk33/RK3368_DDR_600M_V2.03.bin FlashBoot=u-boot.bin [OUTPUT] -PATH=rk3368_bootloader_v2.02.bin +PATH=rk3368_bootloader_v2.03.bin diff --git a/RKBOOT/RK3368BOXMINIALL.ini b/RKBOOT/RK3368BOXMINIALL.ini index 3c4bf575..0986173f 100755 --- a/RKBOOT/RK3368BOXMINIALL.ini +++ b/RKBOOT/RK3368BOXMINIALL.ini @@ -5,7 +5,7 @@ MAJOR=2 MINOR=60 [CODE471_OPTION] NUM=1 -Path1=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.02.bin +Path1=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.03.bin Sleep=1 [CODE472_OPTION] NUM=1 @@ -14,7 +14,7 @@ Path1=tools/rk_tools/bin/rk33/rk3368_usbplug_v2.60.bin NUM=2 LOADER1=FlashData LOADER2=FlashBoot -FlashData=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.02.bin +FlashData=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.03.bin FlashBoot=tools/rk_tools/bin/rk33/rk3368_miniloader_v2.60.bin [OUTPUT] -PATH=rk3368_loader_v2.02.260.bin +PATH=rk3368_loader_v2.03.260.bin diff --git a/RKBOOT/RK3368HMINIALL.ini b/RKBOOT/RK3368HMINIALL.ini index 5e92361b..5cb8b666 100755 --- a/RKBOOT/RK3368HMINIALL.ini +++ b/RKBOOT/RK3368HMINIALL.ini @@ -5,7 +5,7 @@ MAJOR=2 MINOR=60 [CODE471_OPTION] NUM=1 -Path1=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.02.bin +Path1=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.03.bin Sleep=1 [CODE472_OPTION] NUM=1 @@ -14,7 +14,7 @@ Path1=tools/rk_tools/bin/rk33/rk3368_usbplug_v2.60.bin NUM=2 LOADER1=FlashData LOADER2=FlashBoot -FlashData=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.02.bin +FlashData=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.03.bin FlashBoot=tools/rk_tools/bin/rk33/rk3368_miniloader_v2.60.bin [OUTPUT] -PATH=rk3368h_loader_v2.02.260.bin +PATH=rk3368h_loader_v2.03.260.bin diff --git a/RKBOOT/RK3368MINIALL.ini b/RKBOOT/RK3368MINIALL.ini index 3c4bf575..0986173f 100755 --- a/RKBOOT/RK3368MINIALL.ini +++ b/RKBOOT/RK3368MINIALL.ini @@ -5,7 +5,7 @@ MAJOR=2 MINOR=60 [CODE471_OPTION] NUM=1 -Path1=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.02.bin +Path1=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.03.bin Sleep=1 [CODE472_OPTION] NUM=1 @@ -14,7 +14,7 @@ Path1=tools/rk_tools/bin/rk33/rk3368_usbplug_v2.60.bin NUM=2 LOADER1=FlashData LOADER2=FlashBoot -FlashData=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.02.bin +FlashData=tools/rk_tools/bin/rk33/rk3368_ddr_600MHz_v2.03.bin FlashBoot=tools/rk_tools/bin/rk33/rk3368_miniloader_v2.60.bin [OUTPUT] -PATH=rk3368_loader_v2.02.260.bin +PATH=rk3368_loader_v2.03.260.bin diff --git a/bin/rk33/rk3368_ddr_600MHz_v2.02.bin b/bin/rk33/rk3368_ddr_600MHz_v2.02.bin deleted file mode 100644 index 11dfd534ff4538250508f17bcfb677c4398798d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14796 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 W!dqrdnmXI&Dz8;S%jeJIb@HE0ntK8O literal 0 HcmV?d00001