my board have one T2080,and the 4X srio port2 of T2080 is connect with CPS1848.I set serdes2 0x29 in RCW,and enable srio port in uboot ,and I also have opened some options about srio in menuconfig of kernel ,but when I check the register of SRIO,it seem th port is not initialized.
when I set serdes in loopback ,the srio port is not initialized too.
so what else something should I do?Thank for any response!
Hello zhao jing,
Please configure Linux Kernel as the following, please boot the target board with USDPAA dtb file.
Device Drivers --->
<*> Userspace I/O drivers --->
<*> Freescale Serial RapidIO support
<*> Freescale DMA support
Then refer to "9.9.16.1.4 SRA Demo" in QorIQ SDK 2.0 document to use SRA demo application to implement SRIO function.
You could download QorIQ SDK 2.0-1703 document from Linux® SDK for QorIQ® Processors | NXP .
Thanks,
Yiping
Thank you for your advice.but I have set the device driver and boot the target board with USDPAA dtb depend on QorIQ SDK 2.0 document ,however the error still not resovled.
Otherwise,I think the configuration of srio register is depend on RCW and UBOOT,so after UBOOT boots finished the the register of 0xfe0c0178 must be 0x2,Am I right?
Hello zhaojing,
SRIO_P2ESCSR[PO] The input and output ports are initialized and the port is exchanging error-free control symbols with the attached device.
u-boot doesn't initialize SRIO ports, the initialization is executed in Linux Kernel. After Linux Kernel booting up, you could use CodeWarrior to attach to the target board, to check register
SRIO_P2ESCSR.
Thanks,
Yiping
1 I try to connect codewariior after kernel booting up ,but I failed,but when I run SRA,it shows the error " port is not initialized "
2 In uboot ,I check the SerDes2_PLL1CR0 register ,the value is 0x20890008,it means the pll is on and locked.But when I connect codewarrior to check SerDes2_PLL1CR0,the value is 0x20090008,it means the pll is on but unlocked,so which is correct?