SSI Technology Encryption BIF Example for a 3 Slave SLR Device - 2025.1 English - UG1283

Bootgen User Guide (UG1283)

Document ID
UG1283
Release Date
2025-05-29
Version
2025.1 English
bitstream_boot_1:
{
id_code = 0x14d14093
extended_id_code = 0x01
id = 0xb
boot_config {smap_width=0}
metaheader
{
  encryption      = aes
  blocks          = 1728(*)
  keysrc          = bbram_red_key
  aeskeyfile      = bitstream_boot_1_metaheader.nky
} 
image
{
  name = pmc_subsys
  id = 0x1c000001
  partition
  {
   id = 0xb01
   type = bootloader
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = bitstream_boot_1_plm.nky
   file =   versal_plm.elf
  }
  partition
  {
   id = 0xb0A
   type = pmcdata, load = 0xf2000000
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = bitstream_boot_1_pmc_data_slr_1.cdo.nky
   file = pmc_data_slr_1.cdo
  }
}
image
{
  name = pl_noc
  id = 0x18700000
  partition
  {
   id = 0xb05
   type = cdo
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = bitstream_boot_1_edt_versal_wrapper_ssit_1.rnpi.nky
   file = edt_versal_wrapper_ssit_1.rnpi
  }
}
}
 
bitstream_boot_2:
{
id_code = 0x14d14093
extended_id_code = 0x01
id = 0xb
boot_config {smap_width=0}
metaheader
{
  encryption      = aes
  blocks          = 1728(*)
  keysrc          = bbram_red_key
  aeskeyfile      = bitstream_boot_2_metaheader.nky
}
image
{
  name = pmc_subsys
  id = 0x1c000001
  partition
  {
   id = 0xb01
   type = bootloader
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = bitstream_boot_2_plm.nky
   file = versal_plm.elf
  }
  partition
  {
   id = 0xb0A
   type = pmcdata, load = 0xf2000000
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = bitstream_boot_2_pmc_data_slr_2.cdo.nky
   file = pmc_data_slr_2.cdo
  }
}
image
{
  name = pl_noc
  id = 0x18700000
  partition
  {
   id = 0xb05
   type = cdo
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = bitstream_boot_2_edt_versal_wrapper_ssit_2.rnpi.nky
   file = edt_versal_wrapper_ssit_2.rnpi
  }
}
}
 
bitstream_boot_3:
{
id_code = 0x14d14093
extended_id_code = 0x01
id = 0xb
boot_config {smap_width=0}
metaheader
{
  encryption      = aes
  blocks          = 1728(*)
  keysrc          = bbram_red_key
  aeskeyfile      = bitstream_boot_3_metaheader.nky
}
image
{
  name = pmc_subsys
  id = 0x1c000001
  partition
  {
   id = 0xb01
   type = bootloader
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = bitstream_boot_3_plm.nky
   file = versal_plm.elf
  }
  partition
  {
   id = 0xb0A
   type = pmcdata, load = 0xf2000000
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = bitstream_boot_3_pmc_data_slr_3.cdo.nky
   file = pmc_data_slr_3.cdo
  }
}
image
{
  name = pl_noc
  id = 0x18700000
  partition
  {
   id = 0xb05
   type = cdo
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = bitstream_boot_3_edt_versal_wrapper_ssit_3.rnpi.nky
   file = edt_versal_wrapper_ssit_3.rnpi
  }
}
}
 
bitstream_1:
{
id_code = 0x14d14093
extended_id_code = 0x01
id = 0xc
boot_config {smap_width=0}
metaheader
{
  encryption      = aes
  blocks          = 1728(*)
  keysrc          = bbram_red_key
  aeskeyfile      = bitstream_1_metaheader.nky
}
image
{
  name = pl_cfi
  id = 0x18700000
  partition
  {
   id = 0xc03
   type = cdo
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = edt_versal_wrapper_1.rcdo.nky
   file = edt_versal_wrapper_1.rcdo
  }
  partition
  {
   id = 0xc05
   type = cdo
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = edt_versal_wrapper_1.rnpi.nky
   file = edt_versal_wrapper_1.rnpi
  }
}
}
 
