diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2021-10-06 11:34:19 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2021-11-10 08:56:31 +0100 |
commit | b3bfd87c7ee3e41179f71f2387dc379bfd855687 (patch) | |
tree | 3e81c4352f292af64fa4d68608d45b3ee0d9ea96 /scripts/rkimage.c | |
parent | 408c741232b001894e12287f240b3e6c33efada8 (diff) | |
download | barebox-b3bfd87c7ee3e41179f71f2387dc379bfd855687.tar.gz barebox-b3bfd87c7ee3e41179f71f2387dc379bfd855687.tar.xz |
scripts: Add rk-usb-loader tool
This adds a tool suitable for bootstrapping barebox on Rockchip RK3568
SoCs. It has been tested on this SoC only. It might or might not work
with minor adjustments on other SoCs.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Tested-by: Michael Riesch <michael.riesch@wolfvision.net>
Diffstat (limited to 'scripts/rkimage.c')
-rw-r--r-- | scripts/rkimage.c | 32 |
1 files changed, 1 insertions, 31 deletions
diff --git a/scripts/rkimage.c b/scripts/rkimage.c index 21a2838146..6e68d508ac 100644 --- a/scripts/rkimage.c +++ b/scripts/rkimage.c @@ -15,6 +15,7 @@ #include "common.h" #include "common.c" +#include "rockchip.h" #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0])) #define ALIGN(x, a) (((x) + (a) - 1) & ~((a) - 1)) @@ -37,37 +38,6 @@ static void sha512(const void *buf, int len, void *out) SHA512_Final(out, &sha512); } -#define NEWIDB_MAGIC 0x534e4b52 /* 'RKNS' */ - -struct newidb_entry { - uint32_t sector; - uint32_t unknown_ffffffff; - uint32_t unknown1; - uint32_t image_number; - unsigned char unknown2[8]; - unsigned char hash[64]; -}; - -struct newidb { - uint32_t magic; - unsigned char unknown1[4]; - uint32_t n_files; - uint32_t hashtype; - unsigned char unknown2[8]; - unsigned char unknown3[8]; - unsigned char unknown4[88]; - struct newidb_entry entries[4]; - unsigned char unknown5[40]; - unsigned char unknown6[512]; - unsigned char unknown7[16]; - unsigned char unknown8[32]; - unsigned char unknown9[464]; - unsigned char hash[512]; -}; - -#define SECTOR_SIZE 512 -#define PAGE_SIZE 2048 - typedef enum { HASH_TYPE_SHA256 = 1, HASH_TYPE_SHA512 = 2, |