Hi Nkem,
I have been trying to use the ethernet driver for the UNSW Asdvanced Operating Systems course but I still get these messages:
find_compatible_driver_module@io.c:434 No suitable driver was found for path /soc/ethernet@c9410000, ignoring server_init@ethdriver.c:382 Unable to find an ethernet device
I thought that I had to copy the driver to the utils lib folder and provide a preprocessor macro as someone else had suggested but I may be missing a few other things.
It seems that you're pretty close to getting everything complete. You're only missing one more step, and this is to add some bootstrapping code to get the driver to initialise and register itself with the interface registration service so that it can be found by the Ethdriver CAmkES component. To do this, you can copy the example from the i.MX6 Ethernet driver and change it up a bit so that it works for the Odroid C2. More specifically, you'd copy this function [1], modify the contents of the function to use the correct initialisation function for the C2, and also modify the callbacks [2] and [3] so that it gets the correct registers and IRQs from the kernel's version of the Odroid C2's DTS. Finally, you also need copy this [4] and modify the following string array and the last argument in the preprocessor symbol to point to the function you copied earlier. I hope this helps, Damon [1] https://github.com/seL4/util_libs/blob/master/libethdrivers/src/plat/imx6/im... [2] https://github.com/seL4/util_libs/blob/master/libethdrivers/src/plat/imx6/im... [3] https://github.com/seL4/util_libs/blob/master/libethdrivers/src/plat/imx6/im... [4] https://github.com/seL4/util_libs/blob/master/libethdrivers/src/plat/imx6/im...