Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
2f368f1
[hw,mbx,rtl] RTL skeleton for DOE Mailbox
Razer6 Aug 3, 2023
f214e7b
[hw,mbx,rtl] Implementation of the host interface
Razer6 Aug 17, 2023
fd01819
[hw,mbx,rtl] Added IRQ primitive
Razer6 Aug 18, 2023
e55ae11
[hw,mbx,rtl] Rename set/clear signals for better meaning
Razer6 Aug 24, 2023
296a6ac
[hw,rtl,mbx] System register interface implementation
Razer6 Aug 21, 2023
8b28952
[hw,mbx,rtl] External control register
Razer6 Aug 28, 2023
d7b3d4c
[hw,mbx,rtl] Implement DOE IRQ support
Razer6 Aug 28, 2023
b531818
[hw,mbx,rtl] FW2FW IRQ registers
Razer6 Aug 28, 2023
c15926c
[mbx,doc] Initial ingestion of mailbox spec
Jul 28, 2023
fc073d1
[hw,mbx,rtl] Add countermeasure testplan
Razer6 Aug 30, 2023
33b8e23
[hw,mbx,rtl] Implement SRAM arbiter
Razer6 Aug 22, 2023
fa895d7
[hw,mbx,rtl] Inbound mailbox implementation
Razer6 Aug 22, 2023
d0d8285
[hw,mbx,rtl] Simplify and fix signal assignments
Razer6 Aug 31, 2023
741e44a
[hw,mbx,rtl] Refactor top-level signalling and naming
Razer6 Aug 31, 2023
befec22
[hw,mbx,rtl] Adaptions to the signaling
Razer6 Sep 5, 2023
f721322
[hw,mbx,rtl] Use Mubi-regwen for range config
Razer6 Sep 6, 2023
e8b300e
[hw,mbx,rtl] No IRQ muxing between ready and abort
Razer6 Sep 8, 2023
aa2ad50
[hw,mbx,rtl] Make DOE Interrupt Addr/Data an alias to host interface
Razer6 Sep 13, 2023
d8c9855
[hw,mbx,rtl] Recoverable alert on invalid memory access
Razer6 Sep 12, 2023
d533e83
[hw,mbx,rtl] Remove Async message support registers
Razer6 Sep 18, 2023
256b987
[hw,mbx,rtl] Remove hostif.status.ready register
Razer6 Sep 18, 2023
6ae3245
[hw,mbx,rtl] Outbound mailbox implementation
Razer6 Sep 5, 2023
a47b7a9
[hw,mbx,rtl] Clarifications to the ombx signalling
Razer6 Sep 8, 2023
ae10c22
[hw,mbx,rtl] Let the ombx create the DOE interrupt
Razer6 Sep 13, 2023
1278080
[mbx] Rename OT-facing port to `core`
andreaskurth Sep 19, 2023
62a27af
[mbx] Rename SoC-facing port to `soc`
andreaskurth Sep 19, 2023
671b1ca
[mbx/rtl] Fix signal names of TL-UL `sram` ports
andreaskurth Sep 19, 2023
5ef9a71
[mbx/rtl] Add missing reg WE onehot check assertion
andreaskurth Sep 19, 2023
376088c
[mbx/rtl] Add missing connections to/from `mbx_soc_reg_top`
andreaskurth Sep 20, 2023
04589fe
[hw,mbx,rtl] Move error bit from HOST.STATUS to HOST.CONTROL
Razer6 Sep 18, 2023
762c39b
[hw,mbx,rtl] Invalid range config sets busy
Razer6 Sep 18, 2023
f34afd0
[hw,mbx,rtl] Make registers explicitly read-only in hardware
Razer6 Sep 20, 2023
a860c07
[hw,mbx,rtl] More concise register definition
Razer6 Sep 20, 2023
8f1713c
[hw,mbx,rtl] Rename DOE IRQ signals on host side
Razer6 Sep 20, 2023
391fcea
[hw,mbx,rtl] Raise a system IRQ if host raises an error
Razer6 Sep 20, 2023
f6cb589
[hw,mbx,rtl] Busy is fully hardware controlled
Razer6 Sep 20, 2023
063d5aa
[hw,mbx,rtl] Fix permissions on CORE.STATUS and SOC.CONTROL
Razer6 Sep 20, 2023
9f5c649
[hw,mbx,rtl] Add mbx to makefile and fix comment
Razer6 Sep 21, 2023
bcecadb
[mbx/rtl] Comment broken assertions out
andreaskurth Sep 19, 2023
5a4c191
[mbx] Exclude most CSRs from automated tests
andreaskurth Sep 20, 2023
997f00f
[sw/mbx] Add scaffold of DIF
andreaskurth Sep 19, 2023
c0ea37f
[hw,mbx,rtl] Fix undriven signals and busy clear
Razer6 Oct 3, 2023
2858ef9
[mbx] Advance pointer on initial write
alees24 Oct 3, 2023
87b557d
[hw,mbx,rtl] Fix linting errors on mailbox
Razer6 Sep 29, 2023
a575902
[mbox/lint] Fix a concatenation error
msfschaffner Oct 18, 2023
b7e48a0
[mbx/lint] Update waiver
msfschaffner Oct 18, 2023
8f9b9f5
[mbx] Stable Ready bit required in ombx assertion
alees24 Oct 6, 2023
d3ef3bd
[mbx] Assertion improvements
alees24 Oct 19, 2023
aacc0bf
[mbx, dv] - First pass mbx ip dv enviorment and smoke test
Sep 28, 2023
199c111
[dv,darjeeling] Include DMA and MBX smoke tests in CI
alees24 Oct 30, 2023
a3b15fb
[mbx,dv] Dv tweaks to get csr tests running in the smoke regression
hcallahan-lowrisc Oct 31, 2023
d80e65a
[hw,mbx,rtl] Defer IRQ generation until write response received
Razer6 Nov 2, 2023
7ee1f2f
[hw,mbx] Make lint clean for unused signal
Razer6 Nov 2, 2023
809f508
[hw,mbx,rtl] Gate all valid received with current request
Razer6 Nov 7, 2023
c0916e7
[hw,mbx,rtl] Use the transition to Read or to Abort state to generate…
Razer6 Oct 27, 2023
0e3161b
[hw,mbx,rtl] Initialize the outbound read ptr when range becomes valid
Razer6 Nov 9, 2023
c1a105e
[mbx] Correct assertion and updating of OUTBOUND_OBJECT_SIZE
alees24 Nov 9, 2023
8db41f0
[hw,mbx,rtl] Add CSR registers for asynchronous message support
Razer6 Oct 30, 2023
bb9f64e
[hw,mbx,rtl] Add top-level strap for async message support
Razer6 Nov 7, 2023
524be58
[mbx, dv] Refactor tb interrupt functionality
GregAC Nov 14, 2023
d148dba
[mbx,dv] Add IRQ usage to mailbox smoke
GregAC Nov 14, 2023
dc983ad
[hw,mbx,rtl] Trigger an error for out-of-bounds imbx write
Razer6 Nov 16, 2023
2722447
[hw,mbx,rtl] Add an error IRQ to notify host
Razer6 Nov 16, 2023
eb77d02
[hw,mbx,dv] Add new interrupt to the DV environment
Razer6 Nov 20, 2023
9953efb
[dv,mbx] Changes for vcs support
alees24 Nov 22, 2023
d23f500
[mbx] Fault recovery via Abort mechanism
alees24 Nov 22, 2023
a9cb336
[mbx] Abort acknowledgement always resets FSMs.
alees24 Nov 22, 2023
f6c2ef2
[mbx] Reset request count when abort cleared.
alees24 Nov 30, 2023
1049ed1
[mbx/dv] Create scaffold for testplan
andreaskurth Dec 5, 2023
168f0ca
[hw,mbx,rtl] Use the transition to the Read/Abort to generate the IRQ
Razer6 Dec 15, 2023
6cd737c
[mbx] Limit addresses are inclusive
alees24 Jan 5, 2024
923e15c
[dv,mbx] Tidying, restructuring and minor fixes.
alees24 Dec 5, 2023
64e663d
[dv,mbx] Extended smoke sequence
alees24 Dec 5, 2023
ff139b5
[dv,mbx] Placeholder stress sequence.
alees24 Dec 5, 2023
768a94f
[dv,mbx] Extended stress testing
alees24 Dec 5, 2023
8e19d6c
[dv,mbx] Vary TL-UL access/response timings.
alees24 Dec 5, 2023
4d87e28
[dv,mbx] Reduce num_iters/num_txns for mbx_stress to avoid timeouts
hcallahan-lowrisc Jan 17, 2024
1ca90d8
[mbx,dv] Test hw mechanism for reporting imbx oob
hcallahan-lowrisc Jan 17, 2024
dfe9fa1
[hw,mbx,rtl] Gate the AsyncMsg support with feature strap and enable
Razer6 Jan 23, 2024
8e71c9a
[hw,mbx,rtl] No direct prim_generic_flop instances
Razer6 Feb 2, 2024
c9efb35
[hw,mbx,rtl] Clear interrupts when acknowledging an abort
Razer6 Jan 19, 2024
79f6bb0
[hw,mbx,dv] Disable not implemented stress tests
Razer6 Feb 12, 2024
beedd48
[mbx/dv] Separate `mbx_stress` from `mbx_stress_all` in testplan
andreaskurth Feb 13, 2024
132f38b
[mbx/dv] Add `mbx_stress_zero_delays` test to `mbx_stress` test point
andreaskurth Feb 13, 2024
ed9574f
[mbx/dv] Add test point for out-of-bound inbound mailbox accesses
andreaskurth Feb 13, 2024
9419950
[hw,mbx,rtl] Move SOC_INTR_ADDR/DATA registers to the end
Razer6 Apr 27, 2024
541dd75
[hw,mbx] Update source files with new license header
Razer6 Aug 29, 2024
e029452
[hw,mbx] Update bazel rules for generating C/Rust headers
Razer6 Aug 29, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions hw/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ IPS ?= aes \
keymgr_dpe \
kmac \
lc_ctrl \
mbx \
otbn \
otp_ctrl \
pattgen \
Expand Down
2 changes: 2 additions & 0 deletions hw/ip/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
| [`keymgr_dpe`] | Manage multiple DICE sessions in a DPE-compatible way |
| [`kmac`] | Accelerator for Keccak-based keyed hash message authentication code and SHA-3 hash functions; with SCA and FI countermeasures |
| [`lc_ctrl`] | Manages device life cycle states and transitions, and controls key manager, flash, OTP, and debug access |
| [`mbx`] | DOE mailbox for use as an integrated OpenTitan communication channel. |
| [`otbn`] | Programmable coprocessor for asymmetric cryptography with SCA and FI countermeasures |
| [`otp_ctrl`] | Interfaces integrated one-time programmable memory, supports scrambling, integrity and secure wipe |
| [`pattgen`] | Transmission of short time-dependent data patterns on two clock-parallel output channels |
Expand Down Expand Up @@ -53,6 +54,7 @@
[`keymgr_dpe`]: ./keymgr_dpe/README.md
[`kmac`]: ./kmac/README.md
[`lc_ctrl`]: ./lc_ctrl/README.md
[`mbx`]: ./mbx/README.md
[`otbn`]: ./otbn/README.md
[`otp_ctrl`]: ./otp_ctrl/README.md
[`pattgen`]: ./pattgen/README.md
Expand Down
562 changes: 562 additions & 0 deletions hw/ip/mbx/README.md

Large diffs are not rendered by default.

30 changes: 30 additions & 0 deletions hw/ip/mbx/data/BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Copyright lowRISC contributors (OpenTitan project).
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0

package(default_visibility = ["//visibility:public"])

load(
"//rules:autogen.bzl",
"autogen_hjson_c_header",
"autogen_hjson_rust_header",
)

autogen_hjson_c_header(
name = "mbx_c_regs",
srcs = [
"mbx.hjson",
],
)

autogen_hjson_rust_header(
name = "mbx_rust_regs",
srcs = [
"mbx.hjson",
],
)

filegroup(
name = "all_files",
srcs = glob(["**"]),
)
Loading
Loading