diff --git a/rkbin/RKBOOT/NANOPIM5MINIALL.ini b/rkbin/RKBOOT/NANOPIM5MINIALL.ini new file mode 100644 index 00000000000..bc653c2cb62 --- /dev/null +++ b/rkbin/RKBOOT/NANOPIM5MINIALL.ini @@ -0,0 +1,39 @@ +[CHIP_NAME] +NAME=RK3576 +[VERSION] +MAJOR=1 +MINOR=100 +[CODE471_OPTION] +NUM=1 +Path1=bin/rk35/rk3576_ddr_lp4_1866MHz_lp5_2736MHz_v1.09.bin +Sleep=1 +[CODE472_OPTION] +NUM=1 +Path1=bin/rk35/nanopi_m5_usbplug.bin +[LOADER_OPTION] +NUM=3 +LOADER1=FlashBoost +LOADER2=FlashData +LOADER3=FlashBoot +FlashBoost=bin/rk35/rk3576_boost_v1.03.bin +FlashData=bin/rk35/rk3576_ddr_lp4_1866MHz_lp5_2736MHz_v1.09.bin +FlashBoot=bin/rk35/nanopi_m5_spl-dtb.bin +[LOADER1_PARAM] +LOAD_ADDR=0x3FFC0000 +FLAG=0x0 +[LOADER2_PARAM] +LOAD_ADDR=0x3FF81000 +FLAG=0x0 +[OUTPUT] +PATH=rk3576_spl_loader_v1.09.107.bin +IDB_PATH=rk3576_idblock_v1.09.107.img +[SYSTEM] +NEWIDB=true +ALIGN=8 +[FLAG] +CREATE_IDB=true +471_RC4_OFF=true +RC4_OFF=true +CRC_OFF=true +[BOOT1_PARAM] +WORD_2=0x100 diff --git a/rkbin/RKBOOT/RK3506BMINIALL.ini b/rkbin/RKBOOT/RK3506BMINIALL.ini index 94b953495f4..b9fd56e946e 100644 --- a/rkbin/RKBOOT/RK3506BMINIALL.ini +++ b/rkbin/RKBOOT/RK3506BMINIALL.ini @@ -5,7 +5,7 @@ MAJOR=1 MINOR=1 [CODE471_OPTION] NUM=1 -Path1=bin/rk35/rk3506b_ddr_750MHz_v1.04.bin +Path1=bin/rk35/rk3506b_ddr_750MHz_v1.06.bin [CODE472_OPTION] NUM=1 Path1=bin/rk35/rk3506_usbplug_v1.02.bin @@ -13,14 +13,14 @@ Path1=bin/rk35/rk3506_usbplug_v1.02.bin NUM=2 LOADER1=FlashData LOADER2=FlashBoot -FlashData=bin/rk35/rk3506b_ddr_750MHz_v1.04.bin -FlashBoot=bin/rk35/rk3506_spl_v1.10.bin +FlashData=bin/rk35/rk3506b_ddr_750MHz_v1.06.bin +FlashBoot=bin/rk35/rk3506_spl_v1.11.bin [LOADER2_PARAM] LOAD_ADDR=0x3f00000 FLAG=0x0 [OUTPUT] -PATH=rk3506_spl_loader_v1.04.110.bin -IDB_PATH=rk3506_idblock_v1.04.110.img +PATH=rk3506_spl_loader_v1.06.111.bin +IDB_PATH=rk3506_idblock_v1.06.111.img [SYSTEM] NEWIDB=true [FLAG] diff --git a/rkbin/RKBOOT/RK3506BMINIALL_RT.ini b/rkbin/RKBOOT/RK3506BMINIALL_RT.ini new file mode 100644 index 00000000000..fea3722d3c1 --- /dev/null +++ b/rkbin/RKBOOT/RK3506BMINIALL_RT.ini @@ -0,0 +1,29 @@ +[CHIP_NAME] +NAME=RK350F +[VERSION] +MAJOR=1 +MINOR=1 +[CODE471_OPTION] +NUM=1 +Path1=bin/rk35/rk3506b_ddr_750MHz_rt_v1.06.bin +[CODE472_OPTION] +NUM=1 +Path1=bin/rk35/rk3506_usbplug_v1.02.bin +[LOADER_OPTION] +NUM=2 +LOADER1=FlashData +LOADER2=FlashBoot +FlashData=bin/rk35/rk3506b_ddr_750MHz_rt_v1.06.bin +FlashBoot=bin/rk35/rk3506_spl_v1.11.bin +[LOADER2_PARAM] +LOAD_ADDR=0x3f00000 +FLAG=0x0 +[OUTPUT] +PATH=rk3506_spl_loader_v1.06.111.bin +IDB_PATH=rk3506_idblock_v1.06.111.img +[SYSTEM] +NEWIDB=true +[FLAG] +471_RC4_OFF=true +RC4_OFF=true +CREATE_IDB=true diff --git a/rkbin/RKBOOT/RK3506MINIALL.ini b/rkbin/RKBOOT/RK3506MINIALL.ini index 30a7d0d25fa..92cf079bd7d 100644 --- a/rkbin/RKBOOT/RK3506MINIALL.ini +++ b/rkbin/RKBOOT/RK3506MINIALL.ini @@ -5,7 +5,7 @@ MAJOR=1 MINOR=1 [CODE471_OPTION] NUM=1 -Path1=bin/rk35/rk3506_ddr_750MHz_v1.04.bin +Path1=bin/rk35/rk3506_ddr_750MHz_v1.06.bin [CODE472_OPTION] NUM=1 Path1=bin/rk35/rk3506_usbplug_v1.02.bin @@ -13,14 +13,14 @@ Path1=bin/rk35/rk3506_usbplug_v1.02.bin NUM=2 LOADER1=FlashData LOADER2=FlashBoot -FlashData=bin/rk35/rk3506_ddr_750MHz_v1.04.bin -FlashBoot=bin/rk35/rk3506_spl_v1.10.bin +FlashData=bin/rk35/rk3506_ddr_750MHz_v1.06.bin +FlashBoot=bin/rk35/rk3506_spl_v1.11.bin [LOADER2_PARAM] LOAD_ADDR=0x3f00000 FLAG=0x0 [OUTPUT] -PATH=rk3506_spl_loader_v1.04.110.bin -IDB_PATH=rk3506_idblock_v1.04.110.img +PATH=rk3506_spl_loader_v1.06.111.bin +IDB_PATH=rk3506_idblock_v1.06.111.img [SYSTEM] NEWIDB=true [FLAG] diff --git a/rkbin/RKBOOT/RK3506MINIALL_RT.ini b/rkbin/RKBOOT/RK3506MINIALL_RT.ini new file mode 100644 index 00000000000..74b657fc73c --- /dev/null +++ b/rkbin/RKBOOT/RK3506MINIALL_RT.ini @@ -0,0 +1,29 @@ +[CHIP_NAME] +NAME=RK350F +[VERSION] +MAJOR=1 +MINOR=1 +[CODE471_OPTION] +NUM=1 +Path1=bin/rk35/rk3506_ddr_750MHz_rt_v1.06.bin +[CODE472_OPTION] +NUM=1 +Path1=bin/rk35/rk3506_usbplug_v1.02.bin +[LOADER_OPTION] +NUM=2 +LOADER1=FlashData +LOADER2=FlashBoot +FlashData=bin/rk35/rk3506_ddr_750MHz_rt_v1.06.bin +FlashBoot=bin/rk35/rk3506_spl_v1.11.bin +[LOADER2_PARAM] +LOAD_ADDR=0x3f00000 +FLAG=0x0 +[OUTPUT] +PATH=rk3506_spl_loader_v1.06.111.bin +IDB_PATH=rk3506_idblock_v1.06.111.img +[SYSTEM] +NEWIDB=true +[FLAG] +471_RC4_OFF=true +RC4_OFF=true +CREATE_IDB=true diff --git a/rkbin/RKBOOT/RK3528MINIALL.ini b/rkbin/RKBOOT/RK3528MINIALL.ini index 21b728f48f6..626e4f4b7d6 100644 --- a/rkbin/RKBOOT/RK3528MINIALL.ini +++ b/rkbin/RKBOOT/RK3528MINIALL.ini @@ -5,19 +5,19 @@ MAJOR=1 MINOR=4 [CODE471_OPTION] NUM=1 -Path1=bin/rk35/rk3528_ddr_1056MHz_v1.10.bin +Path1=bin/rk35/rk3528_ddr_1056MHz_v1.11.bin Sleep=1 [CODE472_OPTION] NUM=1 -Path1=bin/rk35/rk3528_usbplug_v1.03.bin +Path1=bin/rk35/rk3528_usbplug_v1.04.bin [LOADER_OPTION] NUM=2 LOADER1=FlashData LOADER2=FlashBoot -FlashData=bin/rk35/rk3528_ddr_1056MHz_v1.10.bin -FlashBoot=bin/rk35/rk3528_spl_v1.05.bin +FlashData=bin/rk35/rk3528_ddr_1056MHz_v1.11.bin +FlashBoot=bin/rk35/rk3528_spl_v1.06.bin [OUTPUT] -PATH=rk3528_spl_loader_v1.10.105.bin +PATH=rk3528_spl_loader_v1.11.106.bin [SYSTEM] NEWIDB=true [FLAG] diff --git a/rkbin/RKBOOT/RK3562MINIALL.ini b/rkbin/RKBOOT/RK3562MINIALL.ini index da37b0e8872..5039427e2f0 100644 --- a/rkbin/RKBOOT/RK3562MINIALL.ini +++ b/rkbin/RKBOOT/RK3562MINIALL.ini @@ -15,9 +15,9 @@ NUM=2 LOADER1=FlashData LOADER2=FlashBoot FlashData=bin/rk35/rk3562_ddr_1332MHz_v1.07.bin -FlashBoot=bin/rk35/rk3562_spl_v1.06.bin +FlashBoot=bin/rk35/rk3562_spl_v1.07.bin [OUTPUT] -PATH=rk3562_spl_loader_v1.07.106.bin +PATH=rk3562_spl_loader_v1.07.107.bin [SYSTEM] NEWIDB=true [FLAG] diff --git a/rkbin/RKBOOT/RK3562MINIALL_AMP_CPU3.ini b/rkbin/RKBOOT/RK3562MINIALL_AMP_CPU3.ini index 60bb623493a..3c1f93d4f65 100644 --- a/rkbin/RKBOOT/RK3562MINIALL_AMP_CPU3.ini +++ b/rkbin/RKBOOT/RK3562MINIALL_AMP_CPU3.ini @@ -15,9 +15,9 @@ NUM=2 LOADER1=FlashData LOADER2=FlashBoot FlashData=bin/rk35/rk3562_ddr_1332MHz_v1.07.bin -FlashBoot=bin/rk35/rk3562_spl_v1.06.bin +FlashBoot=bin/rk35/rk3562_spl_v1.07.bin [OUTPUT] -PATH=rk3562_spl_loader_v1.07.106.bin +PATH=rk3562_spl_loader_v1.07.107.bin [SYSTEM] NEWIDB=true [FLAG] diff --git a/rkbin/RKBOOT/RK3562MINIALL_ULTRA.ini b/rkbin/RKBOOT/RK3562MINIALL_ULTRA.ini index 11cd60fbce2..970772b3424 100644 --- a/rkbin/RKBOOT/RK3562MINIALL_ULTRA.ini +++ b/rkbin/RKBOOT/RK3562MINIALL_ULTRA.ini @@ -15,9 +15,9 @@ NUM=2 LOADER1=FlashData LOADER2=FlashBoot FlashData=bin/rk35/rk3562_ddr_1056MHz_ultra_v1.06.bin -FlashBoot=bin/rk35/rk3562_spl_v1.06.bin +FlashBoot=bin/rk35/rk3562_spl_v1.07.bin [OUTPUT] -PATH=rk3562_spl_loader_v1.06.106.bin +PATH=rk3562_spl_loader_v1.06.107.bin [SYSTEM] NEWIDB=true [FLAG] diff --git a/rkbin/RKBOOT/RK3576MINIALL.ini b/rkbin/RKBOOT/RK3576MINIALL.ini index af4cc4922a4..527bda08dc0 100644 --- a/rkbin/RKBOOT/RK3576MINIALL.ini +++ b/rkbin/RKBOOT/RK3576MINIALL.ini @@ -5,7 +5,7 @@ MAJOR=1 MINOR=100 [CODE471_OPTION] NUM=1 -Path1=bin/rk35/rk3576_ddr_lp4_2112MHz_lp5_2736MHz_v1.09.bin +Path1=bin/rk35/rk3576_ddr_lp4_1866MHz_lp5_2736MHz_v1.09.bin Sleep=1 [CODE472_OPTION] NUM=1 @@ -15,8 +15,8 @@ NUM=3 LOADER1=FlashBoost LOADER2=FlashData LOADER3=FlashBoot -FlashBoost=bin/rk35/rk3576_boost_v1.02.bin -FlashData=bin/rk35/rk3576_ddr_lp4_2112MHz_lp5_2736MHz_v1.09.bin +FlashBoost=bin/rk35/rk3576_boost_v1.03.bin +FlashData=bin/rk35/rk3576_ddr_lp4_1866MHz_lp5_2736MHz_v1.09.bin FlashBoot=bin/rk35/rk3576_spl_v1.07.bin [LOADER1_PARAM] LOAD_ADDR=0x3FFC0000 diff --git a/rkbin/RKBOOT/RK3576MINIALL_IPC.ini b/rkbin/RKBOOT/RK3576MINIALL_IPC.ini new file mode 100644 index 00000000000..83fbf2b5f2a --- /dev/null +++ b/rkbin/RKBOOT/RK3576MINIALL_IPC.ini @@ -0,0 +1,39 @@ +[CHIP_NAME] +NAME=RK3576 +[VERSION] +MAJOR=1 +MINOR=100 +[CODE471_OPTION] +NUM=1 +Path1=bin/rk35/rk3576_ddr_lp4_2112MHz_lp5_2736MHz_v1.09.bin +Sleep=1 +[CODE472_OPTION] +NUM=1 +Path1=bin/rk35/rk3576_usbplug_v1.04.bin +[LOADER_OPTION] +NUM=3 +LOADER1=FlashBoost +LOADER2=FlashData +LOADER3=FlashBoot +FlashBoost=bin/rk35/rk3576_boost_v1.03.bin +FlashData=bin/rk35/rk3576_ddr_lp4_2112MHz_lp5_2736MHz_v1.09.bin +FlashBoot=bin/rk35/rk3576_spl_v1.07.bin +[LOADER1_PARAM] +LOAD_ADDR=0x3FFC0000 +FLAG=0x0 +[LOADER2_PARAM] +LOAD_ADDR=0x3FF81000 +FLAG=0x0 +[OUTPUT] +PATH=rk3576_download_v1.09.107.bin +IDB_PATH=rk3576_idblock_v1.09.107.img +[SYSTEM] +NEWIDB=true +ALIGN=8 +[FLAG] +CREATE_IDB=true +471_RC4_OFF=true +RC4_OFF=true +CRC_OFF=true +[BOOT1_PARAM] +WORD_2=0x100 diff --git a/rkbin/RKBOOT/RK3576MINIALL_ULTRA.ini b/rkbin/RKBOOT/RK3576MINIALL_ULTRA.ini index c49bc88c29c..d2335e91d5a 100644 --- a/rkbin/RKBOOT/RK3576MINIALL_ULTRA.ini +++ b/rkbin/RKBOOT/RK3576MINIALL_ULTRA.ini @@ -15,7 +15,7 @@ NUM=3 LOADER1=FlashBoost LOADER2=FlashData LOADER3=FlashBoot -FlashBoost=bin/rk35/rk3576_boost_v1.02.bin +FlashBoost=bin/rk35/rk3576_boost_v1.03.bin FlashData=bin/rk35/rk3576_ddr_lp4_2112MHz_lp5_2736MHz_ultra_v1.09.bin FlashBoot=bin/rk35/rk3576_spl_v1.07.bin [LOADER1_PARAM] diff --git a/rkbin/RKBOOT/RV1126MINIALL.ini b/rkbin/RKBOOT/RV1126MINIALL.ini index 6f41aeee787..57daadd9ff6 100644 --- a/rkbin/RKBOOT/RV1126MINIALL.ini +++ b/rkbin/RKBOOT/RV1126MINIALL.ini @@ -5,7 +5,7 @@ MAJOR=1 MINOR=5 [CODE471_OPTION] NUM=1 -Path1=bin/rv11/rv1126_ddr_924MHz_v1.11.bin +Path1=bin/rv11/rv1126_ddr_924MHz_v1.14.bin Sleep=1 [CODE472_OPTION] NUM=1 @@ -14,7 +14,7 @@ Path1=bin/rv11/rv1126_usbplug_v1.24.bin NUM=2 LOADER1=FlashData LOADER2=FlashBoot -FlashData=bin/rv11/rv1126_ddr_924MHz_v1.11.bin +FlashData=bin/rv11/rv1126_ddr_924MHz_v1.14.bin FlashBoot=bin/rv11/rv1126_spl_v1.10.bin [OUTPUT] -PATH=rv1126_spl_loader_v1.11.110.bin +PATH=rv1126_spl_loader_v1.14.110.bin diff --git a/rkbin/RKBOOT/RV1126MINIALL_FTL.ini b/rkbin/RKBOOT/RV1126MINIALL_FTL.ini index e4a3e845aee..80afbfedbd2 100644 --- a/rkbin/RKBOOT/RV1126MINIALL_FTL.ini +++ b/rkbin/RKBOOT/RV1126MINIALL_FTL.ini @@ -5,7 +5,7 @@ MAJOR=1 MINOR=5 [CODE471_OPTION] NUM=1 -Path1=bin/rv11/rv1126_ddr_924MHz_v1.11.bin +Path1=bin/rv11/rv1126_ddr_924MHz_v1.14.bin Sleep=1 [CODE472_OPTION] NUM=1 @@ -14,7 +14,7 @@ Path1=bin/rv11/rv1126_usbplug_ftl_v1.23.bin NUM=2 LOADER1=FlashData LOADER2=FlashBoot -FlashData=bin/rv11/rv1126_ddr_924MHz_v1.11.bin +FlashData=bin/rv11/rv1126_ddr_924MHz_v1.14.bin FlashBoot=bin/rv11/rv1126_miniloader_ftl_v1.23.bin [OUTPUT] -PATH=rv1126_loader_v1.11.123.bin +PATH=rv1126_loader_v1.14.123.bin diff --git a/rkbin/RKBOOT/RV1126MINIALL_IPC.ini b/rkbin/RKBOOT/RV1126MINIALL_IPC.ini index 5ea43acc3da..d083546a615 100644 --- a/rkbin/RKBOOT/RV1126MINIALL_IPC.ini +++ b/rkbin/RKBOOT/RV1126MINIALL_IPC.ini @@ -5,7 +5,7 @@ MAJOR=1 MINOR=5 [CODE471_OPTION] NUM=1 -Path1=bin/rv11/rv1126_ddr_924MHz_v1.11.bin +Path1=bin/rv11/rv1126_ddr_924MHz_v1.14.bin Sleep=1 [CODE472_OPTION] NUM=1 @@ -14,10 +14,10 @@ Path1=bin/rv11/rv1126_usbplug_v1.24.bin NUM=2 LOADER1=FlashData LOADER2=FlashBoot -FlashData=bin/rv11/rv1126_ddr_924MHz_v1.11.bin +FlashData=bin/rv11/rv1126_ddr_924MHz_v1.14.bin FlashBoot=bin/rv11/rv1126_spl_v1.10.bin [OUTPUT] -PATH=rv1126_download_v1.11.109.bin -IDB_PATH=rv1126_idblock_v1.11.110.img +PATH=rv1126_download_v1.14.109.bin +IDB_PATH=rv1126_idblock_v1.14.110.img [FLAG] CREATE_IDB=true diff --git a/rkbin/RKBOOT/RV1126MINIALL_RAMBOOT.ini b/rkbin/RKBOOT/RV1126MINIALL_RAMBOOT.ini index 0703d587e7a..5f1042fd4bd 100644 --- a/rkbin/RKBOOT/RV1126MINIALL_RAMBOOT.ini +++ b/rkbin/RKBOOT/RV1126MINIALL_RAMBOOT.ini @@ -5,7 +5,7 @@ MAJOR=1 MINOR=5 [CODE471_OPTION] NUM=1 -Path1=bin/rv11/rv1126_ddr_924MHz_v1.11.bin +Path1=bin/rv11/rv1126_ddr_924MHz_v1.14.bin Sleep=1 [CODE472_OPTION] NUM=1 @@ -14,7 +14,7 @@ Path1=bin/rv11/rv1126_ramboot_v1.12.bin NUM=2 LOADER1=FlashData LOADER2=FlashBoot -FlashData=bin/rv11/rv1126_ddr_924MHz_v1.11.bin +FlashData=bin/rv11/rv1126_ddr_924MHz_v1.14.bin FlashBoot=bin/rv11/rv1126_ramboot_v1.12.bin [OUTPUT] -PATH=rv1126_ramboot_loader_v1.11.112.bin +PATH=rv1126_ramboot_loader_v1.14.112.bin diff --git a/rkbin/RKBOOT/RV1126MINIALL_SPI_NOR_TINY.ini b/rkbin/RKBOOT/RV1126MINIALL_SPI_NOR_TINY.ini index 95603e7a1bf..53e315dad96 100644 --- a/rkbin/RKBOOT/RV1126MINIALL_SPI_NOR_TINY.ini +++ b/rkbin/RKBOOT/RV1126MINIALL_SPI_NOR_TINY.ini @@ -5,7 +5,7 @@ MAJOR=1 MINOR=5 [CODE471_OPTION] NUM=1 -Path1=bin/rv11/rv1126_ddr_924MHz_v1.11.bin +Path1=bin/rv11/rv1126_ddr_924MHz_v1.14.bin Sleep=1 [CODE472_OPTION] NUM=1 @@ -14,7 +14,7 @@ Path1=bin/rv11/rv1126_usbplug_v1.24.bin NUM=2 LOADER1=FlashData LOADER2=FlashBoot -FlashData=bin/rv11/rv1126_ddr_924MHz_v1.11.bin +FlashData=bin/rv11/rv1126_ddr_924MHz_v1.14.bin FlashBoot=bin/rv11/rv1126_spl_spi_nor_tiny_v1.01.bin [OUTPUT] -PATH=rv1126_spl_loader_v1.11.101.bin +PATH=rv1126_spl_loader_v1.14.101.bin diff --git a/rkbin/RKTRUST/RK3506TOS.ini b/rkbin/RKTRUST/RK3506TOS.ini index 2de503425e7..347662edd3b 100644 --- a/rkbin/RKTRUST/RK3506TOS.ini +++ b/rkbin/RKTRUST/RK3506TOS.ini @@ -1,3 +1,3 @@ [TOS] -TOSTA=bin/rk35/rk3506_tee_v1.27.bin +TOSTA=bin/rk35/rk3506_tee_v2.10.bin ADDR=0x1000 diff --git a/rkbin/RKTRUST/RK3506TOS_TA.ini b/rkbin/RKTRUST/RK3506TOS_TA.ini index 4aa9f208ad4..20b094b4a89 100644 --- a/rkbin/RKTRUST/RK3506TOS_TA.ini +++ b/rkbin/RKTRUST/RK3506TOS_TA.ini @@ -1,3 +1,3 @@ [TOS] -TOSTA=bin/rk35/rk3506_tee_ta_v1.00.bin +TOSTA=bin/rk35/rk3506_tee_ta_v1.10.bin ADDR=0x3c00000 diff --git a/rkbin/RKTRUST/RK3528TRUST.ini b/rkbin/RKTRUST/RK3528TRUST.ini index 51dfc735ef3..fdef2f82fb3 100644 --- a/rkbin/RKTRUST/RK3528TRUST.ini +++ b/rkbin/RKTRUST/RK3528TRUST.ini @@ -5,7 +5,7 @@ MINOR=0 SEC=0 [BL31_OPTION] SEC=1 -PATH=bin/rk35/rk3528_bl31_v1.18.elf +PATH=bin/rk35/rk3528_bl31_v1.19.elf ADDR=0x00040000 [BL32_OPTION] SEC=1 diff --git a/rkbin/RKTRUST/RK3568TRUST.ini b/rkbin/RKTRUST/RK3568TRUST.ini index 3200ae85186..08c5e8c941f 100644 --- a/rkbin/RKTRUST/RK3568TRUST.ini +++ b/rkbin/RKTRUST/RK3568TRUST.ini @@ -5,7 +5,7 @@ MINOR=0 SEC=0 [BL31_OPTION] SEC=1 -PATH=bin/rk35/rk3568_bl31_v1.44.elf +PATH=bin/rk35/rk3568_bl31_v1.45.elf ADDR=0x00040000 [BL32_OPTION] SEC=1 diff --git a/rkbin/RKTRUST/RK3568TRUST_RT.ini b/rkbin/RKTRUST/RK3568TRUST_RT.ini index 932140944e9..7b263c6861c 100644 --- a/rkbin/RKTRUST/RK3568TRUST_RT.ini +++ b/rkbin/RKTRUST/RK3568TRUST_RT.ini @@ -5,7 +5,7 @@ MINOR=0 SEC=0 [BL31_OPTION] SEC=1 -PATH=bin/rk35/rk3568_bl31_rt_v1.02.elf +PATH=bin/rk35/rk3568_bl31_rt_v1.03.elf ADDR=0x00040000 [BL32_OPTION] SEC=1 diff --git a/rkbin/RKTRUST/RK3576TRUST.ini b/rkbin/RKTRUST/RK3576TRUST.ini index da420462d06..bde69d7053d 100644 --- a/rkbin/RKTRUST/RK3576TRUST.ini +++ b/rkbin/RKTRUST/RK3576TRUST.ini @@ -5,7 +5,7 @@ MINOR=0 SEC=0 [BL31_OPTION] SEC=1 -PATH=bin/rk35/rk3576_bl31_v1.14.elf +PATH=bin/rk35/rk3576_bl31_v1.17.elf ADDR=0x40000 [BL32_OPTION] SEC=1 diff --git a/rkbin/RKTRUST/RK3588TRUST.ini b/rkbin/RKTRUST/RK3588TRUST.ini index 02bfe3a488e..88088b7effc 100644 --- a/rkbin/RKTRUST/RK3588TRUST.ini +++ b/rkbin/RKTRUST/RK3588TRUST.ini @@ -5,7 +5,7 @@ MINOR=0 SEC=0 [BL31_OPTION] SEC=1 -PATH=bin/rk35/rk3588_bl31_v1.48.elf +PATH=bin/rk35/rk3588_bl31_v1.49.elf ADDR=0x00040000 [BL32_OPTION] SEC=1 diff --git a/rkbin/RKTRUST/RV1103BTOS.ini b/rkbin/RKTRUST/RV1103BTOS.ini index 298ee25d963..2a9223f4087 100644 --- a/rkbin/RKTRUST/RV1103BTOS.ini +++ b/rkbin/RKTRUST/RV1103BTOS.ini @@ -1,5 +1,5 @@ [COMPRESSION] COMPRESSION=lzma [TOS] -TOSTA=bin/rv11/rv1103b_tee_ta_v1.02.bin +TOSTA=bin/rv11/rv1103b_tee_ta_v1.03.bin ADDR=0x03e00000 diff --git a/rkbin/RKTRUST/RV1126TOS.ini b/rkbin/RKTRUST/RV1126TOS.ini index 1cf28e3110f..82448046fc1 100644 --- a/rkbin/RKTRUST/RV1126TOS.ini +++ b/rkbin/RKTRUST/RV1126TOS.ini @@ -1,5 +1,5 @@ [TOS] -TOSTA=bin/rv11/rv1126_tee_ta_v2.14.bin +TOSTA=bin/rv11/rv1126_tee_ta_v2.16.bin [MCU] MCU=bin/rv11/rv1126_riscv_v1.03.bin,0x208000,disabled [COMPRESSION] diff --git a/rkbin/bin/rk35/nanopi_m5_spl-dtb.bin b/rkbin/bin/rk35/nanopi_m5_spl-dtb.bin new file mode 100644 index 00000000000..0069b82f6c4 Binary files /dev/null and b/rkbin/bin/rk35/nanopi_m5_spl-dtb.bin differ diff --git a/rkbin/bin/rk35/nanopi_m5_usbplug.bin b/rkbin/bin/rk35/nanopi_m5_usbplug.bin new file mode 100644 index 00000000000..4cce863b154 Binary files /dev/null and b/rkbin/bin/rk35/nanopi_m5_usbplug.bin differ diff --git a/rkbin/bin/rk35/rk3506_ddr_750MHz_rt_v1.06.bin b/rkbin/bin/rk35/rk3506_ddr_750MHz_rt_v1.06.bin new file mode 100644 index 00000000000..b21b5aa027b Binary files /dev/null and b/rkbin/bin/rk35/rk3506_ddr_750MHz_rt_v1.06.bin differ diff --git a/rkbin/bin/rk35/rk3506_ddr_750MHz_v1.04.bin b/rkbin/bin/rk35/rk3506_ddr_750MHz_v1.04.bin deleted file mode 100644 index 73ed4085f1e..00000000000 Binary files a/rkbin/bin/rk35/rk3506_ddr_750MHz_v1.04.bin and /dev/null differ diff --git a/rkbin/bin/rk35/rk3506_ddr_750MHz_v1.06.bin b/rkbin/bin/rk35/rk3506_ddr_750MHz_v1.06.bin new file mode 100644 index 00000000000..615a13978cf Binary files /dev/null and b/rkbin/bin/rk35/rk3506_ddr_750MHz_v1.06.bin differ diff --git a/rkbin/bin/rk35/rk3506_spl_v1.10.bin b/rkbin/bin/rk35/rk3506_spl_v1.10.bin deleted file mode 100644 index 9b52017f070..00000000000 Binary files a/rkbin/bin/rk35/rk3506_spl_v1.10.bin and /dev/null differ diff --git a/rkbin/bin/rk35/rk3506_spl_v1.11.bin b/rkbin/bin/rk35/rk3506_spl_v1.11.bin new file mode 100644 index 00000000000..cad548da8eb Binary files /dev/null and b/rkbin/bin/rk35/rk3506_spl_v1.11.bin differ diff --git a/rkbin/bin/rk35/rk3506_tee_ta_v1.00.bin b/rkbin/bin/rk35/rk3506_tee_ta_v1.00.bin deleted file mode 100644 index 2e3790f8ad3..00000000000 Binary files a/rkbin/bin/rk35/rk3506_tee_ta_v1.00.bin and /dev/null differ diff --git a/rkbin/bin/rk35/rk3506_tee_ta_v1.10.bin b/rkbin/bin/rk35/rk3506_tee_ta_v1.10.bin new file mode 100644 index 00000000000..6220c4e9094 Binary files /dev/null and b/rkbin/bin/rk35/rk3506_tee_ta_v1.10.bin differ diff --git a/rkbin/bin/rk35/rk3506_tee_v1.27.bin b/rkbin/bin/rk35/rk3506_tee_v1.27.bin deleted file mode 100644 index 0300e22bc38..00000000000 Binary files a/rkbin/bin/rk35/rk3506_tee_v1.27.bin and /dev/null differ diff --git a/rkbin/bin/rk35/rk3506_tee_v2.10.bin b/rkbin/bin/rk35/rk3506_tee_v2.10.bin new file mode 100644 index 00000000000..77d3b032af5 Binary files /dev/null and b/rkbin/bin/rk35/rk3506_tee_v2.10.bin differ diff --git a/rkbin/bin/rk35/rk3506b_ddr_750MHz_rt_v1.06.bin b/rkbin/bin/rk35/rk3506b_ddr_750MHz_rt_v1.06.bin new file mode 100644 index 00000000000..dacd421cf09 Binary files /dev/null and b/rkbin/bin/rk35/rk3506b_ddr_750MHz_rt_v1.06.bin differ diff --git a/rkbin/bin/rk35/rk3506b_ddr_750MHz_v1.04.bin b/rkbin/bin/rk35/rk3506b_ddr_750MHz_v1.04.bin deleted file mode 100644 index eb583f60dc2..00000000000 Binary files a/rkbin/bin/rk35/rk3506b_ddr_750MHz_v1.04.bin and /dev/null differ diff --git a/rkbin/bin/rk35/rk3506b_ddr_750MHz_v1.06.bin b/rkbin/bin/rk35/rk3506b_ddr_750MHz_v1.06.bin new file mode 100644 index 00000000000..e7e0b881733 Binary files /dev/null and b/rkbin/bin/rk35/rk3506b_ddr_750MHz_v1.06.bin differ diff --git a/rkbin/bin/rk35/rk3528_bl31_v1.18.elf b/rkbin/bin/rk35/rk3528_bl31_v1.19.elf similarity index 56% rename from rkbin/bin/rk35/rk3528_bl31_v1.18.elf rename to rkbin/bin/rk35/rk3528_bl31_v1.19.elf index 70e30590e82..d8f9554c078 100644 Binary files a/rkbin/bin/rk35/rk3528_bl31_v1.18.elf and b/rkbin/bin/rk35/rk3528_bl31_v1.19.elf differ diff --git a/rkbin/bin/rk35/rk3528_ddr_1056MHz_2L_PCB_eyescan_v1.10.bin b/rkbin/bin/rk35/rk3528_ddr_1056MHz_2L_PCB_eyescan_v1.10.bin new file mode 100644 index 00000000000..408fba7119b Binary files /dev/null and b/rkbin/bin/rk35/rk3528_ddr_1056MHz_2L_PCB_eyescan_v1.10.bin differ diff --git a/rkbin/bin/rk35/rk3528_ddr_1056MHz_2L_PCB_v1.10.bin b/rkbin/bin/rk35/rk3528_ddr_1056MHz_2L_PCB_v1.10.bin deleted file mode 100644 index a49dc8e4f47..00000000000 Binary files a/rkbin/bin/rk35/rk3528_ddr_1056MHz_2L_PCB_v1.10.bin and /dev/null differ diff --git a/rkbin/bin/rk35/rk3528_ddr_1056MHz_2L_PCB_v1.11.bin b/rkbin/bin/rk35/rk3528_ddr_1056MHz_2L_PCB_v1.11.bin new file mode 100644 index 00000000000..8ed9bd51707 Binary files /dev/null and b/rkbin/bin/rk35/rk3528_ddr_1056MHz_2L_PCB_v1.11.bin differ diff --git a/rkbin/bin/rk35/rk3528_ddr_1056MHz_4BIT_PCB_eyescan_v1.10.bin b/rkbin/bin/rk35/rk3528_ddr_1056MHz_4BIT_PCB_eyescan_v1.10.bin new file mode 100644 index 00000000000..05c83fef25c Binary files /dev/null and b/rkbin/bin/rk35/rk3528_ddr_1056MHz_4BIT_PCB_eyescan_v1.10.bin differ diff --git a/rkbin/bin/rk35/rk3528_ddr_1056MHz_4BIT_PCB_v1.10.bin b/rkbin/bin/rk35/rk3528_ddr_1056MHz_4BIT_PCB_v1.10.bin deleted file mode 100644 index f18b287fd1c..00000000000 Binary files a/rkbin/bin/rk35/rk3528_ddr_1056MHz_4BIT_PCB_v1.10.bin and /dev/null differ diff --git a/rkbin/bin/rk35/rk3528_ddr_1056MHz_4BIT_PCB_v1.11.bin b/rkbin/bin/rk35/rk3528_ddr_1056MHz_4BIT_PCB_v1.11.bin new file mode 100644 index 00000000000..9c596d96adf Binary files /dev/null and b/rkbin/bin/rk35/rk3528_ddr_1056MHz_4BIT_PCB_v1.11.bin differ diff --git a/rkbin/bin/rk35/rk3528_ddr_1056MHz_eyescan_v1.10.bin b/rkbin/bin/rk35/rk3528_ddr_1056MHz_eyescan_v1.10.bin new file mode 100644 index 00000000000..035b72193b1 Binary files /dev/null and b/rkbin/bin/rk35/rk3528_ddr_1056MHz_eyescan_v1.10.bin differ diff --git a/rkbin/bin/rk35/rk3528_ddr_1056MHz_v1.10.bin b/rkbin/bin/rk35/rk3528_ddr_1056MHz_v1.10.bin deleted file mode 100644 index 96a1c18d583..00000000000 Binary files a/rkbin/bin/rk35/rk3528_ddr_1056MHz_v1.10.bin and /dev/null differ diff --git a/rkbin/bin/rk35/rk3528_ddr_1056MHz_v1.11.bin b/rkbin/bin/rk35/rk3528_ddr_1056MHz_v1.11.bin new file mode 100644 index 00000000000..2b703a389df Binary files /dev/null and b/rkbin/bin/rk35/rk3528_ddr_1056MHz_v1.11.bin differ diff --git a/rkbin/bin/rk35/rk3528_spl_v1.05.bin b/rkbin/bin/rk35/rk3528_spl_v1.05.bin deleted file mode 100644 index 8e1f533c828..00000000000 Binary files a/rkbin/bin/rk35/rk3528_spl_v1.05.bin and /dev/null differ diff --git a/rkbin/bin/rk35/rk3528_spl_v1.06.bin b/rkbin/bin/rk35/rk3528_spl_v1.06.bin new file mode 100644 index 00000000000..4e135f3cd11 Binary files /dev/null and b/rkbin/bin/rk35/rk3528_spl_v1.06.bin differ diff --git a/rkbin/bin/rk35/rk3528_usbplug_v1.03.bin b/rkbin/bin/rk35/rk3528_usbplug_v1.03.bin deleted file mode 100644 index 59911fc0e70..00000000000 Binary files a/rkbin/bin/rk35/rk3528_usbplug_v1.03.bin and /dev/null differ diff --git a/rkbin/bin/rk35/rk3528_usbplug_v1.04.bin b/rkbin/bin/rk35/rk3528_usbplug_v1.04.bin new file mode 100644 index 00000000000..d10f48a2bd4 Binary files /dev/null and b/rkbin/bin/rk35/rk3528_usbplug_v1.04.bin differ diff --git a/rkbin/bin/rk35/rk3562_spl_v1.05.bin b/rkbin/bin/rk35/rk3562_spl_v1.05.bin deleted file mode 100644 index 7c472715bd1..00000000000 Binary files a/rkbin/bin/rk35/rk3562_spl_v1.05.bin and /dev/null differ diff --git a/rkbin/bin/rk35/rk3562_spl_v1.06.bin b/rkbin/bin/rk35/rk3562_spl_v1.06.bin deleted file mode 100644 index 9bd0d7f216c..00000000000 Binary files a/rkbin/bin/rk35/rk3562_spl_v1.06.bin and /dev/null differ diff --git a/rkbin/bin/rk35/rk3562_spl_v1.07.bin b/rkbin/bin/rk35/rk3562_spl_v1.07.bin new file mode 100644 index 00000000000..c38f0224834 Binary files /dev/null and b/rkbin/bin/rk35/rk3562_spl_v1.07.bin differ diff --git a/rkbin/bin/rk35/rk3568_bl31_v1.44.elf b/rkbin/bin/rk35/rk3568_bl31_rt_v1.03.elf similarity index 84% rename from rkbin/bin/rk35/rk3568_bl31_v1.44.elf rename to rkbin/bin/rk35/rk3568_bl31_rt_v1.03.elf index b1cc01b8815..bebd9f64cd9 100644 Binary files a/rkbin/bin/rk35/rk3568_bl31_v1.44.elf and b/rkbin/bin/rk35/rk3568_bl31_rt_v1.03.elf differ diff --git a/rkbin/bin/rk35/rk3568_bl31_rt_v1.02.elf b/rkbin/bin/rk35/rk3568_bl31_v1.45.elf similarity index 84% rename from rkbin/bin/rk35/rk3568_bl31_rt_v1.02.elf rename to rkbin/bin/rk35/rk3568_bl31_v1.45.elf index c9859f52af4..360f25c4f82 100644 Binary files a/rkbin/bin/rk35/rk3568_bl31_rt_v1.02.elf and b/rkbin/bin/rk35/rk3568_bl31_v1.45.elf differ diff --git a/rkbin/bin/rk35/rk3576_bl31_v1.14.elf b/rkbin/bin/rk35/rk3576_bl31_v1.17.elf similarity index 59% rename from rkbin/bin/rk35/rk3576_bl31_v1.14.elf rename to rkbin/bin/rk35/rk3576_bl31_v1.17.elf index 46ec18257f2..e09d8e4514d 100644 Binary files a/rkbin/bin/rk35/rk3576_bl31_v1.14.elf and b/rkbin/bin/rk35/rk3576_bl31_v1.17.elf differ diff --git a/rkbin/bin/rk35/rk3576_boost_v1.02.bin b/rkbin/bin/rk35/rk3576_boost_v1.02.bin deleted file mode 100644 index 95f4e8d8bb7..00000000000 Binary files a/rkbin/bin/rk35/rk3576_boost_v1.02.bin and /dev/null differ diff --git a/rkbin/bin/rk35/rk3576_boost_v1.03.bin b/rkbin/bin/rk35/rk3576_boost_v1.03.bin new file mode 100644 index 00000000000..0917386af17 Binary files /dev/null and b/rkbin/bin/rk35/rk3576_boost_v1.03.bin differ diff --git a/rkbin/bin/rk35/rk3576_ddr_lp4_1866MHz_lp5_2736MHz_v1.09.bin b/rkbin/bin/rk35/rk3576_ddr_lp4_1866MHz_lp5_2736MHz_v1.09.bin new file mode 100644 index 00000000000..174c799258a Binary files /dev/null and b/rkbin/bin/rk35/rk3576_ddr_lp4_1866MHz_lp5_2736MHz_v1.09.bin differ diff --git a/rkbin/bin/rk35/rk3588_bl31_v1.48.elf b/rkbin/bin/rk35/rk3588_bl31_v1.49.elf similarity index 71% rename from rkbin/bin/rk35/rk3588_bl31_v1.48.elf rename to rkbin/bin/rk35/rk3588_bl31_v1.49.elf index 955b80dee3d..74ac40d245a 100644 Binary files a/rkbin/bin/rk35/rk3588_bl31_v1.48.elf and b/rkbin/bin/rk35/rk3588_bl31_v1.49.elf differ diff --git a/rkbin/bin/rv11/rv1103b_tee_ta_v1.02.bin b/rkbin/bin/rv11/rv1103b_tee_ta_v1.02.bin deleted file mode 100644 index f8e6d2ec570..00000000000 Binary files a/rkbin/bin/rv11/rv1103b_tee_ta_v1.02.bin and /dev/null differ diff --git a/rkbin/bin/rv11/rv1103b_tee_ta_v1.03.bin b/rkbin/bin/rv11/rv1103b_tee_ta_v1.03.bin new file mode 100644 index 00000000000..e8a79c264ab Binary files /dev/null and b/rkbin/bin/rv11/rv1103b_tee_ta_v1.03.bin differ diff --git a/rkbin/bin/rv11/rv1126_ddr_1056MHz_v1.11.bin b/rkbin/bin/rv11/rv1126_ddr_1056MHz_v1.14.bin similarity index 83% rename from rkbin/bin/rv11/rv1126_ddr_1056MHz_v1.11.bin rename to rkbin/bin/rv11/rv1126_ddr_1056MHz_v1.14.bin index cb2d69aee62..774bd9e06d5 100644 Binary files a/rkbin/bin/rv11/rv1126_ddr_1056MHz_v1.11.bin and b/rkbin/bin/rv11/rv1126_ddr_1056MHz_v1.14.bin differ diff --git a/rkbin/bin/rv11/rv1126_ddr_784MHz_v1.11.bin b/rkbin/bin/rv11/rv1126_ddr_784MHz_v1.14.bin similarity index 83% rename from rkbin/bin/rv11/rv1126_ddr_784MHz_v1.11.bin rename to rkbin/bin/rv11/rv1126_ddr_784MHz_v1.14.bin index c58bd2e274c..faaa953cd30 100644 Binary files a/rkbin/bin/rv11/rv1126_ddr_784MHz_v1.11.bin and b/rkbin/bin/rv11/rv1126_ddr_784MHz_v1.14.bin differ diff --git a/rkbin/bin/rv11/rv1126_ddr_924MHz_v1.11.bin b/rkbin/bin/rv11/rv1126_ddr_924MHz_v1.14.bin similarity index 83% rename from rkbin/bin/rv11/rv1126_ddr_924MHz_v1.11.bin rename to rkbin/bin/rv11/rv1126_ddr_924MHz_v1.14.bin index 31844dba3f2..45dc9d750b5 100644 Binary files a/rkbin/bin/rv11/rv1126_ddr_924MHz_v1.11.bin and b/rkbin/bin/rv11/rv1126_ddr_924MHz_v1.14.bin differ diff --git a/rkbin/bin/rv11/rv1126_tee_ta_v2.14.bin b/rkbin/bin/rv11/rv1126_tee_ta_v2.16.bin similarity index 52% rename from rkbin/bin/rv11/rv1126_tee_ta_v2.14.bin rename to rkbin/bin/rv11/rv1126_tee_ta_v2.16.bin index 0d32f36a014..138c17b7e6e 100644 Binary files a/rkbin/bin/rv11/rv1126_tee_ta_v2.14.bin and b/rkbin/bin/rv11/rv1126_tee_ta_v2.16.bin differ diff --git a/rkbin/doc/release/RK3506_CN.md b/rkbin/doc/release/RK3506_CN.md index 265a0fbb21f..1b6d2d52db6 100644 --- a/rkbin/doc/release/RK3506_CN.md +++ b/rkbin/doc/release/RK3506_CN.md @@ -1,5 +1,118 @@ # RK3506 Release Note +## rk350{6,6b}_ddr_750MHz_{rt_}v1.06.bin + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | :------------------------------------ | ----------- | -------- | +| 2025-03-11 | rk350{6,6b}_ddr_750MHz_{rt_}v1.06.bin | d27ac532c4 | 重要 | + +### Fixed + +| Index | 重要程度 | 更新说明 | 问题现象 | 问题来源 | +| ----- | -------- | ------------------------------------------------------------ | -------------------------- | -------- | +| 1 | 重要 | 修复hp_timer时钟源复位异常导致的SPL阶段SPI flash加载失败问题 | SPL阶段SPI flash初始化超时 | - | + +------ + +## rk3506_tee_ta_v1.10.bin + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | :---------------------- | ----------- | -------- | +| 2025-03-06 | rk3506_tee_ta_v1.10.bin | 46dcf51e88a | 重要 | + +### New + +1. LOGIC断电的待机模式支持电源芯片RK801。 +2. gpio4Ax默认配置为GPIO功能。 + +------ + +## rk3506_tee_v2.10.bin + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | :------------------- | ----------- | -------- | +| 2025-03-06 | rk3506_tee_v2.10.bin | 46dcf51e88a | 重要 | + +### New + +1. LOGIC断电的待机模式支持电源芯片RK801。 +2. gpio4Ax默认配置为GPIO功能。 + +------ + +## rk3506_tee_ta_v1.01.bin + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | :---------------------- | ----------- | -------- | +| 2025-02-18 | rk3506_tee_ta_v1.01.bin | d4572d00829 | 重要 | + +### New + +1. 同步到rk3506_tee_v2.01.bin的编译点,优化和解决休眠唤醒相关问题。 + +------ + +## rk3506_tee_v2.01.bin + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | :------------------- | ----------- | -------- | +| 2025-02-15 | rk3506_tee_v2.01.bin | d4572d00829 | 重要 | + +### New + +1. 增大MCU地址映射范围。 + +------ + +## rk3506_spl_v1.11.bin + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | :-------------------------- | ----------- | -------- | +| 2025-01-16 | rk3506_spl_v1.11.bin | 1e54c433094 | 重要 | + +### New + +1. 添加emmc启动支持。 + +------ + +## rk3506_tee_v2.00.bin + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | :------------------- | ----------- | -------- | +| 2025-01-15 | rk3506_tee_v2.00.bin | e59e3e25748 | 重要 | + +### New + +1. 优化代码和增加调试、配置选项。 + +### Fixed + +| Index | 重要程度 | 更新说明 | 问题现象 | 问题来源 | +| ----- | -------- | -------------------------------------- | ---------------------------------- | -------- | +| 1 | 重要 | 修复休眠唤醒死机问题 | 概率性出现休眠唤醒后卡死在内核 | - | +| 2 | 重要 | 修复待机时VD_PMU域的模块无法工作的问题 | 例如:待机时MCU无法控制GPIO0的状态 | - | + +------ + +## rk350{6,6b}_ddr_750MHz_{rt_}v1.05.bin + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | :------------------------------------ | ----------- | -------- | +| 2025-01-14 | rk350{6,6b}_ddr_750MHz_{rt_}v1.05.bin | e748f9ce32b | 重要 | + +### New + +1. 新增RK3506、RK3506B cpu real-time的支持。 + +### Fixed + +| Index | 重要程度 | 更新说明 | 问题现象 | 问题来源 | +| ----- | -------- | -------------------------------- | ------------------------------------------------------------ | -------- | +| 1 | 重要 | 修复ddrbin错误进入唤醒流程的问题 | 当第一份loader执行异常后加载第二份loader时ddrbin错误的走了唤醒流程导致系统异常 | - | + +------ + ## rk3506_tee_v1.27.bin | 时间 | 文件 | 编译 commit | 重要程度 | diff --git a/rkbin/doc/release/RK3506_EN.md b/rkbin/doc/release/RK3506_EN.md index 445c6c3de7d..99d4a7a15b9 100644 --- a/rkbin/doc/release/RK3506_EN.md +++ b/rkbin/doc/release/RK3506_EN.md @@ -1,5 +1,118 @@ # RK3506 Release Note +## rk350{6,6b}_ddr_750MHz_{rt_}v1.06.bin + +| Date | File | Build commit | Severity | +| ---------- | :------------------------------------ | ------------ | --------- | +| 2025-03-11 | rk350{6,6b}_ddr_750MHz_{rt_}v1.06.bin | d27ac532c4 | important | + +### Fixed + +| Index | Severity | Update | Issue description | Issue source | +| ----- | --------- | ------------------------------------------------------------ | --------------------------------------- | ------------ | +| 1 | important | Fixed the SPI flash loading failure in SPL caused by abnormal reset of hp_timer clock source | SPI flash initialization timeout in SPL | - | + +------ + +## rk3506_tee_ta_v1.10.bin + +| Date | File | Build commit | Severity | +| ---------- | :---------------------- | ------------ | --------- | +| 2025-03-06 | rk3506_tee_ta_v1.10.bin | 46dcf51e88a | important | + +### New + +1. Add PMIC rk801 support for system suspend mode with LOGIC off. +2. Gpio4Ax switch to GPIO function by default. + +------ + +## rk3506_tee_v2.10.bin + +| Date | File | Build commit | Severity | +| ---------- | :------------------- | ------------ | --------- | +| 2025-03-06 | rk3506_tee_v2.10.bin | 46dcf51e88a | important | + +### New + +1. Add PMIC rk801 support for system suspend mode with LOGIC off. +2. Gpio4Ax switch to GPIO function by default. + +------ + +## rk3506_tee_ta_v1.01.bin + +| Date | File | Build commit | Severity | +| ---------- | :---------------------- | ------------ | --------- | +| 2025-02-15 | rk3506_tee_ta_v1.01.bin | d4572d00829 | important | + +### New + +1. Sync to rk3506_tee_v2.01.bin build version,improve and solve some system suspend/resume issues. + +------ + +## rk3506_tee_v2.01.bin + +| Date | File | Build commit | Severity | +| ---------- | :------------------- | ------------ | --------- | +| 2025-02-15 | rk3506_tee_v2.01.bin | d4572d00829 | important | + +### New + +1. Increase MCU map region size. + +------ + +## rk3506_spl_v1.11.bin + +| Date | File | Build commit | Severity | +| ---------- | :--------------------------- | ------------ | --------- | +| 2025-01-16 | rk3506_spl_v1.11.bin | 1e54c433094 | important | + +### New + +1. Add emmc boot support. + +------ + +## rk3506_tee_v2.00.bin + +| Date | File | Build commit | Severity | +| ---------- | :------------------- | ------------ | --------- | +| 2025-01-15 | rk3506_tee_v2.00.bin | e59e3e25748 | important | + +### New + +1. Optmise code, add some debug methods and provide more configurations. + +### Fixed + +| Index | Severity | Update | Issue description | Issue source | +| ----- | --------- | ---------------------------------------------------- | ------------------------------------------------------------ | ------------ | +| 1 | important | Fix system suspend/resume fail | There maybe hang up after system resume | - | +| 2 | important | Fix modules in VD_PMU can't work when system suspend | Example: MCU can't control GPIO0 normally in system suspend. | - | + +------ + +## rk350{6,6b}_ddr_750MHz_{rt_}v1.05.bin + +| Date | File | Build commit | Severity | +| ---------- | :------------------------------------ | ------------ | --------- | +| 2025-01-14 | rk350{6,6b}_ddr_750MHz_{rt_}v1.05.bin | e748f9ce32b | important | + +### New + +1. Added cpu real-time support for RK3506 and RK3506B. + +### Fixed + +| Index | Severity | Update | Issue description | Issue source | +| ----- | --------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------ | +| 1 | important | Fixed the issue that ddrbin incorrectly entered the resume process | When the first loader executes abnormally and then loads the second loader, ddrbin incorrectly goes through the resume process, causing the system to fail. | - | + +------ + ## rk3506_tee_v1.27.bin | Date | File | Build commit | Severity | diff --git a/rkbin/doc/release/RK3528_CN.md b/rkbin/doc/release/RK3528_CN.md index c0ebd0d5a6f..617024848f7 100644 --- a/rkbin/doc/release/RK3528_CN.md +++ b/rkbin/doc/release/RK3528_CN.md @@ -1,5 +1,65 @@ # RK3528 Release Note +## rk3528_bl31_v1.19.elf + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | :-------------------- | ----------- | -------- | +| 2025-03-11 | rk3528_bl31_v1.19.elf | b5fa023c7 | 重要 | + +### New + +1. 添加rk3518支持。 + +------ + +## rk3528_usbplug_v1.04.bin + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | :---------------------- | ----------- | -------- | +| 2025-03-10 | rk3528_usbplug_v1.04.bin | 94a761cda | 重要 | + +### New + +1. 支持RK3518。 + +------ + +## rk3528_ddr_1056MHz_{2L_PCB,4BIT_PCB_}v1.11.bin + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | ---------------------------------------------- | ----------- | -------- | +| 2025-02-26 | rk3528_ddr_1056MHz_{2L_PCB,4BIT_PCB_}v1.11.bin | 56f70fd2ad | 普通 | + +### New + +1. 增加 trfc 最小容量模式。 + +------ + +## rk3528_spl_v1.06.bin + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | :------------------- | ----------- | -------- | +| 2025-01-08 | rk3528_spl_v1.06.bin | 3aa32998d6d | 重要 | + +### New + +1. spl支持动态引导32位或64位uboot。 + +------ + +## rk3528_ddr_1056MHz_{2L_PCB,4BIT_PCB}_eyescan_v1.10.bin + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | ------------------------------------------------------ | ----------- | -------- | +| 2024-12-31 | rk3528_ddr_1056MHz_{2L_PCB,4BIT_PCB}_eyescan_v1.10.bin | ce4c2119c2 | 普通 | + +### New + +1. 增加RK3528 2D眼图扫描支持。 + +------ + ## rk3528_bl31_v1.18.elf | 时间 | 文件 | 编译 commit | 重要程度 | diff --git a/rkbin/doc/release/RK3528_EN.md b/rkbin/doc/release/RK3528_EN.md index a458d84c413..9b10d923e6a 100644 --- a/rkbin/doc/release/RK3528_EN.md +++ b/rkbin/doc/release/RK3528_EN.md @@ -1,5 +1,65 @@ # RK3528 Release Note +## rk3528_bl31_v1.19.elf + +| Date | File | Build commit | Severity | +| ---------- | :-------------------- | ------------ | --------- | +| 2025-03-11 | rk3528_bl31_v1.19.elf | b5fa023c7 | important | + +### New + +1. Support rk3518. + +------ + +## rk3528_usbplug_v1.04.bin + +| Date | File | Build commit | Severity | +| ---------- | :---------------------- | ------------ | --------- | +| 2025-03-10 | rk3528_usbplug_v1.04.bin | 94a761cda | important | + +### New + +1. Support RK3518. + +------ + +## rk3528_ddr_1056MHz_{2L_PCB,4BIT_PCB_}v1.11.bin + +| Date | File | Build commit | Severity | +| ---------- | ---------------------------------------------- | ------------ | -------- | +| 2025-02-26 | rk3528_ddr_1056MHz_{2L_PCB,4BIT_PCB_}v1.11.bin | 56f70fd2ad | moderate | + +### New + +1. Add trfc min cap mode. + +------ + +## rk3528_spl_v1.06.bin + +| Date | File | Build commit | Severity | +| ---------- | :------------------- | ----------- | -------- | +| 2025-01-08 | rk3528_spl_v1.06.bin | 3aa32998d6d | important | + +### New + +1. SPL supports dynamically booting either 32-bit or 64-bit U-Boot. + +------ + +## rk3528_ddr_1056MHz_{2L_PCB,4BIT_PCB}_eyescan_v1.10.bin + +| Date | File | Build commit | Severity | +| ---------- | ------------------------------------------------------ | ------------ | -------- | +| 2024-12-31 | rk3528_ddr_1056MHz_{2L_PCB,4BIT_PCB}_eyescan_v1.10.bin | ce4c2119c2 | moderate | + +### New + +1. Add RK3528 2D eye scan support. + +------ + ## rk3528_bl31_v1.18.elf | Date | File | Build commit | Severity | diff --git a/rkbin/doc/release/RK3562_CN.md b/rkbin/doc/release/RK3562_CN.md index 0aec09fdc6a..144cc3ec1d7 100644 --- a/rkbin/doc/release/RK3562_CN.md +++ b/rkbin/doc/release/RK3562_CN.md @@ -1,5 +1,17 @@ # RK3562 Release Note +## rk3562_spl_v1.07.bin + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | :------------------- | ----------- | -------- | +| 2025-01-08 | rk3562_spl_v1.07.bin | 3aa32998d6d | 重要 | + +### New + +1. spl支持动态引导32位或64位uboot。 + +------ + ## rk3562_ddr_{1560...324}MHz_v1.07.bin | 时间 | 文件 | 编译 commit | 重要程度 | diff --git a/rkbin/doc/release/RK3562_EN.md b/rkbin/doc/release/RK3562_EN.md index 803218b960f..eddab137067 100644 --- a/rkbin/doc/release/RK3562_EN.md +++ b/rkbin/doc/release/RK3562_EN.md @@ -1,5 +1,17 @@ # RK3562 Release Note +## rk3562_spl_v1.07.bin + +| Date | File | Build commit | Severity | +| ---------- | :------------------- | ----------- | -------- | +| 2025-01-08 | rk3562_spl_v1.07.bin | 3aa32998d6d | important | + +### New + +1. SPL supports dynamically booting either 32-bit or 64-bit U-Boot. + +------ + ## rk3562_ddr_{1560...324}MHz_v1.07.bin | Date | File | Build commit | Severity | diff --git a/rkbin/doc/release/RK3568_CN.md b/rkbin/doc/release/RK3568_CN.md index d3b1d7396a4..5921c8907c9 100644 --- a/rkbin/doc/release/RK3568_CN.md +++ b/rkbin/doc/release/RK3568_CN.md @@ -1,5 +1,41 @@ # RK3568 Release Note +## rk3568_bl31_rt_v1.03.elf + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | ------------------------ | ----------- | -------- | +| 2025-03-05 | rk3568_bl31_rt_v1.03.elf | d6900bc23 | 重要 | + +### New + +1. 增加支持DCF 注入DDR ECC错误。 + +### Fixed + +| Index | 重要程度 | 更新说明 | 问题现象 | 问题来源 | +| ----- | -------- | --------------------------------------- | ------------------------------------------------ | -------- | +| 1 | 重要 | 修复多CS系统的LP4、LP4X CA 不稳定问题。 | 多CS系统的LP4、LP4X的DDR数据不稳定导致系统异常。 | - | + +------ + +## rk3568_bl31_v1.45.elf + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | --------------------- | ----------- | -------- | +| 2025-03-04 | rk3568_bl31_v1.45.elf | 70d3deb59 | 重要 | + +### New + +1. 增加支持DCF 注入DDR ECC错误。 + +### Fixed + +| Index | 重要程度 | 更新说明 | 问题现象 | 问题来源 | +| ----- | -------- | --------------------------------------- | ------------------------------------------------ | -------- | +| 1 | 重要 | 修复多CS系统的LP4、LP4X CA 不稳定问题。 | 多CS系统的LP4、LP4X的DDR数据不稳定导致系统异常。 | - | + +------ + ## rk3568_bl32_v2.15.bin | 时间 | 文件 | 编译 commit | 重要程度 | diff --git a/rkbin/doc/release/RK3568_EN.md b/rkbin/doc/release/RK3568_EN.md index 81a6bf9b85d..775840127cb 100644 --- a/rkbin/doc/release/RK3568_EN.md +++ b/rkbin/doc/release/RK3568_EN.md @@ -1,5 +1,41 @@ # RK3568 Release Note +## rk3568_bl31_rt_v1.03.elf + +| Date | File | Build commit | Severity | +| ---------- | ------------------------ | ------------ | --------- | +| 2025-03-05 | rk3568_bl31_rt_v1.03.elf | d6900bc23 | important | + +### New + +1. Add support ddr ecc poison by dcf. + +### Fixed + +| Index | Severity | Update | Issue description | Issue source | +| ----- | --------- | -------------------------------------------------------- | ------------------------------------------------------------ | ------------ | +| 1 | important | Fix LP4, LP4X CA instability problem of multi-CS system. | The instability of DDR data of LP4 and LP4X of multi-CS system leads to system anomaly. | - | + +------ + +## rk3568_bl31_v1.45.elf + +| Date | File | Build commit | Severity | +| ---------- | --------------------- | ------------ | --------- | +| 2025-03-04 | rk3568_bl31_v1.45.elf | 70d3deb59 | important | + +### New + +1. Add support ddr ecc poison by dcf. + +### Fixed + +| Index | Severity | Update | Issue description | Issue source | +| ----- | --------- | -------------------------------------------------------- | ------------------------------------------------------------ | ------------ | +| 1 | important | Fix LP4, LP4X CA instability problem of multi-CS system. | The instability of DDR data of LP4 and LP4X of multi-CS system leads to system anomaly. | - | + +------ + ## rk3568_bl32_v2.15.bin | Date | File | Build commit | Severity | diff --git a/rkbin/doc/release/RK3576_CN.md b/rkbin/doc/release/RK3576_CN.md index 17376696826..cb007997a5e 100644 --- a/rkbin/doc/release/RK3576_CN.md +++ b/rkbin/doc/release/RK3576_CN.md @@ -1,5 +1,59 @@ # RK3576 Release Note +## rk3576_bl31_v1.17.elf + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | :-------------------- | ----------- | -------- | +| 2025-03-03 | rk3576_bl31_v1.17.elf | 70d3deb59 | 重要 | + +### New + +1. 支持配置gpio-group。 +2. 减小BL31固件大小。 + +------ + +## rk3576_bl31_v1.16.elf + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | :-------------------- | ----------- | -------- | +| 2025-02-13 | rk3576_bl31_v1.16.elf | fab0f0345 | 重要 | + +### New + +1. 优化系统唤醒速度。 +2. 优化外部32k时钟探测流程。 + +------ + +## rk3576_boost_v1.03.bin + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | :-------------------- | ----------- | -------- | +| 2025-01-24 | rk3576_boost_v1.03.bin | 8a55316839 | 普通 | + +### Fixed + +| Index | 重要程度 | 更新说明 | 问题现象 | 问题来源 | +| ----- | -------- | ---------------- | ------------------------------ | -------- | +| 1 | 普通 | 加速UFS启动速度,快350毫秒 | UFS启动速度较慢 | - | + +------ + +## rk3576_bl31_v1.15.elf + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | :-------------------- | ----------- | -------- | +| 2025-01-03 | rk3576_bl31_v1.15.elf | bf841fed1 | 重要 | + +### New + +1. 支持双系统。 +2. 支持假关机打印唤醒。 +3. 解决超级待机唤醒后otp稳定性问题。 + +------ + ## rk3576_bl31_v1.14.elf | 时间 | 文件 | 编译 commit | 重要程度 | diff --git a/rkbin/doc/release/RK3576_EN.md b/rkbin/doc/release/RK3576_EN.md index a073b261f51..a755596ddc5 100644 --- a/rkbin/doc/release/RK3576_EN.md +++ b/rkbin/doc/release/RK3576_EN.md @@ -1,5 +1,59 @@ # RK3576 Release Note +## rk3576_bl31_v1.17.elf + +| Date | File | Build commit | Severity | +| ---------- | :-------------------- | ------------ | --------- | +| 2025-03-03 | rk3576_bl31_v1.17.elf | 70d3deb59 | important | + +### New + +1. Support to configure gpio-group. +2. Reduce the BL31 firmware size.. + +------ + +## rk3576_bl31_v1.16.elf + +| Date | File | Build commit | Severity | +| ---------- | :-------------------- | ------------ | --------- | +| 2025-02-13 | rk3576_bl31_v1.16.elf | fab0f0345 | important | + +### New + +1. Optimize speed of system resume. +2. Optimize the flow of detecting external 32k clock. + +------ + +## rk3576_boost_v1.03.bin + +| Date | File | Build commit | Severity | +| ---------- | :-------------------- | ----------- | -------- | +| 2025-01-24 | rk3576_boost_v1.03.bin | 8a55316839 | moderate | + +### Fixed + +| Index | Severity | Update | Issue description | Issue source | +| ----- | --------- | ----------------------- | ------------------------------------ | ------------ | +| 1 | moderate | accelerate UFS boot speed. | The boot speed of UFS is relatively slow. | - | + +------ + +## rk3576_bl31_v1.15.elf + +| Date | File | Build commit | Severity | +| ---------- | :-------------------- | ------------ | --------- | +| 2025-01-03 | rk3576_bl31_v1.15.elf | bf841fed1 | important | + +### New + +1. Support dual system. +2. Support wake source after virtual-poweroff. +3. Enhanced otp stability after ultra sleep. + +------ + ## rk3576_bl31_v1.14.elf | Date | File | Build commit | Severity | diff --git a/rkbin/doc/release/RK3588_CN.md b/rkbin/doc/release/RK3588_CN.md index abe462fc567..26e8cf805df 100644 --- a/rkbin/doc/release/RK3588_CN.md +++ b/rkbin/doc/release/RK3588_CN.md @@ -1,5 +1,18 @@ # RK3588 Release Note +## rk3588_bl31_v1.49.elf + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | :-------------------- | ----------- | -------- | +| 2025-03-03 | rk3588_bl31_v1.49.elf | 1653f2a08 | 重要 | + +### New + +1. 优化uart休眠唤醒使用流程。 +2. 减小BL31固件大小。 + +------ + ## rk3588_bl31_v1.48.elf | 时间 | 文件 | 编译 commit | 重要程度 | diff --git a/rkbin/doc/release/RK3588_EN.md b/rkbin/doc/release/RK3588_EN.md index fe85c6507e2..d83e6092dd3 100644 --- a/rkbin/doc/release/RK3588_EN.md +++ b/rkbin/doc/release/RK3588_EN.md @@ -1,5 +1,18 @@ # RK3588 Release Note +## rk3588_bl31_v1.49.elf + +| Date | File | Build commit | Severity | +| ---------- | :-------------------- | ------------ | --------- | +| 2025-03-03 | rk3588_bl31_v1.49.elf | 1653f2a08 | important | + +### New + +1. Optimize the uart usage flow during system suspend. +2. Reduce the BL31 firmware size. + +------ + ## rk3588_bl31_v1.48.elf | Date | File | Build commit | Severity | diff --git a/rkbin/doc/release/RV1103B_CN.md b/rkbin/doc/release/RV1103B_CN.md index ce4e91d5ae6..aa1b53324a2 100644 --- a/rkbin/doc/release/RV1103B_CN.md +++ b/rkbin/doc/release/RV1103B_CN.md @@ -1,5 +1,17 @@ # RV1103B Release Note +## rv1103b_tee_ta_v1.03.bin + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | :----------------------- | ----------- | -------- | +| 2024-12-17 | rv1103b_tee_ta_v1.03.bin | 6b118d039 | 重要 | + +### New + +1. 支持硬件crypto,支持真随机数生成器TRNG。 + +------ + ## rv1103b_tee_ta_v1.02.bin | 时间 | 文件 | 编译 commit | 重要程度 | diff --git a/rkbin/doc/release/RV1103B_EN.md b/rkbin/doc/release/RV1103B_EN.md index 3f50865de52..81813c0b908 100644 --- a/rkbin/doc/release/RV1103B_EN.md +++ b/rkbin/doc/release/RV1103B_EN.md @@ -1,5 +1,17 @@ # RV1103B Release Note +## rv1103b_tee_ta_v1.03.bin + +| Date | File | Build commit | Severity | +| ---------- | :----------------------- | ------------ | --------- | +| 2024-12-17 | rv1103b_tee_ta_v1.03.bin | 6b118d039 | important | + +### New + +1. Supports hardware crypto and true random number generator TRNG. + +------ + ## rv1103b_tee_ta_v1.02.bin | Date | File | Build commit | Severity | diff --git a/rkbin/doc/release/RV1126_CN.md b/rkbin/doc/release/RV1126_CN.md index 11cba23d5f2..8d832854e85 100644 --- a/rkbin/doc/release/RV1126_CN.md +++ b/rkbin/doc/release/RV1126_CN.md @@ -1,5 +1,55 @@ # RV1126 Release Note +## rv1126_tee_ta_v2.16.bin + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | :---------------------- | ----------- | -------- | +| 2025-02-05 | rv1126_tee_ta_v2.16.bin | 7b56594b8 | 重要 | + +### New + +1. 支持RV1126+。 + +------ + +## rv1126_ddr_{1056 ... 784}MHz_v1.14.bin + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | -------------------------------------- | ----------- | -------- | +| 2025-02-05 | rv1126_ddr_{1056 ... 784}MHz_v1.14.bin | efc8cb38c0 | 普通 | + +### New + +1. 增加部分芯片的安全。 + +------ + +## rv1126_ddr_{1056 ... 784}MHz_v1.13.bin + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | -------------------------------------- | ----------- | -------- | +| 2025-01-14 | rv1126_ddr_{1056 ... 784}MHz_v1.13.bin | 215c359d86 | 普通 | + +### Fixed + +| Index | 重要程度 | 更新说明 | 问题现象 | 问题来源 | +| ----- | -------- | ------------- | -------- | -------- | +| 1 | 普通 | 修正 OTP 检查 | - | - | + +------ + +## rv1126_tee_ta_v2.15.bin + +| 时间 | 文件 | 编译 commit | 重要程度 | +| ---------- | :---------------------- | ----------- | -------- | +| 2025-01-13 | rv1126_tee_ta_v2.15.bin | 7e3f76304 | 重要 | + +### New + +1. 支持RV112d。 + +------ + ## rv1126_tee_ta_v2.14.bin | 时间 | 文件 | 编译 commit | 重要程度 | diff --git a/rkbin/doc/release/RV1126_EN.md b/rkbin/doc/release/RV1126_EN.md index e46ff4e6925..6222a0c5eb5 100644 --- a/rkbin/doc/release/RV1126_EN.md +++ b/rkbin/doc/release/RV1126_EN.md @@ -1,5 +1,55 @@ # RV1126 Release Note +## rv1126_tee_ta_v2.16.bin + +| Date | File | Build commit | Severity | +| ---------- | :---------------------- | ------------ | --------- | +| 2025-02-05 | rv1126_tee_ta_v2.16.bin | 7b56594b8 | important | + +### New + +1. Support RV1126+. + +------ + +## rv1126_ddr_{1056 ... 784}MHz_v1.14.bin + +| Date | File | Build commit | Severity | +| ---------- | -------------------------------------- | ------------ | -------- | +| 2025-02-05 | rv1126_ddr_{1056 ... 784}MHz_v1.14.bin | efc8cb38c0 | moderate | + +### New + +1. Enhance security for some chips. + +------ + +## rv1126_ddr_{1056 ... 784}MHz_v1.13.bin + +| Date | File | Build commit | Severity | +| ---------- | -------------------------------------- | ------------ | -------- | +| 2025-01-14 | rv1126_ddr_{1056 ... 784}MHz_v1.13.bin | 215c359d86 | moderate | + +### Fixed + +| Index | Severity | Update | Issue description | Issue source | +| ----- | -------- | ------------- | ----------------- | ------------ | +| 1 | moderate | Fix OTP check | - | - | + +------ + +## rv1126_tee_ta_v2.15.bin + +| Date | File | Build commit | Severity | +| ---------- | :---------------------- | ------------ | --------- | +| 2025-01-13 | rv1126_tee_ta_v2.15.bin | 7e3f76304 | important | + +### New + +1. Support RV112d. + +------ + ## rv1126_tee_ta_v2.14.bin | Date | File | Build commit | Severity | diff --git a/rkbin/tools/fit-sign.sh b/rkbin/tools/fit-sign.sh new file mode 100755 index 00000000000..2e1d23e5fe9 --- /dev/null +++ b/rkbin/tools/fit-sign.sh @@ -0,0 +1,633 @@ +#!/bin/bash +# +# Copyright (c) 2024 Rockchip Electronics Co., Ltd +# +# SPDX-License-Identifier: GPL-2.0 +# +set -e + +SIGN_DIR=".fit_sign" +SIGN_OUTPUT="${SIGN_DIR}/output" +UNPACK_UBOOT="${SIGN_DIR}/unpack_uboot" +UNPACK_LOADER="${SIGN_DIR}/unpack_loader" +TOOLS=$(cd `dirname $0`; pwd) +# tools +TOOL_MKIMAGE=${TOOLS}/mkimage +TOOL_FIT_UNPACK=${TOOLS}/fit-unpack.sh +TOOL_FIT_CHECK_SIGN=${TOOLS}/fit_check_sign +TOOL_RK_SIGN=${TOOLS}/rk_sign_tool +TOOL_BOOT_MERGER=${TOOLS}/boot_merger +# offset +OFFS_DATA=0x1200 +# placeholder address +FDT_ADDR_PLACEHOLDER="0xffffff00" +KERNEL_ADDR_PLACEHOLDER="0xffffff01" +RAMDISK_ADDR_PLACEHOLDER="0xffffff02" +# key +SIGNATURE_KEY_NODE="/signature/key-dev" +# dtb +SPL_DTB="${UNPACK_LOADER}/u-boot-spl.dtb" +UBOOT_DTB="${UNPACK_UBOOT}/fdt" +UBOOT_DTB_ORIG="${UNPACK_UBOOT}/fdt_orig" +# uboot +ITS_UBOOT="${UNPACK_UBOOT}/image.its" +ITB_UBOOT="${UNPACK_UBOOT}/image.itb" +IMG_UBOOT="${SIGN_OUTPUT}/uboot.img" +# rollback & version +declare -A ROLLBACK_PARAMS +declare -A VERSION_PARAMS + +# All required tools: +# +# ├── boot_merger +# ├── fit_check_sign +# ├── fit-unpack.sh +# ├── mkimage +# ├── rk_sign_tool +# └── setting.ini + +function filt_val() +{ + sed -n "/${1}=/s/${1}=//p" $2 | tr -d '\r' | tr -d '"' +} + +function help() +{ + echo + echo "Usage:" + echo " $0 [args]" + echo + echo "Args:" + echo " --key-dir | Mandatory" + echo " --src-dir | Mandatory" + echo " --out-dir | Mandatory" + echo " --burn-key-hash | Optional" + echo " --rollback-index ... | Optional" + echo " --version ... | Optional" + echo "" + echo "Example:" + echo " $0 --key-dir keys/ --src-dir src/ --out-dir output/ --version uboot.img 1 boot.img 3 --rollback-index uboot.img 3 boot.img 5" + echo +} + +function arg_check_decimal() +{ + if [ -z $1 ]; then + help + exit 1 + fi + + DECIMAL=`echo $1 |sed 's/[0-9]//g'` + if [ ! -z ${DECIMAL} ]; then + echo "ERROR: $1 is not decimal integer" + help + exit 1 + fi +} + +function process_args() +{ + while [ $# -gt 0 ]; do + case $1 in + --key-dir) + ARG_KEY_DIR=$2 + RSA_PRI_KEY="${ARG_KEY_DIR}/dev.key" + RSA_PUB_KEY="${ARG_KEY_DIR}/dev.pubkey" + RSA_CRT_KEY="${ARG_KEY_DIR}/dev.crt" + check_dir_exist $2 + check_rsa_keys $2 + shift 2 + ;; + --src-dir) + ARG_SRC_DIR=$2 + check_dir_exist $2 + SIGN_CFG_DIR="${ARG_SRC_DIR}/fit_signcfg/" + SIGN_CONFIG="${ARG_SRC_DIR}/fit_signcfg/sign.readonly_config" + shift 2 + ;; + --out-dir) + ARG_OUTPUT_DIR=$2 + check_dir_exist $2 + shift 2 + ;; + --rollback-index) + shift 1 + for arg in "$@"; do + FILE_NAME="${1%.img}" + arg_check_decimal $2 + ROLLBACK_PARAMS["${FILE_NAME}"]="$2" + if [[ $3 == *"--"* || -z $3 ]]; then + shift 2 + break; + fi + shift 2 + done + ;; + --version) + shift 1 + for arg in "$@"; do + FILE_NAME="${1%.img}" + arg_check_decimal $2 + VERSION_PARAMS["${FILE_NAME}"]="$2" + if [[ $3 == *"--"* || -z $3 ]]; then + shift 2 + break; + fi + shift 2 + done + ;; + --burn-key-hash) + ARG_BURN_KEY_HASH="y" + shift 1 + ;; + *) + help + exit 1 + ;; + esac + done + + if [ -z "${ARG_KEY_DIR}" ] || [ -z "${ARG_SRC_DIR}" ] || [ -z "${ARG_OUTPUT_DIR}" ]; then + help + exit 1 + fi +} + +function check_dir_exist() +{ + if [ ! -d $1 ]; then + echo "ERROR: No $1 directory" + exit 1 + fi +} + +function check_file_exist() +{ + if [ ! -f $1 ]; then + echo "ERROR: No $1" + exit 1 + fi +} + +function check_its() +{ + cat $1 | while read LINE + do + FILE=`echo ${LINE} | sed -n "/incbin/p" | awk -F '"' '{ printf $2 }' | tr -d ' '` + if [ ! -f ${FILE} ]; then + echo "ERROR: ${FILE} not exist" + exit 1 + fi + done +} + +function check_rsa_algo() +{ + if grep -q '^CONFIG_FIT_ENABLE_RSA4096_SUPPORT=y' ${SIGN_CONFIG} ; then + RSA_ALGO="rsa4096" + else + RSA_ALGO="rsa2048" + fi + + if ! grep -q ${RSA_ALGO} $1 ; then + echo "ERROR: Wrong rsa 'algo' in its file. It should be ${RSA_ALGO}." + exit 1 + fi +} + +function check_rsa_keys() +{ + if [ ! -f ${RSA_PRI_KEY} ]; then + echo "ERROR: No ${RSA_PRI_KEY} " + exit 1 + elif [ ! -f ${RSA_PUB_KEY} ]; then + echo "ERROR: No ${RSA_PUB_KEY} " + exit 1 + elif [ ! -f ${RSA_CRT_KEY} ]; then + echo "ERROR: No ${RSA_CRT_KEY} " + exit 1 + fi +} + +function sign_loader() +{ + echo + echo "==================== sign loader ====================" + cp ${INI_PATH} ${UNPACK_LOADER}/ + INI_PATH=`find ${UNPACK_LOADER}/ -name 'MINIALL.ini'` + sed -i "s|PATH=|PATH=${SIGN_OUTPUT}\/|g" ${INI_PATH} + + # code471 + DDR=`grep "Path1=bin/[^ ]*_ddr_" ${INI_PATH} | tr -d ' '` + if [ ! -z ${DDR} ]; then + DDR=${DDR/*=/} + NEW_DDR=`find ${UNPACK_LOADER}/ -name '*ddr*bin' | head -n 1` + echo "${DDR} ${NEW_DDR}" + sed -i "s|${DDR}|${NEW_DDR}|g" ${INI_PATH} + fi + # code472 + USBPLUG=`grep "Path1=bin/[^ ]*_usbplug_" ${INI_PATH} | tr -d ' '` + if [ ! -z ${USBPLUG} ]; then + USBPLUG=${USBPLUG/*=/} + NEW_USBPLUG=`find ${UNPACK_LOADER}/ -name '*usbplug*bin' | head -n 1` + echo "${USBPLUG} ${NEW_USBPLUG}" + sed -i "s|${USBPLUG}|${NEW_USBPLUG}|g" ${INI_PATH} + fi + # FlashData + FlashData=`grep "FlashData=bin/[^ ]*_ddr_" ${INI_PATH} | tr -d ' '` + if [ ! -z ${FlashData} ]; then + FlashData=${FlashData/*=/} + NEW_FlashData=`find ${UNPACK_LOADER}/ -name '*FlashData*bin' | head -n 1` + echo "${FlashData} ${NEW_FlashData}" + sed -i "s|${FlashData}|${NEW_FlashData}|g" ${INI_PATH} + fi + # FlashBoot + FlashBoot=`grep "FlashBoot=bin/[^ ]*_spl_" ${INI_PATH} | tr -d ' '` + if [ ! -z ${FlashBoot} ]; then + FlashBoot=${FlashBoot/*=/} + NEW_FlashBoot=`find ${UNPACK_LOADER}/ -name '*FlashBoot*bin' | head -n 1` + echo "${FlashBoot} ${NEW_FlashBoot}" + sed -i "s|${FlashBoot}|${NEW_FlashBoot}|g" ${INI_PATH} + fi + # FlashBoost + FlashBoost=`grep "FlashBoost=bin/[^ ]*_boost_" ${INI_PATH} | tr -d ' '` + if [ ! -z ${FlashBoost} ]; then + FlashBoost=${FlashBoost/*=/} + NEW_FlashBoot=`find ${UNPACK_LOADER}/ -name '*FlashBoost*bin' | head -n 1` + echo "${FlashBoost} ${NEW_FlashBoot}" + sed -i "s|${FlashBoost}|${NEW_FlashBoot}|g" ${INI_PATH} + fi + + ${TOOL_BOOT_MERGER} ${INI_PATH} + + # chip name + CHIP_PATTERN='^CONFIG_ROCKCHIP_[R,P][X,V,K][0-9ESXB]{1,5}' + RKCHIP=`egrep -o ${CHIP_PATTERN} ${SIGN_CONFIG}` + RKCHIP=${RKCHIP##*_} + CHIP_NAME=`filt_val "CONFIG_CHIP_NAME" ${SIGN_CONFIG}` + if [ -z "${CHIP_NAME}" ]; then + CHIP_NAME=${RKCHIP} + fi + + # sign + ${TOOL_RK_SIGN} cc --chip ${CHIP_NAME: 2: 6} + ${TOOL_RK_SIGN} lk --key ${RSA_PRI_KEY} --pubkey ${RSA_PUB_KEY} + if ls ${SIGN_OUTPUT}/*loader*.bin >/dev/null 2>&1 ; then + ${TOOL_RK_SIGN} sl --loader ${SIGN_OUTPUT}/*loader*.bin + fi + if ls ${SIGN_OUTPUT}/*download*.bin >/dev/null 2>&1 ; then + ${TOOL_RK_SIGN} sl --loader ${SIGN_OUTPUT}/*download*.bin + fi + if ls ${SIGN_OUTPUT}/*idblock*.img >/dev/null 2>&1 ; then + ${TOOL_RK_SIGN} sb --idb ${SIGN_OUTPUT}/*idblock*.img + fi +} + +function sign_uboot() +{ + ARG_ROLLBACK_IDX_UBOOT=${ROLLBACK_PARAMS["uboot"]:-0} + ARG_VER_UBOOT=${VERSION_PARAMS["uboot"]:-0} + + echo + echo "==================== sign uboot.img: version=${ARG_VER_UBOOT}, rollback-index=${ARG_ROLLBACK_IDX_UBOOT} ====================" + if ! grep -q '^CONFIG_SPL_FIT_SIGNATURE=y' ${SIGN_CONFIG} ; then + echo "ERROR: CONFIG_SPL_FIT_SIGNATURE is disabled" + exit 1 + fi + # spl dtb + FlashBoot=`find ${UNPACK_LOADER}/ -name '*FlashBoot*bin' | head -n 1` + TOTALSIZE=`fdtdump -s ${FlashBoot} | grep totalsize | awk '{ print $4 }' | tr -d "()"` + OFFSET=`fdtdump -s ${FlashBoot} | head -1 | awk -F ":" '{ print $2 }' | sed "s/ found fdt at offset //g" | tr -d " "` + if [ -z ${OFFSET} ]; then + echo "ERROR: invalid ${FlashBoot} , unable to find fdt blob" + fi + OFFSET=`printf %d ${OFFSET} ` # hex -> dec + + dd if=${FlashBoot} of=${SPL_DTB} bs=1 skip=${OFFSET} count=${TOTALSIZE} >/dev/null 2>&1 + + # rollback-index + if grep -q '^CONFIG_SPL_FIT_ROLLBACK_PROTECT=y' ${SIGN_CONFIG} ; then + ARG_SPL_ROLLBACK_PROTECT="y" + if [ ${ARG_ROLLBACK_IDX_UBOOT} -eq 0 ]; then + echo "ERROR: No arg \"--rollback-index uboot.img \"" + exit 1 + fi + fi + + if [ "${ARG_SPL_ROLLBACK_PROTECT}" == "y" ]; then + VERSION=`grep 'rollback-index' ${ITS_UBOOT} | awk -F '=' '{ printf $2 }' | tr -d ' '` + sed -i "s/rollback-index = ${VERSION}/rollback-index = <${ARG_ROLLBACK_IDX_UBOOT}>;/g" ${ITS_UBOOT} + fi + + if ! fdtget -l ${UBOOT_DTB} /signature >/dev/null 2>&1 ; then + ${TOOL_MKIMAGE} -f ${ITS_UBOOT} -k ${ARG_KEY_DIR} -K ${UBOOT_DTB} -E -p ${OFFS_DATA} -r ${ITB_UBOOT} -v ${ARG_VER_UBOOT} + echo "## Adding RSA public key into ${UBOOT_DTB}" + fi + + if fdtget -l ${SPL_DTB} /signature >/dev/null 2>&1 ; then + fdtput -r ${SPL_DTB} /signature + fi + + # sign + ${TOOL_MKIMAGE} -f ${ITS_UBOOT} -k ${ARG_KEY_DIR} -K ${SPL_DTB} -E -p ${OFFS_DATA} -r ${ITB_UBOOT} -v ${ARG_VER_UBOOT} + + # burn-key-hash + if [ "${ARG_BURN_KEY_HASH}" == "y" ]; then + if grep -q '^CONFIG_SPL_FIT_HW_CRYPTO=y' ${SIGN_CONFIG} ; then + fdtput -tx ${SPL_DTB} ${SIGNATURE_KEY_NODE} burn-key-hash 0x1 + else + echo "ERROR: --burn-key-hash requires CONFIG_SPL_FIT_HW_CRYPTO=y" + exit 1 + fi + fi + + # rollback-index read back check + if [ "${ARG_SPL_ROLLBACK_PROTECT}" == "y" ]; then + VERSION=`fdtget -ti ${ITB_UBOOT} /configurations/conf rollback-index` + if [ "${VERSION}" != "${ARG_ROLLBACK_IDX_UBOOT}" ]; then + echo "ERROR: Failed to set rollback-index for ${ITB_UBOOT}"; + exit 1 + fi + else + if [ ! -z "${ARG_ROLLBACK_IDX_UBOOT}" ]; then + echo "WARNING: ignore \"--rollback-index uboot.img ${ARG_ROLLBACK_IDX_UBOOT}\" due to CONFIG_SPL_FIT_ROLLBACK_PROTECT=n" + echo + fi + fi + + # burn-key-hash read back check + if [ "${ARG_BURN_KEY_HASH}" == "y" ]; then + if [ "`fdtget -ti ${SPL_DTB} ${SIGNATURE_KEY_NODE} burn-key-hash`" != "1" ]; then + echo "ERROR: Failed to set burn-key-hash for ${SPL_DTB}"; + exit 1 + fi + fi + + # host check signature + ${TOOL_FIT_CHECK_SIGN} -f ${ITB_UBOOT} -k ${SPL_DTB} -s + + # minimize u-boot-spl.dtb: clear as 0 but not remove property. + if grep -q '^CONFIG_SPL_FIT_HW_CRYPTO=y' ${SIGN_CONFIG} ; then + fdtput -tx ${SPL_DTB} ${SIGNATURE_KEY_NODE} rsa,r-squared 0x0 + if grep -q '^CONFIG_SPL_ROCKCHIP_CRYPTO_V1=y' ${SIGN_CONFIG} ; then + fdtput -tx ${SPL_DTB} ${SIGNATURE_KEY_NODE} rsa,np 0x0 + fdtput -r ${SPL_DTB} ${SIGNATURE_KEY_NODE}/hash@np + else + fdtput -tx ${SPL_DTB} ${SIGNATURE_KEY_NODE} rsa,c 0x0 + fdtput -r ${SPL_DTB} ${SIGNATURE_KEY_NODE}/hash@c + fi + else + fdtput -tx ${SPL_DTB} ${SIGNATURE_KEY_NODE} rsa,c 0x0 + fdtput -tx ${SPL_DTB} ${SIGNATURE_KEY_NODE} rsa,np 0x0 + fdtput -tx ${SPL_DTB} ${SIGNATURE_KEY_NODE} rsa,exponent-BN 0x0 + fdtput -r ${SPL_DTB} ${SIGNATURE_KEY_NODE}/hash@c + fdtput -r ${SPL_DTB} ${SIGNATURE_KEY_NODE}/hash@np + fi + + # repack spl + dd if=${SPL_DTB} of=${FlashBoot} bs=${OFFSET} seek=1 >/dev/null 2>&1 + + if [ "${ARG_BURN_KEY_HASH}" == "y" ]; then + echo "## ${SPL_DTB}: burn-key-hash=1" + fi + + ITB_MAX_NUM=`sed -n "/CONFIG_SPL_FIT_IMAGE_MULTIPLE/p" ${SIGN_CONFIG} | awk -F "=" '{ print $2 }'` + ITB_MAX_KB=`sed -n "/CONFIG_SPL_FIT_IMAGE_KB/p" ${SIGN_CONFIG} | awk -F "=" '{ print $2 }'` + ITB_MAX_BS=$((ITB_MAX_KB*1024)) + ITB_BS=`ls -l ${ITB_UBOOT} | awk '{ print $5 }'` + + if [ ${ITB_BS} -gt ${ITB_MAX_BS} ]; then + echo "ERROR: pack uboot.img failed! ${ITB_UBOOT} actual: ${ITB_BS} bytes, max limit: ${ITB_MAX_BS} bytes" + exit 1 + fi + + for ((i = 0; i < ${ITB_MAX_NUM}; i++)); + do + cat ${ITB_UBOOT} >> ${IMG_UBOOT} + truncate -s %${ITB_MAX_KB}K ${IMG_UBOOT} + done +} + +function sign_fit() +{ + SRC_FILE="$1.img" + UNPACK_DIR="${SIGN_DIR}/unpack_$1" + ITS_FILE="${UNPACK_DIR}/image.its" + ITB_FILE="${UNPACK_DIR}/image.itb" + IMG_FILE="${SIGN_OUTPUT}/${SRC_FILE}" + ARG_VERSION=${VERSION_PARAMS["$1"]:-0} + ARG_ROLLBACK_IDX=${ROLLBACK_PARAMS["$1"]:-0} + + echo + echo "==================== sign ${SRC_FILE}: version=${ARG_VERSION}, rollback-index=${ARG_ROLLBACK_IDX} ====================" + cp ${UBOOT_DTB_ORIG} ${UBOOT_DTB} + rm -rf ${UNPACK_DIR} + ${TOOL_FIT_UNPACK} -f ${ARG_SRC_DIR}/${SRC_FILE} -o ${UNPACK_DIR} + check_rsa_algo ${ITS_FILE} + + if ! grep -q '^CONFIG_FIT_SIGNATURE=y' ${SIGN_CONFIG} ; then + echo "ERROR: CONFIG_FIT_SIGNATURE is disabled" + exit 1 + fi + + # ARG_ROLLBACK_IDX default value is 0. + if grep -q '^CONFIG_FIT_ROLLBACK_PROTECT=y' ${SIGN_CONFIG} ; then + ARG_ROLLBACK_PROTECT="y" + if ! grep -q '^CONFIG_OPTEE_CLIENT=y' ${SIGN_CONFIG} ; then + if [ ${ARG_ROLLBACK_IDX} -gt 0 ]; then + echo "ERROR: Don't support \"--rollback-index ${SRC_FILE} \" due to CONFIG_FIT_ROLLBACK_PROTECT=y but CONFIG_OPTEE_CLIENT=n" + exit 1 + fi + else + if [ ${ARG_ROLLBACK_IDX} -eq 0 ]; then + echo "ERROR: No arg \"--rollback-index ${SRC_FILE} \"" + exit 1 + fi + fi + else + if [ ${ARG_ROLLBACK_IDX} -gt 0 ]; then + echo "WARNING: ignore \"--rollback-index ${SRC_FILE} ${ARG_ROLLBACK_IDX}\" due to CONFIG_FIT_ROLLBACK_PROTECT=n" + echo + fi + fi + + # Limit as same. + if [ -z "${PREV_ARG_ROLLBACK_IDX}" ]; then + PREV_ARG_ROLLBACK_IDX=${ARG_ROLLBACK_IDX} + else + if [ "${PREV_ARG_ROLLBACK_IDX}" != "${ARG_ROLLBACK_IDX}" ]; then + echo "ERROR: ${SRC_FILE} rollback version should be the same as previous: ${PREV_ARG_ROLLBACK_IDX}" + exit 1 + fi + fi + + # fixup for non-thunderboot + FDT_ADDR_R=`filt_val "fdt_addr_r" ${SIGN_CONFIG}` + KERNEL_ADDR_R=`filt_val "kernel_addr_r" ${SIGN_CONFIG}` + RAMDISK_ADDR_R=`filt_val "ramdisk_addr_r" ${SIGN_CONFIG}` + sed -i "s/${FDT_ADDR_PLACEHOLDER}/${FDT_ADDR_R}/g" ${ITS_FILE} + sed -i "s/${KERNEL_ADDR_PLACEHOLDER}/${KERNEL_ADDR_R}/g" ${ITS_FILE} + sed -i "s/${RAMDISK_ADDR_PLACEHOLDER}/${RAMDISK_ADDR_R}/g" ${ITS_FILE} + + if [ "${ARG_ROLLBACK_PROTECT}" == "y" ]; then + VERSION=`grep 'rollback-index' ${ITS_FILE} | awk -F '=' '{ printf $2 }' | tr -d ' '` + sed -i "s/rollback-index = ${VERSION}/rollback-index = <${ARG_ROLLBACK_IDX}>;/g" ${ITS_FILE} + fi + + # sign + ${TOOL_MKIMAGE} -f ${ITS_FILE} -k ${ARG_KEY_DIR} -K ${UBOOT_DTB} -E -p ${OFFS_DATA} -r ${ITB_FILE} -v ${ARG_VERSION} + + # rollback-index read back check + if [ "${ARG_ROLLBACK_PROTECT}" == "y" ]; then + VERSION=`fdtget -ti ${ITB_FILE} /configurations/conf rollback-index` + if [ "${VERSION}" != "${ARG_ROLLBACK_IDX}" ]; then + echo "ERROR: Failed to set rollback-index for ${ITB_FILE}"; + exit 1 + fi + fi + + # host check signature + ${TOOL_FIT_CHECK_SIGN} -f ${ITB_FILE} -k ${UBOOT_DTB} + + # minimize u-boot.dtb: clearn as 0 but not remove property. + if grep -q '^CONFIG_FIT_HW_CRYPTO=y' ${SIGN_CONFIG} ; then + fdtput -tx ${UBOOT_DTB} ${SIGNATURE_KEY_NODE} rsa,r-squared 0x0 + if grep -q '^CONFIG_ROCKCHIP_CRYPTO_V1=y' ${SIGN_CONFIG} ; then + fdtput -tx ${UBOOT_DTB} ${SIGNATURE_KEY_NODE} rsa,np 0x0 + else + fdtput -tx ${UBOOT_DTB} ${SIGNATURE_KEY_NODE} rsa,c 0x0 + fi + else + fdtput -tx ${UBOOT_DTB} ${SIGNATURE_KEY_NODE} rsa,c 0x0 + fdtput -tx ${UBOOT_DTB} ${SIGNATURE_KEY_NODE} rsa,np 0x0 + fdtput -tx ${UBOOT_DTB} ${SIGNATURE_KEY_NODE} rsa,exponent-BN 0x0 + fi + fdtput -r ${UBOOT_DTB} ${SIGNATURE_KEY_NODE}/hash@c + fdtput -r ${UBOOT_DTB} ${SIGNATURE_KEY_NODE}/hash@np + + cp ${ITB_FILE} ${IMG_FILE} +} + +function unpack_loader_uboot() +{ + echo + echo "==================== unpack files ====================" + # unpack loader + rm -rf ${UNPACK_LOADER}/ && mkdir -p ${UNPACK_LOADER}/ + ${TOOL_BOOT_MERGER} unpack -i ${LOADER_NAME} -o ${UNPACK_LOADER}/ + + # csum spl + FlashBoot=`find ${UNPACK_LOADER}/ -name '*FlashBoot*bin' | head -n 1` + SIZE=`grep 'spl_size=' ${SIGN_CONFIG} | awk -F "=" '{print $2}'` + dd if=${FlashBoot} of=${UNPACK_LOADER}/u-boot-spl-nodtb.bin bs=1 skip=0 count=${SIZE} >/dev/null 2>&1 + CSUM1=`grep 'spl_sha256sum=' ${SIGN_CONFIG} | awk -F "=" '{print $2}'` + CSUM2=`sha256sum ${UNPACK_LOADER}/u-boot-spl-nodtb.bin | awk '{ print $1 }'` + if [ "${CSUM1}" != "${CSUM2}" ]; then + echo "ERROR: SHA256 checksum is not match:" + echo " ${CSUM1}: ${LOADER_NAME}/" + echo " ${CSUM2}: ${SIGN_CONFIG} history" + echo + echo "Build info of ${SIGN_CONFIG}:" + echo " ${BUILD}" + echo + exit 1 + fi + + # unpack uboot.img + rm -rf ${UNPACK_UBOOT}/ + ${TOOL_FIT_UNPACK} -f ${ARG_SRC_DIR}/uboot.img -o ${UNPACK_UBOOT} + + # csum uboot + CSUM1=`grep 'uboot_sha256sum=' ${SIGN_CONFIG} | awk -F "=" '{print $2}'` + CSUM2=`sha256sum ${UNPACK_UBOOT}/uboot | awk '{ print $1 }'` + BUILD=`grep 'BUILD:' ${SIGN_CONFIG}` + if [ "${CSUM1}" != "${CSUM2}" ]; then + echo "ERROR: SHA256 checksum is not match:" + echo " ${CSUM1}: uboot in ${ARG_SRC_DIR}/uboot.img" + echo " ${CSUM2}: in ${SIGN_CONFIG}" + echo + echo "Build info of ${SIGN_CONFIG}:" + echo " ${BUILD}" + echo + exit 1 + fi + + check_rsa_algo ${ITS_UBOOT} + if fdtget -l ${UBOOT_DTB} /signature >/dev/null 2>&1 ; then + fdtput -r ${UBOOT_DTB} /signature + fi + cp ${UBOOT_DTB} ${UBOOT_DTB_ORIG} +} + +function prepare() +{ + if [ ! -d ${SIGN_CFG_DIR} ]; then + echo "ERROR: No ${SIGN_CFG_DIR} directory" + exit 1 + fi + if [ ! -f ${SIGN_CONFIG} ]; then + echo "ERROR: No ${SIGN_CONFIG} file" + exit 1 + fi + if [ ! -f ${ARG_SRC_DIR}/uboot.img ]; then + echo "ERROR: No ${ARG_SRC_DIR}/uboot.img file" + exit 1 + fi + INI_PATH=`find ${SIGN_CFG_DIR} -name 'MINIALL.ini' | head -n 1` + if [ -z "${INI_PATH}" ]; then + echo "ERROR: No platform MINIALL.ini file" + exit 1 + fi + LOADER_NAME=`find ${ARG_SRC_DIR} -name '*loader*bin' | head -n 1` + if [ -z "${LOADER_NAME}" ]; then + LOADER_NAME=`find ${ARG_SRC_DIR} -name '*download*.bin' | head -n 1` + fi + if [ -z "${LOADER_NAME}" ]; then + echo "ERROR: No platform loader or download found" + exit 1 + fi + + rm -rf ${SIGN_DIR} && mkdir -p ${SIGN_OUTPUT} +} + +function finish() +{ + echo + echo "Rollback-Index:" + for FILE in ${SIGN_OUTPUT}/*.img; do + if file ${FILE} | grep -q 'Device Tree Blob' ; then + VERSION=`fdtget -ti ${FILE} /configurations/conf rollback-index` + NAME=`basename ${FILE}` + echo " - ${NAME}=${VERSION}" + fi + done + echo + echo "OK. Signed images are ready in ${ARG_OUTPUT_DIR}:" + ls ${SIGN_OUTPUT} + mv ${SIGN_OUTPUT}/* ${ARG_OUTPUT_DIR}/ + rm -rf ${SIGN_DIR}/ data2sign* + echo +} + +function main() +{ + prepare + unpack_loader_uboot + + for FILE in ${ARG_SRC_DIR}/*.img; do + if echo ${FILE} | grep -q "uboot.img"; then + continue; + fi + if file ${FILE} | grep -q 'Device Tree Blob' ; then + FILE=$(basename "${FILE}" .img) + sign_fit ${FILE} + fi + done + + sign_uboot + sign_loader + finish +} + +process_args $* +main diff --git a/rkbin/tools/fit-unpack.sh b/rkbin/tools/fit-unpack.sh new file mode 100755 index 00000000000..a3b02175459 --- /dev/null +++ b/rkbin/tools/fit-unpack.sh @@ -0,0 +1,165 @@ +#!/bin/bash +# +# Copyright (c) 2020 Fuzhou Rockchip Electronics Co., Ltd +# +# SPDX-License-Identifier: GPL-2.0 +# +set -e + +function usage() +{ + echo + echo "usage:" + echo " $0 -f [fit/itb] -o [out]" + echo +} + +function args_process() +{ + if [ $# -ne 4 -a $# -ne 2 ]; then + usage + exit 1 + fi + + while [ $# -gt 0 ]; do + case $1 in + -f) + ITB=$2 + shift 2 + ;; + -o) + OUT=$2 + shift 2 + ;; + *) + usage + exit 1 + ;; + esac + done + + if [ ! -f ${ITB} ]; then + echo "ERROR: No ${ITB}" + exit 1 + elif ! file ${ITB} | grep 'Device Tree Blob' ; then + echo "ERROR: ${ITB} is not FIT image" + exit 1 + fi + + if [ -z ${OUT} ]; then + OUT="out" + fi +} + +unpack_itb() +{ + mkdir -p ${OUT} + echo "Unpack to directory ${OUT}:" + + for NAME in `fdtget -l ${ITB} /images` + do + # generate ITB + NODE="/images/${NAME}" + OFFS=`fdtget -ti ${ITB} ${NODE} data-position` + SIZE=`fdtget -ti ${ITB} ${NODE} data-size` + if [ -z ${OFFS} ]; then + continue; + fi + + if [ ${SIZE} -ne 0 ]; then + dd if=${ITB} of=${OUT}/${NAME} bs=${SIZE} count=1 skip=${OFFS} iflag=skip_bytes >/dev/null 2>&1 + else + touch ${OUT}/${NAME} + fi + + # hash verify + ALGO=`fdtget -ts ${ITB} ${NODE}/hash algo` + if [ -z ${ALGO} ]; then + printf " %-20s: %d bytes" ${NAME} ${SIZE} + else + VALUE=`fdtget -tx ${ITB} ${NODE}/hash value` + VALUE=`echo " "${VALUE} | sed "s/ / 0x/g"` + CSUM=`"${ALGO}"sum ${OUT}/${NAME} | awk '{ print $1}'` + + HASH="" + for((i=1;;i++)); + do + HEX=`echo ${VALUE} | awk -v idx=$i '{ print $idx }'` + if [ -z ${HEX} ]; then + break; + fi + + HEX=`printf "%08x" ${HEX}` + HASH="${HASH}${HEX}" + done + + printf " %-20s: %d bytes... %s" ${NAME} ${SIZE} ${ALGO} + if [ "${CSUM}" == "${HASH}" -o ${SIZE} -eq 0 ]; then + echo "+" + else + echo "-" + fi + fi + done + echo +} + +function gen_its() +{ + ITS=${OUT}/image.its + TMP_ITB=${OUT}/image.tmp + + # add placeholder + cp -a ${ITB} ${TMP_ITB} + + # data and digest value + for NAME in `fdtget -l ${ITB} /images`; do + COMPRESSION=`fdtget -ts ${ITB} /images/${NAME} compression` + if [ "${COMPRESSION}" == "gzip" ] && fdtget -l "${TMP_ITB}" /images/${NAME}/digest >/dev/null 2>&1; then + fdtput -t s ${TMP_ITB} /images/${NAME} data "/INCBIN/(${NAME}.gz)" + + mv ${OUT}/${NAME} ${OUT}/${NAME}.gz + gzip -dk ${OUT}/${NAME}.gz + openssl dgst -sha256 -binary -out ${OUT}/${NAME}.digest ${OUT}/${NAME} + fdtput -t s ${TMP_ITB} /images/${NAME}/digest digest "/INCBIN/(${NAME}.digest)" + elif [ "${COMPRESSION}" == "lzma" ] && fdtget -l "${TMP_ITB}" /images/${NAME}/digest >/dev/null 2>&1; then + fdtput -t s ${TMP_ITB} /images/${NAME} data "/INCBIN/(${NAME}.lzma)" + + SIZE=`ls -l ${OUT}/${NAME} | awk '{ print $5 }'` + SIZE=$(echo "obase=10;$(($SIZE-4))"|bc) + cp ${OUT}/${NAME} ${OUT}/${NAME}.lzma.bak + dd if=${OUT}/${NAME} of=${OUT}/${NAME}.lzma bs=${SIZE} count=1 >/dev/null 2>&1 + lzma -df ${OUT}/${NAME}.lzma + openssl dgst -sha256 -binary -out ${OUT}/${NAME}.digest ${OUT}/${NAME} + mv ${OUT}/${NAME}.lzma.bak ${OUT}/${NAME}.lzma + fdtput -t s ${TMP_ITB} /images/${NAME}/digest digest "/INCBIN/(${NAME}.digest)" + else + fdtput -t s ${TMP_ITB} /images/${NAME} data "/INCBIN/(${NAME})" + fi + done + + dtc -I dtb -O dts ${TMP_ITB} -o ${ITS} + rm -f ${TMP_ITB} + + # fixup placeholder: data = "/INCBIN/(...)"; -> data = /incbin/("..."); + sed -i "s/\"\/INCBIN\/(\(.*\))\"/\/incbin\/(\"\1\")/" ${ITS} + + # remove + sed -i "/memreserve/d" ${ITS} + sed -i "/timestamp/d" ${ITS} + sed -i "/data-size/d" ${ITS} + sed -i "/data-position/d" ${ITS} + sed -i "/value/d" ${ITS} + sed -i "/hashed-strings/d" ${ITS} + sed -i "/hashed-nodes/d" ${ITS} + sed -i "/signer-version/d" ${ITS} + sed -i "/signer-name/d" ${ITS} + sed -i "/version/d" ${ITS} + sed -i "/totalsize/d" ${ITS} + sed -i "s/digest =/value =/g" ${ITS} +} + +args_process $* +unpack_itb +gen_its + diff --git a/rkbin/tools/fit_check_sign b/rkbin/tools/fit_check_sign new file mode 100755 index 00000000000..6cf1462e38c Binary files /dev/null and b/rkbin/tools/fit_check_sign differ diff --git a/rkbin/tools/mkimage b/rkbin/tools/mkimage index d69ba65a3cd..da2ba327c58 100755 Binary files a/rkbin/tools/mkimage and b/rkbin/tools/mkimage differ