summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Bendebury <vbendeb@chromium.org>2016-08-26 17:40:17 -0700
committerchrome-bot <chrome-bot@chromium.org>2016-09-07 00:16:56 -0700
commit834207c4854a9f15e4deb9f3a7a03677feed7e68 (patch)
treeeaf9f6c14e2b32480e04d8dc546e939e51f53e33
parent3392ad70d0d73788f1c24edbb08ddc30a93a0223 (diff)
downloadchrome-ec-834207c4854a9f15e4deb9f3a7a03677feed7e68.tar.gz
cr50: provide build mode for signing with fob
We don't really have the ability to build the latest signer yet, but this should not stop us from being able to build a properly signed image using the ec makefiles. As a stopgap measure the suggestion is to keep the latest signer binary in ~/bin/codesigner in chroot, then with this patch applied invoking make with CR50_DEV=1 will cause the proper sighner used and proper signing procedure followed. The signed targets need to be built in series to avoid concurrent use of the signer fob, an addition dependency is being added to enforce that. BRANCH=none BUG=chrome-os-partner:55557 TEST=ran make as follows: CR50_DEV=1 make BOARD=cr50 touched the fob when requested, uploaded the generated build/cr50/ec.bin on a kevin-tpm2 using usb_updater, and observed it boot properly with the new version. Change-Id: Ia9494bdc60b4bd3b8e5e09cbcbd8b27409c739d2 Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/376885 Tested-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Bill Richardson <wfrichar@chromium.org>
-rw-r--r--Makefile.rules6
-rw-r--r--chip/g/build.mk12
-rw-r--r--util/signer/ec_RW-manifest-kevin_evt_1.json157
-rw-r--r--util/signer/fuses.xml2034
4 files changed, 2206 insertions, 3 deletions
diff --git a/Makefile.rules b/Makefile.rules
index d2a151205b..565c95c34d 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -45,8 +45,8 @@ cmd_flat_to_obj = $(CC) -T $(out)/firmware_image.lds -nostdlib $(CPPFLAGS) \
# Allow the .roshared section to overlap other sections (itself)
cmd_ec_elf_to_flat ?= $(OBJCOPY) --set-section-flags .roshared=share \
-O binary $< $@
-cmd_elf_to_signed ?= sudo $(out)/util/signer --key=util/signer/$(3) \
- --input=$< --format=bin --output=$@.signed $(SIG_EXTRA) \
+cmd_elf_to_signed ?= sudo $(SIGNER) --key=util/signer/$(3) \
+ --input=$< --format=bin --output=$@.signed $(SIGNER_EXTRAS) \
&& sudo chown $(shell whoami) $@.signed && mv $@.signed $@
cmd_elf_to_dis = $(OBJDUMP) -D $< > $@
cmd_elf_to_hex = $(OBJCOPY) -O ihex $< $@
@@ -274,7 +274,7 @@ $(out)/RO/%.flat: $(out)/RO/%.elf $(out)/RO/%.smap
$(call quiet,elf_to_signed,RO_SIGN,$(CR50_RO_KEY))
$(out)/RW/%.flat: $(out)/RW/%.elf $(out)/RW/%.smap
- $(call quiet,elf_to_signed,RW_SIGN,loader-testkey-A.pem)
+ $(call quiet,elf_to_signed,RW_SIGN,$(CR50_RW_KEY))
$(out)/RO/%.hex: $(out)/RO/%.flat
$(call quiet,bin_to_hex,OBJCOPY)
diff --git a/chip/g/build.mk b/chip/g/build.mk
index 9cc0edb8a1..ed5c62ccbe 100644
--- a/chip/g/build.mk
+++ b/chip/g/build.mk
@@ -101,6 +101,18 @@ $(out)/RW/ec.RW_B.flat: $(out)/util/signer
endif
CR50_RO_KEY ?= rom-testkey-A.pem
+ifeq ($(CR50_DEV),)
+CR50_RW_KEY = loader-testkey-A.pem
+SIGNER = $(out)/util/signer
+SIGNER_EXTRAS =
+else
+SIGNER = $(HOME)/bin/codesigner
+CR50_RW_KEY = cr50_rom0-dev-blsign.pem.pub
+RW_SIGNER_EXTRAS = -x util/signer/fuses.xml
+RW_SIGNER_EXTRAS += -j util/signer/ec_RW-manifest-kevin_evt_1.json
+$(out)/RW/ec.RW_B.flat: $(out)/RW/ec.RW.flat
+$(out)/RW/ec.RW.flat $(out)/RW/ec.RW_B.flat: SIGNER_EXTRAS = $(RW_SIGNER_EXTRAS)
+endif
# This file is included twice by the Makefile, once to determine the CHIP info
# # and then again after defining all the CONFIG_ and HAS_TASK variables. We use
diff --git a/util/signer/ec_RW-manifest-kevin_evt_1.json b/util/signer/ec_RW-manifest-kevin_evt_1.json
new file mode 100644
index 0000000000..94295f7473
--- /dev/null
+++ b/util/signer/ec_RW-manifest-kevin_evt_1.json
@@ -0,0 +1,157 @@
+{
+// 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": {
+"0": -1,
+"1": -1,
+"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
+
+ "p4cl": 177, // P4 sync cl for XML we link against. 177 == 0xb1.
+
+ "timestamp": 0,
+ "epoch": 0, // FWR diversification contributor, 32 bits.
+ "major": 0, // FW2_HIK_CHAIN counter.
+ "minor": 6, // 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
new file mode 100644
index 0000000000..627c8796b8
--- /dev/null
+++ b/util/signer/fuses.xml
@@ -0,0 +1,2034 @@
+<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>