@luz @wdu Thank you for your analysis and solution for this issue. This thread has served me a great purpose for a similar issue.
I need to use phy0 as WAN, phy1 as LAN and other three phy ports as GPIO pins. When I tried the solution that is mentioned in this thread, it disables all the lan ports (except phy0).
When I need only phy1 to be used as LAN, what is the registry value that I should use?
Following, is the change I tried.
volatile uint32_t *reg = (volatile uint32_t*) (gpio_mmap_reg + 0x3c);
unsigned int v;
v = *reg;
v |= 0x1e << 16;
*(volatile uint32_t*) (reg) = v;