Всех приветствую.
Пост упила задача поддержать максимальное к-во SFP модулей. Coper в идеале еще и на разных скоростях 10/100/1000.
AR8033 хардварно включен в режиме 1011 = "Copper/fiber auto-detection, RGMII".
Модули SFP использую Finisar FCLF8522P2BTL(coper), Avago ABCU-5740ARZ-CG1(coper), JDSU PLRXPL-VI-S24-22(optic). Оба coper модуля на гигабите запускаются без проблем, оптика тоже.
Когда модуля нет, регистр PHY(0x1F) возвращает 0x81BB, когда же модуль подключен значение меняется на 0x812B. Режим 2 это 1000BASE-X. Для оптики норм, но для копера я ожидал другое значение режима.
Попробовал воткнуть копер модуль в 100мбит свитч. Линк не горит и модуль не подхватывается, в регистре значение 0x81BB. После переконфигурации(конфиг взят с Finisar доки AN-2036_FAQ_1000BASE-T_SFPs.pdf) линк подымается, но режим опять тот же 0x812B(1000BASE-X) как для оптики. Ну и следовательно пинг не ходит.
Конфиг:
i2cset -y "QUP I2C adapter" 0x56 0x1b 0x8490 w
i2cset -y "QUP I2C adapter" 0x56 0x09 0x000F w
i2cset -y "QUP I2C adapter" 0x56 0x00 0x4081 w
i2cset -y "QUP I2C adapter" 0x56 0x04 0xE10D w
i2cset -y "QUP I2C adapter" 0x56 0x00 0x4091 w
Отсюда я сделал вывод что AR8033 всегда работает через шину SerDes в режиме 1000BASE-X.
Вопрос: как мне заставить AR8033 работать с SFP-coper по шине SGMII? чтобы я мог данные ганять на скоростях отличных от 1000. В даташите вроде как заявлена возможность работы с SFP по SGMII.
Функциональную схему прилагаю.