Part Number: F28M35H52C
Tool/software: Code Composer Studio
Hi,
I've designed a PCB with F28M35H52C and implemented the ethernet peripheric as is done in EVB but with diferent pinout.
2 years ago had already done it in another deisgn and I had no problems. However I'm trying to debug the same code only changing the pin out configuration and it doesen't works. I've been trying to solve this for a long time and I'm not be able to find the error.
I'll put the pin configuration that it doesen't work, coul you tell me if there are some mistake?
// MII_COL, MII_TXD3, MII_TXD2, MII_TXD1, MII_TXD0
GPIODirModeSet(GPIO_PORTG_BASE, GPIO_PIN_2, GPIO_DIR_MODE_HW);
GPIOPadConfigSet(GPIO_PORTG_BASE, GPIO_PIN_2, GPIO_PIN_TYPE_STD);
GPIODirModeSet(GPIO_PORTH_BASE, GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_3 | GPIO_PIN_2, GPIO_DIR_MODE_HW);
GPIOPadConfigSet(GPIO_PORTH_BASE, GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_3 | GPIO_PIN_2, GPIO_PIN_TYPE_STD);
GPIOPinConfigure(GPIO_PG2_MIICOL);
GPIOPinConfigure(GPIO_PH2_MIITXD3);
GPIOPinConfigure(GPIO_PH3_MIITXD2);
GPIOPinConfigure(GPIO_PH4_MIITXD1);
GPIOPinConfigure(GPIO_PH5_MIITXD0);
// MII_RXCK, MII_PHYINTRn, MII_MDC, MII_MDIO, MII_RXD3
GPIODirModeSet(GPIO_PORTH_BASE, GPIO_PIN_7, GPIO_DIR_MODE_HW);
GPIOPadConfigSet(GPIO_PORTH_BASE, GPIO_PIN_7, GPIO_PIN_TYPE_STD);
GPIODirModeSet(GPIO_PORTJ_BASE, GPIO_PIN_3 | GPIO_PIN_6, GPIO_DIR_MODE_HW);
GPIOPadConfigSet(GPIO_PORTJ_BASE, GPIO_PIN_3 | GPIO_PIN_6, GPIO_PIN_TYPE_STD);
GPIODirModeSet(GPIO_PORTF_BASE, GPIO_PIN_5 | GPIO_PIN_4, GPIO_DIR_MODE_HW);
GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_5 | GPIO_PIN_4, GPIO_PIN_TYPE_STD);
GPIOPinConfigure(GPIO_PH7_MIIRXCK);
GPIOPinConfigure(GPIO_PJ6_MIIPHYINTRn);
GPIOPinConfigure(GPIO_PJ3_MIIMDC);
GPIOPinConfigure(GPIO_PF4_MIIMDIO);
GPIOPinConfigure(GPIO_PF5_MIIRXD3);
// MII_RXD2, MII_RXD1, MII_CRS, MII_TXER
// WARNING!!! El pin TXER no es realmente necesario y puede entrar en conflicto con el boot
// WARNING!!! Desoldar la R312 y no configurar si da problemas
// GPIODirModeSet(GPIO_PORTG_BASE, /*GPIO_PIN_7|*/GPIO_PIN_3|GPIO_PIN_1|GPIO_PIN_0, GPIO_DIR_MODE_HW);
// GPIOPadConfigSet(GPIO_PORTG_BASE, /*GPIO_PIN_7|*/GPIO_PIN_3|GPIO_PIN_1|GPIO_PIN_0, GPIO_PIN_TYPE_STD);
GPIODirModeSet(GPIO_PORTF_BASE, GPIO_PIN_6, GPIO_DIR_MODE_HW);
GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_6, GPIO_PIN_TYPE_STD);
GPIODirModeSet(GPIO_PORTB_BASE, GPIO_PIN_6 | GPIO_PIN_7, GPIO_DIR_MODE_HW);
GPIOPadConfigSet(GPIO_PORTB_BASE, GPIO_PIN_6 | GPIO_PIN_7, GPIO_PIN_TYPE_STD);
GPIOPinConfigure(GPIO_PF6_MIIRXD2);
GPIOPinConfigure(GPIO_PB7_MIIRXD1);
GPIOPinConfigure(GPIO_PB6_MIICRS);
/*GPIOPinConfigure(GPIO_PG7_MIITXER);*/
// MII_PHYRSTn, MII_RXD0, MII_TXEN, MII_TXCK
// WARNING!!! En la RevA/B hay que cambiar el orden de configuración de este sector
GPIODirModeSet(GPIO_PORTH_BASE,GPIO_PIN_1 | GPIO_PIN_0, GPIO_DIR_MODE_HW);
GPIODirModeSet(GPIO_PORTG_BASE, GPIO_PIN_6 | GPIO_PIN_5, GPIO_DIR_MODE_HW);
GPIOPinConfigure(GPIO_PH0_MIIPHYRSTn);
GPIOPinConfigure(GPIO_PH1_MIIRXD0);
GPIOPinConfigure(GPIO_PG5_MIITXEN);
GPIOPinConfigure(GPIO_PG6_MIITXCLK);//Define equivocat?
GPIOPadConfigSet(GPIO_PORTH_BASE, GPIO_PIN_1 | GPIO_PIN_0, GPIO_PIN_TYPE_STD);
GPIOPadConfigSet(GPIO_PORTG_BASE, GPIO_PIN_6 | GPIO_PIN_5, GPIO_PIN_TYPE_STD);
// MII_RXER, MII_RXDV
GPIODirModeSet(GPIO_PORTJ_BASE, GPIO_PIN_0, GPIO_DIR_MODE_HW);
GPIOPadConfigSet(GPIO_PORTJ_BASE,GPIO_PIN_0, GPIO_PIN_TYPE_STD);
GPIODirModeSet(GPIO_PORTH_BASE, GPIO_PIN_6, GPIO_DIR_MODE_HW);
GPIOPadConfigSet(GPIO_PORTH_BASE,GPIO_PIN_6, GPIO_PIN_TYPE_STD);
GPIOPinConfigure(GPIO_PJ0_MIIRXER);
GPIOPinConfigure(GPIO_PH6_MIIRXDV);
// Enable and Reset the Ethernet Controller
SysCtlPeripheralEnable(SYSCTL_PERIPH_ETH);
SysCtlPeripheralReset(SYSCTL_PERIPH_ETH);
Thank you so much,
Macià Capó
CITCEA-UPC