summaryrefslogtreecommitdiff
path: root/include/linux/wkup_m3_ipc.h
diff options
context:
space:
mode:
authorDave Gerlach <d-gerlach@ti.com>2022-04-10 00:12:15 +0300
committerNishanth Menon <nm@ti.com>2022-04-23 02:12:35 +0300
commitf226041424cf87245d39a1b2dfae304308b36b6b (patch)
treefebf01dd536de03e3b004e5d1100d01b367e1a4d /include/linux/wkup_m3_ipc.h
parent12eeb74925da70eb39d90abead9de9793be3d4c8 (diff)
downloadlinux-f226041424cf87245d39a1b2dfae304308b36b6b.tar.xz
soc: ti: wkup_m3_ipc: Add support for toggling VTT regulator
Some boards like the AM335x EVM-SK and AM437x GP EVM provide software control via a GPIO pin to toggle the DDR VTT regulator to reduce power consumption in low power states. The VTT regulator should be disabled after enabling self-refresh on suspend, and should be enabled before disabling self-refresh on resume. This is to allow proper self-refresh entry/exit commands to be transmitted to the memory. The "ti,vtt-gpio-pin" device tree property in the wkup_m3_ipc node specifies which GPIO pin to use. This property is communicated to the Wakeup Cortex M3 co-processor where the actual toggling of the GPIO pin happens in CM3 firmware [1]. Please note that the GPIO pin must be on the GPIO0 module as that module is in the wakeup power domain. [1] https://git.ti.com/cgit/processor-firmware/ti-amx3-cm3-pm-firmware/tree/src/pm_services/ddr.c?h=08.02.00.006#n190 Signed-off-by: Dave Gerlach <d-gerlach@ti.com> Signed-off-by: Keerthy <j-keerthy@ti.com> [dfustini: remove the unnecessary "ti,needs-vtt-toggle" property] Signed-off-by: Drew Fustini <dfustini@baylibre.com> Signed-off-by: Nishanth Menon <nm@ti.com> Link: https://lore.kernel.org/r/20220409211215.2529387-3-dfustini@baylibre.com
Diffstat (limited to 'include/linux/wkup_m3_ipc.h')
-rw-r--r--include/linux/wkup_m3_ipc.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/wkup_m3_ipc.h b/include/linux/wkup_m3_ipc.h
index 3f496967b538..2bc52c6381d5 100644
--- a/include/linux/wkup_m3_ipc.h
+++ b/include/linux/wkup_m3_ipc.h
@@ -33,6 +33,7 @@ struct wkup_m3_ipc {
int mem_type;
unsigned long resume_addr;
+ int vtt_conf;
int state;
struct completion sync_complete;