summaryrefslogtreecommitdiffstats
path: root/scripts/rkimage.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2021-10-06 11:34:19 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2021-11-10 08:56:31 +0100
commitb3bfd87c7ee3e41179f71f2387dc379bfd855687 (patch)
tree3e81c4352f292af64fa4d68608d45b3ee0d9ea96 /scripts/rkimage.c
parent408c741232b001894e12287f240b3e6c33efada8 (diff)
downloadbarebox-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.c32
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,