Skip to content

Commit 106fc51

Browse files
committed
[ot] hw/opentitan: ot_entropy_src: fix initial values
They had not been updated when registers had. Signed-off-by: Emmanuel Blot <eblot@rivosinc.com>
1 parent 4b69ff8 commit 106fc51

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

hw/opentitan/ot_entropy_src.c

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1334,8 +1334,6 @@ static void ot_entropy_src_regs_write(void *opaque, hwaddr addr, uint64_t val64,
13341334
s->regs[reg] = val32;
13351335
CHECK_MULTIBOOT(s, MODULE_ENABLE, MODULE_ENABLE);
13361336
if (ot_entropy_src_is_module_disabled(s)) {
1337-
/* change state in disable mode can discard an error state */
1338-
ot_entropy_src_change_state(s, ENTROPY_SRC_IDLE);
13391337
/* reset takes care of cancelling the scheduler timer */
13401338
ot_entropy_src_reset(DEVICE(s));
13411339
break;
@@ -1576,7 +1574,7 @@ static void ot_entropy_src_reset(DeviceState *dev)
15761574
s->regs[R_REGWEN] = 0x1u;
15771575
s->regs[R_REV] = 0x10303u;
15781576
s->regs[R_MODULE_ENABLE] = 0x9u;
1579-
s->regs[R_CONF] = 0x909099u;
1577+
s->regs[R_CONF] = 0x2649999u;
15801578
s->regs[R_ENTROPY_CONTROL] = 0x99u;
15811579
s->regs[R_HEALTH_TEST_WINDOWS] = 0x600200u;
15821580
s->regs[R_REPCNT_THRESHOLDS] = 0xffffffffu;
@@ -1591,7 +1589,7 @@ static void ot_entropy_src_reset(DeviceState *dev)
15911589
s->regs[R_ALERT_THRESHOLD] = 0xfffd0002u;
15921590
s->regs[R_FW_OV_CONTROL] = 0x99u;
15931591
s->regs[R_FW_OV_SHA3_START] = 0x9u;
1594-
s->regs[R_OBSERVE_FIFO_THRESH] = 0x20u;
1592+
s->regs[R_OBSERVE_FIFO_THRESH] = 0x10u;
15951593
s->regs[R_DEBUG_STATUS] = 0x10000u;
15961594

15971595
ot_fifo32_reset(&s->input_fifo);
@@ -1604,6 +1602,7 @@ static void ot_entropy_src_reset(DeviceState *dev)
16041602
s->cond_word = 0u;
16051603
s->noise_count = 0u;
16061604
s->packet_count = 0u;
1605+
s->obs_fifo_en = false;
16071606

16081607
ot_entropy_src_update_irqs(s);
16091608
for (unsigned ix = 0; ix < PARAM_NUM_ALERTS; ix++) {
@@ -1615,8 +1614,6 @@ static void ot_entropy_src_reset(DeviceState *dev)
16151614
const OtOTPEntropyCfg *entropy_cfg = oc->get_entropy_cfg(s->otp_ctrl);
16161615
g_assert(entropy_cfg);
16171616

1618-
s->obs_fifo_en = false;
1619-
16201617
ot_entropy_src_change_state(s, ENTROPY_SRC_IDLE);
16211618
}
16221619

0 commit comments

Comments
 (0)