summaryrefslogtreecommitdiff
path: root/include/linux/wkup_m3_ipc.h
diff options
context:
space:
mode:
authorDave Gerlach <d-gerlach@ti.com>2022-05-02 06:32:12 +0300
committerNishanth Menon <nm@ti.com>2022-05-03 16:02:09 +0300
commit2a21f9e6d9a408dbd09a01caf5fff42c2f70fa82 (patch)
treeb1b5e937801d73c59e0c3811adb38d5e35d87d04 /include/linux/wkup_m3_ipc.h
parentea082040fe071d2ba1f8f73792743d7ca9fb218e (diff)
downloadlinux-2a21f9e6d9a408dbd09a01caf5fff42c2f70fa82.tar.xz
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
Diffstat (limited to 'include/linux/wkup_m3_ipc.h')
-rw-r--r--include/linux/wkup_m3_ipc.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/wkup_m3_ipc.h b/include/linux/wkup_m3_ipc.h
index fef0fac60f8c..26d1eb058fa3 100644
--- a/include/linux/wkup_m3_ipc.h
+++ b/include/linux/wkup_m3_ipc.h
@@ -36,6 +36,7 @@ struct wkup_m3_ipc {
int vtt_conf;
int isolation_conf;
int state;
+ u32 halt;
unsigned long volt_scale_offsets;
const char *sd_fw_name;
@@ -46,6 +47,7 @@ struct wkup_m3_ipc {
struct wkup_m3_ipc_ops *ops;
int is_rtc_only;
+ struct dentry *dbg_path;
};
struct wkup_m3_wakeup_src {