Other Parts Discussed in Thread: CONTROLSUITE
I have a sinking feeling that my version of the F28M35H52C1 YF-24AVD3W (Device ID Reg 0 = 0x20400000, Device ID Reg 1 = 0x1154804C) does not support Alternate Mode 15 Peripherial selection on Ports F, G, H, and J. We are trying to use the MII signals specified in SPRS742D (August 2012) Table 2.28. However, that document conflicts with SPRUH22B (December 2011) Table 4.1.
Below is our code to set up the pins, but we don't see any signals with the logic analyzer (e.g. no clock on MDC, etc.). We've checked the registers and they are indeed being set as intended in the code below. We are using the enet_uip_m3 example project ControlSUITE, just using different pins for the ENET interface.
Any insight will be greatly appreciated.
Thanks!
Paul
// MII_TXEN
GPIODirModeSet(GPIO_PORTF_BASE, GPIO_PIN_5, GPIO_DIR_MODE_HW);
GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_5, GPIO_PIN_TYPE_STD);
HWREG(GPIO_PORTF_BASE + GPIO_O_APSEL)|= 0x00000020;
HWREG(GPIO_PORTF_BASE + GPIO_O_PCTL) &= 0xFF0FFFFF;
HWREG(GPIO_PORTF_BASE + GPIO_O_PCTL) |= 0x00F00000;
// MII_TXCK, MII_TXER
GPIODirModeSet(GPIO_PORTG_BASE, GPIO_PIN_0 |
GPIO_PIN_1|
GPIO_PIN_7, GPIO_DIR_MODE_HW);
GPIOPadConfigSet(GPIO_PORTG_BASE, GPIO_PIN_0 |
GPIO_PIN_1 |
GPIO_PIN_7, GPIO_PIN_TYPE_STD);
HWREG(GPIO_PORTG_BASE + GPIO_O_APSEL)|= 0x00000083;
HWREG(GPIO_PORTG_BASE + GPIO_O_PCTL) &= 0x0FFFFF00;
HWREG(GPIO_PORTG_BASE + GPIO_O_PCTL) |= 0xF00000FF;
// MII_TXD3, MII_TXD2, MII_TXD1, MII_TXD0, MII_COL, nMII_PHYRST, nMII_PHYINTR, MII_MDC
GPIODirModeSet(GPIO_PORTH_BASE, GPIO_PIN_0 |
GPIO_PIN_1 |
GPIO_PIN_2 |
GPIO_PIN_3 |
GPIO_PIN_4 |
GPIO_PIN_5 |
GPIO_PIN_6 |
GPIO_PIN_7, GPIO_DIR_MODE_HW);
GPIOPadConfigSet(GPIO_PORTH_BASE, GPIO_PIN_0 |
GPIO_PIN_1 |
GPIO_PIN_2 |
GPIO_PIN_3 |
GPIO_PIN_4 |
GPIO_PIN_5 |
GPIO_PIN_6 |
GPIO_PIN_7, GPIO_PIN_TYPE_STD);
HWREG(GPIO_PORTH_BASE + GPIO_O_APSEL)|= 0x000000FF;
HWREG(GPIO_PORTH_BASE + GPIO_O_PCTL) &= 0x00000000;
HWREG(GPIO_PORTH_BASE + GPIO_O_PCTL) |= 0xFFFFFFFF;
// MII_MDIO , MII_RXD3 , MII_RXD2 , MII_RXD1, MII_RXD0, MII_RXDV, MII_RXER, MII_RXCK
GPIODirModeSet(GPIO_PORTJ_BASE, GPIO_PIN_0 |
GPIO_PIN_1 |
GPIO_PIN_2 |
GPIO_PIN_3 |
GPIO_PIN_4 |
GPIO_PIN_5 |
GPIO_PIN_6 |
GPIO_PIN_7, GPIO_DIR_MODE_HW);
GPIOPadConfigSet(GPIO_PORTJ_BASE, GPIO_PIN_0 |
GPIO_PIN_1 |
GPIO_PIN_2 |
GPIO_PIN_3 |
GPIO_PIN_4 |
GPIO_PIN_5 |
GPIO_PIN_6 |
GPIO_PIN_7, GPIO_PIN_TYPE_STD);
HWREG(GPIO_PORTJ_BASE + GPIO_O_APSEL)|= 0x000000FF;
HWREG(GPIO_PORTJ_BASE + GPIO_O_PCTL) &= 0x00000000;
HWREG(GPIO_PORTJ_BASE + GPIO_O_PCTL) |= 0xFFFFFFFF;