Add TI CSL ground-truth comparison tests for ADCBUF, CBUFF, and DSS_INTC #34

Closed
opened 2026-07-22 09:18:29 +00:00 by hoogv · 0 comments
hoogv commented 2026-07-22 09:18:29 +00:00 (Migrated from codeberg.org)

Description

testing/mss/unit/ti_hal_comparison scaffolding is restored (#32) but has no test files yet. This tracks writing the actual comparison tests for the three peripherals already merged under the CMSIS register description epic (#4): ADCBUF (#5), CBUFF (#6), DSS Interrupt Controller (#7) -- comparing each against TI's own ground-truth headers (ti/drivers/<peripheral>/include/reg_*.h and sys_common_xwr68xx_{mss,dss}.h base addresses), same offsetof/sizeof style as the original test_dma.c exemplar.

Each peripheral has a different shape of ground truth available:

  • CBUFF: clean 1:1 match -- TI's reg_cbuff.h (DSSCBUFFRegs) has the same field names as our Cbuff struct almost throughout, full field-for-field offsetof comparison is straightforward.
  • ADCBUF: no dedicated TI struct -- our own header already documents that TI's CSL embeds these 6 fields among ~130 unrelated ones in one large DSSRegs struct (reg_dss_xwr68xx.h); needs offset-relative-to-DSSRegs comparisons instead of a 1:1 struct match.
  • DSS_INTC: CPU-internal C674x megamodule hardware with no per-register TI struct at all (SPRUFK5A-sourced, TRM explicitly defers to it) -- only a base-address comparison against SOC_XWR68XX_DSP_ICFG_BASE_ADDRESS is possible.

Acceptance Criteria

  • test_cbuff.c added, field-for-field comparison against TI's DSSCBUFFRegs
  • test_adcbuf.c added, offset comparison against the relevant fields in TI's DSSRegs
  • test_dss_intc.c added, base-address-only comparison against SOC_XWR68XX_DSP_ICFG_BASE_ADDRESS
  • All three wired into testing/mss/unit/ti_hal_comparison/CMakeLists.txt via add_ti_comparison_test(...) and passing locally against the real TI mmWave SDK

Functional Impact

None — test-only, no product code.

Regulatory Impact

None

QMS Impact

None

Risk Impact

No — existing risk coverage sufficient.

Relates to #16, #32.

### Description `testing/mss/unit/ti_hal_comparison` scaffolding is restored (#32) but has no test files yet. This tracks writing the actual comparison tests for the three peripherals already merged under the CMSIS register description epic (#4): ADCBUF (#5), CBUFF (#6), DSS Interrupt Controller (#7) -- comparing each against TI's own ground-truth headers (`ti/drivers/<peripheral>/include/reg_*.h` and `sys_common_xwr68xx_{mss,dss}.h` base addresses), same `offsetof`/`sizeof` style as the original `test_dma.c` exemplar. Each peripheral has a different shape of ground truth available: - **CBUFF**: clean 1:1 match -- TI's `reg_cbuff.h` (`DSSCBUFFRegs`) has the same field names as our `Cbuff` struct almost throughout, full field-for-field `offsetof` comparison is straightforward. - **ADCBUF**: no dedicated TI struct -- our own header already documents that TI's CSL embeds these 6 fields among ~130 unrelated ones in one large `DSSRegs` struct (`reg_dss_xwr68xx.h`); needs offset-relative-to-`DSSRegs` comparisons instead of a 1:1 struct match. - **DSS_INTC**: CPU-internal C674x megamodule hardware with no per-register TI struct at all (SPRUFK5A-sourced, TRM explicitly defers to it) -- only a base-address comparison against `SOC_XWR68XX_DSP_ICFG_BASE_ADDRESS` is possible. ### Acceptance Criteria - [x] `test_cbuff.c` added, field-for-field comparison against TI's `DSSCBUFFRegs` - [x] `test_adcbuf.c` added, offset comparison against the relevant fields in TI's `DSSRegs` - [x] `test_dss_intc.c` added, base-address-only comparison against `SOC_XWR68XX_DSP_ICFG_BASE_ADDRESS` - [x] All three wired into `testing/mss/unit/ti_hal_comparison/CMakeLists.txt` via `add_ti_comparison_test(...)` and passing locally against the real TI mmWave SDK ### Functional Impact None — test-only, no product code. ### Regulatory Impact None ### QMS Impact None ### Risk Impact No — existing risk coverage sufficient. ### Related Issues / PRs Relates to #16, #32.
hoogv self-assigned this 2026-07-23 12:02:15 +00:00
hoogv added this to the Development project 2026-07-23 12:02:16 +00:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
opendutchsolutions.public/hal_awr6843#34
No description provided.