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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? pq27e_init.c

?? mpc2872系列的usb controller產(chǎn)生sof源碼
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
   // 11 wait states
   // timinig relax
   //-------------------------------------------------------------------------

   addis    r5,0,0xFF80     // R5 holds the value temporarily
   ori      r5,r5,0x0876   

   //------------------------------------------------------------------------
   // It's important to note the order in which OR0 and BR0 are programmed.
   // When coming out of reset and CS0 is the global chip select, OR0 MUST be 
   // programmed AFTER BR0. In all other cases BRx would be programmed after
   // ORx.
   //------------------------------------------------------------------------

   //------------------
   // Write the values
   //------------------
   stw        r3,BR0(r4)
   stw        r5,OR0(r4)



// init BCSR

   //-------------------------------------------------------------------------
   // Base Register 1 (BR1): Bank 1 is assigned to the Board Control and
   //                        Status Registers (BCSRs). 
   // BA (Base Address) = 0x0450+0b for a total of 17 address bits. This value
   //                     represents the upper 17 bits of the base address.
   // Bits 17-18 reserved. = 00
   // PS (Port Size) = 11b = 32 bit port size
   // DECC (Data Error Correction and Checking) = 00 = Data errors checking
   //                                                  Disabled.
   // WP (Write Protect) = 0 = both read and write accesses are allowed
   // MS (Machine Select) = 000 = General Purpose Chip Select Machine (GPCM)
   //                             for 60x bus Selected
   // EMEMC (External Memory Controller Enable) = 0 = Accesses are handled by
   //                                                 the memory controller
   //                                                 according to MSEL.
   // ATOM (Atomic Operation) = 00 = The address space controlled by the 
   //                                memory controller bank is not used for
   //                                atomic operations.
   // DR (Delayed Read) = 0 = Normal operation.
   // V (Valid Bit) =  1 = Valid bit set
   //-------------------------------------------------------------------------

   addis    r3,0,0x0450     // R3 holds the value temporarily
   ori      r3,r3,0x1801

   //-------------------------------------------------------------------------
   // Option Register 1 (OR1) for GPCM use: further BCSR definitions
   // AM (Address Mask) = 0xFFFF +1b = We've masked the upper 17 bits which 
   //                                  which defines a 32 Kbyte memory block.
   // Bits 17-19 Reserved - set to 000.
   // CSNT (Chip Select Negation Time) = 0 = CS/|WE/ are negated normally.
   // ACS (Address To Chip-Select Setup) = 00 = CS/ is output at the same 
   //                                           time as the addr lines.
   // Bit 23 Reserved - set to 0.
   // SCY (Cycle Length In Clocks) = 0001 = Add a 1 clock cycle wait state
   // SETA (External Transfer Acknowledge) = 0 = PSDVAL/ is generated 
   //                                            internally by the memory 
   //                                            controller unless GTA/ is 
   //                                            asserted earlier externally.
   // TRLX (Timing Relaxed) = 0 = Normal timing is generated by the GPCM.
   // EHTR (Extended Hold Time On Read Accesses) = 0 = Normal timing is 
   //                                                  generated by the memory
   //                                                  controller
   // Bit 31 Reserved - set to 0.
   //-------------------------------------------------------------------------

   addis    r5,0,0xFFFF     // R5 holds the value temporarily
   ori      r5,r5,0x8010

   //------------------
   // Write the values
   //------------------

   stw        r5,OR1(r4)
   stw        r3,BR1(r4)


   // PCI init
   addis    r3,0,0x0473     // R3 holds the value temporarily
   ori      r3,r3,0x1801

   addis    r5,0,0xFFFF     // R5 holds the value temporarily
   ori      r5,r5,0x8010

   stw        r5,OR3(r4)
   stw        r3,BR3(r4)


   //-------------------------------------------------------------------------
   // Program the 60x Bus Assigned SDRAM Refresh Timer (PSRT).
   //-------------------------------------------------------------------------

   addi     r5,0,0x0013      // load 0x13 or 19 
   stb      r5,PSRT(r4)      // store byte - bits[24-31]


   //########################
   // Program Bank Registers
   //########################


   //-------------------------------------------------------------------------
   // Base Register 2 (BR2): Bank 2 is assigned to the 32 Mbyte SDRAM (2 banks) memory
   //                        that resides on the 60x Bus. The 
   //                        particulars are defined here. 
   //
   // - BA (Base Address) = 0x0000+0b for a total of 17 address bits. This 
   //                       value represents the upper 17 bits of the base 
   //                       address.
   // - Bits 17-18 reserved. = 00 = cleared to 0.
   // - PS (Port Size) = 00b = 64 bit port size
   // - DECC (Data Error Correction and Checking) = 00 = Data errors checking
   //                                                    Disabled.
   // - WP (Write Protect) = 0 = both read and write accesses are allowed
   // - MS (Machine Select) = 010 = SDRAM Machine for 60x bus Selected
   // - EMEMC (External Memory Controller Enable) = 0 = 
   //    Accesses are handled by the memory controller according to MSEL.
   // - ATOM (Atomic Operation) = 00 = The address space controlled by the 
   //                                  memory controller bank is not used for
   //                                  atomic operations.
   // - DR (Delayed Read) = 0 = Normal operation.
   // - V (Valid Bit) =  1 = Valid bit set
   //-------------------------------------------------------------------------

   addis    r3,0,0x0000     // R3 holds the value temporarily
   ori      r3,r3,0x0041

   //-------------------------------------------------------------------------
   // Option Register 2 (OR2) for SDRAM Machine use: further SDRAM definitions
   //
   // 32MByte block size
   // 4 banks per device
   // row starts at A7
   // 12 row lines
   // internal bank interleaving allowed
   // normal AACK operation
   //-------------------------------------------------------------------------

   addis    r5,0,0xFC00     // R5 holds the value temporarily
   ori      r5,r5,0x2CC0

   //------------------
   // Write the values
   //------------------

   stw        r5,OR2(r4)
   stw        r3,BR2(r4)


   //#############################################
   // Perform Initialization sequence to 60x SDRAM
   //#############################################

   //-------------------------------------------------------------------------
   // Program the PowerPC SDRAM Mode Registr (PSDMR). This register is used
   // to configure operations pertaining to SDRAM. Program the PSDMR, turning 
   // off refresh services and changing the SDRAM operation to "Precharge all
   // banks". Then do a single write to an arbitrary location. Writing 0xFF 
   // to address 0 will do the trick.
   //
   // page based interleaving
   // refresh enabled
   // normal operation mode
   // address muxing mode 2, A14-16 on BNKSEL, A8 on PSDA 10,
   // 8 clocks refresh recovery
   // 3 clocks precharge to activate delay
   // 3 clocks to activate r/w delay
   // 4 beat burst length
   // 2 clock write recovery time
   // no extra cycle on address phase
   // normal timing for control lines
   // 3 clocks CAS latency
   //-------------------------------------------------------------------------

   addis    r0,0,0           // Load 0 into r0
   
   addi     r6,0,0x0000      // Load 0x00000000 into r6

   addis    r3,0,0x834F
   ori      r3,r3,0x36A3
   stw      r3,PSDMR(r4)	// Precharge all banks

   addis    r3,0,0xAB4F
   ori      r3,r3,0x36A3
   stw      r3,PSDMR(r4)	// Precharge all banks

   sync
   stb      r6,0(r0)         // Write 0x00 to address 0 - bits [24-31]


   //-------------------------------------------------------------------------
   // Program the PSDMR keeping refresh services off and changing the
   // SDRAM operation to "CBR Refresh". This step is responsible for issuing
   // a minimum of 8 auto-refresh commands. This is done by the SDRAM machine
   // by issuing the CBR Refresh command by programming the OP field of the 
   // PSDMR register and writing 0xFF 8 times to an arbitrary address.
   //-------------------------------------------------------------------------
   
   addis    r3,0,0x8B4F
   ori      r3,r3,0x36A3
   stw      r3,PSDMR(r4)	// CBR Refresh

   //------------------------------------------
   // Loop 8 times, writing 0xFF to address 0
   //------------------------------------------

   addi  r6,0,0x0008
   mtspr CTR,r6             // Load CTR with 8. The CTR special purpose
                            // is spr 9

   addi  r3,0,0x00FF      // Load 0x000000FF into r3
   sync

