AnsweredAssumed Answered

mpc8569e disable rapidio port at bootloader assembly stage

Question asked by Jia Guo on Dec 18, 2019
Latest reply on Dec 24, 2019 by Jia Guo



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)


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!