FWIW, OpenWRT has some utils built-in to deal with these chipsets, I just don't have it working yet - robocfg. They've deprecated it in favor of a kernel driver, but all it does is uses a header file from Broadcom and twiddles some ioctls on the associated ethernet port according to the magic values therein.
RB