I wanted to reduce power consuption of my K64F board which is quite high as is (over 100mA). After a bit of searching I found that by removing resistor R60 from the board, I can cut off power to the Ethernet PHY chip. That indeed reduced the consumption considerably, now it is only 25mA. But now the problem is that the MCU won't start running code anymore! Flash will upload without complaints, but the code execution does not start.
I suspect this is due to that the MCU uses the external 50Mhz clock supply from the Ethernet chip, which is now disabled. But shouldn't the MCU start by the internal VCO at first? I know I should be able to configure it to use the internal clock. But I have poked around the startup code files under the target folder (I'm using mbed libraries by the way) and there is not any clock setting that I can modify. I can't even find the MCG register writes that enable the external clock input in the first place. What could be the case here?
Furthermore about the MCG clock settings. Before I removed the resistor, I first tried to lower the power consumption by slowing down the clock. I found out that after reset, the clock registers are not what they are supposed to be after POR, so there must be some startup code configuring the clocks somewhere. Maybe the SDA uploader chip is doing them automatically?