Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Network driver for the Enclustra Mercury XU1 SOM: (6 Items)
   
Network driver for the Enclustra Mercury XU1 SOM  
Hello,

This is actually a board modeled on the Xilinx MPSoC's (ZCU10x). I have been able to get QNX 7.1 up and running on it 
and for the most part everything works just like they did on the ZCU111 and ZCU102 before it. However, Enclustra use a 
different NIC chip so the xzynq-ultrascale network driver (devnp-xzynq-ultrascale.so) won't work. Here is a link to this
 particular board.

https://www.enclustra.com/en/products/system-on-chip-modules/mercury-xu1/

Has anyone reading this forum found the same problem and formulated a solution, or can help us with a solution? This 
would probably entail writing a new network driver if someone else hasn't already done so. Or has and is prepared to 
share it. (I use the word "share" loosely)!

The QSPI driver that comes with ZCU10x BSP's doesn't work either but that can be dealt with later. Getting the network 
working is my immediate priority.

Any ideas and/or help with this would be appreciated!

Regards,

Geoff.
Re: Network driver for the Enclustra Mercury XU1 SOM  
BTW, the NIC is a Micrel KSZ9031RNX. I can't find any QNX 7.1 driver for it for any platform (aarch64le or x86_64).

Does anyone know if we have a driver for it and what it might be called?

Geoff.

> Hello,
> 
> This is actually a board modeled on the Xilinx MPSoC's (ZCU10x). I have been 
> able to get QNX 7.1 up and running on it and for the most part everything 
> works just like they did on the ZCU111 and ZCU102 before it. However, 
> Enclustra use a different NIC chip so the xzynq-ultrascale network driver 
> (devnp-xzynq-ultrascale.so) won't work. Here is a link to this particular 
> board.
> 
> https://www.enclustra.com/en/products/system-on-chip-modules/mercury-xu1/
> 
> Has anyone reading this forum found the same problem and formulated a solution
> , or can help us with a solution? This would probably entail writing a new 
> network driver if someone else hasn't already done so. Or has and is prepared 
> to share it. (I use the word "share" loosely)!
> 
> The QSPI driver that comes with ZCU10x BSP's doesn't work either but that can 
> be dealt with later. Getting the network working is my immediate priority.
> 
> Any ideas and/or help with this would be appreciated!
> 
> Regards,
> 
> Geoff.


Re: Network driver for the Enclustra Mercury XU1 SOM  
Did you check if either NetBSD (for io-pkt) or FreeBSD (for io-sock) have a driver for this card?

Out of curiosity - what's the use case for these boards? These are 10-20 times more expensive than modern single-board 
computers, and quite a bit less powerful (I think?).

--Elad
Re: Network driver for the Enclustra Mercury XU1 SOM  
Hi Elad,

The decision to use the Mercury XU1 was I think driven by the hefty FPGA requirements of our application and its 
relative compatibility with the ZCU10x boards we have been using to date. Based on how the QNX software performed on the
 4-core A53 moving to a 2-core A53 was considered viable - so long as I could get QNX 7.1 working on it. Which I was 
able to do with the exceptions of the QSPI and network.

As for price, well, we'd be of course interested in anything (SoC) that's cheaper that can handle our FPGA requirements 
and also works with QNX and its devices (like serial, USB, SDMMC, and network). The production unit would not require 
SDMMC or USB. We also have some environmental requirements that I think drove us to the Exclustra board. I am not sure 
if the board could be considered "non modern"! :-)

Geoff.

> Did you check if either NetBSD (for io-pkt) or FreeBSD (for io-sock) have a 
> driver for this card?
> 
> Out of curiosity - what's the use case for these boards? These are 10-20 times
>  more expensive than modern single-board computers, and quite a bit less 
> powerful (I think?).
> 
> --Elad


Re: Network driver for the Enclustra Mercury XU1 SOM  
KSZ9031RNX is just a PHY. The "drivers" for the PHYs are compiled into the devnp-* drivers, usually in mii.c. The "
driver" is usually just an initialization routine as a C function. The main network driver init routines scan the MII 
bus and select the correct PHY init routine based on PHY vendor/device id. If none is found, a generic PHY init is done,
 which is often, but not always, sufficient.

I remember that I have seen some Micrel KS9031 code in the i.MX6 ENET driver. Maybe that helps.

Regards,
-Al
Re: Network driver for the Enclustra Mercury XU1 SOM  
Hi Al,

By chance, late yesterday, I discovered in the Renesas Car H3 BSP devnp-ravd.so that appears to be based on this NIC. We
 will investigate this next week.

I have never had need to delve into the way QNX deals with network devices so your comments are of considerable help to 
me and appreciated. I have mainly dealt with serial devices - UART's seem to be much less complicated!

Cheers,

Geoff.

> KSZ9031RNX is just a PHY. The "drivers" for the PHYs are compiled into the 
> devnp-* drivers, usually in mii.c. The "driver" is usually just an 
> initialization routine as a C function. The main network driver init routines 
> scan the MII bus and select the correct PHY init routine based on PHY vendor/
> device id. If none is found, a generic PHY init is done, which is often, but 
> not always, sufficient.
> 
> I remember that I have seen some Micrel KS9031 code in the i.MX6 ENET driver. 
> Maybe that helps.
> 
> Regards,
> -Al