I use Intel I225 with ec_igc driver, but I also tested generic and seems ok, I plan to do more extensive testing on something worse, just to see how bad I can go before I hit any issue, to have an idea on how cheap a system I can make lol.
The newest PR has not been merged yet at this time, you can get the code from my repo, or wait a few weeks for Scott, he mentioned he was going out of town.
I really think now the code respects the ethercat standard as closely as possible, it might just be a matter of exposing some phasing paramets for picky applications, but visualiziotion with halscope and sync0shift gets you all the way there too, and you have two options to choose from syncToRefClock true or false, if your latency is decent I advise to keep it false, with a refClockSyncCycles of 2, or 10 if you can wait a bit before start moving.