linux/drivers/soc/ti
Dave Gerlach 2a21f9e6d9 soc: ti: wkup_m3_ipc: Add debug option to halt m3 in suspend
Add a debugfs option to allow configurable halting of the wkup_m3
during suspend at the last possible point before low power mode entry.
This condition can only be resolved through JTAG and advancing beyond
the while loop in a8_lp_ds0_handler [1]. Although this hangs the system
it forces the system to remain active once it has been entirely
configured for low power mode entry, allowing for register inspection
through JTAG to help in debugging transition errors.

Halt mode can be set using the enable_off_mode entry under wkup_m3_ipc
in the debugfs.

[1] https://git.ti.com/cgit/processor-firmware/ti-amx3-cm3-pm-firmware/tree/src/pm_services/pm_handlers.c?h=08.02.00.006#n141

Suggested-by: Brad Griffis <bgriffis@ti.com>
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
[dfustini: add link for a8_lp_ds0_handler() in ti-amx3-cm3-pm-firmware]
Signed-off-by: Drew Fustini <dfustini@baylibre.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20220502033211.1383158-1-dfustini@baylibre.com
2022-05-03 08:02:09 -05:00
..
k3-ringacc.c soc: ti: k3-ringacc: Use devm_bitmap_zalloc() when applicable 2022-02-02 13:06:21 -06:00
k3-socinfo.c soc: ti: k3-socinfo: Add AM62x JTAG ID 2022-02-28 05:35:19 -06:00
Kconfig soc: ti: Kconfig: Drop ARM64 SoC specific configs 2020-11-21 19:22:01 -08:00
knav_dma.c soc: ti: knav_dma: Use pm_runtime_resume_and_get instead of pm_runtime_get_sync 2022-04-15 15:04:53 -05:00
knav_qmss_acc.c soc: TI knav_qmss: make symbol 'knav_acc_range_ops' static 2020-07-24 14:47:10 -07:00
knav_qmss_queue.c soc: ti: knav_qmss_queue: Use IS_ERR instead of IS_ERR_OR_NULL when checking knav_queue_open() result 2022-05-03 08:02:05 -05:00
knav_qmss.h soc: ti: Replace zero-length array with flexible-array 2020-06-15 23:08:32 -05:00
Makefile ARM: SoC-related driver updates 2020-10-24 10:39:22 -07:00
omap_prm.c soc: ti: omap_prm: Use of_device_get_match_data() 2022-04-15 14:31:03 -05:00
pm33xx.c soc: ti: pm33xx: using pm_runtime_resume_and_get instead of pm_runtime_get_sync 2022-05-03 06:58:10 -05:00
pruss.c soc: ti: pruss: using pm_runtime_resume_and_get instead of pm_runtime_get_sync 2022-04-11 08:46:09 -05:00
smartreflex.c soc: ti: smartreflex: Use platform_get_irq_optional() to get the interrupt 2022-02-02 13:11:40 -06:00
ti_sci_inta_msi.c soc: ti: ti_sci_inta_msi: Remove ti_sci_inta_msi_domain_free_irqs() 2021-12-16 22:22:19 +01:00
ti_sci_pm_domains.c soc: ti: ti_sci_pm_domains: Check for null return of devm_kcalloc 2022-04-15 14:59:23 -05:00
wkup_m3_ipc.c soc: ti: wkup_m3_ipc: Add debug option to halt m3 in suspend 2022-05-03 08:02:09 -05:00