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

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

?? init.s

?? 這是單板上DPRAM的驅動程序
?? S
字號:
#* @(#) pSOSystem PowerPC/V2.2.2*
#************************************************************************
#                                                                       *
#   MODULE:  bsps/fuc8xx/src/init.s_rev                                     *
#   DATE:    98/07/03                                                   *
#   AUTHOR:  Shan Zhengguang                                            *
#   PURPOSE: Processor specific initialization module                   *
#                                                                       *
#-----------------------------------------------------------------------*
#                                                                       *
#            COPYRIGHT 1998 - 1999, ZHONGXING TELECOM CO.,LTD.          *
#                       ALL RIGHTS RESERVED                             *
#                                                                       *
#-----------------------------------------------------------------------*
# REV:
#     add initial rccr reg. for use microcode .... py                   *
#************************************************************************

	.include "macros.ia"
	.include "board.ia"

#************************************************************************
# External function & variable definitions  
#************************************************************************
 	.extern  ppcDECwr
	.extern	 Initial_Sp
        .extern  InitBoard
        .extern  SysIcacheInhibit
        .extern  SysDcacheInhibit
        .extern  StartBss, FreeMemStart
        .extern _CpyDstBeg,_CpyDstEnd,_CpySrcBeg, BspBcopy
        .extern  HdwInitDRAM 
        .extern  resetSWT
#************************************************************************
#      HdwInit: Do startup initialization that can't be done in C.      *
#                                                                       *
#       SYNTAX: void HdwInit(void);                                     *
#         NOTE: Called from "begin.s", Doesn't return.                  *
#                                                                       *
#************************************************************************

        .text
        .align     2            
        .globl     HdwInit      
HdwInit:

         li         r0,0x0000    
         LA         r1,S_REGISTER_BASE+0x2FF0

#************************************************************************
# Set the MSR - machine check, privileged mode, disable interrupts      *
# disable address translation                                           *
#************************************************************************
         LA         r3,0x00001000
         bl         ppcMSRwr

#************************************************************************
# Set the decrementer to a very high value                              *
#************************************************************************
         LA         r3,DEC_MAX_COUNT
         bl         ppcDECwr

#************************************************************************
# Inhibit Instruction and Data caches, we'll enable it later if needed  *
#************************************************************************
         bl         SysDcacheInhibit      # D cache inhibit
         bl         SysIcacheInhibit      # I cache inhibit

#************************************************************************
# Initialize Core registers
# 
# 1. MACHINE STATUS REGISTER (MSR):
# 	- Machine Check Enable
#	- Recoverable Interrupt
#************************************************************************
	 LA 	    r3, MSR_VAL
         mtmsr      r3
         mtspr      SRR1,r3

#************************************************************************
# 2. INSTRUCTION SUPPORT CONTROL REGISTER (ICTRL):
#	- Development port trap enable on 3rd instruction watchpoint.
#	- Development port trap enable on 4th instruction watchpoint.
#************************************************************************
	 LA	    r3, ICTRL_VAL
         mtspr      ICTRL,r3

#************************************************************************
# 3. DEBUG ENABLE REGISTER (DER):
#	- All debug interrupts are disabled
#    Note: The default value is 0x00000000, this disables all debug 
#          enable bits in the DER register. To enable the various
#          debug events, set the appropriate bit. For more details
#          see page 18-51 an 18-52.
#************************************************************************
         LA	    r3, DER_VAL
         mtspr      DER,r3
 
#************************************************************************
# 4. INTERRUPT CAUSE REGISTER (ICR):
#	- All the interrupt causing events are off.
#************************************************************************
	LA	   r3, ICR_VAL
	mtspr      ICR,r3

#------------------------------------------------------------------------
# This delay loop is used to wait all characters in serial port to be
# sent out to avoid some garbage characters when we reset CPM.
#------------------------------------------------------------------------
        lis r3, 0x2
