feat: Mailbox driver implementation and host unit tests #99
Labels
No labels
Category
App
Category
Documentation
Category
Firmware
Category
Hardware
Category
Qms
PR_Size
L
PR_Size
M
PR_Size
S
PR_Size
XL
PR_Size
XS
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Priority
Very Low Priority
Size
Epic
Size
Feature
Size
Task
Status
Blocked
Status
Draft
Status
Needs-review
Team
Board
Team
Dev
Team
Management
Type
Bug
Type
Capa
Type
Improvement
Type
New-feature
Type
Regulatory
Type
Usability
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
opendutchsolutions.public/hal_awr6843#99
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Description
Adds
hal/dss/hal_mailbox/hal_mailbox.c/.h— the inter-processor Mailbox driver (MSS's point of view, covering both the MSS<->BSS and MSS<->DSS links):hal_mailbox_send()(copies a message into the outgoing direction's shared memory, raises the "new message" doorbell),hal_mailbox_message_pending(),hal_mailbox_receive()(copies out of the incoming direction's shared memory, acknowledges via INT_ACK, then raises the "message consumed" doorbell on the same incoming block), and the four raw device handlers (MBOX_MSS_DSS_BOX_FULL_IRQHandler/MBOX_MSS_DSS_BOX_EMPTY_IRQHandler/MBOX_MSS_BSS_BOX_FULL_IRQHandler/MBOX_MSS_BSS_BOX_EMPTY_IRQHandler) decoding/clearing the CPU interrupt condition to a weak, application-overridablehal_mailbox_irq_handler()hook.This is the first driver of a second, DSS-side driver batch — landing Mailbox first since
hal_vim.c's dispatch table (already merged, header-only pending this) references its fourMBOX_*handler symbols directly.Use Case / Rationale
As a firmware developer, I need a
hal_mailbox_*API for inter-processor message passing between MSS and DSS/BSS, following the same driver pattern established by the MSS-side driver batch (GPIO through MCAN).As a QMS reviewer, I need a host-native Catch2 test suite (
testing/dss/hal_mailbox/test_mailbox.c) covering both links' send/receive/pending paths and all four IRQ handlers' correct register-block resolution, runnable in CI without target hardware.Acceptance Criteria
hal/dss/hal_mailbox/hal_mailbox.c/.himplemented against this project's currenthal/registers/component/mailbox.h/instance/mailbox.htesting/dss/hal_mailbox/test_mailbox.cpasses underctestFunctional Impact
None — self-contained addition; first DSS-side driver, no interaction with already-landed MSS drivers beyond shared test infrastructure.
Regulatory Impact
None
QMS Impact
None
Risk Impact
No — existing risk coverage sufficient.
Related Issues / PRs
Relates to #4