hi3531的pcie控制器使能 分类: HI3531 ...

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

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

转载于:https://www.cnblogs.com/mao0504/p/4706624.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值