delay0:
        subi    r3,r3,1
        cmpwi   r3,0
        bne     delay0
 
#************************************************************************
# 5. INTERNAL MEMORY MAP REGISTER (IMMR):
#	- Upper 16bits of base address of the internal memory map.
#         Default address is 0x02B000000
#************************************************************************
	 LA	    r3, S_REGISTER_BASE
         mtspr      IMMR,r3


#************************************************************************
# 6. System Interface Unit (SIU) Module Configuration Register (SIUMCR)
#************************************************************************
         or         r4,r3,r0      #  R4 = Content of IMMR = Memory Base
         lwz        r3,SIUMCR(r4) #  SIUMCR = The old value bitwize
         oris       r3,r3,0x0060  #           ored with 0x00600040  
         ori        r3,r3,0x0040
         stw        r3,SIUMCR(r4)

# 	 LA	    r3, SYPCR_VAL # two lines support SWT & bus monitor
#       stw        r3,SYPCR(r4) # now a fun named stopSWT() supplied.
#************************************************************************
# 7. Unlock and Clear the Reset Status Register (RSR)
#************************************************************************
	 LA	    r3, 0x55ccaa33  # Key to gain access to RSR
         stw	    r3, RSKR(r4)    # Write key the Reset Status Key reg
	 LA	    r3, 0x40000000
         stw	    r3, RSR(r4)	    # Clear "External Soft Reset" bit 

#************************************************************************
# Enable Decrementer
#************************************************************************
         li         r3,0x0001     #  TBSCR = 0x00c2 (16bit register)
         sth        r3,TBSCR(r4)

         LA         r3,0x55ccaa33 #  Unlock RTCSC
         stw        r3,RTCSCK(r4) #  RTCSCK = 0x55ccaa33 (32bit register)

         li         r3,0x0102     #  RTCSC = 0x01c2 (16bit register)
         sth        r3,RTCSC(r4)
	 
         li         r3,0x0002     #  PISCR = 0x0082 (16bit register)
         sth        r3,PISCR(r4)
	 
	 li	    r3,0x0000     # Clear SIMASK
	 stw	    r3,SIMASK(r4)

#------------------------------------------------------------------------
# Initialize Chip Select 0 for Boot - ROM
#------------------------------------------------------------------------
	LA	   r3, BR0_VAL
      stw        r3,BR0(r4)

	LA	   r3, OR0_VAL
      stw        r3,OR0(r4)

#------------------------------------------------------------------------
# Initialize Chip Select 1 for Flash 
#------------------------------------------------------------------------
	LA	   r3,OR1_VAL
       stw        r3,OR1(r4)

 	LA	   r3,BR1_VAL
       stw        r3,BR1(r4)

#------------------------------------------------------------------------
# Initialize Chip Select 2 for SDRAM
#------------------------------------------------------------------------
	LA	   r3,OR2_VAL
       stw        r3,OR2(r4)

 	LA	   r3,BR2_VAL
       stw        r3,BR2(r4)

#------------------------------------------------------------------------
# Initialize Chip Select 3 for CHP 
#------------------------------------------------------------------------
	LA	   r3, OR3_VAL
        stw        r3,OR3(r4)

	LA	   r3, BR3_VAL
        stw        r3,BR3(r4)

#------------------------------------------------------------------------
# Initialize Chip Select 4 for MFP 
#------------------------------------------------------------------------
	LA	   r3, OR4_VAL
       stw        r3,OR4(r4)

	LA	   r3, BR4_VAL
       stw        r3,BR4(r4)

#------------------------------------------------------------------------
# Initialize Chip Select 5 for Board Address 
#------------------------------------------------------------------------
	LA	   r3, OR5_VAL
       stw        r3,OR5(r4)

	LA	   r3, BR5_VAL
      stw        r3,BR5(r4)

