summaryrefslogtreecommitdiffstats
path: root/scripts/rockchip.h
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/rockchip.h
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/rockchip.h')
-rw-r--r--scripts/rockchip.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/scripts/rockchip.h b/scripts/rockchip.h
new file mode 100644
index 0000000000..8cc14f8f2f
--- /dev/null
+++ b/scripts/rockchip.h
@@ -0,0 +1,35 @@
+#ifndef __ROCKCHIP_H
+#define __ROCKCHIP_H
+
+#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
+
+#endif /* __ROCKCHIP_H */