write_loop1:

   stb   r3,0(r0)         // Write 0xFF to address 0 - bits [24-31]
    
   bc    16,0,write_loop1  // Decrement CTR, then branch if the decremented CTR
                          // is not equal to 0      

   //-------------------------------------------------------------------------
   // Program the PSDMR again turning off refresh services and changing the
   // SDRAM operation to "Mode Register Write". Then do a single write to an
   // arbitrary location. The various fields that will be programmed in the 
   // mode register on the SDRAM were specified in fields of the PSDMR, like
   // the BR (burst length) and the CL (CAS Latency) field.
   //-------------------------------------------------------------------------
   
   addis    r3,0,0x9B4F
   ori      r3,r3,0x36A3
   stw      r3,PSDMR(r4)

   addi     r3,0,0x0000      // Load 0x00000000 into r3
   ori		r0, r0, 0x0190	 // Change address from 0x00000000 -> 0x00000190
   sync
   stb      r3,0(r0)         // Write 0xFF to address 0x00000190 - bits [24-31]
 
   //-------------------------------------------------------------------------
   // Program the PSDMR one last time turning on refresh services and changing 
   // the SDRAM operation to "Normal Operation". 
   //-------------------------------------------------------------------------
   
   addis    r3,0,0xC34F
   ori      r3,r3,0x36A3
   stw      r3,PSDMR(r4)



   //######################################################
   // There is no SDRAM when the Local Bus work in PCI mode
   //######################################################

   addi     r5,0,0x0000      // load 0x0 
   stb      r5,LSRT(r4)      // store byte - bits[24-31]







