Jump to content

    

KSZ9897S доступ к MMD регистрам через SPI

Доброго всем дня!

Есть устройство, в составе которого микрочиповский свитч KSZ9897S. К свитчу по SPI подключен микроконтроллер, для начальной конфигурации (ибо errata впечатляет).

Глобальные регистры, регистры портов читаются/пишутся без проблем. Сам свитч работает. Однако при попытке прочитать что-либо (писать пока не пробовал) посредством

MDIO Manageable Device (MMD) Registers (Indirect), по методу из даташита (раздел 5.4 стр. 168) читаю из регистра PHY MMD Data Register то, что только что в него записал (а именно Register Address).

Кто-нибудь сталкивался с подобной проблемой?

Share this post


Link to post
Share on other sites

А для чего читать через MDIO при наличии связи по SPI? По SPI у него, вроде как, даже больше регистров доступно чем через MDIO. Я так MDIO даже и не развожу когда использую этот свич.

Share this post


Link to post
Share on other sites
1 hour ago, vladec said:

А для чего читать через MDIO при наличии связи по SPI? По SPI у него, вроде как, даже больше регистров доступно чем через MDIO. Я так MDIO даже и не развожу когда использую этот свич.

Речь идёт не об интерфейсе MDIO, а о доступе к MDIO Manageable Device (MMD) Registers (Indirect). Для этого можно (согласно даташита) использовать любой интерфейс. Я использую SPI.

Есть два 16 битных регистра: PHY MMD Setup Register (доступен по адресам 0xN11A - 0xN11B где N номер порта меди) и PHY MMD Data Register (доступен по адресам 0xN11C - 0xN11D).

С их помощью можно получить доступ к 65535 регистрам устройства (из них только 2 описаны в даташите).

Дело в том, что errata для свича чуть более чем на 90% состоит из рекомендаций вида: Write to the following MMD registers for each PHY port [1-5]    и далее список значений, например:

[MMD] [register] [data]
0x01 0x6F 0xDD0B
0x01 0x8F 0x6032
0x01 0x9D 0x248C
0x01 0x75 0x0060
0x01 0xD3 0x7777
0x1C 0x06 0x3008
0x1C 0x08 0x2001

Игнорировать errata как-то неправильно, особенно после внимательного прочтения.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this