
Dear Bhupesh,
In message A1A6EA40F8503D48BB002B42BD65974E0A0C9275@039-SN2MPN1-012.039d.mgd.msft.net you wrote:
I am trying to add support of a Vitesse L2 switch in u-boot (in unmanaged configuration). I was analyzing whether advanced features like flow control, link-aggregation etc are required to be supported for a L2 switch working in a u-boot bootloader level.
...
But, I am not sure about the design approaches used to support previous switch modules in u-boot.
Things depend _heavily_ on your specific project requiremnts. IF all you need is a working network port then you can probably do with just the default initialization, determined by the pin strapping (i. e. your hardware guys should just to The Right Thing (TM) ).
However, if you run a device in a security sensitive environment, it may be strictly forbidden to run the switch even for very short periods in some "open" configuration that would - for example - allow access from the "outside" to some (normally) protected inner networks.
There is at least one board configuration in mainline which performs a full switch initialization in a time-optimized manner (by just down- loading a register dump to the switch); see enbw_cmc_config_switch() in board/enbw/enbw_cmc/enbw_cmc.c
Normally, you should probably leave the switch just turned off / disabled and wait until proper application code in Linux can perform the needed initalizations.
Best regards,
Wolfgang Denk