mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-25 01:58:13 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
		
			594 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			594 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| /* Memory sub-system initialization code */
 | |
| 
 | |
| #include <config.h>
 | |
| #include <asm/regdef.h>
 | |
| #include <asm/mipsregs.h>
 | |
| 
 | |
| 	.text
 | |
| 	.set noreorder
 | |
| 	.set mips32
 | |
| 
 | |
| 	.globl	lowlevel_init
 | |
| lowlevel_init:
 | |
| 
 | |
| 	/*
 | |
| 	 * Step 2) Establish Status Register
 | |
| 	 * (set BEV, clear ERL, clear EXL, clear IE)
 | |
| 	 */
 | |
| 	li	t1, 0x00400000
 | |
| 	mtc0	t1, CP0_STATUS
 | |
| 
 | |
| 	/*
 | |
| 	 * Step 3) Establish CP0 Config0
 | |
| 	 * (set K0=3)
 | |
| 	 */
 | |
| 	li	t1, 0x00000003
 | |
| 	mtc0	t1, CP0_CONFIG
 | |
| 
 | |
| 	/*
 | |
| 	 * Step 7) Establish Cause
 | |
| 	 * (set IV bit)
 | |
| 	 */
 | |
| 	li	t1, 0x00800000
 | |
| 	mtc0	t1, CP0_CAUSE
 | |
| 
 | |
| 	/* Establish Wired (and Random) */
 | |
| 	mtc0	zero, CP0_WIRED
 | |
| 	nop
 | |
| 
 | |
| 	jr	ra
 | |
| 	nop
 |