Although AM62x, AM62Ax, AM64x, and AM62Px share the same register for reset reason, not all TRMs document this consistently. To avoid relying on undocumented behavior, introduce SoC-specific implementations for now. If TI confirms all SoCs share the same register, this can be moved to common.c for reuse.
It will be mostly copy&paste for the mentioned devices. Also, I am not sure how this Register operates exactly. I noticed that two bits can be set at once, so I started to check for set bits instead of having a switch/case logic. Wadim Egorov (2): arm: mach-k3: Detect and print reset reason arm: mach-k3: am62x: Implement get_reset_reason() arch/arm/mach-k3/am62x/boot.c | 40 +++++++++++++++++++ arch/arm/mach-k3/common.c | 10 +++++ arch/arm/mach-k3/include/mach/am62_hardware.h | 19 +++++++++ arch/arm/mach-k3/include/mach/hardware.h | 1 + 4 files changed, 70 insertions(+) -- 2.34.1