// init PCI registers

// PCI General Control Register
   addis    r3,0,0x0100
   ori      r3,r3,0x0000
   stw      r3,PCI_GCR(r4)

// Two pairs of new registers have been added to the SIU to detect accesses from side to the
// PCI bridge (other than PCI internal registers accesses). Each pair consists of a PCI base
// register (PCIBRx) for comparing addresses and a corresponding PCI mask register
// (PCIMSKx). 
   addis    r3,0,0xFF80 
   ori      r3,r3,0x0000
   stw      r3,PCIMSK0(r4)

   addis    r3,0,0x0480
   ori      r3,r3,0x0001
   stw      r3,PCIBR0(r4)

   addis    r3,0,0xC000 
   ori      r3,r3,0x0000
   stw      r3,PCIMSK1(r4)

   addis    r3,0,0x8000
   ori      r3,r3,0x0001
   stw      r3,PCIBR1(r4)

   addis    r3,0,0x3012
   ori      r3,r3,0x6754
   stw      r3,PPC_ALRH(r4)

   addi     r3,0,0x0003
   stb      r3,PPC_ACR(r4)

   // Security Co-Processor (SEC) configuration

   //program SEC Mask Register with value 0xFFFE0000 - 128 KB memory space
   addis    r3,0,0xFFFE
   ori      r3,r3,0x0000 
   stw      r3,SECMR(r4)
   // program SEC Base Register - IMMR + 0x40000
   mfspr    r5, 311
   addis    r3,r5,0x0004
   ori      r3,r3,0x0001
   stw      r3,SECBR(r4)


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Copy the exception vectors from ROM to RAM
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	
	lis			r3, gInterruptVectorTable@h
	ori			r3, r3, gInterruptVectorTable@l
	subi		r3,r3,0x0004
	
	lis			r4, gInterruptVectorTableEnd@h
	ori			r4, r4, gInterruptVectorTableEnd@l
	
	lis			r5, 0xFFFF
	ori			r5,r5,0xFFFC
	
loop:
	lwzu		r6, 4(r3)
	stwu		r6, 4(r5)
	
	cmpw		r3,r4
	blt			loop
#endif //ROM_version
	
#ifdef CACHE_VERSION
	mfspr    r6,LR        // Save the Link Register value. The link register's
                          // value will be restored so that this function 
                          // can return to the calling address.
	bl		mmu_cache_init
	mtspr    LR,r6      // restore original Link Register value 
