Skip to content

Commit

Permalink
Add OTP RDL and registers
Browse files Browse the repository at this point in the history
For the OpenTitan fuse (one-time programmable) controller, and
also for the related entropy sources.

These RDLs is added in the `caliptra-ss` repo at commit:
chipsalliance/caliptra-ss@984f228

I also slightly changed the register names to also include their most
recent sub-block name so that the digest register names would be less
confusing. This caused some changes to the I3C register names (which
I've fixed the corresponding code for).
  • Loading branch information
swenson committed Dec 10, 2024
1 parent e543a67 commit ae41e9c
Show file tree
Hide file tree
Showing 22 changed files with 5,340 additions and 225 deletions.
2 changes: 2 additions & 0 deletions emulator/app/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -372,6 +372,8 @@ fn run(cli: Emulator, capture_uart_output: bool) -> io::Result<Vec<u8>> {
None,
None,
None,
None,
None,
);

let cpu = Cpu::new(auto_root_bus, clock, pic);
Expand Down
12 changes: 11 additions & 1 deletion emulator/periph/src/flash_ctrl.rs
Original file line number Diff line number Diff line change
Expand Up @@ -498,7 +498,17 @@ mod test {
DummyFlashCtrl::new(clock, file, flash_ctrl_error_irq, flash_ctrl_event_irq).unwrap(),
);

AutoRootBus::new(None, None, Some(flash_controller), None, None, None, None)
AutoRootBus::new(
None,
None,
Some(flash_controller),
None,
None,
None,
None,
None,
None,
)
}

fn test_helper_prepare_io_page_buffer(
Expand Down
2 changes: 1 addition & 1 deletion emulator/periph/src/i3c.rs
Original file line number Diff line number Diff line change
Expand Up @@ -405,7 +405,7 @@ mod tests {
.tcri_send(DynamicI3cAddress::new(8).unwrap(), cmd)
.unwrap();

let mut bus = AutoRootBus::new(None, Some(i3c), None, None, None, None, None);
let mut bus = AutoRootBus::new(None, Some(i3c), None, None, None, None, None, None, None);
for _ in 0..10000 {
clock.increment_and_process_timer_actions(1, &mut bus);
}
Expand Down
4 changes: 0 additions & 4 deletions hw/el2_pic_ctrl.rdl
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,4 @@ addrmap el2_pic_ctrl {
desc = "Reserved";
} RESERVED[31:0];
} meigwclr[256] @0x00005000;
};

addrmap el2_pic {
el2_pic_ctrl el2_pic_ctrl @ 0x6000_0000;
};
965 changes: 965 additions & 0 deletions hw/entropy_src.rdl

Large diffs are not rendered by default.

4 changes: 0 additions & 4 deletions hw/flash_ctrl.rdl
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,4 @@ addrmap flash_ctrl {

} EN[0:0];
} CTRL_REGWEN @ 0x1C;
};

addrmap flashctrl_dummy {
flash_ctrl flash_ctrl @ 0x2000_8000;
};
6 changes: 6 additions & 0 deletions hw/mcu.rdl
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
addrmap mcu {
el2_pic_ctrl el2_pic_ctrl @ 0x6000_0000;
flash_ctrl flash_ctrl @ 0x2000_8000;
entropy_src entropy_src @ 0x2000_9000;
caliptra_otp_ctrl caliptra_otp_ctrl @ 0x2000_b000;
};
727 changes: 727 additions & 0 deletions hw/otp_ctrl.rdl

Large diffs are not rendered by default.

Loading

0 comments on commit ae41e9c

Please sign in to comment.