#------------------------------------------------------------------------
# Initialize Chip Select 6 for Board Address 
#------------------------------------------------------------------------
	LA	   r3, OR6_VAL
       stw        r3,OR6(r4)

	LA	   r3, BR6_VAL
      stw        r3,BR6(r4)


#------------------------------------------------------------------------
# Initialize Chip Select 7 for Board Address 
#------------------------------------------------------------------------
	LA	   r3, OR7_VAL
       stw        r3,OR7(r4)

	LA	   r3, BR7_VAL
      stw        r3,BR7(r4)

#------------------------------------------------------------------------
# If we are not executing from the BOOT-ROM, skip Mem Controller SDRAM init
#------------------------------------------------------------------------
        bl         locn00        # LR: current IP
locn00:
        mflr       r3            # r3: current IP
        rlwinm     r3,r3,8,24,31 
        LA 	   r5,CS0_BASE
        rlwinm     r5,r5,8,24,31 
        cmplw      r3,r5       #   
        bne        locn01

#------------------------------------------------------------------------
# Determine what type of DRAM SIMM is installed and load r5 and r6
# to point to the beginning and end, respectively, of the corresponding
# UPMA initialization table.
#------------------------------------------------------------------------
	mr	   r18,r4
        li         r3,0x0000       # Clear SIMASK
        stw        r3,SIMASK(r18)

	stw	   r3,RCCR(r18)    # Clear the RISC Config Reg

        li         r3,0x8001
        sth        r3,CPCR(r18)    # reset CPM


	addi	   r1,r18,0x2ff0   # use DPRAM as stack
	bl	   HdwInitDRAM
	bl	   resetSWT
#------------------------------------------------------------------------
# Clear the DPRAM area which is used as stack.
#------------------------------------------------------------------------
        addi	   r4,r18,0x2000
        addi	   r5,r18,0x3000
        li	   r6,0
1:
        stw	   r6,0(r4)
        addi	   r4,r4,4
        cmplw	   r4,r5
        bne	   1b

	mr	   r4, r18       # restore r4

locn01:	
#------------------------------------------------------------------------
# clear RCCR   add by py
#------------------------------------------------------------------------
	    li         r3,0x0000       
    	stw	   r3,RCCR(r4)    # Clear the RISC Config Reg


#------------------------------------------------------------------------
# Set the input clock multiplication factor          
#------------------------------------------------------------------------
#       lis        r3,DEF_PLL_MULT    	# default PLL mult factor
#       stw        r3,PLPRCR(r4)  	# set the PLL register 

#-----------------------------------------------------------------------*
# Copy DATA section from FLASH to RAM.                                  *
#-----------------------------------------------------------------------*
	LA	   r18, S_REGISTER_BASE
#	LA	   r3, 0xffffff88 # two lines support SWT & bus monitor
#       stw        r3,SYPCR(r18) # now a fun named stopSWT() supplied.

       LA r19,0x556c
       LA r20,0xaa39
#  just for resetSWT
       LA      r3,_CpySrcBeg         # Address of Data section in FLASH
       LA      r4,_CpyDstBeg         # Address of Data Section in RAM
       LA      r5,_CpyDstEnd
       subf    r5,r4,r5              # r5: # bytes to copy 

       mflr    r17                   # Save Link register
#       bl      BspBcopy              # Copy Data section to RAM
#BspBcopy:
        cmpwi r5, 0                 # if length == 0 : All done
        beq   done
	mtspr 9,r5
aa00:
        sth        r19,0xE(r18) # now a fun named stopSWT() supplied.
        sth        r20,0xE(r18) # now a fun named stopSWT() supplied.
#
        lbzu  r6, 1(r3)             # Load  a byte with increment
        stbu  r6, 1(r4)             # Store a byte with increment
        bc 16,0,aa00                # while len != 0 Loop
#
done:
        sync
       mtlr    r17                   # Restore Link Register

####################################################

       LA      r3, StartBss          # r3: address
       LA      r4, FreeMemStart      # r4: first address *not* to be cleared
       sub     r4, r4, r3            # r4: length
       li      r5, 0                 # r5: value to store (0)
