It is BCM53125. Currently, you can set "mdix auto|off|on" which does
not take any effect. The chip will do what is its default depending
on copper autonegotiation.
I am adding support for setting "mdix auto|off". I want the thing to error on "mdix on".
Where would I add that check?
/* MDI or MDI-X status/control - if MDI/MDI_X/AUTO is set then
* the driver is required to renegotiate link
*/
#define ETH_TP_MDI_INVALID 0x00 /* status: unknown; control: unsupported */
#define ETH_TP_MDI 0x01 /* status: MDI; control: force MDI */
#define ETH_TP_MDI_X 0x02 /* status: MDI-X; control: force MDI-X */
#define ETH_TP_MDI_AUTO 0x03 /* control: auto-select */
So there are three valid settings. And you are saying you only want to
implement two of them? If the hardware can do all three, you should
implement all three.
Andrew