⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lowlevel_init.s

📁 uboot200903最新版本的通用uboot
💻 S
字号:
/* * Copyright (C) 2007-2008 * Nobuhiro Iwamatsu <iwamatsu@nigauri.org> * * Copyright (C) 2007 * Kenati Technologies, Inc. * * board/MigoR/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>#include <asm/macro.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:	write32	CCR_A, CCR_D		! Address of Cache Control Register					! Instruction Cache Invalidate	write32	MMUCR_A, MMUCR_D	! Address of MMU Control Register					! TI == TLB Invalidate bit	write32	MSTPCR0_A, MSTPCR0_D	! Address of Power Control Register 0	write32	MSTPCR2_A, MSTPCR2_D	! Address of Power Control Register 2	write16	PFC_PULCR_A, PFC_PULCR_D	write16	PFC_DRVCR_A, PFC_DRVCR_D	write16	SBSCR_A, SBSCR_D	write16	PSCR_A, PSCR_D	write16	RWTCSR_A, RWTCSR_D_1	! 0xA4520004 (Watchdog Control / Status Register)					! 0xA507 -> timer_STOP / WDT_CLK = max	write16	RWTCNT_A, RWTCNT_D	! 0xA4520000 (Watchdog Count Register)					! 0x5A00 -> Clear	write16	RWTCSR_A, RWTCSR_D_2	! 0xA4520004 (Watchdog Control / Status Register)					! 0xA504 -> timer_STOP / CLK = 500ms	write32	DLLFRQ_A, DLLFRQ_D	! 20080115					! 20080115	write32	FRQCR_A, FRQCR_D	! 0xA4150000 Frequency control register					! 20080115	write32	CCR_A, CCR_D_2		! Address of Cache Control Register					! ??bsc_init:	write32	CMNCR_A, CMNCR_D	write32	CS0BCR_A, CS0BCR_D	write32	CS4BCR_A, CS4BCR_D	write32	CS5ABCR_A, CS5ABCR_D	write32	CS5BBCR_A, CS5BBCR_D	write32	CS6ABCR_A, CS6ABCR_D	write32	CS0WCR_A, CS0WCR_D	write32	CS4WCR_A, CS4WCR_D	write32	CS5AWCR_A, CS5AWCR_D	write32	CS5BWCR_A, CS5BWCR_D	write32	CS6AWCR_A, CS6AWCR_D	! SDRAM initialization	write32	SDCR_A, SDCR_D	write32	SDWCR_A, SDWCR_D	write32	SDPCR_A, SDPCR_D	write32	RTCOR_A, RTCOR_D	write32	RTCNT_A, RTCNT_D	write32	RTCSR_A, RTCSR_D	write32	RFCR_A, RFCR_D	write8	SDMR3_A, SDMR3_D	! 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	4CCR_A:		.long	CCRMMUCR_A:	.long	MMUCRMSTPCR0_A:	.long	MSTPCR0MSTPCR2_A:	.long	MSTPCR2PFC_PULCR_A:	.long	PULCRPFC_DRVCR_A:	.long	DRVCRSBSCR_A:	.long	SBSCRPSCR_A:		.long	PSCRRWTCSR_A:	.long	RWTCSRRWTCNT_A:	.long	RWTCNTFRQCR_A:	.long	FRQCRPLLCR_A:	.long	PLLCRDLLFRQ_A:	.long	DLLFRQCCR_D:		.long	0x00000800CCR_D_2:	.long	0x00000103MMUCR_D:	.long	0x00000004MSTPCR0_D:	.long	0x00001001MSTPCR2_D:	.long	0xffffffffPFC_PULCR_D:	.long	0x6000PFC_DRVCR_D:	.long	0x0464FRQCR_D:	.long	0x07033639PLLCR_D:	.long	0x00005000DLLFRQ_D:	.long	0x000004F6CMNCR_A:	.long	CMNCRCMNCR_D:	.long	0x0000001BCS0BCR_A:	.long	CS0BCRCS0BCR_D:	.long	0x24920400CS4BCR_A:	.long	CS4BCRCS4BCR_D:	.long	0x00003400CS5ABCR_A:	.long	CS5ABCRCS5ABCR_D:	.long	0x24920400CS5BBCR_A:	.long	CS5BBCRCS5BBCR_D:	.long	0x24920400CS6ABCR_A:	.long	CS6ABCRCS6ABCR_D:	.long	0x24920400CS0WCR_A:	.long	CS0WCRCS0WCR_D:	.long	0x00000380CS4WCR_A:	.long	CS4WCRCS4WCR_D:	.long	0x00110080CS5AWCR_A:	.long	CS5AWCRCS5AWCR_D:	.long	0x00000300CS5BWCR_A:	.long	CS5BWCRCS5BWCR_D:	.long	0x00000300CS6AWCR_A:	.long	CS6AWCRCS6AWCR_D:	.long	0x00000300SDCR_A:		.long	SBSC_SDCRSDCR_D:		.long	0x80160809SDWCR_A:	.long	SBSC_SDWCRSDWCR_D:	.long	0x0014450CSDPCR_A:	.long	SBSC_SDPCRSDPCR_D:	.long	0x00000087RTCOR_A:	.long	SBSC_RTCORRTCNT_A:	.long	SBSC_RTCNTRTCNT_D:	.long	0xA55A0012RTCOR_D:	.long	0xA55A001CRTCSR_A:	.long	SBSC_RTCSRRFCR_A:		.long	SBSC_RFCRRFCR_D:		.long	0xA55A0221RTCSR_D:	.long	0xA55A009aSDMR3_A:	.long	0xFE581180SDMR3_D:	.long	0x0SR_MASK_D:	.long	0xEFFFFF0F	.align	2SBSCR_D:	.word	0x0044PSCR_D:		.word	0x0000RWTCSR_D_1:	.word	0xA507RWTCSR_D_2:	.word	0xA504RWTCNT_D:	.word	0x5A00

⌨️ 快捷键说明

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