FloatPHY

pseudo driver which attach to miibus like normal PHY, but do find master switchX device and ask his PHY reg's. Main problem with that driver - is usage of newbus calls between independent device (not a parent <-> child), since floatphyX query set/get methods of switchX.

Use hints:

master - to set master name.

master_unit - master unit.

master_phys - bitmap of PHY numbers on which get link status/speed.

flags - see driver (dev/switch/floatphy.c).

speed - initial link speed value, used when no access to master.

Switch Framework Internals

I will describe as example 4 situation that current framework is cover:

Cavium Octeon CN5010 + BCM53115

Cavium Octeon CN5010, one NIC with three paths + BCM53115 switch + some Broadcom PHY. Since here is required a lot of magic to attach anything that Cavium was not expect as "can be attached" (i.e. Cavium SDK limitation), I made patch which allow to attach one PHY driver per NIC path (per octe0 iface).

VLAN features: it seems have most clear VLAN implementation, except some things like remapped some regs which have port bit maps. (seems forget to think about bigger port count when design small switches)