[otp_ctrl] Allow partitions to absorb unallocated bits

- only creator/owner software partitions can absorb
  unallocated bits.

Signed-off-by: Timothy Chen <timothytim@google.com>
diff --git a/hw/ip/otp_ctrl/data/otp_ctrl.hjson b/hw/ip/otp_ctrl/data/otp_ctrl.hjson
index 6347833..37b46be 100644
--- a/hw/ip/otp_ctrl/data/otp_ctrl.hjson
+++ b/hw/ip/otp_ctrl/data/otp_ctrl.hjson
@@ -174,7 +174,7 @@
     { name: "CreatorSwCfgSize",
       desc: "Size of the CREATOR_SW_CFG partition",
       type: "int",
-      default: "768",
+      default: "800",
       local: "true"
     },
     { name: "CreatorSwCfgAstCfgOffset",
@@ -228,7 +228,7 @@
     { name: "CreatorSwCfgDigestOffset",
       desc: "Offset of CREATOR_SW_CFG_DIGEST",
       type: "int",
-      default: "824",
+      default: "856",
       local: "true"
     },
     { name: "CreatorSwCfgDigestSize",
@@ -240,19 +240,19 @@
     { name: "OwnerSwCfgOffset",
       desc: "Offset of the OWNER_SW_CFG partition",
       type: "int",
-      default: "832",
+      default: "864",
       local: "true"
     },
     { name: "OwnerSwCfgSize",
       desc: "Size of the OWNER_SW_CFG partition",
       type: "int",
-      default: "768",
+      default: "800",
       local: "true"
     },
     { name: "RomErrorReportingOffset",
       desc: "Offset of ROM_ERROR_REPORTING",
       type: "int",
-      default: "832",
+      default: "864",
       local: "true"
     },
     { name: "RomErrorReportingSize",
@@ -264,7 +264,7 @@
     { name: "RomBootstrapEnOffset",
       desc: "Offset of ROM_BOOTSTRAP_EN",
       type: "int",
-      default: "836",
+      default: "868",
       local: "true"
     },
     { name: "RomBootstrapEnSize",
@@ -276,7 +276,7 @@
     { name: "RomFaultResponseOffset",
       desc: "Offset of ROM_FAULT_RESPONSE",
       type: "int",
-      default: "840",
+      default: "872",
       local: "true"
     },
     { name: "RomFaultResponseSize",
@@ -288,7 +288,7 @@
     { name: "RomAlertClassEnOffset",
       desc: "Offset of ROM_ALERT_CLASS_EN",
       type: "int",
-      default: "844",
+      default: "876",
       local: "true"
     },
     { name: "RomAlertClassEnSize",
@@ -300,7 +300,7 @@
     { name: "RomAlertEscalationOffset",
       desc: "Offset of ROM_ALERT_ESCALATION",
       type: "int",
-      default: "848",
+      default: "880",
       local: "true"
     },
     { name: "RomAlertEscalationSize",
@@ -312,7 +312,7 @@
     { name: "RomAlertClassificationOffset",
       desc: "Offset of ROM_ALERT_CLASSIFICATION",
       type: "int",
-      default: "852",
+      default: "884",
       local: "true"
     },
     { name: "RomAlertClassificationSize",
@@ -324,7 +324,7 @@
     { name: "RomLocalAlertClassificationOffset",
       desc: "Offset of ROM_LOCAL_ALERT_CLASSIFICATION",
       type: "int",
-      default: "1172",
+      default: "1204",
       local: "true"
     },
     { name: "RomLocalAlertClassificationSize",
@@ -336,7 +336,7 @@
     { name: "RomAlertAccumThreshOffset",
       desc: "Offset of ROM_ALERT_ACCUM_THRESH",
       type: "int",
-      default: "1236",
+      default: "1268",
       local: "true"
     },
     { name: "RomAlertAccumThreshSize",
@@ -348,7 +348,7 @@
     { name: "RomAlertTimeoutCyclesOffset",
       desc: "Offset of ROM_ALERT_TIMEOUT_CYCLES",
       type: "int",
-      default: "1252",
+      default: "1284",
       local: "true"
     },
     { name: "RomAlertTimeoutCyclesSize",
@@ -360,7 +360,7 @@
     { name: "RomAlertPhaseCyclesOffset",
       desc: "Offset of ROM_ALERT_PHASE_CYCLES",
       type: "int",
-      default: "1268",
+      default: "1300",
       local: "true"
     },
     { name: "RomAlertPhaseCyclesSize",
@@ -372,7 +372,7 @@
     { name: "OwnerSwCfgDigestOffset",
       desc: "Offset of OWNER_SW_CFG_DIGEST",
       type: "int",
-      default: "1592",
+      default: "1656",
       local: "true"
     },
     { name: "OwnerSwCfgDigestSize",
@@ -384,7 +384,7 @@
     { name: "HwCfgOffset",
       desc: "Offset of the HW_CFG partition",
       type: "int",
-      default: "1600",
+      default: "1664",
       local: "true"
     },
     { name: "HwCfgSize",
@@ -396,7 +396,7 @@
     { name: "DeviceIdOffset",
       desc: "Offset of DEVICE_ID",
       type: "int",
-      default: "1600",
+      default: "1664",
       local: "true"
     },
     { name: "DeviceIdSize",
@@ -408,7 +408,7 @@
     { name: "ManufStateOffset",
       desc: "Offset of MANUF_STATE",
       type: "int",
-      default: "1632",
+      default: "1696",
       local: "true"
     },
     { name: "ManufStateSize",
@@ -420,7 +420,7 @@
     { name: "EnSramIfetchOffset",
       desc: "Offset of EN_SRAM_IFETCH",
       type: "int",
-      default: "1664",
+      default: "1728",
       local: "true"
     },
     { name: "EnSramIfetchSize",
@@ -432,7 +432,7 @@
     { name: "EnCsrngSwAppReadOffset",
       desc: "Offset of EN_CSRNG_SW_APP_READ",
       type: "int",
-      default: "1665",
+      default: "1729",
       local: "true"
     },
     { name: "EnCsrngSwAppReadSize",
@@ -444,7 +444,7 @@
     { name: "EnEntropySrcFwReadOffset",
       desc: "Offset of EN_ENTROPY_SRC_FW_READ",
       type: "int",
-      default: "1666",
+      default: "1730",
       local: "true"
     },
     { name: "EnEntropySrcFwReadSize",
@@ -456,7 +456,7 @@
     { name: "EnEntropySrcFwOverOffset",
       desc: "Offset of EN_ENTROPY_SRC_FW_OVER",
       type: "int",
-      default: "1667",
+      default: "1731",
       local: "true"
     },
     { name: "EnEntropySrcFwOverSize",
@@ -468,7 +468,7 @@
     { name: "HwCfgDigestOffset",
       desc: "Offset of HW_CFG_DIGEST",
       type: "int",
-      default: "1672",
+      default: "1736",
       local: "true"
     },
     { name: "HwCfgDigestSize",
@@ -480,7 +480,7 @@
     { name: "Secret0Offset",
       desc: "Offset of the SECRET0 partition",
       type: "int",
-      default: "1680",
+      default: "1744",
       local: "true"
     },
     { name: "Secret0Size",
@@ -492,7 +492,7 @@
     { name: "TestUnlockTokenOffset",
       desc: "Offset of TEST_UNLOCK_TOKEN",
       type: "int",
-      default: "1680",
+      default: "1744",
       local: "true"
     },
     { name: "TestUnlockTokenSize",
@@ -504,7 +504,7 @@
     { name: "TestExitTokenOffset",
       desc: "Offset of TEST_EXIT_TOKEN",
       type: "int",
-      default: "1696",
+      default: "1760",
       local: "true"
     },
     { name: "TestExitTokenSize",
@@ -516,7 +516,7 @@
     { name: "Secret0DigestOffset",
       desc: "Offset of SECRET0_DIGEST",
       type: "int",
-      default: "1712",
+      default: "1776",
       local: "true"
     },
     { name: "Secret0DigestSize",
@@ -528,7 +528,7 @@
     { name: "Secret1Offset",
       desc: "Offset of the SECRET1 partition",
       type: "int",
-      default: "1720",
+      default: "1784",
       local: "true"
     },
     { name: "Secret1Size",
@@ -540,7 +540,7 @@
     { name: "FlashAddrKeySeedOffset",
       desc: "Offset of FLASH_ADDR_KEY_SEED",
       type: "int",
-      default: "1720",
+      default: "1784",
       local: "true"
     },
     { name: "FlashAddrKeySeedSize",
@@ -552,7 +552,7 @@
     { name: "FlashDataKeySeedOffset",
       desc: "Offset of FLASH_DATA_KEY_SEED",
       type: "int",
-      default: "1752",
+      default: "1816",
       local: "true"
     },
     { name: "FlashDataKeySeedSize",
@@ -564,7 +564,7 @@
     { name: "SramDataKeySeedOffset",
       desc: "Offset of SRAM_DATA_KEY_SEED",
       type: "int",
-      default: "1784",
+      default: "1848",
       local: "true"
     },
     { name: "SramDataKeySeedSize",
@@ -576,7 +576,7 @@
     { name: "Secret1DigestOffset",
       desc: "Offset of SECRET1_DIGEST",
       type: "int",
-      default: "1800",
+      default: "1864",
       local: "true"
     },
     { name: "Secret1DigestSize",
@@ -588,7 +588,7 @@
     { name: "Secret2Offset",
       desc: "Offset of the SECRET2 partition",
       type: "int",
-      default: "1808",
+      default: "1872",
       local: "true"
     },
     { name: "Secret2Size",
@@ -600,7 +600,7 @@
     { name: "RmaTokenOffset",
       desc: "Offset of RMA_TOKEN",
       type: "int",
-      default: "1808",
+      default: "1872",
       local: "true"
     },
     { name: "RmaTokenSize",
@@ -612,7 +612,7 @@
     { name: "CreatorRootKeyShare0Offset",
       desc: "Offset of CREATOR_ROOT_KEY_SHARE0",
       type: "int",
-      default: "1824",
+      default: "1888",
       local: "true"
     },
     { name: "CreatorRootKeyShare0Size",
@@ -624,7 +624,7 @@
     { name: "CreatorRootKeyShare1Offset",
       desc: "Offset of CREATOR_ROOT_KEY_SHARE1",
       type: "int",
-      default: "1856",
+      default: "1920",
       local: "true"
     },
     { name: "CreatorRootKeyShare1Size",
@@ -636,7 +636,7 @@
     { name: "Secret2DigestOffset",
       desc: "Offset of SECRET2_DIGEST",
       type: "int",
-      default: "1888",
+      default: "1952",
       local: "true"
     },
     { name: "Secret2DigestSize",
@@ -648,7 +648,7 @@
     { name: "LifeCycleOffset",
       desc: "Offset of the LIFE_CYCLE partition",
       type: "int",
-      default: "1896",
+      default: "1960",
       local: "true"
     },
     { name: "LifeCycleSize",
@@ -660,7 +660,7 @@
     { name: "LcTransitionCntOffset",
       desc: "Offset of LC_TRANSITION_CNT",
       type: "int",
-      default: "1896",
+      default: "1960",
       local: "true"
     },
     { name: "LcTransitionCntSize",
@@ -672,7 +672,7 @@
     { name: "LcStateOffset",
       desc: "Offset of LC_STATE",
       type: "int",
-      default: "1944",
+      default: "2008",
       local: "true"
     },
     { name: "LcStateSize",
diff --git a/hw/ip/otp_ctrl/data/otp_ctrl_mmap.hjson b/hw/ip/otp_ctrl/data/otp_ctrl_mmap.hjson
index b8508ec..e5ec3a0 100644
--- a/hw/ip/otp_ctrl/data/otp_ctrl_mmap.hjson
+++ b/hw/ip/otp_ctrl/data/otp_ctrl_mmap.hjson
@@ -100,7 +100,7 @@
         {
             name:       "CREATOR_SW_CFG",
             variant:    "Unbuffered",
-            //absorb:     true,
+            absorb:     true,
             size:       "768", // in bytes
             secret:     false,
             sw_digest:  true,
@@ -136,7 +136,7 @@
         {
             name:       "OWNER_SW_CFG",
             variant:    "Unbuffered",
-            //absorb:     true,
+            absorb:     true,
             size:       "768", // in bytes
             secret:     false,
             sw_digest:  true,
diff --git a/hw/ip/otp_ctrl/doc/otp_ctrl_mmap.md b/hw/ip/otp_ctrl/doc/otp_ctrl_mmap.md
index fe2bfa2..8dd643e 100644
--- a/hw/ip/otp_ctrl/doc/otp_ctrl_mmap.md
+++ b/hw/ip/otp_ctrl/doc/otp_ctrl_mmap.md
@@ -7,39 +7,39 @@
 |:-------:|:--------------:|:----------:|:----------------:|:-----------------------------------------------------:|:--------------:|:----------:|
 |    0    |  VENDOR_TEST   |     64     |      32bit       |                        SCRATCH                        |     0x000      |     56     |
 |         |                |            |      64bit       |    [VENDOR_TEST_DIGEST](#Reg_vendor_test_digest_0)    |     0x038      |     8      |
-|    1    | CREATOR_SW_CFG |    768     |      32bit       |                CREATOR_SW_CFG_AST_CFG                 |     0x040      |    256     |
+|    1    | CREATOR_SW_CFG |    800     |      32bit       |                CREATOR_SW_CFG_AST_CFG                 |     0x040      |    256     |
 |         |                |            |      32bit       |              CREATOR_SW_CFG_ROM_EXT_SKU               |     0x140      |     4      |
 |         |                |            |      32bit       |           CREATOR_SW_CFG_USE_SW_RSA_VERIFY            |     0x144      |     4      |
 |         |                |            |      32bit       |              CREATOR_SW_CFG_KEY_IS_VALID              |     0x148      |     8      |
-|         |                |            |      64bit       | [CREATOR_SW_CFG_DIGEST](#Reg_creator_sw_cfg_digest_0) |     0x338      |     8      |
-|    2    |  OWNER_SW_CFG  |    768     |      32bit       |                  ROM_ERROR_REPORTING                  |     0x340      |     4      |
-|         |                |            |      32bit       |                   ROM_BOOTSTRAP_EN                    |     0x344      |     4      |
-|         |                |            |      32bit       |                  ROM_FAULT_RESPONSE                   |     0x348      |     4      |
-|         |                |            |      32bit       |                  ROM_ALERT_CLASS_EN                   |     0x34C      |     4      |
-|         |                |            |      32bit       |                 ROM_ALERT_ESCALATION                  |     0x350      |     4      |
-|         |                |            |      32bit       |               ROM_ALERT_CLASSIFICATION                |     0x354      |    320     |
-|         |                |            |      32bit       |            ROM_LOCAL_ALERT_CLASSIFICATION             |     0x494      |     64     |
-|         |                |            |      32bit       |                ROM_ALERT_ACCUM_THRESH                 |     0x4D4      |     16     |
-|         |                |            |      32bit       |               ROM_ALERT_TIMEOUT_CYCLES                |     0x4E4      |     16     |
-|         |                |            |      32bit       |                ROM_ALERT_PHASE_CYCLES                 |     0x4F4      |     64     |
-|         |                |            |      64bit       |   [OWNER_SW_CFG_DIGEST](#Reg_owner_sw_cfg_digest_0)   |     0x638      |     8      |
-|    3    |     HW_CFG     |     80     |      32bit       |                       DEVICE_ID                       |     0x640      |     32     |
-|         |                |            |      32bit       |                      MANUF_STATE                      |     0x660      |     32     |
-|         |                |            |      32bit       |                    EN_SRAM_IFETCH                     |     0x680      |     1      |
-|         |                |            |      32bit       |                 EN_CSRNG_SW_APP_READ                  |     0x681      |     1      |
-|         |                |            |      32bit       |                EN_ENTROPY_SRC_FW_READ                 |     0x682      |     1      |
-|         |                |            |      32bit       |                EN_ENTROPY_SRC_FW_OVER                 |     0x683      |     1      |
-|         |                |            |      64bit       |         [HW_CFG_DIGEST](#Reg_hw_cfg_digest_0)         |     0x688      |     8      |
-|    4    |    SECRET0     |     40     |      64bit       |                   TEST_UNLOCK_TOKEN                   |     0x690      |     16     |
-|         |                |            |      64bit       |                    TEST_EXIT_TOKEN                    |     0x6A0      |     16     |
-|         |                |            |      64bit       |        [SECRET0_DIGEST](#Reg_secret0_digest_0)        |     0x6B0      |     8      |
-|    5    |    SECRET1     |     88     |      64bit       |                  FLASH_ADDR_KEY_SEED                  |     0x6B8      |     32     |
-|         |                |            |      64bit       |                  FLASH_DATA_KEY_SEED                  |     0x6D8      |     32     |
-|         |                |            |      64bit       |                  SRAM_DATA_KEY_SEED                   |     0x6F8      |     16     |
-|         |                |            |      64bit       |        [SECRET1_DIGEST](#Reg_secret1_digest_0)        |     0x708      |     8      |
-|    6    |    SECRET2     |     88     |      64bit       |                       RMA_TOKEN                       |     0x710      |     16     |
-|         |                |            |      64bit       |                CREATOR_ROOT_KEY_SHARE0                |     0x720      |     32     |
-|         |                |            |      64bit       |                CREATOR_ROOT_KEY_SHARE1                |     0x740      |     32     |
-|         |                |            |      64bit       |        [SECRET2_DIGEST](#Reg_secret2_digest_0)        |     0x760      |     8      |
-|    7    |   LIFE_CYCLE   |     88     |      32bit       |                   LC_TRANSITION_CNT                   |     0x768      |     48     |
-|         |                |            |      32bit       |                       LC_STATE                        |     0x798      |     40     |
\ No newline at end of file
+|         |                |            |      64bit       | [CREATOR_SW_CFG_DIGEST](#Reg_creator_sw_cfg_digest_0) |     0x358      |     8      |
+|    2    |  OWNER_SW_CFG  |    800     |      32bit       |                  ROM_ERROR_REPORTING                  |     0x360      |     4      |
+|         |                |            |      32bit       |                   ROM_BOOTSTRAP_EN                    |     0x364      |     4      |
+|         |                |            |      32bit       |                  ROM_FAULT_RESPONSE                   |     0x368      |     4      |
+|         |                |            |      32bit       |                  ROM_ALERT_CLASS_EN                   |     0x36C      |     4      |
+|         |                |            |      32bit       |                 ROM_ALERT_ESCALATION                  |     0x370      |     4      |
+|         |                |            |      32bit       |               ROM_ALERT_CLASSIFICATION                |     0x374      |    320     |
+|         |                |            |      32bit       |            ROM_LOCAL_ALERT_CLASSIFICATION             |     0x4B4      |     64     |
+|         |                |            |      32bit       |                ROM_ALERT_ACCUM_THRESH                 |     0x4F4      |     16     |
+|         |                |            |      32bit       |               ROM_ALERT_TIMEOUT_CYCLES                |     0x504      |     16     |
+|         |                |            |      32bit       |                ROM_ALERT_PHASE_CYCLES                 |     0x514      |     64     |
+|         |                |            |      64bit       |   [OWNER_SW_CFG_DIGEST](#Reg_owner_sw_cfg_digest_0)   |     0x678      |     8      |
+|    3    |     HW_CFG     |     80     |      32bit       |                       DEVICE_ID                       |     0x680      |     32     |
+|         |                |            |      32bit       |                      MANUF_STATE                      |     0x6A0      |     32     |
+|         |                |            |      32bit       |                    EN_SRAM_IFETCH                     |     0x6C0      |     1      |
+|         |                |            |      32bit       |                 EN_CSRNG_SW_APP_READ                  |     0x6C1      |     1      |
+|         |                |            |      32bit       |                EN_ENTROPY_SRC_FW_READ                 |     0x6C2      |     1      |
+|         |                |            |      32bit       |                EN_ENTROPY_SRC_FW_OVER                 |     0x6C3      |     1      |
+|         |                |            |      64bit       |         [HW_CFG_DIGEST](#Reg_hw_cfg_digest_0)         |     0x6C8      |     8      |
+|    4    |    SECRET0     |     40     |      64bit       |                   TEST_UNLOCK_TOKEN                   |     0x6D0      |     16     |
+|         |                |            |      64bit       |                    TEST_EXIT_TOKEN                    |     0x6E0      |     16     |
+|         |                |            |      64bit       |        [SECRET0_DIGEST](#Reg_secret0_digest_0)        |     0x6F0      |     8      |
+|    5    |    SECRET1     |     88     |      64bit       |                  FLASH_ADDR_KEY_SEED                  |     0x6F8      |     32     |
+|         |                |            |      64bit       |                  FLASH_DATA_KEY_SEED                  |     0x718      |     32     |
+|         |                |            |      64bit       |                  SRAM_DATA_KEY_SEED                   |     0x738      |     16     |
+|         |                |            |      64bit       |        [SECRET1_DIGEST](#Reg_secret1_digest_0)        |     0x748      |     8      |
+|    6    |    SECRET2     |     88     |      64bit       |                       RMA_TOKEN                       |     0x750      |     16     |
+|         |                |            |      64bit       |                CREATOR_ROOT_KEY_SHARE0                |     0x760      |     32     |
+|         |                |            |      64bit       |                CREATOR_ROOT_KEY_SHARE1                |     0x780      |     32     |
+|         |                |            |      64bit       |        [SECRET2_DIGEST](#Reg_secret2_digest_0)        |     0x7A0      |     8      |
+|    7    |   LIFE_CYCLE   |     88     |      32bit       |                   LC_TRANSITION_CNT                   |     0x7A8      |     48     |
+|         |                |            |      32bit       |                       LC_STATE                        |     0x7D8      |     40     |
\ No newline at end of file
diff --git a/hw/ip/otp_ctrl/rtl/otp_ctrl_part_pkg.sv b/hw/ip/otp_ctrl/rtl/otp_ctrl_part_pkg.sv
index 95cf331..06af912 100644
--- a/hw/ip/otp_ctrl/rtl/otp_ctrl_part_pkg.sv
+++ b/hw/ip/otp_ctrl/rtl/otp_ctrl_part_pkg.sv
@@ -131,7 +131,7 @@
     '{
       variant:    Unbuffered,
       offset:     11'd64,
-      size:       768,
+      size:       800,
       key_sel:    key_sel_e'('0),
       secret:     1'b0,
       hw_digest:  1'b0,
@@ -142,8 +142,8 @@
     // OWNER_SW_CFG
     '{
       variant:    Unbuffered,
-      offset:     11'd832,
-      size:       768,
+      offset:     11'd864,
+      size:       800,
       key_sel:    key_sel_e'('0),
       secret:     1'b0,
       hw_digest:  1'b0,
@@ -154,7 +154,7 @@
     // HW_CFG
     '{
       variant:    Buffered,
-      offset:     11'd1600,
+      offset:     11'd1664,
       size:       80,
       key_sel:    key_sel_e'('0),
       secret:     1'b0,
@@ -166,7 +166,7 @@
     // SECRET0
     '{
       variant:    Buffered,
-      offset:     11'd1680,
+      offset:     11'd1744,
       size:       40,
       key_sel:    Secret0Key,
       secret:     1'b1,
@@ -178,7 +178,7 @@
     // SECRET1
     '{
       variant:    Buffered,
-      offset:     11'd1720,
+      offset:     11'd1784,
       size:       88,
       key_sel:    Secret1Key,
       secret:     1'b1,
@@ -190,7 +190,7 @@
     // SECRET2
     '{
       variant:    Buffered,
-      offset:     11'd1808,
+      offset:     11'd1872,
       size:       88,
       key_sel:    Secret2Key,
       secret:     1'b1,
@@ -202,7 +202,7 @@
     // LIFE_CYCLE
     '{
       variant:    LifeCycle,
-      offset:     11'd1896,
+      offset:     11'd1960,
       size:       88,
       key_sel:    key_sel_e'('0),
       secret:     1'b0,
@@ -270,7 +270,7 @@
   };
 
   // OTP invalid partition default for buffered partitions.
-  parameter logic [15871:0] PartInvDefault = 15872'({
+  parameter logic [16383:0] PartInvDefault = 16384'({
     704'({
       320'hDAAF8720F255C5C84D1D9C10648A878DB1D5ABE9610E8395490EC23C0A1EDCCE280E8ECA88CEA2E9,
       384'h9470329E17324EDB1E2960279AB8F882A991BEA2CF16541724A52D80A891BCD52BE973D4C5752E3A6912899150240B3A
@@ -302,9 +302,9 @@
       256'h41389646B3968A3B128F4AF0AFFC1AAC77ADEFF42376E09D523D5C06786AAC34,
       256'hFA53B8058E157CB69F1F413E87242971B6B52A656A1CAB7FEBF21E5BF1F45EDD
     }),
-    6144'({
+    6400'({
       64'h39EB436F1D5AF2D7,
-      2080'h0, // unallocated space
+      2336'h0, // unallocated space
       512'h0,
       128'h0,
       128'h0,
@@ -316,9 +316,9 @@
       32'h0,
       32'h0
     }),
-    6144'({
+    6400'({
       64'h7D7EA64D850E128D,
-      3904'h0, // unallocated space
+      4160'h0, // unallocated space
       64'h0,
       32'h0,
       32'h0,
diff --git a/hw/ip/otp_ctrl/rtl/otp_ctrl_reg_pkg.sv b/hw/ip/otp_ctrl/rtl/otp_ctrl_reg_pkg.sv
index ab67607..639ffec 100644
--- a/hw/ip/otp_ctrl/rtl/otp_ctrl_reg_pkg.sv
+++ b/hw/ip/otp_ctrl/rtl/otp_ctrl_reg_pkg.sv
@@ -22,7 +22,7 @@
   parameter int VendorTestDigestOffset = 56;
   parameter int VendorTestDigestSize = 8;
   parameter int CreatorSwCfgOffset = 64;
-  parameter int CreatorSwCfgSize = 768;
+  parameter int CreatorSwCfgSize = 800;
   parameter int CreatorSwCfgAstCfgOffset = 64;
   parameter int CreatorSwCfgAstCfgSize = 256;
   parameter int CreatorSwCfgRomExtSkuOffset = 320;
@@ -31,81 +31,81 @@
   parameter int CreatorSwCfgUseSwRsaVerifySize = 4;
   parameter int CreatorSwCfgKeyIsValidOffset = 328;
   parameter int CreatorSwCfgKeyIsValidSize = 8;
-  parameter int CreatorSwCfgDigestOffset = 824;
+  parameter int CreatorSwCfgDigestOffset = 856;
   parameter int CreatorSwCfgDigestSize = 8;
-  parameter int OwnerSwCfgOffset = 832;
-  parameter int OwnerSwCfgSize = 768;
-  parameter int RomErrorReportingOffset = 832;
+  parameter int OwnerSwCfgOffset = 864;
+  parameter int OwnerSwCfgSize = 800;
+  parameter int RomErrorReportingOffset = 864;
   parameter int RomErrorReportingSize = 4;
-  parameter int RomBootstrapEnOffset = 836;
+  parameter int RomBootstrapEnOffset = 868;
   parameter int RomBootstrapEnSize = 4;
-  parameter int RomFaultResponseOffset = 840;
+  parameter int RomFaultResponseOffset = 872;
   parameter int RomFaultResponseSize = 4;
-  parameter int RomAlertClassEnOffset = 844;
+  parameter int RomAlertClassEnOffset = 876;
   parameter int RomAlertClassEnSize = 4;
-  parameter int RomAlertEscalationOffset = 848;
+  parameter int RomAlertEscalationOffset = 880;
   parameter int RomAlertEscalationSize = 4;
-  parameter int RomAlertClassificationOffset = 852;
+  parameter int RomAlertClassificationOffset = 884;
   parameter int RomAlertClassificationSize = 320;
-  parameter int RomLocalAlertClassificationOffset = 1172;
+  parameter int RomLocalAlertClassificationOffset = 1204;
   parameter int RomLocalAlertClassificationSize = 64;
-  parameter int RomAlertAccumThreshOffset = 1236;
+  parameter int RomAlertAccumThreshOffset = 1268;
   parameter int RomAlertAccumThreshSize = 16;
-  parameter int RomAlertTimeoutCyclesOffset = 1252;
+  parameter int RomAlertTimeoutCyclesOffset = 1284;
   parameter int RomAlertTimeoutCyclesSize = 16;
-  parameter int RomAlertPhaseCyclesOffset = 1268;
+  parameter int RomAlertPhaseCyclesOffset = 1300;
   parameter int RomAlertPhaseCyclesSize = 64;
-  parameter int OwnerSwCfgDigestOffset = 1592;
+  parameter int OwnerSwCfgDigestOffset = 1656;
   parameter int OwnerSwCfgDigestSize = 8;
-  parameter int HwCfgOffset = 1600;
+  parameter int HwCfgOffset = 1664;
   parameter int HwCfgSize = 80;
-  parameter int DeviceIdOffset = 1600;
+  parameter int DeviceIdOffset = 1664;
   parameter int DeviceIdSize = 32;
-  parameter int ManufStateOffset = 1632;
+  parameter int ManufStateOffset = 1696;
   parameter int ManufStateSize = 32;
-  parameter int EnSramIfetchOffset = 1664;
+  parameter int EnSramIfetchOffset = 1728;
   parameter int EnSramIfetchSize = 1;
-  parameter int EnCsrngSwAppReadOffset = 1665;
+  parameter int EnCsrngSwAppReadOffset = 1729;
   parameter int EnCsrngSwAppReadSize = 1;
-  parameter int EnEntropySrcFwReadOffset = 1666;
+  parameter int EnEntropySrcFwReadOffset = 1730;
   parameter int EnEntropySrcFwReadSize = 1;
-  parameter int EnEntropySrcFwOverOffset = 1667;
+  parameter int EnEntropySrcFwOverOffset = 1731;
   parameter int EnEntropySrcFwOverSize = 1;
-  parameter int HwCfgDigestOffset = 1672;
+  parameter int HwCfgDigestOffset = 1736;
   parameter int HwCfgDigestSize = 8;
-  parameter int Secret0Offset = 1680;
+  parameter int Secret0Offset = 1744;
   parameter int Secret0Size = 40;
-  parameter int TestUnlockTokenOffset = 1680;
+  parameter int TestUnlockTokenOffset = 1744;
   parameter int TestUnlockTokenSize = 16;
-  parameter int TestExitTokenOffset = 1696;
+  parameter int TestExitTokenOffset = 1760;
   parameter int TestExitTokenSize = 16;
-  parameter int Secret0DigestOffset = 1712;
+  parameter int Secret0DigestOffset = 1776;
   parameter int Secret0DigestSize = 8;
-  parameter int Secret1Offset = 1720;
+  parameter int Secret1Offset = 1784;
   parameter int Secret1Size = 88;
-  parameter int FlashAddrKeySeedOffset = 1720;
+  parameter int FlashAddrKeySeedOffset = 1784;
   parameter int FlashAddrKeySeedSize = 32;
-  parameter int FlashDataKeySeedOffset = 1752;
+  parameter int FlashDataKeySeedOffset = 1816;
   parameter int FlashDataKeySeedSize = 32;
-  parameter int SramDataKeySeedOffset = 1784;
+  parameter int SramDataKeySeedOffset = 1848;
   parameter int SramDataKeySeedSize = 16;
-  parameter int Secret1DigestOffset = 1800;
+  parameter int Secret1DigestOffset = 1864;
   parameter int Secret1DigestSize = 8;
-  parameter int Secret2Offset = 1808;
+  parameter int Secret2Offset = 1872;
   parameter int Secret2Size = 88;
-  parameter int RmaTokenOffset = 1808;
+  parameter int RmaTokenOffset = 1872;
   parameter int RmaTokenSize = 16;
-  parameter int CreatorRootKeyShare0Offset = 1824;
+  parameter int CreatorRootKeyShare0Offset = 1888;
   parameter int CreatorRootKeyShare0Size = 32;
-  parameter int CreatorRootKeyShare1Offset = 1856;
+  parameter int CreatorRootKeyShare1Offset = 1920;
   parameter int CreatorRootKeyShare1Size = 32;
-  parameter int Secret2DigestOffset = 1888;
+  parameter int Secret2DigestOffset = 1952;
   parameter int Secret2DigestSize = 8;
-  parameter int LifeCycleOffset = 1896;
+  parameter int LifeCycleOffset = 1960;
   parameter int LifeCycleSize = 88;
-  parameter int LcTransitionCntOffset = 1896;
+  parameter int LcTransitionCntOffset = 1960;
   parameter int LcTransitionCntSize = 48;
-  parameter int LcStateOffset = 1944;
+  parameter int LcStateOffset = 2008;
   parameter int LcStateSize = 40;
   parameter int NumAlerts = 3;
 
diff --git a/sw/device/lib/dif/dif_otp_ctrl_unittest.cc b/sw/device/lib/dif/dif_otp_ctrl_unittest.cc
index 8bb5833..7c9c63f 100644
--- a/sw/device/lib/dif/dif_otp_ctrl_unittest.cc
+++ b/sw/device/lib/dif/dif_otp_ctrl_unittest.cc
@@ -391,7 +391,7 @@
   EXPECT_READ32(
       OTP_CTRL_DIRECT_ACCESS_REGWEN_REG_OFFSET,
       {{OTP_CTRL_DIRECT_ACCESS_REGWEN_DIRECT_ACCESS_REGWEN_BIT, true}});
-  EXPECT_WRITE32(OTP_CTRL_DIRECT_ACCESS_ADDRESS_REG_OFFSET, 0x660);
+  EXPECT_WRITE32(OTP_CTRL_DIRECT_ACCESS_ADDRESS_REG_OFFSET, 0x6a0);
   EXPECT_WRITE32(OTP_CTRL_DIRECT_ACCESS_CMD_REG_OFFSET,
                  {{OTP_CTRL_DIRECT_ACCESS_CMD_RD_BIT, true}});
 
@@ -489,7 +489,7 @@
   EXPECT_READ32(
       OTP_CTRL_DIRECT_ACCESS_REGWEN_REG_OFFSET,
       {{OTP_CTRL_DIRECT_ACCESS_REGWEN_DIRECT_ACCESS_REGWEN_BIT, true}});
-  EXPECT_WRITE32(OTP_CTRL_DIRECT_ACCESS_ADDRESS_REG_OFFSET, 0x660);
+  EXPECT_WRITE32(OTP_CTRL_DIRECT_ACCESS_ADDRESS_REG_OFFSET, 0x6a0);
   EXPECT_WRITE32(OTP_CTRL_DIRECT_ACCESS_WDATA_0_REG_OFFSET, 0x12345678);
   EXPECT_WRITE32(OTP_CTRL_DIRECT_ACCESS_CMD_REG_OFFSET,
                  {{OTP_CTRL_DIRECT_ACCESS_CMD_WR_BIT, true}});
@@ -542,7 +542,7 @@
 TEST_F(DaiProgramTest, OutOfRange) {
   // Check that we can't write a digest directly.
   EXPECT_EQ(dif_otp_ctrl_dai_program32(&otp_, kDifOtpCtrlPartitionCreatorSwCfg,
-                                       /*address=*/0x2f8, /*value=*/42),
+                                       /*address=*/0x338, /*value=*/42),
             kDifOtpCtrlDaiOutOfRange);
 
   // Same digest check for 64-bit.
@@ -597,7 +597,7 @@
   EXPECT_READ32(
       OTP_CTRL_DIRECT_ACCESS_REGWEN_REG_OFFSET,
       {{OTP_CTRL_DIRECT_ACCESS_REGWEN_DIRECT_ACCESS_REGWEN_BIT, true}});
-  EXPECT_WRITE32(OTP_CTRL_DIRECT_ACCESS_ADDRESS_REG_OFFSET, 0x640);
+  EXPECT_WRITE32(OTP_CTRL_DIRECT_ACCESS_ADDRESS_REG_OFFSET, 0x680);
   EXPECT_WRITE32(OTP_CTRL_DIRECT_ACCESS_CMD_REG_OFFSET,
                  {{OTP_CTRL_DIRECT_ACCESS_CMD_DIGEST_BIT, true}});
 
@@ -759,7 +759,7 @@
                                        0x300, buf.data(), buf.size()),
             kDifOtpCtrlDaiOutOfRange);
   EXPECT_EQ(dif_otp_ctrl_read_blocking(&otp_, kDifOtpCtrlPartitionOwnerSwCfg,
-                                       0x10, buf.data(), 0x2f0),
+                                       0x10, buf.data(), 0x330),
             kDifOtpCtrlDaiOutOfRange);
 }