Недавно перешел на LPC3250 c LPC2378 и не могу сконфигурировать PHY устройство (отсутствует сигнал ENET_MDC), хотя после загрузки linux данный сигнал появляется. За основу взял исходники LPC2378. Нет ли у кого примера иницализации MII? Привожу свою инициализацию до чтения ID PHY device: MACCLK_CTRL = 0x1с;
// Reset all EMAC internal modules. MAC1 = MAC1_RES_TX | MAC1_RES_MCS_TX | MAC1_RES_RX | MAC1_RES_MCS_RX | MAC1_SIM_RES; COMMAND = CR_REG_RES | CR_TX_RES | CR_RX_RES;
// A short delay after reset. for (tout = 100; tout; tout--);
// Initialize MAC control registers. MAC1 = MAC1_PASS_ALL; MAC2 = MAC2_CRC_EN | MAC2_PAD_EN; MAXF = ETH_MAX_FLEN; CLRT = CLRT_DEF; IPGR = IPGR_DEF;
MCFG = MCFG_HCLK_DIV_28; for (tout = 100; tout; tout--);
// Enable Reduced MII interface. COMMAND = CR_RMII | CR_PASS_RUNT_FRM;
// Reset Reduced MII Logic. SUPP = SUPP_RES_RMII; for (tout = 100; tout; tout--); SUPP = 0; PHY_ADDR=1; while(1) { // Reset PHY device write_PHY (PHY_REG_BMCR, 0x8000); for (tout = 10000; tout; tout--); for (tout = 0; tout < 0x1000; tout++) { regv = read_PHY (PHY_REG_BMCR); if (!(regv & 0x8000)) break; } }
// Read ID PHY device id1 = read_PHY (PHY_REG_IDR1); id2 = read_PHY (PHY_REG_IDR2);
|