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

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

  • 相关阅读:
    Sort
    MyOD
    Linux C语言编程基础(必做)
    团队作业(一):团队展示
    2.3.1测试
    《Unix/Linux系统编程》第四章学习笔记
    课堂测试2
    课堂测试
    第三章 Unix/Linux进程管理学习笔记
    团队作业(二):需求分析
  • 原文地址:https://www.cnblogs.com/mao0504/p/4706624.html
Copyright © 2020-2023  润新知