так что не так нашел

LwIP внутри имеет функцию низкоуровневой инициализации там делается все.
там прописываются и регистры phy и инитится MAC контроллер, а также устанавливаются обработчики прерывания, потому на верхнем уровне необходимо лишь разрешить обработку прерывания, а все остальное сделается само...
С одной стороны приятно, с другой стороны это слишком все как то опасно, особенно с забывчивостью SDK перезапустить либген.... Ну и слишком тесно связаны становятся модули, не стройно это все как-то...