sb-config: Fix block register index calculation.

Block register indexes are wrongly calculated because
of hashmap hash is not ordered.

To correctly calculate offset for block registers
use eeprom_layout_get_block_register_offset().

BUG=None
TEST=None

Change-Id: Icd83a306665be635adce8fb40575168784fa3e06
Reviewed-on: https://chrome-internal-review.googlesource.com/c/chromeos/third_party/dolos/+/7108884
Reviewed-by: Udaya Kiran Ammu <udaykiran@google.com>
Tested-by: Udaya Kiran Ammu <udaykiran@google.com>
Commit-Queue: Udaya Kiran Ammu <udaykiran@google.com>
diff --git a/sb-config/src/eeprom.rs b/sb-config/src/eeprom.rs
index aea3f6e..c3e1890 100644
--- a/sb-config/src/eeprom.rs
+++ b/sb-config/src/eeprom.rs
@@ -245,15 +245,14 @@
         reserved_2: std::array::from_fn(|_| Default::default()),
         reserved_3: std::array::from_fn(|_| Default::default()),
     };
-    let mut block_reg_index = 0;
     for (i, sb_reg) in sb_config.registers.iter() {
         match &sb_reg.value {
             BlockRegister(v) => {
+                let block_reg_index = eeprom_layout_get_block_register_offset(*i);
                 for (j, value) in v.iter().enumerate() {
                     r.block_registers[block_reg_index].data[j] = *value;
                 }
                 r.block_registers[block_reg_index].length = v.len() as u8;
-                block_reg_index += 1;
             }
             WordRegister(v) => {
                 r.word_registers[*i as usize] = eeprom_layout::sb_word_register {