Phy initialization sequence in u-boot
About network interfaces in u-boot.
In case that there are two network interfaces on the board connected via different microchips phy. After power on the first interface is initialized and if it has a link, the second interface will be not initialized. If there is no link, the second interface will be initialized.
What does happen to the clock on the rmii bus?
There is the situation described when the board has two network interfaces. The first is connected to 88e1111, the second is to another one phy.
The description of the state of the signals should be divided into two parts.
1. Ethernet cabel is NOT connected to the first jack on power on and u-boot starting. U-boot has been started and and switched to the second Ethernet making the first non-active (for viewing the current active interface: (=> printenv ethact)
Clock state:
а. without having a link. The clock ОТ 88e1111 of rmii bus has a frequency of 125MHz.
The clock К 88e1111 of rmii bus has a frequency of 125MHz.
б. when connecting cabel to the Ethernet jack the clock ОТ 88e1111 of the rmii bus receives the frequency на которой происходит линк.
Example:
having a link of 1GB frequency - 125MHz
having a link of 100Mb frequency - 25MHz
The clock К 88e1111 of the rmii bus has a frequency of 125MHz.
2. Ethernet cabel is connected to the first jack while power on and u-boot starting. U-boot has been started and and switched to the first interface making it active: (=> printenv ethact)
Clock state:
а. without having a link. The clock ОТ 88e1111 of the rmii bus has a frequency 125MHz.
The clock К 88e1111 of the rmii bus has a frequency на которой был линк while u-boot starting and network initialization.
Example:
having a link of 1GB frequency - 125MHz
having a link of 100Mb frequency - 25MHz
б. Cabel is connected to the Ethernet jack. The clock ОТ 88e1111 of the rmii bus получаем ту frequency на которой происходит линк.
Example:
having a link of 1GB frequency - 125MHz
having a link of 100Mb frequency - 25MHz
The clock К 88e1111 of the rmii bus has a frequency на которой был линк WHILE STARTING u-boot and network initialization.
Example:
having a link of 1ГGB frequency - 125MHz
having a link of 100Mb frequency - 25MHz
Another state of clock is when a network interface is not connected to the phy, i.e., pins are not connected.
The clock ОТ 88e1111 of the rmii bus has a frequency 125MHz.
The clock К 88e1111 of the rmii bus - 0.
And one more variant when u-boot had been loaded by initialization of the first interface and making it active. The second interface on both clocks has a frequency of 125MHz.