diff options
author | Namyoon Woo <namyoon@chromium.org> | 2020-02-28 09:44:46 -0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-03-09 21:48:18 +0000 |
commit | 5ccb5c7cc9c448b66c6f8e0abbb2dd785da0efb7 (patch) | |
tree | 84f6021a658d5b8b11c7612dafac86ede442b27a /util | |
parent | 97c73303cf9d5f6c8b6e871ddebd01a8e4ce4206 (diff) | |
download | chrome-ec-5ccb5c7cc9c448b66c6f8e0abbb2dd785da0efb7.tar.gz |
remove cr50 related files
BUG=b:149350081
BRANCH=none
TEST=build all, and emerged ec related packages for host and octopus.
$ make buildall -j
$ cros_workon --host list
chromeos-base/chromeos-cr50-dev
chromeos-base/chromeos-ec
chromeos-base/chromeos-ec-headers
chromeos-base/ec-devutils
chromeos-base/ec-utils
chromeos-base/ec-utils-test
dev-util/hdctools
$ sudo emerge chromeos-cr50-dev -j
$ sudo emerge chromeos-ec -j
$ sudo emerge chromeos-ec-headers -j
$ sudo emerge ec-devutils -j
$ sudo emerge ec-utils -j
$ sudo emerge ec-utils-test -j
$ sudo emerge hdctools -j
$ cros_workon-octopus list
chromeos-base/chromeos-ec
chromeos-base/chromeos-ec-headers
chromeos-base/ec-devutils
chromeos-base/ec-utils
chromeos-base/ec-utils-test
dev-util/hdctools
$ sudo emerge-octopus chromeos-ec -j
$ sudo emerge-octopus chromeos-ec-headers -j
$ sudo emerge-octopus ec-devutils -j
$ sudo emerge-octopus ec-utils -j
$ sudo emerge-octopus ec-utils-test -j
$ sudo emerge-octopus hdctools -j
Signed-off-by: Namyoon Woo <namyoon@chromium.org>
Change-Id: If751b26b0635b0021c077338e96eaa8e8dcf17a5
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2080631
Reviewed-by: Edward Hill <ecgh@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
Diffstat (limited to 'util')
-rwxr-xr-x | util/g_regs | 77 | ||||
-rwxr-xr-x | util/signer/bs | 342 | ||||
-rw-r--r-- | util/signer/cr50_RW-prod.pem.pub | 9 | ||||
-rw-r--r-- | util/signer/cr50_rom0-dev-blsign.pem.pub | 9 | ||||
-rwxr-xr-x | util/signer/create_released_image.sh | 232 | ||||
-rw-r--r-- | util/signer/ec_RW-manifest-dev.json | 48 | ||||
-rw-r--r-- | util/signer/ec_RW-manifest-prod.json | 52 | ||||
-rw-r--r-- | util/signer/fuses.xml | 2034 | ||||
-rw-r--r-- | util/signer/loader-testkey-A.pem | 27 | ||||
-rw-r--r-- | util/signer/rom-testkey-A.pem | 39 |
10 files changed, 0 insertions, 2869 deletions
diff --git a/util/g_regs b/util/g_regs deleted file mode 100755 index 28e6f4a53d..0000000000 --- a/util/g_regs +++ /dev/null @@ -1,77 +0,0 @@ -#!/usr/bin/perl -# Copyright 2015 The Chromium OS Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -use strict; -our $opt_D; - -use File::Basename; -my $progdir = dirname($0); -my $prog = basename($0); - -use Getopt::Std; -my $usage = " -Usage: $prog [HEADER] - -This converts the FPGA release's generated C header file into the -hw_regdefs.h file that is included by chip/g/registers.h. -Mostly it just prefaces the macros with GC_ to avoid name collision. - -"; -getopts('D') or die $usage; - - -print "/* - * Copyright 2015 The Chromium OS Authors. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -/* This file is autogenerated by the $prog utility. Do not edit. */ - -"; - -while(<>) -{ - if ( s/\b\w+_REGDEFS_H/__EC_CHIP_G_CR50_FPGA_REGDEFS_H/g ) - { - print; - next; - } - - if ( s/__ENABLE_FLASH_DFT_DEFINITIONS__/GC__ENABLE_FLASH_DFT_DEFINITIONS__/g ) - { - print; - next; - } - - if ( s/\bFLASH_DFT/GC_FLASH_DFT/g ) - { - print; - next; - } - - if ( m/^#define\s+(\S+)\s+(\S+)\s*$/ ) - { - my ($k,$v) = ($1,$2); - - if ($k =~ m/^IRQNUM/) { - # irqnums must be decimal - $v = 0 + hex($v); - } - $k = "GC_$k"; - printf("#define %-40s %s\n", $k, $v); - if ( $k =~ m/0_BASE_ADDR$/ ) { - $k =~ s/0_BASE_ADDR/_BASE_ADDR/; - printf("#define %-40s %s\n", $k, $v); - } - next; - } - - next if m!//!; - next if m!/\*! .. m!\*/!; - - print; -} - diff --git a/util/signer/bs b/util/signer/bs deleted file mode 100755 index 23ee46039a..0000000000 --- a/util/signer/bs +++ /dev/null @@ -1,342 +0,0 @@ -#!/bin/bash - -# -# Copyright 2016 The Chromium OS Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. -# -# This script is a utility which allows to create differently signed CR50 -# images from different sources. -# -set -e -set -u - -progname=$(basename $0) - -OD="/usr/bin/od" - -tmpf="/tmp/bs_manifest.$$" -trap "{ if [[ -f 1.flat ]]; then rm -rf [01].flat ${tmpf} ; fi; }" EXIT - -usage() { - local rv="${1}" - cat <<EOF - -This script allows to sign CR50 RW images. By default it uses ec.RW.elf and -ec.RW_B.elf in build/cr50/RW as inputs and util/signer/ec_RW-manifest-dev.json -as the manifest, and places the newly signed images into build/cr50/ec.bin. - -The only outside dependency of this script is the signing utility itself, -which is expected to be available as /usr/bin/cr50-codesigner. - -The utility can be installed by running 'sudo emerge cr50-utils', - -The following command line options are accepted: - - b1 - generate signature for the b1 version of the H1 chip - elves <elf1> <elf2> - sign the supplied elf files instead of the default - ones. Handy if the builder generated files need to be signed - help - print this message - hex - generate hex output instead of binary (place in 0.signed.hex and - 1.signed.hex in the local directory) - prod - sign with prod key (no debug image will be signed) - -This script also allows to sign dev images for running on prod RO. To do that -invoke this script as follows: - - H1_DEVIDS='<dev id0> <dev id1>' ${progname} [other options, if any] - -where <dev id0> <dev id1> are values reported by sysinfo command in the -DEV_ID: line when run on the CR50 for which the image is built. - -The same values can be obtained in the lsusb command output: - - lsusb -vd 18d1:5014 | grep -i serial - -note that the lsusb reported values are in hex and need to be prefixed with -0x. - -Finally, this script also allows to specify the board ID fields of the RW -headers. The fields come from the evironment variable CR50_BOARD_ID, which is -required to include three colon separated fields. The first field is a four -letter board RLZ code, the second field is board id mask in hex, no 0x prefix, -and the third field - board ID flags, again, hex, no 0x prefix. - -CR50_BOARD_ID='XXYY:ffffff00:ff00' ${progname} [other options, if any] - -both H1_DEVIDS and CR50_BOARD_ID can be defined independently. - -EOF - exit "${rv}" -} - -# This function modifies the manifest to include device ID and board ID nodes, -# if H1_DEVIDS and CR50_BOARD_ID are defined in the environment, respectively, -tweak_manifest () { - local sub - - # If defined, plug in dev ID nodes before the 'fuses' node. - if [[ -z "${do_prod}" && -n "${H1_DEVIDS}" ]]; then - echo "creating a customized DEV image for DEV IDS ${H1_DEVIDS}" - sub=$(printf "\\\n \"DEV_ID0\": %s,\\\n \"DEV_ID1\": %s," ${H1_DEVIDS}) - sed -i "s/\"fuses\": {/\"fuses\": {${sub}/" "${tmpf}" - fi - - if [[ -z "${CR50_BOARD_ID}" ]]; then - return - fi - - # CR50_BOARD_ID is set, let's parse it and plug in the board ID related - # nodes into manifest before the 'fuses' node. - local bid_params - local rlz - - bid_params=( $(echo $CR50_BOARD_ID | sed 's/:/ /g') ) - # A very basic sanity check: it needs to consist of three colon separated - # fields. - if [[ ${#bid_params[@]} != 3 ]]; then - echo "Wrong board ID string \"$CR50_BOARD_ID\"}" >&2 - exit 1 - fi - - if [[ "${bid_params[0]}" == "0" ]] ; then - rlz="0" - elif [[ ${#bid_params[0]} == 4 ]] ; then - # Convert 4 char board RLZ code from ASCII to hex - rlz="0x$(echo -n ${bid_params[0]} | hexdump -ve '/1 "%02x"')" - else - echo "Invalid RLZ ${bid_params[0]}" - exit 1 - fi - - # Prepare text of all three board ID related nodes - sub="$(printf "\\\n\"board_id\": %s,\\\n" "${rlz}")" - sub+="$(printf "\"board_id_mask\": %s,\\\n" "0x${bid_params[1]}")" - sub+="$(printf "\"board_id_flags\": %s,\\\n" "0x${bid_params[2]}")" - sed -i "s/\"fuses\": {/${sub}\"fuses\": {/" "${tmpf}" -} - -# This function accepts two arguments, names of two binary files. -# -# It searches the first passed in file for the first 8 bytes of the second -# passed in file. The od utility is used to generate full hex dump of the -# first file (16 bytes per line) and the first 8 bytes of the second file. -# -# grep is used to check if the pattern is present in the full dump. If the -# pattern is not found, the first file is dumped again, this time with an 8 -# byte offset into the file. This makes sure that if the match is present, but -# is spanning two lines of the original hex dump, it is in a single dump line -# the second time around. -find_blob_in_blob() { - local main_blob="${1}" - local pattern_blob="${2}" - local pattern - local od_options="-An -tx1" - - # Get the first 8 bytes of the pattern blob. - pattern="$(${OD} ${od_options} -N8 "${pattern_blob}")" - - if "${OD}" ${od_options} "${main_blob}" | grep "${pattern}" > /dev/null; then - return 0 - fi - - # Just in case pattern was wrapped in the previous od output, let's do it - # again with an 8 bytes offset - if "${OD}" ${od_options} -j8 "${main_blob}" | - grep "${pattern}" > /dev/null; then - return 0 - fi - - return 1 -} - -# This function accepts two arguments, names of the two elf files. -# -# The files are searched for test RMA public key patterns - x25519 or p256, -# both files are supposed to have pattern of one of these keys and not the -# other. If this holds true the function prints the public key base name. If -# not both files include the same key, or include more than one key, the -# function reports failure and exits the script. -determine_rma_key_base() { - local base_name="${EC_ROOT}/board/cr50/rma_key_blob" - local curve - local curves=( "x25519" "p256" ) - local elf - local elves=( "$1" "$2" ) - local key_file - local mask=1 - local result=0 - - for curve in ${curves[@]}; do - key_file="${base_name}.${curve}.test" - for elf in ${elves[@]}; do - if find_blob_in_blob "${elf}" "${key_file}"; then - result=$(( result | mask )) - fi - mask=$(( mask << 1 )) - done - done - - case "${result}" in - (3) curve="x25519";; - (12) curve="p256";; - (*) echo "could not determine key type in the elves" >&2 - exit 1 - ;; - esac - - echo "${base_name}.${curve}" -} - -SIGNER="cr50-codesigner" -if ! which "${SIGNER}" 2>/dev/null > /dev/null; then - echo "${SIGNER} is not available, try running 'sudo emerge cr50-utils'" >&2 - exit 1 -fi - -# This is where the new signed image will be pasted into. -: ${RESULT_FILE=build/cr50/ec.bin} -TMP_RESULT_FILE="${RESULT_FILE}.tmp" - -if [[ -z "${CROS_WORKON_SRCROOT}" ]]; then - echo "${progname}: This script must run inside Chrome OS chroot" >&2 - exit 1 -fi - -: ${CR50_BOARD_ID=} -: ${H1_DEVIDS=} -EC_ROOT="${CROS_WORKON_SRCROOT}/src/platform/ec" -EC_BIN_ROOT="${EC_ROOT}/util/signer" - -do_hex= -do_b1= -do_prod= - -# Prepare the default manifest. -cp "${EC_BIN_ROOT}/ec_RW-manifest-dev.json" "${tmpf}" - -elves=( build/cr50/RW/ec.RW.elf build/cr50/RW/ec.RW_B.elf ) -cd "${EC_ROOT}" -while (( $# )); do - param="${1}" - case "${param}" in - (hex) do_hex='true';; - (b1) - do_b1='true' - sed -i 's/\(.*FW_DEFINED_DATA_BLK0.*\): 2/\1: 0/' "${tmpf}" - ;; - (elves) - if [[ (( $# < 3 )) ]]; then - echo "two elf file names are required" >&2 - exit 1 - fi - elves=( $2 $3 ) - shift - shift - ;; - (prod) - do_prod='true' - ;; - (help) - usage 0 - ;; - (*) - usage 1 - ;; - esac - shift -done - -if [[ -z "${do_hex}" && ! -f "${RESULT_FILE}" ]]; then - echo "${RESULT_FILE} not found. Run 'make BOARD=cr50' first" >&2 - exit 1 -fi - -if [[ -n "${do_prod}" && -n "${do_b1}" ]]; then - echo "can not build prod images for B1, sorry..." - exit 1 -fi - -# If signing a chip factory image (version 0.0.22) do not try figuring out the -# RMA keys. -ignore_rma_keys="$(awk ' - BEGIN {count = 0}; - /"major": 0,/ {count += 1}; - /"minor": 22,/ {count += 1}; - END {{if (count == 2) {print "yes"};}}' \ - "${EC_BIN_ROOT}/ec_RW-manifest-prod.json")" - -if [ "${ignore_rma_keys}" != "yes" ]; then - rma_key_base="$(determine_rma_key_base ${elves[@]})" -else - echo "Ignofing RMA keys for factory branch" -fi - -signer_command_params=() -signer_command_params+=(--b -x ${EC_BIN_ROOT}/fuses.xml) -if [[ -z "${do_prod}" ]]; then - signer_command_params+=(-k ${EC_BIN_ROOT}/cr50_rom0-dev-blsign.pem.pub) -else - cp "${EC_BIN_ROOT}/ec_RW-manifest-prod.json" "${tmpf}" - signer_command_params+=(-k ${EC_BIN_ROOT}/cr50_RW-prod.pem.pub) - # Swap test public RMA server key with the prod version. - if [ "${ignore_rma_keys}" != "yes" ]; then - signer_command_params+=(-S "${rma_key_base}.test","${rma_key_base}.prod") - fi -fi -signer_command_params+=(-j ${tmpf}) - -if [[ -n "${do_hex}" ]]; then - dst_suffix='signed.hex' -else - signer_command_params+=(--format=bin) - dst_suffix='flat' -fi - -tweak_manifest - -count=0 -for elf in ${elves[@]}; do - if [[ -n "${do_prod}" ]]; then - if strings "${elf}" | egrep -q "(DBG|SQA)/cr50"; then - echo "Will not sign debug or SQA image with prod keys" >&2 - exit 1 - fi - fi - signed_file="${count}.${dst_suffix}" - - # Make sure output file is not owned by root - touch "${signed_file}" - command="${SIGNER} ${signer_command_params[@]} -i ${elf} -o ${signed_file}" - if ! ${command}; then - echo "${progname}: \"${command}\" failed" >&2 - exit 1 - fi - - if [ "${ignore_rma_keys}" != "yes" ]; then - if find_blob_in_blob "${signed_file}" "${rma_key_base}.test"; then - echo "${progname}: test RMA key in the signed image!" >&2 - rm *."${dst_suffix}" - exit 1 - fi - - if ! find_blob_in_blob "${signed_file}" "${rma_key_base}.prod"; then - echo "${progname}: prod RMA key not in the signed image!" >&2 - rm *."${dst_suffix}" - exit 1 - fi - fi - : $(( count++ )) -done - -if [[ -z "${do_hex}" ]]; then - # Full binary image is required, paste the newly signed blobs into the - # output image, preserving it in case dd fails for whatever reason. - cp "${RESULT_FILE}" "${TMP_RESULT_FILE}" - dd if="0.flat" of="${TMP_RESULT_FILE}" seek=16384 bs=1 conv=notrunc - dd if="1.flat" of="${TMP_RESULT_FILE}" seek=278528 bs=1 conv=notrunc - rm [01].flat - mv "${TMP_RESULT_FILE}" "${RESULT_FILE}" -fi - -echo "SUCCESS!!!" diff --git a/util/signer/cr50_RW-prod.pem.pub b/util/signer/cr50_RW-prod.pem.pub deleted file mode 100644 index f043eea161..0000000000 --- a/util/signer/cr50_RW-prod.pem.pub +++ /dev/null @@ -1,9 +0,0 @@ ------BEGIN PUBLIC KEY----- -MIIBIDANBgkqhkiG9w0BAQEFAAOCAQ0AMIIBCAKCAQEAthqml36PUHk5MgurodTG -puEsqK9/28/gEiCZGgfKL2rZKzU7CSiD82nmMgMoaxNTcPZgln+WELXIZUv81Up3 -GT6dA2dSDSQgmdgI1/x3OkEf9BkmHajuvhZTDteI18X/9TsXwly9zoxEFRy/JW8X -Cz9/eOE7xcgoIzji0WmnosMKyxiOv67hhH+JvJ01uQhcxOag2606uIBknovHZT7l -kf3RsEquoZqGK2WFwin9gl4KXv8yQ2F0h9LnfezIURWuz4J6pNc8EI7jYeP5eBrJ -AfE8HsnDD6I2OpoNNM0BnbPq7gbn5CJJn5bZ6dNM4YBH8saJgNVBYOV9XqHdtiLV -uwIBAw== ------END PUBLIC KEY----- diff --git a/util/signer/cr50_rom0-dev-blsign.pem.pub b/util/signer/cr50_rom0-dev-blsign.pem.pub deleted file mode 100644 index 4e4e765ca5..0000000000 --- a/util/signer/cr50_rom0-dev-blsign.pem.pub +++ /dev/null @@ -1,9 +0,0 @@ ------BEGIN PUBLIC KEY----- -MIIBIDANBgkqhkiG9w0BAQEFAAOCAQ0AMIIBCAKCAQEA3BvAb0OUrzmPfwQPOz7D -c5JOiiv6p9Es42XR4kLajBPIJog4ZMIFHrTk8R3IvQkt5TQb7SbvAv/rDESVLplM -OJX9/5i5MK4Wh6j/msopEwRfdCgHD5dXOSN3mqC8bqyWhspF0L9fUlZXAsPD0zUe -sXNL0dTSuvE4GZ53WoE8bM9d1w5A6L9NzODAgI1hOFqg9qnpir9R/CWiH0/JwlbP -k5amvRfVFPeyivq4zRW4LGa6I3woVjp36iRUYEktbvabq6/qmAGDiL4hy4AHhLGn -2g7s1sY6V9W9cYQQ7sja8x+xqH4Mwt1QxlLoGrVfhf0sh0hUETnUPSXwZFRQqU+0 -4QIBAw== ------END PUBLIC KEY----- diff --git a/util/signer/create_released_image.sh b/util/signer/create_released_image.sh deleted file mode 100755 index f5d4673887..0000000000 --- a/util/signer/create_released_image.sh +++ /dev/null @@ -1,232 +0,0 @@ -#!/bin/bash - -# -# Copyright 2017 The Chromium OS Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. -# -# This script is a utility which allows to sign prod CR50 images for release -# and place them in a tarball suitable for uploading to the BCS. -# -# The util/signer/ec_RW-manifest-prod.json manifest present in the EC -# directory is used for signing. -# - -set -u - -# A very crude RO verification function. The key signature found at a fixed -# offset into the RO blob must match the RO type. Prod keys have bit D2 set to -# one, dev keys have this bit set to zero. -verify_ro() { - local ro_bin="${1}" - local type_expected="${2}" - local key_byte - - if [ ! -f "${ro_bin}" ]; then - echo "${ro_bin} not a file!" >&2 - exit 1 - fi - - # Key signature's lowest byte is byte #5 in the line at offset 0001a0. - key_byte="$(od -Ax -t x1 -v "${ro_bin}" | awk '/0001a0/ {print $6};')" - case "${key_byte}" in - (?[4567cdef]) - if [ "${type_expected}" == "prod" ]; then - return 0 - fi - ;; - (?[012389ab]) - if [ "${type_expected}" == "dev" ]; then - return 0 - fi - ;; - esac - - echo "RO key in ${ro_bin} does not match type ${type_expected}" >&2 - exit 1 -} - -# This function prepares a full CR50 image, consisting of two ROs and two RWs -# placed at their respective offsets into the resulting blob. It invokes the -# bs (binary signer) script to actually convert elf versions of RWs into -# binaries and sign them. -# -# The signed image is placed in the directory named as concatenation of RO and -# RW version numbers and board ID fields, if set to non-default. The ebuild -# downloading the tarball from the BCS expects the image to be in that -# directory. -prepare_image() { - local awk_prog - local count=0 - local extra_param= - local image_type="${1}" - local raw_version - local ro_a_hex="$(readlink -f "${2}")" - local ro_b_hex="$(readlink -f "${3}")" - local rw_a="$(readlink -f "${4}")" - local rw_b="$(readlink -f "${5}")" - local version - - for f in "${ro_a_hex}" "${ro_b_hex}"; do - if ! objcopy -I ihex "${f}" -O binary "${TMPD}/${count}.bin"; then - echo "failed to convert ${f} from hex to bin" >&2 - exit 1 - fi - verify_ro "${TMPD}/${count}.bin" "${image_type}" - : $(( count += 1 )) - done - - if [ "${image_type}" == "prod" ]; then - extra_param+=' prod' - fi - - if ! "${EC_ROOT}/util/signer/bs" ${extra_param} elves \ - "${rw_a}" "${rw_b}" > /dev/null; - then - echo "Failed invoking ${EC_ROOT}/util/signer/bs ${extra_param} " \ - "elves ${rw_a} ${rw_b}" >&2 - exit 1 - fi - - dd if="${TMPD}/0.bin" of="${RESULT_FILE}" conv=notrunc - dd if="${TMPD}/1.bin" of="${RESULT_FILE}" seek=262144 bs=1 conv=notrunc - - # A typical Cr50 version reported by gsctool looks as follows: - # RO_A:0.0.10 RW_A:0.0.22[ABCD:00000013:00000012] ...(the same for R[OW]_B). - # - # In case Board ID field is not set in the image, it is reported as - # [00000000:00000000:00000000] - # - # We want the generated tarball file name to include all relevant version - # fields. Let's retrieve the version string and process it using awk to - # generate the proper file name. Only the RO_A and RW_A version numbers are - # used, this script trusts the user to submit for processing a proper image - # where both ROs and both RWs are of the same version respectively. - # - # As a result, blob versions are converted as follows: - # RO_A:0.0.10 RW_A:0.0.22[ABCD:00000013:00000012] into - # r0.0.10.w0.0.22_ABCD_00000013_00000012 - # - # RO_A:0.0.10 RW_A:0.0.22[00000000:00000000:00000000] into - # r0.0.10.w0.0.22 - # - # The below awk program accomplishes this preprocessing. - awk_prog='/^RO_A:/ { - # drop the RO_A/RW_A strings - gsub(/R[OW]_A:/, "") - # Drop default mask value completely. - gsub(/\[00000000:00000000:00000000\]/, "") - # If there is a non-default mask: - # - replace opening brackets and colons with underscores. - gsub(/[\[\:]/, "_") - # - drop the trailing bracket. - gsub(/\]/, "") - # Print filtered out RO_A and RW_A values - print "r" $1 ".w" $2 -}' - - raw_version="$("${GSCTOOL}" -b "${RESULT_FILE}")" || - ( echo "${ME}: Failed to retrieve blob version" >&2 && exit 1 ) - - version="$(awk "${awk_prog}" <<< "${raw_version}" )" - if [ -z "${dest_dir}" ]; then - # Note that this is a global variable - dest_dir="cr50.${version}" - if [ ! -d "${dest_dir}" ]; then - mkdir "${dest_dir}" - else - echo "${dest_dir} already exists, will overwrite" >&2 - fi - elif [ "${dest_dir}" != "cr50.${version}" ]; then - echo "dev and prod versions mismatch!" >&2 - exit 1 - fi - - cp "${RESULT_FILE}" "${dest_dir}/cr50.bin.${image_type}" - echo "saved ${image_type} binary in ${dest_dir}/cr50.bin.${image_type}" -} - -# Execution starts here =========================== -ME="$(basename $0)" - -if [ -z "${CROS_WORKON_SRCROOT}" ]; then - echo "${ME}: This script must run inside Chrome OS chroot" >&2 - exit 1 -fi - -SCRIPT_ROOT="${CROS_WORKON_SRCROOT}/src/scripts" -. "${SCRIPT_ROOT}/build_library/build_common.sh" || exit 1 - -TMPD="$(mktemp -d /tmp/${ME}.XXXXX)" -trap "/bin/rm -rf ${TMPD}" SIGINT SIGTERM EXIT - -EC_ROOT="${CROS_WORKON_SRCROOT}/src/platform/ec" -RESULT_FILE="${TMPD}/release.bin" -dest_dir= -IMAGE_SIZE='524288' -export RESULT_FILE - -GSCTOOL="/usr/sbin/gsctool" -if [[ ! -x "${GSCTOOL}" ]]; then - emerge_command="USE=cr50_onboard sudo -E emerge ec-utils" - echo "${ME}: gsctool not found, run \"${emerge_command}\"" >&2 - exit 1 -fi - -DEFINE_string cr50_board_id "" \ - "Optional string representing Board ID field of the Cr50 RW header. -Consists of three fields separated by colon: <RLZ>:<hex mask>:<hex flags>" - -# Do not put this before the DEFINE_ invocations - they routinely experience -# error return values. -set -e - -FLAGS_HELP="usage: ${ME} [flags] <blobs> - -blobs are: - <prod RO A>.hex <prod RO B>.hex <RW.elf> <RW_B.elf> - or - <prod RO A>.hex <prod RO B>.hex <dir> - where <dir> contains files named ec.RW.elf and ec.RW_B.elf -" - -# Parse command line. -FLAGS "$@" || exit 1 - -eval set -- "${FLAGS_ARGV}" - -if [[ $# == 3 && -d "${3}" ]]; then - rw_a="${3}/ec.RW.elf" - rw_b="${3}/ec.RW_B.elf" -elif [[ $# == 4 ]]; then - rw_a="${3}" - rw_b="${4}" -else - flags_help - exit 1 -fi - -prod_ro_a="${1}" -prod_ro_b="${2}" - -dd if=/dev/zero bs="${IMAGE_SIZE}" count=1 2>/dev/null | - tr \\000 \\377 > "${RESULT_FILE}" -if [ "$(stat -c '%s' "${RESULT_FILE}")" != "${IMAGE_SIZE}" ]; then - echo "Failed creating ${RESULT_FILE}" >&2 - exit 1 -fi - -# Used by the bs script. -export CR50_BOARD_ID="${FLAGS_cr50_board_id}" - -prepare_image 'prod' "${prod_ro_a}" "${prod_ro_b}" "${rw_a}" "${rw_b}" -tarball="${dest_dir}.tbz2" -tar jcf "${tarball}" "${dest_dir}" -rm -rf "${dest_dir}" - -bcs_path="gs://chromeos-localmirror-private/distfiles/cr50" -echo "SUCCESS!!!!!!" -echo "use the below commands to copy the new image to the GFS" -echo "gsutil cp ${tarball} ${bcs_path}" -echo "gsutil acl ch -g cr50-firmware@google.com:R ${bcs_path}/${tarball}" - diff --git a/util/signer/ec_RW-manifest-dev.json b/util/signer/ec_RW-manifest-dev.json deleted file mode 100644 index 1f65d68e91..0000000000 --- a/util/signer/ec_RW-manifest-dev.json +++ /dev/null @@ -1,48 +0,0 @@ -{ -// List of fuses and their expected values. -"fuses": { - "FLASH_PERSO_PAGE_LOCK": 5, // individualized - "FW_DEFINED_DATA_BLK0": 2, // kevin EVT 1 - "FW_DEFINED_DATA_EXTRA_BLK6": 0 // escape hatch -}, -// Rollback state. -"info": { - "2": -1, "3": -1, "4": -1, "5": -1, "6": -1, - "7": -1, "8": -1, "9": -1, "10": -1, "11": -1, "12": -1 , "13": -1, - "14": -1, "15": -1, "16": -1, "17": -1, "18": -1, "19": -1, "20": -1, - "21": -1, "22": -1, "23": -1, "24": -1, "25": -1, "26": -1, "27": -1, - "28": -1, "29": -1, "30": -1, "31": -1, "32": -1, "33": -1, "34": -1, - "35": -1, "36": -1, "37": -1, "38": -1, "39": -1, "40": -1, "41": -1, - "42": -1, "43": -1, "44": -1, "45": -1, "46": -1, "47": -1, "48": -1, - "49": -1, "50": -1, "51": -1, "52": -1, "53": -1, "54": -1, "55": -1, - "56": -1, "57": -1, "58": -1, "59": -1, "60": -1, "61": -1, "62": -1, - "63": -1, "64": -1, "65": -1, "66": -1, "67": -1, "68": -1, "69": -1, - "70": -1, "71": -1, "72": -1, "73": -1, "74": -1, "75": -1, "76": -1, - "77": -1, "78": -1, "79": -1, "80": -1, "81": -1, "82": -1, "83": -1, - "84": -1, "85": -1, "86": -1, "87": -1, "88": -1, "89": -1, "90": -1, - "91": -1, "92": -1, "93": -1, "94": -1, "95": -1, "96": -1, "97": -1, - "98": -1, "99": -1, "100": -1, "101": -1, "102": -1, "103": -1, "104": -1, -"105": -1, "106": -1, "107": -1, "108": -1, "109": -1, "110": -1, "111": -1, -"112": -1, "113": -1, "114": -1, "115": -1, "116": -1, "117": -1, "118": -1, -"119": -1, "120": -1, "121": -1, "122": -1, "123": -1, "124": -1, "125": -1, -"126": -1, "127": -1 -}, - - // Note: tag needs to match what cros_personalize anticipated! - // https://cs.corp.google.com/search/?q=kCrosFwr - "tag": "00000000000000000000000000000000000000000000000000000000", - - // cros_loader uses b1-dev key as key to verify RW with - "keyid": 860844255, // b1-dev, RO 0.0.11 key - - "p4cl": 177, // P4 sync cl for XML we link against. 177 == 0xb1. - - "timestamp": 0, - "epoch": 0, // FWR diversification contributor, 32 bits. - "major": 4, // FW2_HIK_CHAIN counter. - "minor": 24, // Mostly harmless version field. - "applysec": -1, // Mask to and with fuse BROM_APPLYSEC. - "config1": 13, // Which BROM_CONFIG1 actions to take before launching. - "err_response": 0, // Mask to or with fuse BROM_ERR_RESPONSE. - "expect_response": 3 // purgatory level when expectation fails. -} diff --git a/util/signer/ec_RW-manifest-prod.json b/util/signer/ec_RW-manifest-prod.json deleted file mode 100644 index 4d725af315..0000000000 --- a/util/signer/ec_RW-manifest-prod.json +++ /dev/null @@ -1,52 +0,0 @@ -{ -// List of fuses and their expected values. -"fuses": { - "FLASH_PERSO_PAGE_LOCK": 5, // individualized - "FW_DEFINED_DATA_BLK0": 2, // cros SKU - "FW_DEFINED_DATA_EXTRA_BLK6": 0 // escape hatch -}, -// Rollback state. -"info": { - "2": -1, "3": -1, "4": -1, "5": -1, "6": -1, - "7": -1, "8": -1, "9": -1, "10": -1, "11": -1, "12": -1 , "13": -1, - "14": -1, "15": -1, "16": -1, "17": -1, "18": -1, "19": -1, "20": -1, - "21": -1, "22": -1, "23": -1, "24": -1, "25": -1, "26": -1, "27": -1, - "28": -1, "29": -1, "30": -1, "31": -1, "32": -1, "33": -1, "34": -1, - "35": -1, "36": -1, "37": -1, "38": -1, "39": -1, "40": -1, "41": -1, - "42": -1, "43": -1, "44": -1, "45": -1, "46": -1, "47": -1, "48": -1, - "49": -1, "50": -1, "51": -1, "52": -1, "53": -1, "54": -1, "55": -1, - "56": -1, "57": -1, "58": -1, "59": -1, "60": -1, "61": -1, "62": -1, - "63": -1, "64": -1, "65": -1, "66": -1, "67": -1, "68": -1, "69": -1, - "70": -1, "71": -1, "72": -1, "73": -1, "74": -1, "75": -1, "76": -1, - "77": -1, "78": -1, "79": -1, "80": -1, "81": -1, "82": -1, "83": -1, - "84": -1, "85": -1, "86": -1, "87": -1, "88": -1, "89": -1, "90": -1, - "91": -1, "92": -1, "93": -1, "94": -1, "95": -1, "96": -1, "97": -1, - "98": -1, "99": -1, "100": -1, "101": -1, "102": -1, "103": -1, "104": -1, -"105": -1, "106": -1, "107": -1, "108": -1, "109": -1, "110": -1, "111": -1, -"112": -1, "113": -1, "114": -1, "115": -1, "116": -1, "117": -1, "118": -1, -"119": -1, "120": -1, "121": -1, "122": -1, "123": -1, "124": -1, "125": -1, -"126": -1, "127": -1 -}, - - // Note: tag needs to match what cros_personalize anticipated! - // https://cs.corp.google.com/search/?q=kCrosFwr - "tag": "00000000000000000000000000000000000000000000000000000000", - - // cros_loader uses b1-dev key as key to verify RW with - //"keyid": -1187158727, // b1-dev key - "keyid": -561489779, // prod RW key - - "p4cl": 177, // P4 sync cl for XML we link against. 177 == 0xb1. - - // Make sure a value is there so that current time is not used, and make - // sure the value is small so that any dev build with the same - // epoch/major/minor would be preferred - "timestamp": 1, - "epoch": 0, // FWR diversification contributor, 32 bits. - "major": 3, // FW2_HIK_CHAIN counter. - "minor": 24, // Mostly harmless version field. - "applysec": -1, // Mask to and with fuse BROM_APPLYSEC. - "config1": 13, // Which BROM_CONFIG1 actions to take before launching. - "err_response": 0, // Mask to or with fuse BROM_ERR_RESPONSE. - "expect_response": 3 // purgatory level when expectation fails. -} diff --git a/util/signer/fuses.xml b/util/signer/fuses.xml deleted file mode 100644 index 627c8796b8..0000000000 --- a/util/signer/fuses.xml +++ /dev/null @@ -1,2034 +0,0 @@ -<ArrayType> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>BNK0_INTG_CHKSUM</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>0</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>24</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>BNK0_INTG_LOCK</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>1</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>DS_GRP0</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>2</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>9</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>DS_GRP1</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>3</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>9</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>DS_GRP2</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>4</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>9</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>DEV_ID0</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>5</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>32</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>DEV_ID1</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>6</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>32</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>BNK1_INTG_CHKSUM</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>7</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>24</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>BNK1_INTG_LOCK</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>8</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LB0_POST_OVRD</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>9</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LB0_POST_PATCNT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>10</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LB0_POST_WARMUP_OVRD</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>11</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LB0_POST_WARMUP_CNT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>12</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LB1_POST_OVRD</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>13</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LB1_POST_PATCNT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>14</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LB1_POST_WARMUP_OVRD</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>15</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LB1_POST_WARMUP_CNT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>16</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LB2_POST_OVRD</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>17</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LB2_POST_PATCNT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>18</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LB2_POST_WARMUP_OVRD</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>19</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LB2_POST_WARMUP_CNT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>20</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LB3_POST_OVRD</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>21</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LB3_POST_PATCNT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>22</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LB3_POST_WARMUP_OVRD</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>23</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LB3_POST_WARMUP_CNT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>24</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LB4_POST_OVRD</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>25</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LB4_POST_PATCNT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>26</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LB4_POST_WARMUP_OVRD</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>27</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LB4_POST_WARMUP_CNT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>28</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>MBIST_POST_SEQ</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>29</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>25</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LBIST_POST_SEQ</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>30</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>25</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>LBIST_VIA_TAP_DIS</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>31</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>MBIST_VIA_TAP_DIS</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>32</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>TAP_DISABLE</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>33</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RNGBIST_AR_EN</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>34</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>TESTMODE_KEYS_EN</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>35</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>PKG_ID</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>36</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>BIN_ID</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>37</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RC_JTR_OSC48_CC_TRIM</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>38</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>8</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RC_JTR_OSC48_CC_EN</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>39</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RC_JTR_OSC60_CC_TRIM</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>40</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>8</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RC_JTR_OSC60_CC_EN</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>41</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RC_TIMER_OSC48_CC_TRIM</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>42</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>8</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RC_TIMER_OSC48_CC_EN</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>43</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RC_TIMER_OSC48_FC_TRIM</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>44</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>5</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RC_TIMER_OSC48_FC_EN</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>45</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RC_RTC_OSC256K_CC_TRIM</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>46</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>8</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RC_RTC_OSC256K_CC_EN</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>47</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>SEL_VREG_REG_EN</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>48</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>SEL_VREF_REG</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>49</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>4</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>SEL_VREF_BATMON_EN</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>50</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>SEL_VREF_BATMON</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>51</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>X_OSC_LDO_CTRL_EN</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>52</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>X_OSC_LDO_CTRL</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>53</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>4</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>TEMP_OFFSET_CAL</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>54</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>12</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>TRNG_LDO_CTRL_EN</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>55</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>TRNG_LDO_CTRL</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>56</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>5</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>TRNG_ANALOG_CTRL_EN</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>57</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>TRNG_ANALOG_CTRL</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>58</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>4</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>EXT_XTAL_PDB</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>59</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>DIS_EXT_XTAL_CLK_TREE</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>60</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>OBFUSCATION_EN</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>61</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>HIK_CREATE_LOCK</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>62</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>BNK2_INTG_CHKSUM</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>63</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>24</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>BNK2_INTG_LOCK</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>64</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>TESTMODE_OTPW_DIS</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>65</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>HKEY_WDOG_TIMER_EN</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>66</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>FLASH_PERSO_PAGE_LOCK</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>67</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>ALERT_RSP_CFG</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>68</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>8</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>BNK3_INTG_CHKSUM</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>69</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>24</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>BNK3_INTG_LOCK</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>70</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>FW_DEFINED_DATA_BLK0</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>71</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>8</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>FW_DEFINED_BROM_ERR_RESPONSE</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>72</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>16</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>FW_DEFINED_BROM_APPLYSEC</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>73</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>12</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>FW_DEFINED_BROM_CONFIG0</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>74</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>8</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>FW_DEFINED_BROM_CONFIG1</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>75</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>8</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_MODE_DBG_OVRD_DIS</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>76</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>1</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_MODE_OUTPUT_OVRD_DIS</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>77</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>7</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_CLK10HZ_COUNT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>78</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>16</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_SHORT_DELAY_COUNT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>79</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>16</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_LONG_DELAY_COUNT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>80</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>8</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_DEBOUNCE_PERIOD</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>81</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>16</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_DEBOUNCE_BYPASS_PWRB</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>82</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>1</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_DEBOUNCE_BYPASS_KEY0</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>83</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>1</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_DEBOUNCE_BYPASS_KEY1</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>84</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>1</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_KEY_COMBO0_VAL</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>85</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>8</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_KEY_COMBO1_VAL</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>86</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>8</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_KEY_COMBO2_VAL</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>87</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>8</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_KEY_COMBO0_HOLD</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>88</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>8</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_KEY_COMBO1_HOLD</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>89</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>8</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_KEY_COMBO2_HOLD</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>90</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>8</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_BLOCK_KEY0_SEL</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>91</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>1</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_BLOCK_KEY1_SEL</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>92</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>1</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_BLOCK_KEY0_VAL</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>93</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>1</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_BLOCK_KEY1_VAL</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>94</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>1</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_POL_AC_PRESENT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>95</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>1</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_POL_PWRB_IN</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>96</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>1</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_POL_PWRB_OUT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>97</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>1</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_POL_KEY0_IN</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>98</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>1</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_POL_KEY0_OUT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>99</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>1</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_POL_KEY1_IN</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>100</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>1</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_POL_KEY1_OUT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>101</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>1</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_POL_EC_RST</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>102</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>1</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_POL_BATT_DISABLE</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>103</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>1</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_TERM_AC_PRESENT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>104</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_TERM_ENTERING_RW</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>105</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_TERM_PWRB_IN</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>106</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_TERM_PWRB_OUT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>107</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_TERM_KEY0_IN</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>108</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_TERM_KEY0_OUT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>109</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_TERM_KEY1_IN</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>110</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_TERM_KEY1_OUT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>111</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_DRIVE_PWRB_OUT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>112</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_DRIVE_KEY0_OUT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>113</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_DRIVE_KEY1_OUT</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>114</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_DRIVE_EC_RST</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>115</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>RBOX_DRIVE_BATT_DISABLE</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>116</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>2</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>BNK4_INTG_CHKSUM</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>117</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>24</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>BNK4_INTG_LOCK</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>118</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>3</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>FW_DEFINED_DATA_EXTRA_BLK0</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>119</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>8</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>FW_DEFINED_DATA_EXTRA_BLK1</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>120</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>8</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>FW_DEFINED_DATA_EXTRA_BLK2</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>121</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>8</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>FW_DEFINED_DATA_EXTRA_BLK3</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>122</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>8</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>FW_DEFINED_DATA_EXTRA_BLK4</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>123</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>8</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>FW_DEFINED_DATA_EXTRA_BLK5</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>124</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>8</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> - <HashType> - <HashItem> - <Key>RegName</Key> - <Value>FW_DEFINED_DATA_EXTRA_BLK6</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>125</Value> - </HashItem> - <HashItem> - <Key>Width</Key> - <Value>5</Value> - </HashItem> - </HashType> -</ArrayItem> -<ArrayItem> -<HashType> - <HashItem> - <Key>RegName</Key> - <Value>SWDP_P4_LAST_SYNC</Value> - </HashItem> - <HashItem> - <Key>Default</Key> - <Value>177</Value> - </HashItem> - <HashItem> - <Key>FuseLogicalOffset</Key> - <Value>0</Value> - </HashItem> -</HashType> -</ArrayItem> -</ArrayType> diff --git a/util/signer/loader-testkey-A.pem b/util/signer/loader-testkey-A.pem deleted file mode 100644 index ea16e603e9..0000000000 --- a/util/signer/loader-testkey-A.pem +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEogIBAAKCAQEAp/kh8/NGr1GUMA6c0tq9cRhVMaMwhYCF6mkpeW/D+1k3lL5q -pkjqDcYBZG4xbhdCgEH9ppPYKzwKBVieWuqf7uymLBlCLmaPA6P4J+IwhS001WoD -0kACEhnbL4xeP21fwuz9/u6ucoM8kJsFV/gacADmuOKTrU89Kyj2J5iLWVQPMMAM -BOk+3BNamWwnCRk+CvcT+EQHtzcFkK2avm4HUQNSzhL407NbvsHwUjv7N6wtjeu5 -VLaTLTHxk9Z5savcn2jgxWASn4M59dpD7KSTYi4LsY8NPUWswz0E2a0vk8rfthtA -amTkU4MT9ohVYq2JTCj5DC3DV/0Z7xiZ+ZsYPQIBAwKCAQBv+2v394R04Q11XxM3 -PH5LZY4hF3WuVa6cRhumSoKnkM+4fvHEMJwJLquYSXZJZNcAK/5vDTrHfVwDkGmR -8b/0ncQdZiwe7woCbVAalssDc3iORq021Va2u+d1CD7U85Usnf6p9HRMV321vK46 -pWb1Ve8l7GJziijHcKQaZbI7jEq4JKyk9lL7seEWjf2zHyiLnh8wxQK7Ebizrqw9 -EIH3tmC6JKvbGJPizQ6tz1O0bVwiaHmZObouRxBTE8fL2zuSmJunqsYK4xqWfRsb -+RcSDndzBTW89qZr7i3h22g8jUsMiPBqV9/l9w1dOxnWwAtQSHfebcCA2u3OxUGM -9dpTAoGBANhm0GYySwuCJc8lJpsBUl2tbuw7pzRdDe8BuqGv2aaEHx7arwFat1AA -ZHVlQquWaKxwCuyFY/QlGq4uTNHhkBgygnFeEvtZ0KaKSVBBXY0Fbhq+N6rsX7FQ -eRb4sz7We/aFR2K1V52dHaetOjMBfLhX1e7dZRwX8xnSSKuQeB6DAoGBAMa1uKLb -LLbgYrnScI97GCOMGvjzdU9BjoGBbPay+53ZUqLcLPWwVy3qKeToQlISn3bqRBZp -fAfCrKro6/weUusRAYXrzO41XeuJ1UsBUWPBqj3Gz5G1dAHQ3qkOMNRievieBnUV -iXbdctg9dXufEL/75lZhJAZ+wZtmqAwVsjI/AoGBAJBEiu7MMgesGTTDbxIA4ZPI -9J19GiLos/Sr0cEf5m8Cv2nnH1Y8ejVVmE5Dgce5mx2gB0hY7U1uEcl0MzaWYBAh -rEuUDKeRNcRcMOArk7NY9BHUJRydlSDgULn7IinkUqRY2kHOOmkTaRpzfCIA/dA6 -jp8+Q2gP92aMMHJgUBRXAoGBAIR5JcHncySVlyaMSwpSEBeyvKX3o4ortFZWSKR3 -Umk7jGySyKPK5MlGxpia1uFhv6ScLWRGUq/XHcdF8qgUN0dgq66dM0l46UexONyr -i5fWcX6EimEjoqvglHC0II2W/KW+rvi5Bk8+TJAo+P0UtdVSmY7rbVmp1meZxV1j -zCF/AoGAcm2nAn275kfGZjXkTCYTZ6IXJgxcc4vXhv573UfNIJnC0Sg9rsgFiXHc -nuQwFh5pTm4hU7uEknc/IobFLdCqM9mqujuYmboj0pmbRfOsjV9hqcmuo1OrSbJa -gozzsNqU2I6srVW5SlCwWu1c4rBlBZvcdUtBRRb2b6bnhe29ykg= ------END RSA PRIVATE KEY----- diff --git a/util/signer/rom-testkey-A.pem b/util/signer/rom-testkey-A.pem deleted file mode 100644 index 77a69d8448..0000000000 --- a/util/signer/rom-testkey-A.pem +++ /dev/null @@ -1,39 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIG4AIBAAKCAYB7AIp3IzOv+FL4TNw2NwTD/Zx/ZOXmRYN14bICBHv9SufXlHT3 -klWR6GYZdGrY4/8VViz+Ax2JU6Rjgm7R4+Dh0Ny8TSlhIFloyVE2Dgb463hONrH+ -N09r7xPM34dMNJRQcd/2ptYD1Q+fnsg874EZtLXY2/b11jjj9mxyDru33MzNcQYm -lTcAMayQs/nvBzsaUqJvMn89OtMg9BnKJwapcLvFywtNrCiC4iywqQSiqLt/FrbK -nZd03Z/dT42fHt5h4MYfvT61S6XnkeOgFXD3lDHMbtD/Xg7eDT5Oh+wkSyXlpZHr -HRLWkvZGSbHwywU91G/K8O05jnhv1q9Tawvxs5AKuqvOjNrhY8u8LgoJ88XhGvGQ -yzhJuOeuEWomV/9F4CZqbFJ/+mFPRUfbjpRoauX0GCoO/BSSIgijlF2Ax1SoaZoi -bY8E2TJUBXvxifMvHg/zdxiHeAR/8G5g43jfZz4HJ8PIHdmXRz5/IeK5IdEgSnxx -5b3Rv/amI6vOe40CAQMCggGAUgBcT2zNH/rh+t3oJCSt1/5oVO3umYOs+UEhVq2n -/jHv5Q2jT7bjtpruu6Lx5e1UuOQd/qy+W40YQlb0i+1Alos90t4blhWQ8IY2JAlZ -+0eliXnL/s+KR/S33epaMs24NaE/+cSOrTi1FRSFffUAu83OkJKko+Ql7U7y9rR9 -JT3d3ktZbw4kqsvIYHf79K98vDcW9MxU03yMwKK73BoEcPXSg9yyM8gbAewdyxtY -bHB8/2R53GkPoz5qk4peahSTRslgZHmnUc4zHp0lmy8LOvaGm++wb1m+5sw/8cte -Kjdyh7KFYH1Sdzin5Fw5oabdIz+oercj34JJP1Gx1TV0oQA7yjCWDfVfnGgoN7AX -3QNSW5HonmkaY5TYZ+la7kGocxewN1pLtun03OZDQlpF73dXWYZFWfky4Lc2Egkk -rE2LjmFQQ5YlYOB+qaxaZCOM7i8BYJHwAMT1kKDXoqqdqqqLwcJcorXdYXME0IMS -OIfFDhhYgUF1f5Ex/DgcG0RrAoHBAPl7mWuOjpCo6eNcFICvIoR64dNF0ud9lvUG -RiUD5wTnR0cyGuWqvfDFYw1G4gUQsVsE/dOWPkevetb4RZAMie0tvbR2FIYL0ZgV -vdbV7puSLWjZF3Ap2AnX9dH7HrxADPd1y84JvhQK3zTurz35AhGEQZM4GyAunxEh -zfMew3fCKoMzsmky92q+IN4Za6HZPkOMzfJDlc/nRZIU5riCQsoKFWboO2Y9hQUg -royXy7+CE18jE8QJ6qzt5JgdiPYOxQKBwH43HB14NSntb1ZKFrafvZqnhg9BdXDZ -2Y7UmD7S9+AQstLnrvS2WTL4l2J4eXlACC3v9T9H+SKbj7nj3wOOUxMFeKb7tjOQ -+d6x0ZHP96LcnO7m/TMDuKqBrUA4QwS1daHG0klbItmQks79M7oOKW+zoVqWpufX -qS/taZVn4waQ2M+j71PZX4jKU3dpiLl7YYZKv/BYmrZpTpTqRDRhSZVdVv2b/W3P -iH/6CLnFe6TUFiwC4+v5ouV4RxOx+K+GKQKBwQCmUmZHtF8LG0aXkrhVyhcC/JaM -2TdE/mSjWYQYrUSt74TaIWdDxylLLkII2ewDYHY8rf6NDtQvylHkpYO1XbFIySki -+WMEB+EQDn6POUm9DB5F5g+gG+Vb5U6L/L8oKrNPo900Bn64Bz94nx9+pgFhAtZi -JWdqyb9gwTP3adelLBxXd8xGIfpHKWs+u50WkNQtCIlMLQ6Kmi5hY0R7AYHcBrjv -RXzu064Dax8IZTJ/rAzqF2KCsUcd8+26vltOtIMCgcBUJL1o+s4b85+O3A8kan5n -GllfgPj15pEJ4xAp4fqVYHc3RR9NzuYh+w+W+vumKrAen/jU2qYXEl/RQpStCYy3 -WPsZ/SQiYKaUdou2iqUXPb30mf4iAnscVnOAJYIDI6PBLzbbkhc7tbc0qM0mtBuf -zRY8ZG9FOnDKnkZjmpdZteXfwp+NO5UF3Dek8QXQ/Ouu3H/1kGckRjRjRtgi64Zj -k49TvVOeilr//AXRLlJt4rlyrJfypmyY+toNIVB1BBsCgcEA5IYJrpO5qGVWlfnX -70deEyhKUhEXs91b6Vcf8KJNtxBao3H2B8uGtPrx0nCtxgI7XPYDiqIZ3cQDrjct -4cLTah0hwaxnoKsB0aGbRWccpn6uDpqa5TVMBIVwUiyWVd+spAxxRDNIcSWn8lYM -pK6Hc54XEJbaXJXTrAPGj8r4eCScRvJDqJnSzVDTztu1EoHvHrFVFkTMELFhIEmf -duSuLGNMweNghh8yN5ipOSVp3qog2/hv3l79HIPhVHf3G17j ------END RSA PRIVATE KEY----- |