TIwilliam hill官网
直播中

h1654155275.5969

7年用户 213经验值
私信 关注
[问答]

pcie outbound能映射到C6678的寄存器地址吗?

如题,用某powerpc板作为RC,C6678作为EP,目前已经能用RC枚举到6678,且能通过PCIE映射到C6678的DDR3、L2等地址,并能正常读写。
现在我想用RC映射到6678的寄存器(比如0x02600000),但是发现往里面写值失败,请教各位专家如何解决?

回帖(11)

郭武莱

2018-6-21 04:37:44
可以映射寄存器。但要注意chip level regs需要做kicker_unlock操作。
我这样用过。
举报

h1654155275.5969

2018-6-21 04:48:45
引用: panbyron 发表于 2018-6-21 04:37
可以映射寄存器。但要注意chip level regs需要做kicker_unlock操作。
我这样用过。

0x02600000是intc0的寄存器吧,不是chip level,为啥会失败。
举报

郭武莱

2018-6-21 05:00:38
引用: qwer38 发表于 2018-6-21 04:48
0x02600000是intc0的寄存器吧,不是chip level,为啥会失败。

从RC访问EP(DSP端)是inbound映射,不是outbound。
从RC端看BAR地址空间分配是否已经分配上了?
再试试别的寄存器的访问。比如0x02620020(DEVSTAT)
举报

沈家春

2018-6-21 05:10:25
引用: panbyron 发表于 2018-6-21 05:00
从RC访问EP(DSP端)是inbound映射,不是outbound。
从RC端看BAR地址空间分配是否已经分配上了?
再试试别的寄存器的访问。比如0x02620020(DEVSTAT)

  按照你的回答,我是否可以这样理解inbound和outbound的区别!
1.
如果在RC-host端发起对EP-DSP读或写的操作,那么这种模式叫做inbound。
2.
如果在EP-DSP端发起对RC-HOST读或写的操作,那么这种模式叫做outbound。
3.
inbound 和 outbound的唯一区别是看谁发起读写操作。
谢谢!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分