diff options
Diffstat (limited to 'arch/arm/mach-omap2/sram243x.S')
| -rw-r--r-- | arch/arm/mach-omap2/sram243x.S | 18 | 
1 files changed, 14 insertions, 4 deletions
diff --git a/arch/arm/mach-omap2/sram243x.S b/arch/arm/mach-omap2/sram243x.S index ab4973695c7..a1e9edd673f 100644 --- a/arch/arm/mach-omap2/sram243x.S +++ b/arch/arm/mach-omap2/sram243x.S @@ -21,18 +21,26 @@   * along with this program; if not, write to the Free Software   * Foundation, Inc., 59 Temple Place, Suite 330, Boston,   * MA 02111-1307 USA + * + * Richard Woodruff notes that any changes to this code must be carefully + * audited and tested to ensure that they don't cause a TLB miss while + * the SDRAM is inaccessible.  Such a situation will crash the system + * since it will cause the ARM MMU to attempt to walk the page tables. + * These crashes may be intermittent.   */  #include <linux/linkage.h> +  #include <asm/assembler.h> -#include <mach/io.h> -#include <mach/hardware.h> -#include "prm.h" -#include "cm.h" +#include "soc.h" +#include "iomap.h" +#include "prm2xxx.h" +#include "cm2xxx.h"  #include "sdrc.h"  	.text +	.align	3  ENTRY(omap243x_sram_ddr_init)  	stmfd	sp!, {r0 - r12, lr}	@ save registers on stack @@ -137,6 +145,7 @@ ENTRY(omap243x_sram_ddr_init_sz)   * r0 = [PRCM_FULL | PRCM_HALF] r1 = SDRC_DLLA_CTRL value r2 = [DDR | SDR]   * PRCM_FULL = 2, PRCM_HALF = 1, DDR = 1, SDR = 0   */ +	.align	3  ENTRY(omap243x_sram_reprogram_sdrc)  	stmfd	sp!, {r0 - r10, lr}	@ save registers on stack  	mov	r3, #0x0		@ clear for mrc call @@ -232,6 +241,7 @@ ENTRY(omap243x_sram_reprogram_sdrc_sz)  /*   * Set dividers and pll. Also recalculate DLL value for DDR and unlock mode.   */ +	.align	3  ENTRY(omap243x_sram_set_prcm)  	stmfd	sp!, {r0-r12, lr}	@ regs to stack  	adr	r4, pbegin		@ addr of preload start  | 
