Вот пытаюсь запустить ethernet на lpc2364 с PHY ks8721bl. Схемотехническое решение "подсмотрел" у OLIMEX lpc-p2378, драйвера для трансивера тоже оттуда. Результатом стараний явился сабж - проц подвисает при инициализации MAC'а

привожу кусок кода, где возникает проблема:
CODE
Boolean tapdev_init(void)
{
Int32U Reg,to;
// Pins assignment
PINMODE2 = 0xA02A220A; // P1[0,1,4,6,8,9,10,14,15] disable pu/pd
PINMODE3 = 0x0000000A; // P1[17:16] disable pu/pd
PINSEL2 = 0x50151105; // selects P1[0,1,4,6,8,9,10,14,15]
PINSEL3 = 0x00000005; // selects P1[17:16]
// clk enable
PCONP_bit.PCENET = 1;
POWERDOWN_bit.POWERDOWN = 0;
// Reset entire MAC
MAC1 = 0x0000CF00; // reset transmit, receive function logic, reset MAC control sublayer / transmit, receive logic, reset random number
// generator within transmit, put all modules in reset
COMMAND = 0x0038; // reset all datapaths and host registers
MAC1 = 0;
{
Int32U Reg,to;
// Pins assignment
PINMODE2 = 0xA02A220A; // P1[0,1,4,6,8,9,10,14,15] disable pu/pd
PINMODE3 = 0x0000000A; // P1[17:16] disable pu/pd
PINSEL2 = 0x50151105; // selects P1[0,1,4,6,8,9,10,14,15]
PINSEL3 = 0x00000005; // selects P1[17:16]
// clk enable
PCONP_bit.PCENET = 1;
POWERDOWN_bit.POWERDOWN = 0;
// Reset entire MAC
MAC1 = 0x0000CF00; // reset transmit, receive function logic, reset MAC control sublayer / transmit, receive logic, reset random number
// generator within transmit, put all modules in reset
COMMAND = 0x0038; // reset all datapaths and host registers
MAC1 = 0;
после попытки обнулить регистр MAC1 ниче дальше не выполняется
Подскажите, пжлст, где грабли зарыты? Может ли трансивер так влиять на работу MAC'а??