bitstream_2:
{
id_code = 0x14d14093
extended_id_code = 0x01
id = 0xc
boot_config {smap_width=0}
metaheader
{
  encryption      = aes
  blocks          = 1728(*)
  keysrc          = bbram_red_key
  aeskeyfile      = bitstream_2_metaheader.nky
}
image
{
  name = pl_cfi
  id = 0x18700000
  partition
  {
   id = 0xc03
   type = cdo
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = edt_versal_wrapper_2.rcdo.nky
   file = edt_versal_wrapper_2.rcdo
  }
  partition
  {
   id = 0xc05
   type = cdo
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = edt_versal_wrapper_2.rnpi.nky
   file = edt_versal_wrapper_2.rnpi
  }
}
}
 
bitstream_3:
{
id_code = 0x14d14093
extended_id_code = 0x01
id = 0xc
boot_config {smap_width=0}
metaheader
{
  encryption      = aes
  blocks          = 1728(*)
  keysrc          = bbram_red_key
  aeskeyfile      = bitstream_3_metaheader.nky
}
image
{
  name = pl_cfi
  id = 0x18700000
  partition
  {
   id = 0xc03
   type = cdo
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = edt_versal_wrapper_3.rcdo.nky
   file = edt_versal_wrapper_3.rcdo
  }
  partition
  {
   id = 0xc05
   type = cdo
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = edt_versal_wrapper_3.rnpi.nky
   file = edt_versal_wrapper_3.rnpi
  }
}
}
 
bitstream_master:
{
id_code = 0x14d14093
extended_id_code = 0x01
id = 0x2
 
metaheader
{
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = bitstream_master_metaheader.nky
}
image
{
  name = pmc_subsys
  id = 0x1c000001
  partition
  {
   id = 0x01
   type = bootloader
   slr = 0
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = bitstream_master_plm.nky
   file = versal_plm.elf
  }
  partition
  {
   id = 0x09
   type = pmcdata, load = 0xf2000000
   slr = 0
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = bitstream_master_pmc_data.cdo.nky
   file = pmc_data.cdo
  }
}
image
{
  name = SUB_SYSTEM_BOOT_MASTER
  id = 0x18700000
  type = slr-boot
  partition
  {
   id = 0x05
   type = cdo
   slr = 0
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = edt_versal_wrapper_ssit_0.rnpi.nky
   file = edt_versal_wrapper_ssit_0.rnpi
  }
  partition
  {
   id = 0xb15
   slr = 1
   section = bitstream_boot_1
  }
  partition
  {
   id = 0xb15
   slr = 2
   section = bitstream_boot_2
  }
  partition
  {
   id = 0xb15
   slr = 3
   section = bitstream_boot_3
  }
  partition
  {
   id = 0x02
   type = cdo
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = noc_pll.rnpi.nky
   file = noc_pll.rnpi
  }
}
image
{
  name = lpd
  id = 0x4210002
  partition
  {
   id = 0x0C
   type = cdo
   slr = 0
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = lpd_data.cdo.nky
   file = lpd_data.cdo
  }
  partition
  {
   id = 0x0B
   core = psm
   slr = 0
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = psm_fw.nky
   file = psm_fw.elf
  }
}
image
{
  name = fpd
  id = 0x420c003
  partition
  {
   id = 0x08
   type = cdo
   slr = 0
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = fpd_data.cdo.nky
   file = fpd_data.cdo
  }
}
image
{
  name = CONFIG_MASTER
  id = 0x18700000
  type = slr-config
  partition
  {
   id = 0xc16
   slr = 1
   section = bitstream_1
  }
  partition
  {
   id = 0xc16
   slr = 2
   section = bitstream_2
  }
  partition
  {
   id = 0xc16
   slr = 3
   section = bitstream_3
  }
  partition
  {
   id = 0x13
   type = cdo
   slr = 0
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = edt_versal_wrapper_master_config.rcdo.nky
   file = edt_versal_wrapper_master_config.rcdo
  }
}
image
{
  name = rpu_subsystem
  id   = 0x1c000000 
  partition
  {
   id      = 0x0F
   core    = r5-0
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = helloworld.nky
   file    = xgpio_example.elf
  }
}  
image
{
  name = apu_subsystem
  id   = 0x1c000000 
  partition
  {
   id      = 0x10
   core    = a72-0
   encryption      = aes
   blocks          = 1728(*)
   keysrc          = bbram_red_key
   aeskeyfile      = xgpio_example_1.nky
   file    = hello_world.elf
  }
} 
}