Have a look at the file and verify if the configuration for eTSEC2 is correct
->Looks correct, more or less.
Linux reports that eTSEC2 has a link (link detected). Is it because of our fixed link definition or it really detected a link?
->It is not always possible to detect a fixed link because there is no PHY that would report the status. Linux does not do any specific check for this kind of links.
In other words, if I define a fixed link, but the switch (to which the eTSEC is connected) is off, does it still report “link detected”?
->Yes, but in the spcific case of SGMII, where two PCS are sitting in between, it is possible. Check the TBI SR register to see if the TBI has detected a link. More details can be found in AN3869.
Finally, as I explained, eTSEC3 is also in sgmii mode exactly the same as eTSEC2. To define it in .dts, is it enough to define ...
...and enet0: ethernet@B2000 or the name name of tbi0 and its register value 0x11 have to be changed?
->There shall be no duplicated lables like tbi0: or enet0:. Refer to the SDK default device tree definnitions for your chip for the proper eTSEC3 node and apply the modifications described in the initial response. Equal values of the "reg" property are valid because the addressed entities sit on independent buses.