Hi,
We got a rapidio host and several rapidio agents connected via back plane, the host has trouble in discovering agent, and it's figured out that the host has enumerated the agent when the agent is in bootloader stage, and when the agent os is loaded, the host can no longer enumerate it again thus failed to send/recv messages to the agent. One solution we can image is to disable rapidio port when the agent is in bootloader assembly stage and re-enable it when os is up. Unfortunately, we never succeed. The assembly code in bootloader is as follows:
#define PmCCSR_0 (CCSRBAR + 0xC015C)
lis r8, HI(PmCCSR_0)
ori r8, r8, LO(PmCCSR_0)
lwz r7, 0(r8)
lis r9, HI(0x00800000)
ori r9, r9, LO(0x00800000)
ori r7, r7, r9
stw r7, 0(r8)
sync
The purpose is to set Port m Control Command and Status Register (PmCCSR) bit 8 to 1, but when we read this register in bootloader command line, the value never changed. we tried many place where to insert the assembly snippet in, both at the very beginning or when CCSR relocated and TLB set up. Am I doing anything wrong? Please help and thanks in advance!
Regards
Jia