2412218_en-US

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2412218_en-US

2412218_en-US

i.MX8QXP C0: crashevidence capture ramoops across SCwatchdogresetCortex-M4 supervision A35 cluster

Hi NXP Team, 
Platform details:

  • SoC: i.MX8QXP C0, custom board based on MEK reference
  • BSP: NXP Linux 6.6.3 [state exact tag, e.g. lf-6.6.3-1.0.0], Yocto Scarthgap
  • SCFW version: [run scu_rm / check boot log — paste version]
  • SECO/AHAB: [enabled/not enabled, version]
  • U-Boot: [2024.04/tag]
  • Cortex-M4 (CM4_0): currently unused, no firmware loaded
  • Use case: production automotive instrument cluster; A35 runs Linux/Weston HMI

Problem statement:
In production we occasionally see the A35 complex crash or hard-hang (kernel panic / lockup). Today we have no persisted crash evidence and no autonomous recovery — the cluster stays dead until a manual power cycle, and field/DV occurrences cannot be debugged. We want to implement (a) panic-log persistence across a watchdog reset using pstore/ramoops, and (b) supervision of the A35 by the CM4_0 with the ability to reset only the A35 partition.
On i.MX8QXP C0, when the system watchdog (imx-sc-wdt, handled by SCFW) fires, what type of reset is performed — full SoC/board reset or A-cluster partition reset? Is this configurable via SCFW board file or sc_pm API?

Re: i.MX8QXP C0: crashevidence capture ramoops across SCwatchdogresetCortex-M4 supervision A35 clus

Hello,

yes, you may use a virtual watchdog managed by the SCFW to reset the partitionSC_TIMER_WDOG_ACTION_PARTITION behavior is what you want it resets only the Linux/A35 partition.

Also, there is a way to achieve the same effect from CM4_0 firmware directly by calling sc_pm_reset_partition() on the A35 partition via the SCFW sc_pm API, which gives the CM4_0 full supervisory control independent of the watchdog mechanism.

You can find more information about this on the SCFW porting guide for the specific version that you are using.

Best regards/Saludos,
Aldo.

Tags (1)
No ratings
Version history
Last update:
4 weeks ago
Updated by: