blob: daab5617aa06eceb5703be07412bcb6c3253abc6 [file] [log] [blame]
// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
//
// Use the gen-otp-img.py script to convert this configuration into
// a MEM file for preloading the OTP in FPGA synthesis or simulation.
//
{
// The partition and item names must correspond with the OTP memory map.
partitions: [
{
name: "CREATOR_SW_CFG",
items: [
{
name: "CREATOR_SW_CFG_DIGEST",
value: "0x0",
},
{
name: "CREATOR_SW_CFG_SIGVERIFY_RSA_MOD_EXP_IBEX_EN",
// Use software mod_exp implementation for signature
// verification. See the definition of `hardened_bool_t` in
// sw/device/lib/base/hardened.h.
value: "0x739",
},
{
name: "CREATOR_SW_CFG_SIGVERIFY_RSA_KEY_EN",
// Mark the first three keys as valid and remaining as
// invalid since we currently have only three keys. See the
// definition of `hardened_byte_bool_t` in
// sw/device/lib/base/hardened.h.
value: "0x4b4b4b4b4ba5a5a5",
},
{
name: "CREATOR_SW_CFG_FLASH_DATA_DEFAULT_CFG",
// Default values for flash scramble / ecc / he_en. This OTP
// word contains byte-aligned, packed, 4-bit mubi values.
// See the flash_ctrl driver bitfield definitions in
// sw/device/silicon_creator/lib/drivers/flash_ctrl.h.
value: "0x0",
},
{
name: "CREATOR_SW_CFG_RNG_EN",
// Enable use of entropy for countermeasures. See the
// definition of `hardened_bool_t` in
// sw/device/lib/base/hardened.h.
value: "0x739",
},
{
name: "CREATOR_SW_CFG_ROM_EXEC_EN",
// ROM execution is enabled if this item is set to a
// non-zero value.
value: "0xffffffff",
},
{
name: "CREATOR_SW_CFG_CPUCTRL",
// Value to write to the `cpuctrl` CSR in `rom_init()`.
// Note: Only bits 5:0 are written to the `cpuctrl` CSR.
// See: https://ibex-core.readthedocs.io/en/latest/03_reference/cs_registers.html#cpu-control-register-cpuctrl
value: "0x1",
},
{
name: "CREATOR_SW_CFG_JITTER_EN",
value: "0x9",
},
{
name: "CREATOR_SW_CFG_MIN_SEC_VER_ROM_EXT",
// Value of the min_security_version_rom_ext field of the
// default boot data.
value: "0x0",
},
{
name: "CREATOR_SW_CFG_MIN_SEC_VER_BL0",
// Value of the min_security_version_bl0 field of the
// default boot data.
value: "0x0",
},
{
name: "CREATOR_SW_CFG_DEFAULT_BOOT_DATA_IN_PROD_EN",
// Enable the default boot data in PROD and PROD_END life
// cycle states. See the definition of `hardened_bool_t` in
// sw/device/lib/base/hardened.h.
value: "0x739",
},
{
name: "CREATOR_SW_CFG_RNG_REPCNT_THRESHOLDS",
value: "0xffffffff",
}
{
name: "CREATOR_SW_CFG_RNG_REPCNTS_THRESHOLDS",
value: "0xffffffff",
}
{
name: "CREATOR_SW_CFG_RNG_ADAPTP_HI_THRESHOLDS",
value: "0xffffffff",
}
{
name: "CREATOR_SW_CFG_RNG_ADAPTP_LO_THRESHOLDS",
value: "0x0",
}
{
name: "CREATOR_SW_CFG_RNG_BUCKET_THRESHOLDS",
value: "0xffffffff",
}
{
name: "CREATOR_SW_CFG_RNG_MARKOV_HI_THRESHOLDS",
value: "0xffffffff",
}
{
name: "CREATOR_SW_CFG_RNG_MARKOV_LO_THRESHOLDS",
value: "0x0",
}
{
name: "CREATOR_SW_CFG_RNG_EXTHT_HI_THRESHOLDS",
value: "0xffffffff",
}
{
name: "CREATOR_SW_CFG_RNG_EXTHT_LO_THRESHOLDS",
value: "0x0",
}
{
name: "CREATOR_SW_CFG_RNG_ALERT_THRESHOLD",
value: "0xfffd0002",
}
{
name: "CREATOR_SW_CFG_RNG_HEALTH_CONFIG_DIGEST",
value: "0x8264cf75",
}
{
// Using the default register reset value. Two consecutive
// failures trigger an alert.
name: "CREATOR_SW_CFG_RNG_ALERT_THRESHOLD",
value: "0xfffd0002",
}
],
}
]
}