Hi all,
I have a proble on configure ethenet led, please help me solve it !
On my design, I connect pin PF0( EN0LED0 ) to pin 10/100# of RJ45 port and PF4(EN0LED1) to pin Link/Act of RJ45 port.
And configure follow code:
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
SysCtlPeripheralSleepEnable(SYSCTL_PERIPH_GPIOF);
// PF1/PF0/PF4 are used for Ethernet LEDs.
//
HWREG(GPIO_PORTF_BASE+GPIO_O_LOCK) = GPIO_LOCK_KEY;
HWREG(GPIO_PORTF_BASE+GPIO_O_CR) |= GPIO_PIN_0;
GPIOPinConfigure(GPIO_PF1_EN0LED2);
GPIOPinConfigure(GPIO_PF0_EN0LED0);
GPIOPinConfigure(GPIO_PF4_EN0LED1);
//
// Make the pin(s) be peripheral controlled.
//
GPIODirModeSet(GPIO_PORTF_BASE, GPIO_PIN_1, GPIO_DIR_MODE_HW);
GPIODirModeSet(GPIO_PORTF_BASE, GPIO_PIN_0|GPIO_PIN_4, GPIO_DIR_MODE_HW);
//
// Set the pad(s) for standard push-pull operation.
//
GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_1, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD);
GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_0|GPIO_PIN_4, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD);
So, when ehthernety active have only LED link is flashing and LED speed is off. When I swap 2 LED by hardware these work.
But I don't want to relayout PCB.
My question : How to configure PF0 is speed led and PF1 is link led ?
I tried this code but not work:
//
// Configure Ethernet LED function
//
EMACPHYExtendedWrite(EMAC0_BASE, 0 , EPHY_LEDCR,
(EMACPHYExtendedRead(EMAC0_BASE, 0 , EPHY_LEDCR) & ~ EPHY_LEDCR_BLINKRATE_M) |
EPHY_LEDCR_BLINKRATE_20HZ);
EMACPHYExtendedWrite(EMAC0_BASE, 0 , EPHY_LEDCFG,
(EMACPHYExtendedRead(EMAC0_BASE, 0 , EPHY_LEDCFG) & ~ (EPHY_LEDCFG_LED0_M | EPHY_LEDCFG_LED1_M | EPHY_LEDCFG_LED2_M)) |
EPHY_LEDCFG_LED0_100BT |
EPHY_LEDCFG_LED1_LINK |
EPHY_LEDCFG_LED2_RXTX);
Thanks,
Huy Huynh