PowerPC-MPC603e內核學習筆記之mpc8245配置寄存器

MPC8245的大部分可編程配置寄存器是要在上電進行初始化的,這些寄存器其實在MPC內部PCI控制器MPC107裏面的。MPC8245提供了一個接口來訪問這些在PCI總線上的寄存器(也外部接着的PCI設備),這個接口其實就是兩個port,一個portCONFIG_ADDR,範圍可以在0xFEC0_0000 – 0xFEDF_FFFF,

另一個叫CONFIG_DAT,範圍在0xFEE0_0000 – 0xFEEF_FFFF.雖然是一個地址範圍,到必須使用相同的偏移量。使用0x8000_00nn來範圍MPC107的配置寄存器,nn是寄存器的偏移值。當向CONFIG_ADDR寫入地址時,CONFIG_DAT就是對應地址寄存器的數據,可讀寫。

       這些寄存器可以分爲兩大類,一類是PCI的控制寄存器(0x00 – 0x3C),這些寄存器的定義都是全球統一的。還有一類就是boardcom加上去的“特殊功能”寄存器了(0x40 – 0xFC)

 

PCI控制寄存器(0x00 – 0x44)

0x00開始的是設備ID設別寄存器,這些寄存器能夠在硬件初始化的時候進行檢測,通過檢測所有的PCI slot,可以知道究竟有多少個PCI設備接在總線上。

Slot上不存在設備,讀取ID時會返回0xFFFF.

       PCI Command Register—Offset 0x04

 

Fast back-to-back  硬件指定爲0MPC8245不能運行 fast back-to-back transactions.

SERR 允許地址校驗錯誤報告,驅動SERR引腳。

Parity error response 允許產生奇偶檢驗錯誤。

Memory-write-andinvalidate 允許MPC8245作爲master時,產生內存寫無效命令。

Special cycles 硬件指定爲0,忽略所有的special-cycle 命令。

Bus master 允許MPC5248作爲總線master

Memory space MPC8245作爲target的時候是否響應內存訪問。

I/O space 硬件指定爲0,作爲target時不響應PCI I/O空間訪問。

 

 

 

PCI Status Register—Offset 0x06

 

通過寫1來清零相應位,寫0不影響,詳細參見datasheet

Detected parity error 有地址或者數據檢驗錯誤即使parity error handling被通過PCI command寄存器禁止

Signaled system error 置位,如果有SERR信號.

Received master-abort MPC8245作爲master時使用 master-abort.命令終止一個傳輸

Received target-abort MPC8245作爲一個發起者,被目標使用target-abort.命令終止一個傳輸

66-MHz capable 只讀,只是PCI是否爲66MHz

 

PCI Base Address Registers—LMBARn and PCSRBAR

這些寄存器是MPC8245作爲PCI agent模式時使用的。兩個本地內存基址寄存器:LMBAR0,LMBAR1。一個外圍控制和狀態寄存器PCSRBAR-給外部PCI設備控制MPC8245時用的。

MPC8245作爲一個PCI agent時,這些寄存器允許一個主處理器進行配置。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章