feat(soc): SOC driver implementation and host unit tests #96
No reviewers
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!96
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/95-soc-driver"
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/mss/soc/hal_soc.c/.h— SoC-level clock/reset bring-up (TOPRCM/RCM) and DSS power-domain control:hal_soc_bss_clock_init()(ungates BSS, bounded-poll APLL calibration),hal_soc_secure_firewall_open()(secure-part-only JTAG/logger firewall open),hal_soc_init()(convenience wrapper),hal_soc_dss_reset_release(),hal_soc_dss_unhalt()/hal_soc_dss_halt()(common bootloader-provided-power-on path), andhal_soc_dss_power_off()/hal_soc_dss_power_on()(full power-domain protocol, both correctly bounded-timeout). CP15 MPU region configuration is deliberately out of scope (documented inhal_soc.h's top-of-file comment). Self-contained — no cross-module dependency.Why
Continues the driver-implementation phase started by GPIO (#75/#76), ESM (#77/#78), UART (#79/#80), I2C (#81/#82), SPI (#83/#84), ADCBUF (#85/#86), CBUFF (#87/#88), HWA (#89/#90), DMM (#91/#92), and EPWM (#93/#94).
Related Issue
Closes #95
Type of Change
Impact Assessment
Testing
testing/mss/unit/hal_functionality/test_soclocally (16 test cases, 44 assertions, all passing) alongside the full existingctestsuite (309/309 passing, no regressions); ran a full MISRA C:2025 pass (0 unsuppressed findings,-DENABLE_SOC_MODULEadded); reformatted and re-verified against the exact clang-format 18.1.3 the CI runner uses; sanity-checked by dropping theGEMGRSTNbit fromhal_soc_dss_reset_release()'s DSSCTL write, confirming the test suite fails (1 assertion), then reverting.PR Size
Size justification / exemption (if L or XL):
638 raw lines across 9 files, all hand-reviewed (no mechanically-generated content). Not split further — the driver (
hal_soc.c/.h, 378 lines) and its comprehensive Catch2 spec (test_soc.c, 243 lines, covering the bounded-timeout poll paths, secure-vs-general-purpose-part branching, and power-off/power-on sequencing) don't decompose into independently-reviewable sub-PRs, same rationale as prior driver PRs (#78, #80, #82, #84, #86, #88, #90, #92, #94). The remaining files are small CMake/Kconfig/MISRA wiring diffs, also not independently reviewable apart from the driver they enable.Checklist
type(scope): descriptionconvention withRelates to #<issue>footerSummary
hal/mss/soc/hal_soc.c/.h: SoC-level bring-up driver (BSS clock init, secure firewall open, DSS reset/halt/unhalt/power-off/power-on) — CP15 MPU configuration out of scope, documented in the header's top-of-file commenttesting/mss/unit/hal_functionality/test_soc.c(+CMakeLists.txt): Catch2 functional test suite. No naming collision — noti_hal_comparison/test_soc.cexists (this is SoC-level TOPRCM/DSSREG bring-up logic, not a single register-defined peripheral).zephyr/Kconfig/zephyr/CMakeLists.txt/hal/util/hal_config_mss.h:HAL_AWR6843_SOCKconfig option andENABLE_SOC_MODULEbridge, same pattern as every other landed drivertools/misra/run_misra.sh:-DENABLE_SOC_MODULEadded