One thing I want to understand is that what should I do on the MAC Address?
I understand that MAC address is a layer 2 topic and the PHY device has nothing to do with it.
So, the MAC Controller has the MAC Address.
My question is, should I set the MAC address from the PHY to the controller? Or does the Controller has a MAC address on its own?
How can I find the MAC address using the registers of the PHY? Is it possible that I can detect some information regarding the MAC Address through the PHY (somehow through the register dump)?
The MAC address is set in the network software stack. If available, it often uses an unique processor ID or serial number together with a vendor specifique part to assemble the required unique MAC ID. Read the software documentation.
Expect that the MAC address is stored in a register set of the ethernet (MAC) controller. The register map can be found in the complete processor reference manual.
If the MAC is set by software ... and the software is just "copied", then it's likely that the produced devices get the same MAC. This will cause problems, because the can not be accessed individually.