diff options
author | Alex Frid <afrid@nvidia.com> | 2012-09-29 20:32:18 -0700 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-10-22 13:56:56 -0700 |
commit | c5e1e296c277136089be265fedaae7273c29baed (patch) | |
tree | 9843979d41a6f7c495f6cbcb739d32b02075b272 /arch/arm/mach-tegra/tegra11_emc.c | |
parent | a2e058e8abfa328dcd6f82ac8e662090aaaf95a6 (diff) |
ARM: tegra11: clock: Add dummy EMC ccfifo write
Added dummy EMC ccfifo write to read-only register to make sure that
at least one ccfifo write is pushed after stall-after-change marker.
Without this dummy write EMC ccfifo (and the entire system) will hang
after clock change that does not update other registers via ccfifo.
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/139974
(cherry picked from commit 2c57e98d8b4e2781666412773f10794e707d2e7f)
Change-Id: I9784986c129fd60dcdf17af2fd7eb0088fbaf43e
Signed-off-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-on: http://git-master/r/146260
Reviewed-by: Automatic_Commit_Validation_User
Diffstat (limited to 'arch/arm/mach-tegra/tegra11_emc.c')
-rw-r--r-- | arch/arm/mach-tegra/tegra11_emc.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/tegra11_emc.c b/arch/arm/mach-tegra/tegra11_emc.c index 2631837c71e4..6f7a8c5b4243 100644 --- a/arch/arm/mach-tegra/tegra11_emc.c +++ b/arch/arm/mach-tegra/tegra11_emc.c @@ -598,6 +598,9 @@ static noinline void emc_set_clock(const struct tegra11_emc_table *next_timing, ccfifo_writel(EMC_ZQ_CAL_LONG_CMD_DEV1, EMC_ZQ_CAL); } + /* 10.1 dummy write to RO register to remove stall after change */ + ccfifo_writel(0, EMC_CCFIFO_STATUS); + /* 11.5 program burst_up_down registers if emc rate is going down */ if (next_timing->rate < last_timing->rate) { for (i = 0; i < next_timing->burst_up_down_regs_num; i++) |