#       bl      BspBfill              # CLear Bss area
#BspBfill:
        cmpwi r4, 0                 # if length == 0 : All done
        beq   done1
	mtspr 9,r4
aa01:
        stbu  r5, 1(r3)             # Store a byte with increment
        sth        r19,0xE(r18) # now a fun named stopSWT() supplied.
        sth        r20,0xE(r18) # now a fun named stopSWT() supplied.
        bc 16,0,aa01                   # while len != 0 Loop
#
done1:
        sync

#	LA	    r3, 0xffffff88 # two lines support SWT & bus monitor
#       stw        r3,SYPCR(r18) # now a fun named stopSWT() supplied.
####################################################
       bl      resetSWT

       LA      r1,Initial_Sp         # Set stack pointer
       subi    r1,r1,16              # need reserving 8 bytes for C

       mfmsr   r3
       ori     r3,r3,0x1000
       mtmsr   r3                      # Enable machine-check exceptions

       bl      InitBoard            # Remainder of hardware init
       blr                           # Never executed

        .align     2            
        .globl     stopSWT
	.end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区公司| 久久精品亚洲国产奇米99| 国产一区高清在线| 亚洲一区二区中文在线| 国产亚洲精品7777| 91精选在线观看| 91成人免费电影| 成人激情校园春色| 国内成+人亚洲+欧美+综合在线| 亚洲免费三区一区二区| 久久精品亚洲精品国产欧美kt∨| 欧美日韩成人综合天天影院| 91蜜桃在线观看| 国产精品99久久久久| 免费一级片91| 亚洲一区二区美女| 亚洲欧美日本在线| 综合网在线视频| 久久蜜臀中文字幕| 日韩精品一区二区三区老鸭窝| 欧美喷潮久久久xxxxx| 色婷婷综合激情| av在线播放不卡| 欧美一区二区女人| 欧美伊人久久大香线蕉综合69 | 国产一区福利在线| 日韩国产一二三区| 日韩有码一区二区三区| 亚洲成人av一区二区三区| 亚洲免费av在线| 亚洲色图20p| 中文字幕在线不卡一区二区三区| 国产三级精品三级| 中文字幕欧美激情一区| 国产日产欧产精品推荐色| 久久久天堂av| 国产亚洲一区字幕| 亚洲国产精品二十页| 久久久777精品电影网影网 | 精品久久久久久久久久久久久久久久久 | 亚洲一区二区三区中文字幕| 一区二区三区欧美日韩| 亚洲精品国产视频| 亚洲一区二区三区精品在线| 午夜久久久久久久久久一区二区| 午夜久久久久久久久| 免费日韩伦理电影| 精品中文字幕一区二区| 国产美女精品在线| fc2成人免费人成在线观看播放 | 欧美一区二区三区的| 精品国产精品网麻豆系列| 久久久99精品久久| 亚洲欧美国产高清| 婷婷国产在线综合| 精品一区二区三区在线观看| 国产91精品欧美| 色婷婷av久久久久久久| 欧美日本一区二区三区四区| 日韩视频一区二区三区| 久久久91精品国产一区二区精品 | 日韩高清在线不卡| 美国十次综合导航| 国产+成+人+亚洲欧洲自线| 97精品国产97久久久久久久久久久久 | 欧美激情一区二区三区蜜桃视频| 亚洲视频图片小说| 日韩一区精品视频| 国产·精品毛片| 欧美日韩国产美| 久久色视频免费观看| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 亚洲摸摸操操av| 黄色成人免费在线| 99久久精品一区二区| 欧美一区二区三级| 国产精品无圣光一区二区| 亚洲一二三专区| 国产高清不卡二三区| 欧美性大战久久久| 国产亚洲女人久久久久毛片| 亚洲欧美国产毛片在线| 麻豆成人av在线| 色婷婷综合久久久中文字幕| 欧美一级高清大全免费观看| 国产精品久久久久久久蜜臀| 青青青伊人色综合久久| 91香蕉国产在线观看软件| 精品久久一区二区| 亚洲综合免费观看高清完整版在线| 久久国产精品99久久久久久老狼| www.日韩精品| 精品国产伦一区二区三区观看方式 | 国产不卡视频在线观看| 欧美日本韩国一区| 国产精品乱码人人做人人爱| 免费观看成人av| 欧美四级电影网| 亚洲色欲色欲www| 韩国理伦片一区二区三区在线播放 | 99久久免费视频.com| 欧美草草影院在线视频| 婷婷亚洲久悠悠色悠在线播放| 国产成人免费视频网站| 精品国产三级电影在线观看| 五月天激情综合| 欧美中文一区二区三区| 最新中文字幕一区二区三区| 国产曰批免费观看久久久| 91精品国产综合久久香蕉麻豆| 亚洲免费av观看| av一区二区不卡| 国产欧美日本一区二区三区| 精品一区二区三区不卡| 7777精品伊人久久久大香线蕉 | 欧美xingq一区二区| 视频在线在亚洲| 欧美日韩免费电影| 亚洲小说欧美激情另类| 色av一区二区| 一区二区三区四区在线播放| 国产成人av一区二区三区在线| 亚洲精品一区在线观看| 精品无人区卡一卡二卡三乱码免费卡 | 日韩av午夜在线观看| 欧美日韩一区二区电影| 亚洲国产色一区| 在线视频综合导航| 亚洲乱码日产精品bd| 色综合久久99| 亚洲精品国久久99热| 欧洲精品在线观看| 亚洲国产日韩综合久久精品| 欧美色综合网站| 日韩成人免费电影| 欧美一区二区三区四区视频| 日韩激情中文字幕| 精品国产一二三| 国产成人av一区二区三区在线 | 久久亚洲一级片| 国产高清久久久久| 中文字幕在线观看不卡| 色综合一个色综合| 五月婷婷激情综合网| 日韩一区二区视频在线观看| 精品一区二区三区视频在线观看| 久久综合久久鬼色中文字| 国产福利一区二区三区视频在线| 国产精品色一区二区三区| 99久久国产综合精品女不卡| 亚洲另类春色国产| 欧美日韩第一区日日骚| 国内精品国产成人国产三级粉色| 国产色婷婷亚洲99精品小说| 成人免费高清在线| 一区二区三区在线免费观看| 欧美一区二区三区性视频| 国产精品资源网站| 亚洲男同1069视频| 91麻豆精品国产91| 国产精品资源网站| 亚洲综合一二区| 日韩欧美国产麻豆| 成人午夜又粗又硬又大| 一区二区理论电影在线观看| 日韩欧美综合在线| 99久久精品免费看| 日本成人在线看| 国产精品卡一卡二| 69精品人人人人| 成av人片一区二区| 日日夜夜精品视频天天综合网| 久久精品在这里| 亚洲成人动漫精品| 蜜桃av一区二区| 91网站最新网址| 色久优优欧美色久优优| 欧美一级午夜免费电影| 亚洲一区在线视频| 久久新电视剧免费观看| 91久久奴性调教| 韩国毛片一区二区三区| 伊人色综合久久天天| 精品国产成人在线影院| 91久久香蕉国产日韩欧美9色| 理论电影国产精品| 夜夜精品视频一区二区 | 日韩一卡二卡三卡| 99在线精品观看| 韩国精品在线观看| 亚洲成人精品一区二区| 中文欧美字幕免费| 欧美一区二区三区成人| 91久久精品一区二区三区| 国产精品99久久久久久久vr| 天天做天天摸天天爽国产一区| 国产精品国产三级国产aⅴ入口 | 精品国产欧美一区二区| 欧美日韩国产美| 在线亚洲人成电影网站色www|