From bfef8b55f29b6bd9e7e65dc9c88d204871e580b6 Mon Sep 17 00:00:00 2001 From: Artemis Tosini Date: Fri, 9 Aug 2024 05:45:47 +0000 Subject: [PATCH] Add some rockchip bootroms --- readme.md | 5 +++++ rk3399.bin | Bin 0 -> 32768 bytes rk3588.bin | Bin 0 -> 32768 bytes 3 files changed, 5 insertions(+) create mode 100644 readme.md create mode 100644 rk3399.bin create mode 100644 rk3588.bin diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..8f3c162 --- /dev/null +++ b/readme.md @@ -0,0 +1,5 @@ +# bootroms +This repo contains a few bootroms I've dumped, generally by modifying u-boot SPL. + +For analysis, make sure to know the start address +* Rockchip: `0xffff_0000` diff --git a/rk3399.bin b/rk3399.bin new file mode 100644 index 0000000000000000000000000000000000000000..1953c687528197dc07bb9f04a43771ad5eecbaf7 GIT binary patch literal 32768 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
    5h7ZOc6a)cXJC4C5fz9lFNB zXdn=c>N<*puG8A@t|P|KI$f*x>hZPujUi_(>5od5z5l3{AR#=AJMjt5P(Q5 zW=p~5B1_jY=bsg`{_Kv=8!~tRP1Y|%4YWtS{-6|!t^ZTcl95{ra?@sK@5$+WTQ<*| zBlFMBrATmd(Q@YSbCQ4oq@jk^_?*nB>4D2PQc%$$?1@Ombk71Ctz>Us4GufBTTym?pO_P+tp C2Qo_l literal 0 HcmV?d00001 diff --git a/rk3588.bin b/rk3588.bin new file mode 100644 index 0000000000000000000000000000000000000000..85719e471e1c1cf99c1e752b4b57530358dada5e GIT binary patch literal 32768 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 literal 0 HcmV?d00001