mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-31 12:08:19 +00:00 
			
		
		
		
	Building some arm boards with older binutils may produce errors like this: ---8<--- crt0.S: Assembler messages: crt0.S:70: Error: register expected, not '#(184)' -- `sub sp,#(184)' --->8--- Use canonical version of the subtract mnemonic to avoid those issues. Reported-by: Alexey Smishlayev <alexey@xtech2.lv> Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
		
			
				
	
	
		
			42 lines
		
	
	
		
			751 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			751 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| /*
 | |
|  * A lowlevel_init function that sets up the stack to call a C function to
 | |
|  * perform further init.
 | |
|  *
 | |
|  * (C) Copyright 2010
 | |
|  * Texas Instruments, <www.ti.com>
 | |
|  *
 | |
|  * Author :
 | |
|  *	Aneesh V	<aneesh@ti.com>
 | |
|  *
 | |
|  * SPDX-License-Identifier:	GPL-2.0+
 | |
|  */
 | |
| 
 | |
| #include <asm-offsets.h>
 | |
| #include <config.h>
 | |
| #include <linux/linkage.h>
 | |
| 
 | |
| ENTRY(lowlevel_init)
 | |
| 	/*
 | |
| 	 * Setup a temporary stack
 | |
| 	 */
 | |
| 	ldr	sp, =CONFIG_SYS_INIT_SP_ADDR
 | |
| 	bic	sp, sp, #7 /* 8-byte alignment for ABI compliance */
 | |
| #ifdef CONFIG_SPL_BUILD
 | |
| 	ldr	r9, =gdata
 | |
| #else
 | |
| 	sub	sp, sp, #GD_SIZE
 | |
| 	bic	sp, sp, #7
 | |
| 	mov	r9, sp
 | |
| #endif
 | |
| 	/*
 | |
| 	 * Save the old lr(passed in ip) and the current lr to stack
 | |
| 	 */
 | |
| 	push	{ip, lr}
 | |
| 
 | |
| 	/*
 | |
| 	 * go setup pll, mux, memory
 | |
| 	 */
 | |
| 	bl	s_init
 | |
| 	pop	{ip, pc}
 | |
| ENDPROC(lowlevel_init)
 |