diff options
author | Dave Gerlach <d-gerlach@ti.com> | 2019-04-02 12:57:42 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2019-04-09 11:31:51 -0400 |
commit | 6c110561eb2d4d1496961c13a92f96f29eea7c72 (patch) | |
tree | 8c1237a3dbc0f2bafb8df589b2f9c1dbf8c04a69 /include/linux/ti-emif-sram.h | |
parent | 9e98c678c2d6ae3a17cb2de55d17f69dddaa231b (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.h | 3 |
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 { | |||
55 | struct ti_emif_pm_functions { | 55 | struct 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, |