Hi,

I have written a small patch for the wiznet W5500 adapter. 
(https://docs.wiznet.io/Product/iEthernet/W5500/overview).
I am in some ways ready to push it into u-boot following approval from HPE, but 
as that will be a first for me, I just wanted to get feedback from you.

The wiznet device allows me to add a network adapter to deep embedded devices 
like PCIe board and boot them by using ethernet through a spi bus or gpios by 
using the soft-spi drivers through u-boot. Usually, such devices boot locally 
through a spi-nor or other local storage. I want to promote a PXE like approach 
as to ease firmware updates, improve security, and boot speed. The wiznet 
device can load raw images at about 1.5MB/s in memory and the u-boot is in 
charge at bootstrapping the second stage through the in memory copu.

I successfully tested it by using a raspberry pi 4 device through soft spi as 
we do not have a driver for it inside u-boot. It works at around 360kB/s 
compared to 400kB/s through the linux kernel.

Wiznet device needs in fact 2 drivers, one which behave like “PHY”  and one 
which is perceived as an ethernet adapter. Both needs to be linked through a 
phandle as to use the relevant xfer function to push and receive the data.

So, my patchset will contain some work for the spi subsystem and some for the 
net subsystem. Do I need to break them down, or a single patch would be good 
enough ?

The code is inspired from the linux kernel implementation, but has been adapted 
for the lack of interrupt management, and improved performances in sequential 
mode as linux kernel support work queues.

If some of you wants to have a look, I published that work here before 
submitting it

https://github.com/vejmarie/u-boot/tree/w5500

Let me know if you believe that support of wiznet inside u-boot would make 
sense, and if you have any questions

Jean-Marie

Reply via email to