亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dram_asm.s

?? 三星S3C2460 USB DEVICE /USB HOST 監控代碼
?? S
?? 第 1 頁 / 共 2 頁
字號:

				GET		Option.inc
				GET		2460addr.inc

				EXPORT	InitPORT1
				EXPORT	InitPORT2
				
			   AREA |C$$code|, CODE, READONLY

InitPORT1		PROC
	[ :DEF: PORT1_SDRAM_D

				ldr		r0,=rPRIORITY1
				ldr		r1,[r0]
				bic		r1,r1,#(0x1<<4)
				str		r1,[r0]					
				
				ldr		r0,=rP1BANKCFG_DDR		;	2nd	:	Issue a PALL command
				ldr		r1,[r0,#0x4]
				bic		r1,r1,#0x3
				orr		r1,r1,#0x1
				str		r1,[r0,#0x4]			

				mov		r1,#0xf					;	3rd	:	Write '0xf' into the refresh timer register.
				str		r1,[r0,#0x8]			

				mov		r1,#0x0					;	4th	:	Wait for a time period equivalent to 120-clock cycles (8 refresh cycles).
SDRAM_loop1		add		r1,r1,#0x1
				cmp		r1,#100
				blt		SDRAM_loop1

				ldr		r1,=(Startup_HCLK/1000)*P1_tREFRESH/100000
				str		r1,[r0,#0x8]			;	5th	:	Program the normal operational value into the refresh timer.

				ldr		r1,[r0]					;	6th	:	Program the MemSelect bits of configuration register.
				bic		r1,r1,#(0x3<<21)
				bic		r1,r1,#(0x1<<0)
				orr		r1,r1,#(0x1<<21)		;	** Set MEMSelect to mSDRAM **
				orr		r1,r1,#(0x1<<0)			;	** Set Databus Width **
				str		r1,[r0]					

				ldr		r1,[r0,#0x4]			;	7th	:	Issue a MRS command
				bic		r1,r1,#0x3
				orr		r1,r1,#0x2
				str		r1,[r0,#0x4]			

				orr		r1,r1,#0x3				;	8th	:	Mobile only) Issue a EMRS command
				str		r1,[r0,#0x4]			

				bic		r1,r1,#0x3				;	9th :	Program the INIT[1:0] to '00b'.
				str		r1,[r0,#0x4]			

				ldr		r1,[r0]					;	10th :	Program the configuration register to their normal operation values.
				ldr		r2,=~(0xfe1fffae)
				and		r1,r1,r2
				orr		r1,r1,#(0x1<<20)		;	** Power Down control **
				orr		r1,r1,#( (((Startup_HCLK/1000*P1_tRAS-1)/1000000)<<16) | (((Startup_HCLK/1000*P1_tRC-1)/1000000)<<12) )
				orr		r1,r1,#( (((Startup_HCLK/1000*P1_tRCD-1)/1000000)<<10) | (((Startup_HCLK/1000*P1_tRP-1)/1000000)<<8) )
				orr		r1,r1,#((P1_Density1<<7)|(P1_Density0<<5)|(P1_CL<<2)|(0x1<<1))	;	** Disable AutoPrecharge **
				str		r1,[r0]

				ldr		r1,[r0,#0x4]
				orr		r1,r1,#((0x1<<6)|(0x1<<2))	;	** Support power save mode, Write buffer enable **
				str		r1,[r0,#0x4]

	]

	[ :DEF: PORT1_DDR 

				ldr		r0,=rPRIORITY1
				ldr		r1,[r0]
				bic		r1,r1,#(0x1<<4)
				str		r1,[r0]

				ldr		r0,=rP1BANKCFG_DDR		;	2nd :	Setting MEMselect and CL area in the Configuration Register0
				ldr		r1,[r0]
				bic		r1,r1,#((0x3<<2)|(0x1<<0))
				orr		r1,r1,#(0x3<<21)				;	** Set MEMSelect to mDDR **
				orr		r1,r1,#((P1_CL<<2)|(0x1<<0))	;	** Set Databus Width **
				str		r1,[r0]				

				ldr		r1,[r0,#0x4]			;	3rd :	Issue a PALL command
				bic		r1,r1,#0x3
				orr		r1,r1,#0x1
				str		r1,[r0,#0x4]		
	
				nop								;	4th :	Wait minimum 2 cycle
				nop
				nop
				nop							

				ldr		r1,[r0]					;	5th :	Program the DLL Enable bit of Control Register0 to low. Issue a EMRS command.
				bic		r1,r1,#(0x1<<24)
				str		r1,[r0]

				ldr		r1,[r0,#0x4]
				orr		r1,r1,#0x3
				str		r1,[r0,#0x4]		
	
				nop								;	6th :	Wait minimum 2 cycle
				nop
				nop
				nop							
	
				ldr		r1,[r0]					;	7th :	Program the DLLReset bit of Control Register0 to high. Issue a MRS command.
				orr		r1,r1,#(0x1<<23)
				str		r1,[r0]
				
				ldr		r1,[r0,#0x4]
				bic		r1,r1,#0x3
				orr		r1,r1,#0x2
				str		r1,[r0,#0x4]		

				nop								;	8th :	Wait minumu 2 cycle
				nop
				nop
				nop							

				ldr		r1,[r0,#0x4]			;	9th :	Issue a PALL command
				bic		r1,r1,#0x3
				orr		r1,r1,#0x1
				str		r1,[r0,#0x4]		

				mov		r1,#0xf					;	10th :	Write '0xf' into the refresh timer register.
				str		r1,[r0,#0x8]		
			
				mov		r1,#0x0					;	11th :	Wait for a time period equivalent to 200-clock cycles (14 refresh cycles).
DDR_loop1		add		r1,r1,#0x1
				cmp		r1,#200
				blt		DDR_loop1

				ldr		r1,[r0]					;	12th :	Program the DLLReset bit of Control Register0 to low. Issue a MRS command.
				bic		r1,r1,#(0x1<<23)
				str		r1,[r0]

				ldr		r1,[r0,#0x4]
				bic		r1,r1,#0x3
				orr		r1,r1,#0x2
				str		r1,[r0,#0x4]

				ldr		r1,=(Startup_HCLK/1000)*P1_tREFRESH/100000
				str		r1,[r0,#0x8]			;	13th :	Program the normal operational value into the refresh timer.

				ldr		r1,[r0,#0x4]			;	14th :	Program the INIT[1:0] to '00b'.
				bic		r1,r1,#0x3
				str		r1,[r0,#0x4]

		[ :DEF: S3C2460X
				ldr		r1,[r0]					;	15th :	Program the configuration register to their normal operation values.
				bic		r1,r1,#((0xf<<16)|(0xf<<12))
				bic		r1,r1,#((0x3<<10)|(0x3<<8))
				orr		r1,r1,#( (((Startup_HCLK/1000)*P1_tRAS/1000000-1)<<16) | (((Startup_HCLK/1000)*P1_tRC/1000000-1)<<12) );
				orr		r1,r1,#( (((Startup_HCLK/1000)*P1_tRCD/1000000-1)<<10) | (((Startup_HCLK/1000)*P1_tRP/1000000-1)<<8) );
				str		r1,[r0]

				ldr		r2,=~(0xfe1000a2)
				and		r1,r1,r2
				orr		r1,r1,#(0<<20)			;	Power Down control
				orr		r1,r1,#((P1_Density1<<7)|(P1_Density0<<5))
				str		r1,[r0]

				ldr		r1,[r0,#0x4]
				bic		r1,r1,#(0x7<<8)
				orr		r1,r1,#(0x3<<8)				;	** DQS delay value. < Reserved for test > **
				bic		r1,r1,#((0x1<<6)|(0x1<<2))
				orr		r1,r1,#((0x1<<6)|(0x0<<2))	;	** Power save mode, Write buffer disable **
				str		r1,[r0,#0x4]				
		]
		[ :DEF: S3C2460A_TMP
				ldr		r1,[r0]					;	15th :	Program the configuration register to their normal operation values.
				ldr		r2,=~(0xfe1fffa2)
				and		r1,r1,r2
				orr		r1,r1,#(0x1<<20)			;	** Power Down control **
				orr		r1,r1,#( (((Startup_HCLK/1000*P1_tRAS-1)/1000000)<<16) | (((Startup_HCLK/1000*P1_tRC-1)/1000000)<<12) )
				orr		r1,r1,#( (((Startup_HCLK/1000*P1_tRCD-1)/1000000)<<10) | (((Startup_HCLK/1000*P1_tRP-1)/1000000)<<8) )
				orr		r1,r1,#((P1_Density1<<7)|(P1_Density0<<5))
				bic		r1,r1,#(0x1<<1)	;	** Enable AutoPrecharge **
				str		r1,[r0]

				ldr		r1,[r0,#0x4]
				bic		r1,r1,#(0x7<<8)
				orr		r1,r1,#(0x3<<8)				;	** DQS delay value. < Reserved for test > **
				bic		r1,r1,#((0x1<<6)|(0x1<<2))
				orr		r1,r1,#((0x1<<6)|(0x1<<2))	;	** Power save mode, Write buffer enable **
				str		r1,[r0,#0x4]
		]
		[ :DEF: S3C2460A
				ldr		r1,[r0]					;	15th :	Program the configuration register to their normal operation values.
				ldr		r2,=~(0xfe1fffa2)
				and		r1,r1,r2
				orr		r1,r1,#(0x1<<20)			;	** Power Down control **
				orr		r1,r1,#( (((Startup_HCLK/1000*P1_tRAS-1)/1000000)<<16) | (((Startup_HCLK/1000*P1_tRC-1)/1000000)<<12) )
				orr		r1,r1,#( (((Startup_HCLK/1000*P1_tRCD-1)/1000000)<<10) | (((Startup_HCLK/1000*P1_tRP-1)/1000000)<<8) )
				orr		r1,r1,#((P1_Density1<<7)|(P1_Density0<<5)|(0x1<<1))	;	** Disable AutoPrecharge **
				str		r1,[r0]

				ldr		r1,[r0,#0x4]
				bic		r1,r1,#(0x7<<8)
				orr		r1,r1,#(0x3<<8)				;	** DQS delay value. < Reserved for test > **
				bic		r1,r1,#((0x1<<6)|(0x1<<2))
				orr		r1,r1,#((0x1<<6)|(0x1<<2))	;	** Power save mode, Write buffer enable **
				str		r1,[r0,#0x4]
		]
		
	]

	[ :DEF: PORT1_SDRAM_L

				ldr		r0,=rPRIORITY1
				ldr		r1,[r0]
				orr		r1,r1,#(0x1<<4)
				str		r1,[r0]					

				ldr		r0,=rP1BANKCFG_L2RAM
				ldr		r1,[r0]					;	2nd	:	Program all registers to their normal operation values.
				bic		r1,r1,#((0xf<<24)|(0xf<<20))
				bic		r1,r1,#((0x3<<18)|(0x3<<16))
				bic		r1,r1,#((0x7<<12)|(0x7<<8))
				bic		r1,r1,#((0x1<<4)|(0x1<<1))
				orr		r1,r1,#( (((Startup_HCLK/1000*P1_tRAS-1)/1000000)<<24) | (((Startup_HCLK/1000*P1_tRC-1)/1000000)<<20) )
				orr		r1,r1,#( (((Startup_HCLK/1000*P1_tRCD-1)/1000000)<<18) | (((Startup_HCLK/1000*P1_tRP-1)/1000000)<<16) )
				orr		r1,r1,#((P1_Density1<<12)|(P1_Density0<<8))
				str		r1,[r0]

				ldr		r1,[r0,#0x4]
				bic		r1,r1,#((0x1<<23)|(0x3<<21)|(0x3<<19)|(0x7<<16))
				bic		r1,r1,#(0x7<<4)
				orr		r1,r1,#(P1_CL<<4)
				str		r1,[r0,#0x4]

				ldr		r1,[r0,#0x8]
				bic		r1,r1,#((0x1<<20)|(0xf<<16))
				bic		r1,r1,#((0x1<<6)|(0x1<<5)|(0x1<<4)|(0x7<<0))
				orr		r1,r1,#((0x1<<6)|(0x0<<5)|(0x1<<4))	; ** Power Down, Auto Precharge, Write buffer **
				orr		r1,r1,#(0x1<<0)
				str		r1,[r0,#0x8]			;	3rd	:	Issue a PALL command

				mov		r1,#0xf					;	4th	:	Write '0xf' into the refresh timer register.
				str		r1,[r0,#0xc]

				mov		r1,#0x0					;	5th	:	Wait for a time period equivalent to 120-clock cycles (8 refresh cycles).
SDRAM_loop1		add		r1,r1,#0x1
				cmp		r1,#100
				blt		SDRAM_loop1

				ldr		r1,=(Startup_HCLK/1000)*P1_tREFRESH/100000
				str		r1,[r0,#0xc]			;	6th	:	Program the normal operational value into the refresh timer.

				ldr		r1,[r0,#0x8]			;	7th	:	Issue a MRS command
				bic		r1,r1,#0x7
				orr		r1,r1,#0x2
				str		r1,[r0,#0x8]

				orr		r1,r1,#0x3				;	8th	:	Mobile only) Issue a EMRS command
				str		r1,[r0,#0x8]

				bic		r1,r1,#0x7				;	9th :	Program the MemoryCommand[2:0] to '000b'.
				str		r1,[r0,#0x8]

	]
	
	[ :DEF: PORT1_L2RAM

				ldr		r0,=rPRIORITY1
				ldr		r1,[r0]
				orr		r1,r1,#(0x1<<4)
				str		r1,[r0]					

				ldr		r0,=rP1BANKCFG_L2RAM
				ldr		r1,[r0]					;	2nd	:	Program all registers to their normal operation values.
				bic		r1,r1,#((0xf<<24)|(0xf<<20))
				bic		r1,r1,#((0x3<<18)|(0x3<<16))
				bic		r1,r1,#((0x7<<12)|(0x7<<8))
				bic		r1,r1,#(0x1<<4)
				orr		r1,r1,#( (((Startup_HCLK/1000*P1_tRAS-1)/1000000)<<24) | (((Startup_HCLK/1000*P1_tRC-1)/1000000)<<20) )
				orr		r1,r1,#( (((Startup_HCLK/1000*P1_tRCD-1)/1000000)<<18) | (((Startup_HCLK/1000*P1_tRP-1)/1000000)<<16) )
				orr		r1,r1,#((P1_Density1<<12)|(P1_Density0<<8))
				orr		r1,r1,#(0x1<<1)
				str		r1,[r0]

				ldr		r1,[r0,#0x4]
				bic		r1,r1,#((0x1<<23)|(0x3<<21)|(0x3<<19)|(0x7<<16))
				bic		r1,r1,#(0x7<<4)
				orr		r1,r1,#(P1_CL<<4)
				str		r1,[r0,#0x4]

				ldr		r1,[r0,#0x8]
				bic		r1,r1,#((0x1<<20)|(0xf<<16))
				bic		r1,r1,#(0x7<<10)
				bic		r1,r1,#((0x1<<6)|(0x1<<5)|(0x1<<4)|(0x7<<0))
				orr		r1,r1,#(0x4<<10)					; ** DQS delay value. < Reserved for test > **
				orr		r1,r1,#((0x1<<6)|(0x0<<5)|(0x1<<4))	; ** Power Down, Auto Precharge, Write buffer **
				orr		r1,r1,#(0x1<<0)
				str		r1,[r0,#0x8]			;	3rd	:	Issue a PALL command

				mov		r1,#0xf					;	4th	:	Write '0xf' into the refresh timer register.
				str		r1,[r0,#0xc]

				mov		r1,#0x0					;	5th	:	Wait for a time period equivalent to 120-clock cycles (8 refresh cycles).
L2RAM_loop1		add		r1,r1,#0x1
				cmp		r1,#100
				blt		L2RAM_loop1

				ldr		r1,=(Startup_HCLK/1000)*P1_tREFRESH/100000
				str		r1,[r0,#0xc]			;	6th	:	Program the normal operational value into the refresh timer.

				ldr		r1,[r0,#0x8]			;	7th	:	Issue a MRS command
				bic		r1,r1,#0x7
				orr		r1,r1,#0x2
				str		r1,[r0,#0x8]

				orr		r1,r1,#0x3				;	8th	:	Mobile only) Issue a EMRS command
				str		r1,[r0,#0x8]

				bic		r1,r1,#0x7				;	9th :	Program the MemoryCommand[2:0] to '000b'.
				str		r1,[r0,#0x8]
	]

				bx		lr

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品第五页| 欧美xxxx在线观看| 亚洲精品伦理在线| 国产大陆精品国产| 国产日韩一级二级三级| 国产成人在线看| 国产精品素人一区二区| av在线不卡网| 亚洲综合免费观看高清完整版在线| 91久久精品一区二区二区| 亚洲在线视频一区| 欧美一激情一区二区三区| 久久机这里只有精品| 久久久精品国产免大香伊| 成人深夜福利app| 亚洲综合在线五月| 这里只有精品99re| 国产在线精品不卡| 国产精品美女久久久久久久久| 91丨九色丨蝌蚪丨老版| 国产成人av在线影院| 国产精品五月天| 在线亚洲高清视频| 亚洲欧美自拍偷拍色图| 99视频超级精品| 午夜精品久久久久久久久久久| 精品国产伦一区二区三区观看方式| 成人一区在线看| 亚洲成人资源网| 久久精品视频免费观看| 色综合久久久久久久久久久| 日日骚欧美日韩| 国产日韩欧美在线一区| 欧美影院一区二区三区| 久久99热这里只有精品| 亚洲另类中文字| 26uuu久久综合| 色欧美日韩亚洲| 韩国一区二区在线观看| 亚洲一区在线观看免费| 26uuu国产在线精品一区二区| 99国产麻豆精品| 另类中文字幕网| 亚洲一区二区三区视频在线| 精品国产乱码久久久久久图片| 91极品美女在线| 国产精品资源站在线| 亚洲综合成人在线视频| 国产日韩精品久久久| 欧美日韩精品一区二区三区蜜桃| 国产高清久久久久| 男女性色大片免费观看一区二区| 亚洲免费资源在线播放| 26uuu国产在线精品一区二区| 欧美撒尿777hd撒尿| 粗大黑人巨茎大战欧美成人| 免费看黄色91| 日韩精品91亚洲二区在线观看| 最新不卡av在线| 久久欧美一区二区| 欧美一区二区三区不卡| 欧美性生活影院| 91在线视频免费观看| 国产suv精品一区二区6| 狂野欧美性猛交blacked| 一区二区三区不卡视频 | 亚洲大片精品永久免费| 亚洲蜜臀av乱码久久精品蜜桃| 国产午夜精品久久| 久久久久久久久久久久电影| 欧美一级片在线| 欧美日韩国产天堂| 精品视频在线看| 欧美影视一区二区三区| 色婷婷av久久久久久久| 99久久国产综合精品女不卡| 成人午夜激情影院| 丁香六月综合激情| 国产成人av电影在线播放| 国产精品自在欧美一区| 国产99久久久国产精品| 国产成人精品免费| 成人一区二区在线观看| 不卡在线视频中文字幕| 成人国产精品免费| 成人av网站大全| caoporen国产精品视频| 岛国精品在线播放| 不卡的电影网站| 色综合激情五月| 欧美视频在线一区二区三区| 欧美顶级少妇做爰| 精品国产91久久久久久久妲己| 精品奇米国产一区二区三区| 欧美精品一区二区精品网| 亚洲精品在线观| 日本一二三四高清不卡| 18成人在线观看| 亚洲v中文字幕| 另类小说综合欧美亚洲| 国产成人精品亚洲777人妖 | 91在线观看地址| 欧美日韩中字一区| 精品福利av导航| 中文字幕免费在线观看视频一区| 中文字幕亚洲综合久久菠萝蜜| 亚洲精品精品亚洲| 日本成人中文字幕| 国模套图日韩精品一区二区| 成人的网站免费观看| 精品视频色一区| www久久久久| 亚洲综合色视频| 国产精品乡下勾搭老头1| 91在线视频免费91| 欧美大片日本大片免费观看| 国产精品国产自产拍高清av| 午夜电影一区二区三区| 国产精品18久久久久久久久| 色嗨嗨av一区二区三区| 欧美成人高清电影在线| 亚洲日本一区二区| 久久99精品国产.久久久久久| 99麻豆久久久国产精品免费| 欧美一区二区福利在线| 国产精品青草久久| 日av在线不卡| 一本久久a久久精品亚洲| 精品国产一区二区精华| 一区二区三区欧美激情| 经典三级一区二区| 欧美午夜在线观看| 久久精品综合网| 午夜私人影院久久久久| 国产成人午夜视频| 欧美一区二区视频网站| 国产精品理论片在线观看| 日本一区中文字幕| 色国产综合视频| 国产精品伦理一区二区| 久久99最新地址| 欧美精品一二三区| 日韩理论片一区二区| 国产老女人精品毛片久久| 欧美日韩激情一区二区| 亚洲视频一二三区| 成人做爰69片免费看网站| 日韩精品一区二区三区中文不卡| 一区二区三区高清不卡| 91色.com| 136国产福利精品导航| 国产精品一级片在线观看| 欧美一区二区三区免费| 天天色图综合网| 色婷婷国产精品| 亚洲激情自拍视频| 91在线视频播放| 中国色在线观看另类| 国产麻豆视频精品| 精品精品国产高清a毛片牛牛| 日韩精彩视频在线观看| 欧美日韩成人一区| 亚洲国产精品久久不卡毛片| 在线看国产一区二区| 亚洲欧美日韩在线| 色中色一区二区| 亚洲欧美二区三区| 在线观看成人小视频| 亚洲精品视频在线看| 91浏览器打开| 一区二区成人在线视频| 色哟哟一区二区三区| 亚洲激情一二三区| 欧美视频一区二区三区在线观看 | 国产激情一区二区三区| 精品国产乱码久久久久久蜜臀| 久久激情五月激情| 久久久国产精品麻豆| 成人午夜大片免费观看| **欧美大码日韩| 色婷婷av久久久久久久| 午夜在线电影亚洲一区| 欧美一区二区三区在线视频| 国内精品写真在线观看| 久久久国产综合精品女国产盗摄| 国产精品1024久久| 国产精品久久精品日日| 一本色道a无线码一区v| 日韩中文字幕91| 精品精品国产高清一毛片一天堂| 国产精品12区| 一区二区三区自拍| 欧美精品在线一区二区| 精品一区二区三区免费毛片爱| 久久精品视频一区二区三区| 91视频在线观看| 全部av―极品视觉盛宴亚洲| 久久久久久久免费视频了| 972aa.com艺术欧美| 视频一区二区国产|