Debido a un problema en Nios® II herramienta de desarrollo de software, la configuración predeterminada de Nios® II plantilla de servidor de socket simple (RMII) no está dirigida a PHY MARVELL, lo que dio lugar a configuraciones de PHY incorrectas que provocaron un enlace Ethernet inactivo.
Este problema se observa en Nios® II SBT versión 17.1 en adelante.
Para evitar este problema, el usuario debe modificar los parámetros siguientes en la plantilla para habilitar las configuraciones de MARVELL PHY RGMII.
Vaya al directorio del proyecto: .. /software/<project_name>/tse_my_system.c
Paso 1. Descomente la siguiente definición:
/* si usa Marvell phy y desea el modo rgmii, descomente esto define */
#define SET_MARVELL_RGMII_MODE //descomentar esta definición para habilitar RGMII
#ifdef SET_MARVELL_RGMII_MODE
#define ADDITIONAL_PHY_CFG marvell_cfg_rgmii
#else
#define ADDITIONAL_PHY_CFG 0
#endif
Paso 2. Busque la definición "ifdef DESCRIPTOR MEMORY BASE" y verifique que elprimer argumento de la función TSE_SYSTEM_EXT_MEM_NO_SHARED_FIFO que se declare como "ETH_TSE" y no como "TSE_0_TSE"
Como se muestra en la siguiente porción de código:
#ifdef DESCRIPTOR_MEMORY_BASE
alt_tse_system_info tse_mac_device[MAXNETS] = {
TSE_SYSTEM_EXT_MEM_NO_SHARED_FIFO(ETH_TSE, 0, TSE_0_DMA_TX, TSE_0_DMA_RX, TSE_PHY_AUTO_ADDRESS, ADDITIONAL_PHY_CFG, DESCRIPTOR_MEMORY)
};