decode_silicon_register
Decode hexadecimal MCU register and radio-core status words into bitfields to diagnose TI SimpleLink F2, Silicon Labs EFR32, and ARM Cortex-M faults from SWD, crash dumps, or telemetry.
Instructions
Decode a hexadecimal MCU register or radio-core command status word into bitfields.
When to use:
Use this tool when inspecting a TI SimpleLink F2 (
CMD_IEEE_RX,CMD_IEEE_CSMA,RFC_DBELL,SRCMATCH,VIMS,PRCM,UART0_FR,UART0_RSR,UART0_CTL,IOCFG0..31,AON_PMCTL_RESETCTL), Silicon Labs EFR32 (EUSART0_IF,USART0_IF,USART0_STATUS,EMU_RSTCAUSE), or ARM Cortex-M4/M33 (SCB_CFSR0xE000ED28,SCB_HFSR0xE000ED2C) hex register/status value captured from SWD/JTAG, a crash dump, or telemetry.Do NOT use for parsing multi-line host application logs (
analyze_zigbee_thread_log) or evaluating mesh node counts (check_coordinator_capacity).
Behavior:
Executes deterministically offline with zero hardware or network I/O.
Returns decoded bitfield flags, boolean
healthystatus, root-cause diagnosis, and links to silicon errata notes; raisesValueErroron unsupportedchiporregister_or_addridentifiers or unparseablehex_valuestrings.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"chip": "<chip>",
"register_or_addr": "<register_or_addr>",
"hex_value": "<hex_value>"
},
"name": "decode_silicon_register"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chip | Yes | Target MCU family, SoC part number, SMLIGHT coordinator SKU, or ARM Cortex-M core token (case-insensitive). Accepted TI SimpleLink F2 tokens: `'F2'`, `'CC2652P'`, `'CC2652P7'`, `'CC1352P7'`, `'CC2674P10'`, `'P7'`, `'P10'`, `'SLZB-06'`, `'SLZB-06U'`, `'SLZB-06P7'`, `'SLZB-06P7U'`, `'SLZB-06P7v1'`, `'SLZB-07P7'`, `'SLZB-06P10'`, `'SLZB-07P10'`. Accepted Silicon Labs EFR32 tokens: `'EFR32'`, `'EFR32MG21'`, `'EFR32MG24'`, `'MG21'`, `'MG24'`, `'SILABS'`, `'EMBER'`, `'SLZB-06M'`, `'SLZB-06Mg24'`. Accepted universal ARM SCB fault tokens: `'ARM'`, `'CORTEX-M'`, `'CORTEX-M4'`, `'CORTEX-M33'`. | |
| hex_value | Yes | Observed 16-bit or 32-bit register or radio command status value as a hexadecimal string (with or without `'0x'` prefix, e.g. `'0x0807'`, `'0x2401'`, `'0x00000028'`, `'0x00008200'`, `'0x40000000'`). | |
| register_or_addr | Yes | Register symbol, radio command name, or MMIO hex address supported for `chip` (case-insensitive). TI SimpleLink F2 values: `'CMD_IEEE_RX'`, `'CMD_IEEE_CSMA'`, `'RFC_DBELL'` (`'0x40041014'`), `'SRCMATCH'` (`'RFC_RAM'`, `'0x21000000'`), `'VIMS'` (`'0x40034000'`), `'PRCM'` (`'0x400821D4'`, `'0x580821D4'`, `'0x480821D4'`), `'UART0_FR'` (`'0x40001018'`), `'UART0_RSR'` (`'UART0_ECR'`, `'0x40001004'`), `'UART0_CTL'` (`'0x40001030'`), `'IOCFG'` (`'IOCFG0'`..`'IOCFG47'`, `'0x40081000'`..`'0x400810BC'`), `'AON_PMCTL_RESETCTL'` (`'RESETCTL'`, `'0x40090028'`, `'0x58090028'`, `'0x48090028'`). Silicon Labs EFR32 values: `'EUSART0_IF'` (`'0x5B01004C'`, `'0x4B01004C'`), `'USART0_IF'` (`'0x50058048'` / `'0x40058048'` on MG21, `'0x5005C048'` / `'0x4005C048'` on MG24), `'USART0_STATUS'` (`'0x50058018'` / `'0x40058018'` on MG21, `'0x5005C018'` / `'0x4005C018'` on MG24), `'EMU_RSTCAUSE'` (`'RSTCAUSE'`, `'0x50004094'`, `'0x40004094'`). Universal ARM Cortex-M4/M33 values (accepted on F2, EFR32, or `'ARM'`/`'CORTEX-M'`): `'SCB_CFSR'` (`'CFSR'`, `'0xE000ED28'`), `'SCB_HFSR'` (`'HFSR'`, `'0xE000ED2C'`). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chip | Yes | ||
| address | Yes | ||
| healthy | Yes | ||
| raw_hex | Yes | ||
| release | Yes | ||
| register | Yes | ||
| bitfields | Yes | ||
| diagnosis | Yes | ||
| marketing_url | Yes | ||
| silicon_note_url | Yes | ||
| zeroStackDiagUrl | Yes | ||
| zerostack_repository | Yes | ||
| zero_stack_remediation | No | ||
| interactive_web_analyzer_url | Yes |