閱讀715 返回首頁    go 阿裏雲 go 技術社區[雲棲]


hi3531的pcie控製器使能

1. 關閉PCIe 控製器:
通過向係統控製寄存器PERIPHCTRL30[pcie0_app_ltssm_enabl]寫入0 關閉PCIe0 控製
器。
通過向係統控製寄存器PERIPHCTRL77[pcie1_app_ltssm_enabl]寫入0 關閉PCIe1 控製
器。
2. 使能PCIe 控製器相關的時鍾:
設置CRG 寄存器PERI_CRG30[pcie0_cken]使能PCIe0 控製器時鍾。
設置CRG 寄存器PERI_CRG30[pcie1_cken]使能PCIe1 控製器時鍾。
3. 設置PCIe 控製器的工作模式(RC 模式/EP 模式):
通過係統控製寄存器中的PERIPHCTRL23[pcie0_slv_device_type]寄存器設置PCIe0 控
製器的工作模式。通過係統控製寄存器中的PERIPHCTRL70[pcie1_slv_device_type]寄存器設置PCIe1 控
製器的工作模式。
4. 設置PCIe 控製器軟複位以複位PCIe 控製器。
向CRG 寄存器PERI_CRG30[pcie0_srst_req]寫1 以複位PCIe0 控製器。
向CRG 寄存器PERI_CRG30[pcie1_srst_req]寫1 以複位PCIe1 控製器。
5. 撤銷PCIe 控製器軟複位。
向CRG 寄存器PERI_CRG30[pcie0_srst_req]寫0 以撤銷PCIe0 控製器複位。
向CRG 寄存器PERI_CRG30[pcie1_srst_req]寫0 以撤銷PCIe1 控製器複位。
6. 設置PCIe 控製器的類代碼:
當工作在RC 模式時,需要配置對應的控製器的類代碼寄存器(CLASS Code
Register)為0x060400(對應為PCI 到PCI 橋設備)。PCIe0 控製器和PCIe1 控製器的
類代碼寄存器位於各自的PCIe 配置寄存器空間內。
EP 模式下無需設置(默認值)。
7. 使能PCIe 控製器:
通過向係統控製寄存器PERIPHCTRL30[pcie0_app_ltssm_enable]寫入1 使能PCIe0 控製
器。PCIe0 控製器使能後,PCIe0 控製器開始鏈路建立過程。
通過向係統控製寄存器PERIPHCTRL77[pcie1_app_ltssm_enable]寫入1 使能PCIe1 控製
器。PCIe1 控製器使能後,PCIe1 控製器開始鏈路建立過程。
----結束

 

若PCIe 控製器與對端設備之間的連接未建立,不可向對端設備發起任何PCIe 事務。
軟件通過查詢係統控製寄存器PERICTRL39[pcie0_rdlh_link_up]可以確定PCIe0 控製器
是否已與對端設備建立連接。
軟件通過查詢係統控製寄存器PERICTRL40[pcie1_rdlh_link_up]可以確定PCIe1 控製器
是否已與對端設備建立連接。
請參考係統控製器中關於PERICTRL39 和PERICTRL40 寄存器的定義

最後更新:2017-04-03 12:56:41

  上一篇:go 九度題目1364:v字仇殺隊
  下一篇:go Sql Server REPLACE函數