lowlevel_init.s

来自「最新版的u-boot,2008-10-18发布」· S 代码 · 共 244 行

S
244
字号
/* * Copyright (C) 2008 Renesas Solutions Corp. * Copyright (C) 2008 Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> * * board/ap325rxa/lowlevel_init.S * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA */#include <config.h>#include <version.h>#include <asm/processor.h>/* * Board specific low level init code, called _very_ early in the * startup sequence. Relocation to SDRAM has not happened yet, no * stack is available, bss section has not been initialised, etc. * * (Note: As no stack is available, no subroutines can be called...). */	.global	lowlevel_init	.text	.align	2lowlevel_init:	mov.l	DRVCRA_A, r1	mov.l 	DRVCRA_D, r0	mov.w	r0, @r1	mov.l	DRVCRB_A, r1	mov.l 	DRVCRB_D, r0	mov.w	r0, @r1	mov.l	RWTCSR_A, r1	mov.l 	RWTCSR_D1, r0	mov.w	r0, @r1	mov.l	RWTCNT_A, r1	mov.l 	RWTCNT_D, r0	mov.w	r0, @r1	mov.l	RWTCSR_A, r1	mov.l 	RWTCSR_D2, r0	mov.w	r0, @r1	mov.l	FRQCR_A, r1	mov.l 	FRQCR_D, r0	mov.l	r0, @r1	mov.l	CMNCR_A, r1	mov.l	CMNCR_D, r0	mov.l	r0, @r1	mov.l	CS0BCR_A ,r1	mov.l	CS0BCR_D ,r0	mov.l	r0, @r1	mov.l	CS4BCR_A ,r1	mov.l	CS4BCR_D ,r0	mov.l	r0, @r1	mov.l	CS5ABCR_A ,r1	mov.l	CS5ABCR_D ,r0	mov.l	r0, @r1	mov.l	CS5BBCR_A ,r1	mov.l	CS5BBCR_D ,r0	mov.l	r0, @r1	mov.l	CS6ABCR_A ,r1	mov.l	CS6ABCR_D ,r0	mov.l	r0, @r1	mov.l	CS6BBCR_A ,r1	mov.l	CS6BBCR_D ,r0	mov.l	r0, @r1	mov.l	CS0WCR_A ,r1	mov.l	CS0WCR_D ,r0	mov.l	r0, @r1	mov.l	CS4WCR_A ,r1	mov.l	CS4WCR_D ,r0	mov.l	r0, @r1	mov.l	CS5AWCR_A ,r1	mov.l	CS5AWCR_D ,r0	mov.l	r0, @r1	mov.l	CS5BWCR_A ,r1	mov.l	CS5BWCR_D ,r0	mov.l	r0, @r1	mov.l	CS6AWCR_A ,r1	mov.l	CS6AWCR_D ,r0	mov.l	r0, @r1	mov.l	CS6BWCR_A ,r1	mov.l	CS6BWCR_D ,r0	mov.l	r0, @r1	mov.l	SBSC_SDCR_A, r1	mov.l 	SBSC_SDCR_D1, r0	mov.l	r0, @r1	mov.l	SBSC_SDWCR_A, r1	mov.l 	SBSC_SDWCR_D, r0	mov.l	r0, @r1	mov.l	SBSC_SDPCR_A, r1	mov.l 	SBSC_SDPCR_D, r0	mov.l	r0, @r1	mov.l	SBSC_RTCSR_A, r1	mov.l 	SBSC_RTCSR_D, r0	mov.l	r0, @r1	mov.l	SBSC_RTCNT_A, r1	mov.l 	SBSC_RTCNT_D, r0	mov.l	r0, @r1	mov.l	SBSC_RTCOR_A, r1	mov.l 	SBSC_RTCOR_D, r0	mov.l	r0, @r1	mov.l	SBSC_SDMR3_A1, r1	mov.l 	SBSC_SDMR3_D, r0	mov.b	r0, @r1	mov.l	SBSC_SDMR3_A2, r1	mov.l 	SBSC_SDMR3_D, r0	mov.b	r0, @r1	mov.l	SLEEP_CNT, r12:	tst	r1, r1	nop	bf/s	2b	dt	r1	mov.l	SBSC_SDMR3_A3, r1	mov.l 	SBSC_SDMR3_D, r0	mov.b	r0, @r1	mov.l	SBSC_SDCR_A, r1	mov.l 	SBSC_SDCR_D2, r0	mov.l	r0, @r1	mov.l	CCR_A, r1	mov.l 	CCR_D, r0	mov.l	r0, @r1	! BL bit off (init = ON)  (?!?)	stc	sr, r0				! BL bit off(init=ON)	mov.l	SR_MASK_D, r1	and	r1, r0	ldc	r0, sr	rts	 mov	#0, r0	.align	2DRVCRA_A:	.long	DRVCRADRVCRB_A:	.long	DRVCRBDRVCRA_D:	.long	0x4555DRVCRB_D:	.long	0x0005RWTCSR_A:	.long	RWTCSRRWTCNT_A:	.long	RWTCNTFRQCR_A:	.long	FRQCRRWTCSR_D1:	.long	0xa507RWTCSR_D2:	.long	0xa504RWTCNT_D:	.long	0x5a00FRQCR_D:	.long	0x0b04474aSBSC_SDCR_A:	.long	SBSC_SDCRSBSC_SDWCR_A:	.long	SBSC_SDWCRSBSC_SDPCR_A:	.long	SBSC_SDPCRSBSC_RTCSR_A:	.long	SBSC_RTCSRSBSC_RTCNT_A:	.long	SBSC_RTCNTSBSC_RTCOR_A:	.long	SBSC_RTCORSBSC_SDMR3_A1:	.long	0xfe510000SBSC_SDMR3_A2:	.long	0xfe500242SBSC_SDMR3_A3:	.long	0xfe5c0042SBSC_SDCR_D1:	.long	0x92810112SBSC_SDCR_D2:	.long	0x92810912SBSC_SDWCR_D:	.long	0x05162482SBSC_SDPCR_D:	.long	0x00300087SBSC_RTCSR_D:	.long	0xa55a0212SBSC_RTCNT_D:	.long	0xa55a0000SBSC_RTCOR_D:	.long	0xa55a0040SBSC_SDMR3_D:	.long	0x00CMNCR_A:	.long	CMNCRCS0BCR_A:	.long	CS0BCRCS4BCR_A:	.long	CS4BCRCS5ABCR_A:	.long 	CS5ABCRCS5BBCR_A:	.long	CS5BBCRCS6ABCR_A:	.long	CS6ABCRCS6BBCR_A:	.long	CS6BBCRCS0WCR_A:	.long	CS0WCRCS4WCR_A:	.long	CS4WCRCS5AWCR_A:	.long	CS5AWCRCS5BWCR_A:	.long	CS5BWCRCS6AWCR_A:	.long	CS6AWCRCS6BWCR_A:	.long	CS6BWCRCMNCR_D:	.long	0x00000013CS0BCR_D:	.long	0x24920400CS4BCR_D:	.long	0x24920400CS5ABCR_D:	.long	0x24920400CS5BBCR_D:	.long	0x7fff0600CS6ABCR_D:	.long	0x24920400CS6BBCR_D:	.long	0x24920600CS0WCR_D:	.long	0x00000480CS4WCR_D:	.long	0x00000480CS5AWCR_D:	.long	0x00000380CS5BWCR_D:	.long	0x00000600CS6AWCR_D:	.long	0x00000300CS6BWCR_D:	.long	0x00000540CCR_A:		.long	0xff00001cCCR_D:		.long	0x0000090dSLEEP_CNT:	.long	0x00000800SR_MASK_D:	.long	0xEFFFFF0F

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?