@type t() :: %ATECC508A.Configuration.Config608{
aes_enable: non_neg_integer(),
chip_mode: non_neg_integer(),
chip_options: non_neg_integer(),
count_match: non_neg_integer(),
counter0: non_neg_integer(),
counter1: non_neg_integer(),
i2c_address: Circuits.I2C.address(),
i2c_enable: non_neg_integer(),
kdflvloc: non_neg_integer(),
kdflvstr: non_neg_integer(),
key_config: <<_::256>>,
lock_config: non_neg_integer(),
lock_value: non_neg_integer(),
reserved0: byte(),
reserved1: byte(),
reserved2: byte(),
rev_num: atom() | binary(),
secure_boot: non_neg_integer(),
serial_number: binary(),
slot_config: <<_::256>>,
slot_locked: non_neg_integer(),
use_lock: binary(),
user_extra: non_neg_integer(),
user_extra_add: non_neg_integer(),
volatile_key_permission: %{key: non_neg_integer(), enabled?: boolean()},
x509_format: <<_::32>>
}