diff options
Diffstat (limited to 'arch/arm/mach-omap2/sram34xx.S')
-rw-r--r-- | arch/arm/mach-omap2/sram34xx.S | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/sram34xx.S b/arch/arm/mach-omap2/sram34xx.S index de99ba2a57ab..3637274af5be 100644 --- a/arch/arm/mach-omap2/sram34xx.S +++ b/arch/arm/mach-omap2/sram34xx.S | |||
@@ -129,8 +129,11 @@ ENTRY(omap3_sram_configure_core_dpll) | |||
129 | ldr r4, [sp, #80] | 129 | ldr r4, [sp, #80] |
130 | str r4, omap_sdrc_mr_1_val | 130 | str r4, omap_sdrc_mr_1_val |
131 | skip_cs1_params: | 131 | skip_cs1_params: |
132 | mrc p15, 0, r8, c1, c0, 0 @ read ctrl register | ||
133 | bic r10, r8, #0x800 @ clear Z-bit, disable branch prediction | ||
134 | mcr p15, 0, r10, c1, c0, 0 @ write ctrl register | ||
132 | dsb @ flush buffered writes to interconnect | 135 | dsb @ flush buffered writes to interconnect |
133 | 136 | isb @ prevent speculative exec past here | |
134 | cmp r3, #1 @ if increasing SDRC clk rate, | 137 | cmp r3, #1 @ if increasing SDRC clk rate, |
135 | bleq configure_sdrc @ program the SDRC regs early (for RFR) | 138 | bleq configure_sdrc @ program the SDRC regs early (for RFR) |
136 | cmp r1, #SDRC_UNLOCK_DLL @ set the intended DLL state | 139 | cmp r1, #SDRC_UNLOCK_DLL @ set the intended DLL state |
@@ -148,6 +151,7 @@ skip_cs1_params: | |||
148 | beq return_to_sdram @ return to SDRAM code, otherwise, | 151 | beq return_to_sdram @ return to SDRAM code, otherwise, |
149 | bl configure_sdrc @ reprogram SDRC regs now | 152 | bl configure_sdrc @ reprogram SDRC regs now |
150 | return_to_sdram: | 153 | return_to_sdram: |
154 | mcr p15, 0, r8, c1, c0, 0 @ restore ctrl register | ||
151 | isb @ prevent speculative exec past here | 155 | isb @ prevent speculative exec past here |
152 | mov r0, #0 @ return value | 156 | mov r0, #0 @ return value |
153 | ldmfd sp!, {r1-r12, pc} @ restore regs and return | 157 | ldmfd sp!, {r1-r12, pc} @ restore regs and return |