Посмотрел "модный" KSZ8041 и "зрелый" KS8721. У них Tsu - те же самые 4нс, от DM9161 никак не отличаются, так что не факт что на моей плате KSxxx заработают. Поиграюсь еще немного с трассировкой.
А вообще NXP - "маладцы" - никакой информации в даташите насчет времянок RMII нет - на Tsu, ни Th, ни Tod. Намерянное мной Tod для LPC2378 - 12-14нс - вывод по RMII "впритык" получается, если где хоть малейший косячок - имеем проблему.
До этого еще ковырялся с MDIO/MDC - там тоже времянки у LPC "сказочные" - в фазе вывода обеспечивает для PHY минимальнейшие Tsu порядка 10нс - короче LPC все время "по лезвию бритвы ходит".
Еще при обмене по MDIO/MDC в MIND периодически вылазит бит "MII link fail" при чтении регистра 1 от PHY. Причем все остальные регистры работают без проблем. И из "фатального" регистра 1 данные нормально и правильно, но вот бит сбоя вылазит. Записал осциллографом нормальный цикл обмена и цикл с установленным битом сбоя - никаких отличий нет. Написал в NXP насчет разъяснения значения бита - третью неделю "морозятся". Пришлось на этот бит ошибки пока забить - также сделано и в коде Keil/Micrium/Niche. Еще MDIO/MDC не обнаруживает отсутствие стартового бита в ответе - на SAM7 было удобно автоматически сканировать шину MDIO по адресам, теперь приходится полагаться только на читаемый ID.
Далее - JTAG у LPC23xx достаточно нестабильный. Я пользую терминальную отладку по DCC много лет - S3C44, S3C2410, IXP42x, PXA3xx, SAM7xx, BGB203 - все работают замечательно на том же софте и тех же адаптерах, а вот у 23-го при простом мониторинге DCC иногда вылазит какая-то хрень. Причем проблема явно аппаратная - если плату не трогать - тесты сутками крутятся, но стоит ее потрогать руками - тут же слетает. И подтяжки все на входах JTAG есть, и частоты входные не очень большие, и трассировка класса "не первый год замужем", а вот периодически слетает и все. Причем, сам процессор работает нормально и не сбрасывается, программа продолжает работать, слетает именно сам ICE/DCC - переинициализируешь по JTAG - все продолжается, программа сбоя даже не замечает. При отладке эзернета еще чудная вещь вылезла - при таком сбое по JTAG напрочь отваливается EMAC RAM. Все регистры EMAC-а доступны, все работает, а вот 16K памяти EMAC - просто нет. PCONP тут не причем - не помогает даже сброс-установка 30-го бита в PCONP, также не помогает сброс WDT - только "честный" аппаратный сброс через внешний вход. Классный такой баг - в сетевом стеке начинают разнобразные ассерты сыпаться - просто волосы дыбом встают, почти два дня на эту ерунду убил

- мысль об отказе памяти даже в голову прийти не могла.