Allwinner devices which support TOC0 have anti-rollback protection
efuses that are sometimes blown to prevent downgrading firmware.

Since we don't currently support configuring an anti-rollback version
lets just set the max version in the TOC0 certificate so that the
sbrom will never reject our image due to the anti-rollback protections
having been used by BSP based firmware.

Note that while there are 32 efuse bits the SBROM will reject any
antirollback version above 31, as such setting 31 should ensure
maxiumum hardware compatibility.

Signed-off-by: James Hilliard <[email protected]>
---
 tools/sunxi_toc0.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/tools/sunxi_toc0.c b/tools/sunxi_toc0.c
index 76693647a09..35bd43680d4 100644
--- a/tools/sunxi_toc0.c
+++ b/tools/sunxi_toc0.c
@@ -127,6 +127,11 @@ struct __packed toc0_cert_item {
                                struct __packed toc0_extension {
                                        toc0_small_int tag_digest;
                                        uint8_t digest[32];
+                                       toc0_small_seq tag_nvc_seq;
+                                       struct __packed toc0_nvc_seq {
+                                               int oid;
+                                               int nvc;
+                                       } nvc_seq;
                                } extension;
                        } explicit3;
                } mainSequence;
@@ -174,6 +179,11 @@ static const struct toc0_cert_item cert_item_template = {
                                {
                                        TOC0_SMALL_INT(sizeof_field(struct 
toc0_extension, digest)),
                                        {},
+                                       TOC0_SMALL_SEQ(sizeof(struct 
toc0_nvc_seq)),
+                                       {
+                                               1,
+                                               31,
+                                       },
                                },
                        },
                },
-- 
2.43.0

Reply via email to