From: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue, 20 Dec 2016 17:17:06 +0100 > Right now the dwmac-rk tries to set up the GRF-specific speed and link > options before enabling clocks, phys etc and on previous socs this works > because the GRF is supplied on the whole by one clock. > > On the rk3399 however the GRF (General Register Files) clock-supply > has been split into multiple clocks and while there is no specific > grf-gmac clock like for other sub-blocks, it seems the mac-specific > portions are actually supplied by the general mac clock. > > This results in hangs on rk3399 boards if the driver is build as module. > When built in te problem of course doesn't surface, as the clocks > are of course still on at the stage before clock_disable_unused. > > To solve this, simply move the clock enablement to the first position > in the powerup callback. This is also a good idea in general to > enable clocks before everything else. > > Tested on rk3288, rk3368 and rk3399 the dwmac still works on all of them. > > Signed-off-by: Heiko Stuebner <heiko at sntech.de> Applied, thank you.