Добрый день, коллеги
есть плата коммутатора собственной разработки на базе Marvell 88E6131.
Порты 0 и 1 у него работают в режиме меди 100/1000, порты 3-5 - не задействованы.
Порты 6 и 7 подключены к микросхемам физики 88E1112, которые работают в режиме оптики -100BASE-FX или 1000BASE-X (выбирается джамперами).
Микросхемам физики выставлен адрес, соответствующий номеру канала - 6 и 7, коммутатор их опрашивает по MDIO.
Marvell 88E6131 "видит" физику на каналах 6 и 7 (PPU устанавливает биты PHYDetect на портах 6 и 7).
Проблема в том, что коммутатор не считывает состояние линка микросхем физики - Link, Speed, Duplex и, соответственно, не настраивается в нужный режим.
Если на коммутаторе в соответствующие регистры MAC Forcing Control Register принудительно записать верную скорость, дуплекс и наличие линка - все начинает работать как надо.
Но ведь судя по документации, все должно работать и без участия хоста. Коммутатор должен сам опрашивать регистры физики и вставать в нужный режим.
Подскажите, куда копать?