tools: mkimage: fix build with LibreSSL
[platform/kernel/u-boot.git] / tools / k3_gen_x509_cert.sh
index b6d055f..24cfc4e 100755 (executable)
@@ -12,6 +12,8 @@ RAND_KEY=eckey.pem
 LOADADDR=0x41c00000
 BOOTCORE_OPTS=0
 BOOTCORE=16
+DEBUG_TYPE=0
+SWRV=1
 
 gen_degen_template() {
 cat << 'EOF' > degen-template.txt
@@ -69,7 +71,7 @@ cat << 'EOF' > x509-template.txt
  shaValue = FORMAT:HEX,OCT:TEST_IMAGE_SHA_VAL
 
  [ swrv ]
- swrv = INTEGER:0
+ swrv = INTEGER:TEST_SWRV
 
 # [ encryption ]
 # initalVector = FORMAT:HEX,OCT:TEST_IMAGE_ENC_IV
@@ -79,7 +81,7 @@ cat << 'EOF' > x509-template.txt
 
  [ debug ]
  debugUID = FORMAT:HEX,OCT:0000000000000000000000000000000000000000000000000000000000000000
- debugType = INTEGER:4
+ debugType = INTEGER:TEST_DEBUG_TYPE
  coreDbgEn = INTEGER:0
  coreDbgSecEn = INTEGER:0
 EOF
@@ -151,8 +153,10 @@ options_help[k]="key_file:file with key inside it. If not provided script genera
 options_help[o]="output_file:Name of the final output file. default to $OUTPUT"
 options_help[c]="core_id:target core id on which the image would be running. Default to $BOOTCORE"
 options_help[l]="loadaddr: Target load address of the binary in hex. Default to $LOADADDR"
+options_help[d]="debug_type: Debug type, set to 4 to enable early JTAG. Default to $DEBUG_TYPE"
+options_help[r]="SWRV: Software Rev for X509 certificate"
 
-while getopts "b:k:o:c:l:h" opt
+while getopts "b:k:o:c:l:d:h:r:" opt
 do
        case $opt in
        b)
@@ -170,6 +174,12 @@ do
        c)
                BOOTCORE=$OPTARG
        ;;
+       d)
+               DEBUG_TYPE=$OPTARG
+       ;;
+        r)
+               SWRV=$OPTARG
+       ;;
        h)
                usage
                exit 0
@@ -224,12 +234,17 @@ gen_cert() {
        #echo " LOADADDR = 0x$ADDR"
        #echo " IMAGE_SIZE = $BIN_SIZE"
        #echo " CERT_TYPE = $CERTTYPE"
+       #echo " DEBUG_TYPE = $DEBUG_TYPE"
+       echo " SWRV = $SWRV"
        sed -e "s/TEST_IMAGE_LENGTH/$BIN_SIZE/" \
                -e "s/TEST_IMAGE_SHA_VAL/$SHA_VAL/" \
                -e "s/TEST_CERT_TYPE/$CERTTYPE/" \
                -e "s/TEST_BOOT_CORE_OPTS/$BOOTCORE_OPTS/" \
                -e "s/TEST_BOOT_CORE/$BOOTCORE/" \
-               -e "s/TEST_BOOT_ADDR/$ADDR/" x509-template.txt > $TEMP_X509
+               -e "s/TEST_BOOT_ADDR/$ADDR/" \
+               -e "s/TEST_DEBUG_TYPE/$DEBUG_TYPE/" \
+                -e "s/TEST_SWRV/$SWRV/" \
+               x509-template.txt > $TEMP_X509
        openssl req -new -x509 -key $KEY -nodes -outform DER -out $CERT -config $TEMP_X509 -sha512
 }