Dear all,
the serial rapidIo interface 'Port x Link maintenance request command and statusregister (SRIO_P1LMREQCSR) ' said that the port can reset its link parter device if this reg written with a 0b011
But I found the p2020 srio port cannot be reset when its link parterner issue a link-request/rest-device ,neither can it reset its link parterner when writting a 0b11 on SRIO_P1LMREQCSR
Are there any special regs should be set ?
thanks
Hello baoyu yan,
Please refer to the attached RapidIO driver provided in Linux Kernel source code arch/powerpc/sysdev/fsl_rio.c.
Please refer to the following, if the port training failed, please restart the connection with the following procedure.
Please refer to "Port 1 Control command and status register(SRIO_P1CCSR)" in P2020 Reference Manual for details.
if (in_be32((priv->regs_win + RIO_ESCSR + i*0x20)) & 1) {
dev_err(&dev->dev, "Port %d is not ready. "
"Try to restart connection...\n", i);
/* Disable ports */
out_be32(priv->regs_win
+ RIO_CCSR + i*0x20, 0);
/* Set 1x lane */
setbits32(priv->regs_win
+ RIO_CCSR + i*0x20, 0x02000000);
/* Enable ports */
setbits32(priv->regs_win
+ RIO_CCSR + i*0x20, 0x00600000);
msleep(100);
If this is not what you need, please explain your purpose in details.
Thanks,
Yiping