summaryrefslogtreecommitdiffstats
path: root/include/linux/ti-emif-sram.h
diff options
context:
space:
mode:
authorDave Gerlach <d-gerlach@ti.com>2019-04-02 12:57:42 -0400
committerTony Lindgren <tony@atomide.com>2019-04-09 11:31:51 -0400
commit6c110561eb2d4d1496961c13a92f96f29eea7c72 (patch)
tree8c1237a3dbc0f2bafb8df589b2f9c1dbf8c04a69 /include/linux/ti-emif-sram.h
parent9e98c678c2d6ae3a17cb2de55d17f69dddaa231b (diff)
memory: ti-emif-sram: Add ti_emif_run_hw_leveling for DDR3 hardware leveling
In certain situations, such as when returning from low power modes, the EMIF must re-run hardware leveling to properly restore DDR3 access. This is accomplished by introducing a new ti-emif-sram-pm call, ti_emif_run_hw_leveling, to check if DDR3 is in use and if so, trigger the full write and read leveling processes. Suggested-by: Brad Griffis <bgriffis@ti.com> Signed-off-by: Dave Gerlach <d-gerlach@ti.com> Acked-by: Santosh Shilimkar <ssantosh@kernel.org> Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'include/linux/ti-emif-sram.h')
-rw-r--r--include/linux/ti-emif-sram.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/ti-emif-sram.h b/include/linux/ti-emif-sram.h
index 53604b087f2c..2fc854155c27 100644
--- a/include/linux/ti-emif-sram.h
+++ b/include/linux/ti-emif-sram.h
@@ -55,6 +55,7 @@ struct ti_emif_pm_data {
55struct ti_emif_pm_functions { 55struct ti_emif_pm_functions {
56 u32 save_context; 56 u32 save_context;
57 u32 restore_context; 57 u32 restore_context;
58 u32 run_hw_leveling;
58 u32 enter_sr; 59 u32 enter_sr;
59 u32 exit_sr; 60 u32 exit_sr;
60 u32 abort_sr; 61 u32 abort_sr;
@@ -126,6 +127,8 @@ static inline void ti_emif_asm_offsets(void)
126 offsetof(struct ti_emif_pm_functions, save_context)); 127 offsetof(struct ti_emif_pm_functions, save_context));
127 DEFINE(EMIF_PM_RESTORE_CONTEXT_OFFSET, 128 DEFINE(EMIF_PM_RESTORE_CONTEXT_OFFSET,
128 offsetof(struct ti_emif_pm_functions, restore_context)); 129 offsetof(struct ti_emif_pm_functions, restore_context));
130 DEFINE(EMIF_PM_RUN_HW_LEVELING,
131 offsetof(struct ti_emif_pm_functions, run_hw_leveling));
129 DEFINE(EMIF_PM_ENTER_SR_OFFSET, 132 DEFINE(EMIF_PM_ENTER_SR_OFFSET,
130 offsetof(struct ti_emif_pm_functions, enter_sr)); 133 offsetof(struct ti_emif_pm_functions, enter_sr));
131 DEFINE(EMIF_PM_EXIT_SR_OFFSET, 134 DEFINE(EMIF_PM_EXIT_SR_OFFSET,