zoukankan      html  css  js  c++  java
  • hi3531的pcie控制器使能 分类: HI3531 2014-05-15 18:01 698人阅读 评论(0) 收藏

    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 寄存器的定义

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    JS站点
    1011 World Cup Betting (20分)
    1007 Maximum Subsequence Sum (25分)(动态规划DP)
    1006 Sign In and Sign Out (25分)
    1005 Spell It Right (20分)
    1004 Counting Leaves (30分)(DFS)
    1003 Emergency (25分)(Dijkstra算法)
    1002 A+B for Polynomials (25分)
    1001 A+B Format (20分)
    canvas
  • 原文地址:https://www.cnblogs.com/mao0504/p/4706624.html
Copyright © 2011-2022 走看看