К сожалению мне не приходилось подключать PHY для поздних версий

Однако они все должны работать по стандартному интерфейсу. Насколько я помню в протоколе на адресацию устройства отведено 5 бит. драйвер перебирает все 32 устройства, читая идентификацию. Если устройства по этому адресу нет, то читается 0xFFFFFFFF.
Как найти код драйвера. Легче всего посмотреть имя драйвера в другой системе с кернелом 3.1 в /sys:
$ ls /sys/bus/platform/drivers
у меня это fec.
Дальше поищите имя в коде драйверов. Находясь в корне кернела исполните команду:
grep -rn '"fec"' drivers
скорее всего вы ищите строку
.name = "fec",
Ну а потом добавляя в разные места printk протестируйте, что происходит.
Отдельной опции не бывает по двум причинам:
1. Она не нужна, т.к. стандартным драйвером поддерживается целый класс устройств.
2. Код драйвера не добавлен в ядро.
Я почти уверен, что у вас первый случай.
Вы взяли за прототип какое-то устройство и поменяли PHY на удобный вам?
Если так, то есть ли у вас исходное устройство живьём?