Currently I’m running vanilla 4.16.15 and have eth0-eth2 functional (at least as far as the RJ45 ports; I haven’t tried it with SFP+ modules yet, but I’ll get to that sooner or later). I know for certain you need CONFIG_MVPP2 and CONFIG_PHY_MVEBU_CP110_COMPHY enabled for the ethernet ports to show up (the COMPHY requirement is not obvious–but since it has SFP sockets, it is necessary).
This is a little different than the last Macchiato BSP I tried; IIRC the 4.4 kernel from back then included a specialized add-on MVPP driver.
You *might* also need CONFIG_OF_MDIO, CONFIG_MVMDIO, and CONFIG_MDIO_I2C enabled. If you like I can toss you my kernel .config, but I turned on a LOT of extra options just to see what all would build with my current compiler setup.
Thanks, now the rj45 port work.
for the SFP+ with direct attach:
[ 293.143884] mvpp2 f2000000.ethernet eth0: cannot connect to phy
[ 293.154107] mvpp2 f2000000.ethernet eth0: cannot connect to phy
[ 304.591208] mvpp2 f4000000.ethernet eth1: cannot connect to phy
[ 304.601483] mvpp2 f4000000.ethernet eth1: cannot connect to phy
Work with official kernel. And I need the SFP+.
I pulled his changeset and forward-ported it to 4.17.10. This took a few changes, mainly to support the new mac_link_up()/mac_link_down() prototypes, plus removing his head.S changes to make the kernel bootable on my DoubleShot board. Aside from that, his current DTS changes hardcode the MAC addresses to some bogus defaults, and the end-result is not getting link-up on ANY of my eth ports. So definitely not production-ready. 🙁
I’ll see what i can do to pitch in and help him out with this.