diff options
Diffstat (limited to 'board/mpr2/lowlevel_init.S')
| -rw-r--r-- | board/mpr2/lowlevel_init.S | 75 | 
1 files changed, 29 insertions, 46 deletions
| diff --git a/board/mpr2/lowlevel_init.S b/board/mpr2/lowlevel_init.S index 060957ad0..5f02bd4bb 100644 --- a/board/mpr2/lowlevel_init.S +++ b/board/mpr2/lowlevel_init.S @@ -22,6 +22,7 @@   * Foundation, Inc., 59 Temple Place, Suite 330, Boston,   * MA 02111-1307 USA   */ +#include <asm/macro.h>  	.global	lowlevel_init @@ -33,59 +34,35 @@ lowlevel_init:  /*   * Set frequency multipliers and dividers in FRQCR.   */ -	mov.l	WTCSR_A,r1 -	mov.l	WTCSR_D,r0 -	mov.w	r0,@r1 +	write16	WTCSR_A, WTCSR_D -	mov.l	WTCNT_A,r1 -	mov.l	WTCNT_D,r0 -	mov.w	r0,@r1 +	write16	WTCNT_A, WTCNT_D -	mov.l	FRQCR_A,r1 -	mov.l	FRQCR_D,r0 -	mov.w	r0,@r1 +	write16	FRQCR_A, FRQCR_D  /*   * Setup CS0 (Flash).   */ -	mov.l	CS0BCR_A, r1 -	mov.l	CS0BCR_D, r0 -	mov.l	r0, @r1 +	write32	CS0BCR_A, CS0BCR_D -	mov.l	CS0WCR_A, r1 -	mov.l	CS0WCR_D, r0 -	mov.l	r0, @r1 +	write32	CS0WCR_A, CS0WCR_D  /*   * Setup CS3 (SDRAM).   */ -	mov.l	CS3BCR_A, r1 -	mov.l	CS3BCR_D, r0 -	mov.l	r0, @r1 +	write32	CS3BCR_A, CS3BCR_D -	mov.l	CS3WCR_A, r1 -	mov.l	CS3WCR_D, r0 -	mov.l	r0, @r1 +	write32	CS3WCR_A, CS3WCR_D -	mov.l	SDCR_A, r1 -	mov.l	SDCR_D1, r0 -	mov.l	r0, @r1 +	write32	SDCR_A, SDCR_D1 -	mov.l	RTCSR_A, r1 -	mov.l	RTCSR_D, r0 -	mov.l	r0, @r1 +	write32	RTCSR_A, RTCSR_D -	mov.l	RTCNT_A, r1 -	mov.l	RTCNT_D, r0 -	mov.l	r0, @r1 +	write32	RTCNT_A, RTCNT_D -	mov.l	RTCOR_A, r1 -	mov.l	RTCOR_D, r0 -	mov.l	r0, @r1 +	write32	RTCOR_A, RTCOR_D -	mov.l	SDCR_A, r1 -	mov.l	SDCR_D2, r0 -	mov.l	r0, @r1 +	write32	SDCR_A, SDCR_D2  	mov.l	SDMR3_A, r1  	mov.l	SDMR3_D, r0 @@ -112,21 +89,27 @@ WTCSR_D:	.long	0xA507		/* divide by 4096 */  /*   * Spansion S29GL256N11 @ 48 MHz   */ -CS0BCR_D:	.long	0x12490400  /* 1 idle cycle inserted, normal space, 16 bit */ -CS0WCR_D:	.long	0x00000340  /* tSW=0.5ck, 6 wait cycles, NO external wait, tHW=0.5ck */ +/* 1 idle cycle inserted, normal space, 16 bit */ +CS0BCR_D:	.long	0x12490400 +/* tSW=0.5ck, 6 wait cycles, NO external wait, tHW=0.5ck */ +CS0WCR_D:	.long	0x00000340  /*   * Samsung K4S511632B-UL75 @ 48 MHz   * Micron MT48LC32M16A2-75 @ 48 MHz   */ -CS3BCR_D:	.long	0x10004400  /* CS3BCR = 0x10004400, minimum idle cycles, SDRAM, 16 bit */ -CS3WCR_D:	.long	0x00000091  /* tRP=1ck, tRCD=1ck, CL=2, tRWL=2ck, tRC=4ck */ -SDCR_D1:	.long	0x00000012  /* no refresh, 13 rows, 10 cols, NO bank active mode */ -SDCR_D2:	.long	0x00000812  /* refresh */ -RTCSR_D:	.long	0xA55A0008  /* 1/4, once */ -RTCNT_D:	.long	0xA55A005D  /* count 93 */ -RTCOR_D:	.long	0xa55a005d  /* count 93 */ -SDMR3_D:	.long	0x440       /* mode register CL2, burst read and SINGLE WRITE */ +/* CS3BCR = 0x10004400, minimum idle cycles, SDRAM, 16 bit */ +CS3BCR_D:	.long	0x10004400 +/* tRP=1ck, tRCD=1ck, CL=2, tRWL=2ck, tRC=4ck */ +CS3WCR_D:	.long	0x00000091 +/* no refresh, 13 rows, 10 cols, NO bank active mode */ +SDCR_D1:	.long	0x00000012 +SDCR_D2:	.long	0x00000812	/* refresh */ +RTCSR_D:	.long	0xA55A0008	/* 1/4, once */ +RTCNT_D:	.long	0xA55A005D	/* count 93 */ +RTCOR_D:	.long	0xa55a005d	/* count 93 */ +/* mode register CL2, burst read and SINGLE WRITE */ +SDMR3_D:	.long	0x440  /*   * Registers |