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

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

  • 相关阅读:
    面向对象课程设计-FlappyCharacter(个人)
    学生成绩管理系统——个人博客
    学生成绩管理系统(个人)
    JAVA课程设计个人博客----FlappyBird
    Java课程设计——彩票购买抽奖系统
    彩票抽奖程序—个人博客
    彩票购买抽奖程序——个人博客
    面对对象综合设计-贪吃蛇个人博客
    面向对象综合设计-贪吃蛇
    面向对象程序综合设计—课程设计
  • 原文地址:https://www.cnblogs.com/mao0504/p/4706624.html
Copyright © 2011-2022 走看看