#endif
  
   blr 
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩毛片高清在线播放| 色呦呦国产精品| www.欧美精品一二区| 日本久久一区二区| 日韩一级成人av| 国产精品色哟哟| 亚洲高清视频的网址| 韩国女主播一区二区三区| www.日韩精品| 日韩免费性生活视频播放| 国产精品第一页第二页第三页| 亚洲第一成人在线| 国产999精品久久| 777a∨成人精品桃花网| 国产日韩欧美制服另类| 亚洲第一精品在线| 成人国产在线观看| 91精品在线麻豆| 综合久久国产九一剧情麻豆| 美腿丝袜亚洲三区| 91免费看视频| 久久综合色天天久久综合图片| 亚洲另类中文字| 国内精品第一页| 欧美久久久一区| 亚洲视频资源在线| 国产一区二区三区最好精华液| 欧美最猛性xxxxx直播| 久久久精品影视| 欧美aaa在线| 色哟哟欧美精品| 国产欧美日韩视频在线观看| 日韩成人精品视频| 日本电影欧美片| 日本一区二区三区四区在线视频| 日韩av电影免费观看高清完整版 | 欧美性受xxxx| 亚洲国产精品高清| 美女视频一区在线观看| 色天天综合色天天久久| 国产欧美一二三区| 老司机精品视频一区二区三区| 欧洲一区在线观看| 国产精品不卡一区二区三区| 狠狠色2019综合网| 日韩亚洲欧美成人一区| 亚洲综合清纯丝袜自拍| av中文一区二区三区| 久久―日本道色综合久久| 五月天激情综合| 色婷婷国产精品综合在线观看| 欧美国产一区二区在线观看| 黄色小说综合网站| 日韩欧美中文字幕精品| 亚洲国产欧美一区二区三区丁香婷| 99re亚洲国产精品| 亚洲国产岛国毛片在线| 国产剧情在线观看一区二区| 日韩美女一区二区三区四区| 秋霞午夜av一区二区三区| 91精品婷婷国产综合久久 | 欧美剧情电影在线观看完整版免费励志电影 | 亚洲一区二区三区在线播放| eeuss鲁片一区二区三区在线观看| 久久精品水蜜桃av综合天堂| 精品亚洲porn| 久久久精品免费免费| 国产一区91精品张津瑜| 久久免费美女视频| 国产老女人精品毛片久久| 久久久久国产精品免费免费搜索| 激情综合色播五月| 精品福利在线导航| 国产真实精品久久二三区| 2020国产精品| 丁香啪啪综合成人亚洲小说| 中文字幕不卡在线观看| 成人福利视频在线看| 国产精品久久久久久久久免费桃花| 成人丝袜高跟foot| 中文字幕日韩av资源站| 91久久奴性调教| 亚洲福利电影网| 日韩一级视频免费观看在线| 久久精品国产久精国产爱| 久久麻豆一区二区| 成人精品国产一区二区4080| 又紧又大又爽精品一区二区| 欧美影院午夜播放| 免费在线看一区| 久久老女人爱爱| 99re这里都是精品| 香蕉成人伊视频在线观看| 日韩欧美一级在线播放| 国产精品综合视频| 国产精品久久久久天堂| 日本高清免费不卡视频| 蜜臀久久久99精品久久久久久| 精品国产一区二区三区忘忧草| 国产99久久久国产精品潘金 | 欧洲色大大久久| 香蕉久久夜色精品国产使用方法| 日韩欧美国产高清| 成人激情图片网| 亚洲蜜桃精久久久久久久| 欧美精品久久99| 国产九九视频一区二区三区| 亚洲精品水蜜桃| 日韩一区二区三区四区五区六区| 国产精品18久久久久久久久久久久 | 午夜久久久久久电影| 91精品国产日韩91久久久久久| 国产精品影视网| 亚洲一区免费在线观看| 精品国产91洋老外米糕| 97久久超碰国产精品| 日本视频一区二区三区| 国产精品电影院| 日韩视频在线你懂得| caoporen国产精品视频| 日韩国产欧美视频| 国产精品久久久一本精品| 欧美日韩激情在线| 国产成人精品www牛牛影视| 一区二区成人在线视频| 26uuu色噜噜精品一区二区| 色婷婷av一区二区三区软件 | 日韩一区和二区| 91免费视频网| 国产老肥熟一区二区三区| 婷婷激情综合网| 国产精品高潮呻吟| 日韩欧美一区二区免费| 91成人免费在线视频| 国产精品一区二区在线观看不卡| 一区二区三区波多野结衣在线观看| 欧美精品一区二区三区一线天视频| 亚洲国产精品99久久久久久久久 | 亚洲国产视频一区二区| 国产欧美一区二区精品性色 | 蜜臀精品久久久久久蜜臀| 国产精品传媒入口麻豆| 精品区一区二区| 在线中文字幕一区二区| 丁香激情综合五月| 美女在线观看视频一区二区| 亚洲情趣在线观看| 久久精品一区二区三区不卡牛牛 | 国产综合成人久久大片91| 亚洲一区二区黄色| 综合av第一页| 日本一区二区三区在线不卡| 日韩精品中文字幕一区| 在线91免费看| 色婷婷亚洲综合| 成人动漫中文字幕| 国产激情精品久久久第一区二区 | 国产亚洲欧美日韩日本| 欧美一二三区在线| 欧美精品第一页| 欧美在线啊v一区| 93久久精品日日躁夜夜躁欧美| 国产乱码精品1区2区3区| 麻豆精品一区二区| 日本欧美肥老太交大片| 亚洲成人av中文| 亚洲午夜日本在线观看| 亚洲美腿欧美偷拍| 亚洲人成网站精品片在线观看| 欧美韩国日本综合| 国产亚洲欧美中文| 国产亚洲精品福利| 久久久一区二区| 欧美电视剧免费全集观看| 日韩视频中午一区| 日韩欧美国产综合在线一区二区三区| 欧美日本在线观看| 欧美精品在线视频| 欧美精品丝袜中出| 欧美绝品在线观看成人午夜影视| 欧美视频一区二区三区四区| 欧美性一二三区| 欧美美女直播网站| 91麻豆精品久久久久蜜臀| 7777精品伊人久久久大香线蕉超级流畅| 欧美主播一区二区三区| 日本二三区不卡| 欧美日韩电影一区| 欧美日本在线一区| 欧美一区二区三区电影| 日韩女优av电影| 久久久综合精品| 国产精品久久久久久久久动漫| 成人激情动漫在线观看| 不卡的av电影在线观看| 91亚洲精品乱码久久久久久蜜桃| 色素色在线综合| 777久久久精品| xnxx国产精品| 日韩一区中文字幕|