Am Thu, 10 Nov 2016 18:47:56 +0100 hat "H. Nikolaus Schaller" hns@goldelico.com geschrieben:
Hi,
small update to my reply yesterday:
I recorded a quick video showing the power consumption of a boot-up process of the Pyra. The AC adaptor doesn't update very often (about once per second), but I think it's good enough.
It was still running the standard 1GHz frequency. I'll test different ones as soon as I can create my own board files.
Here is the video: https://youtu.be/aJRUnoKVWN0
I switch on the system at 00:04. Power consumption goes up to 0,57A.
At 00:07 / 00:08 it goes up to 0,74A. It probably has a lot higher peaks, as I've seen it go up to 0,87A as well with multiple tries.
That's exactly after the 3 seconds you reported (where 1,5GHz crashes).
Then the power consumption varies a bit (but never gets that high again) and after about 10 seconds, it goes down to 0,48A and mostly stays there during the boot up process.
So yes, it seems power consumption peaks after 3 seconds and then has another few peaks until everything settles down after 12 seconds.
That should explain why the board crashes immediately after 3 seconds at 1,5GHz and doesn't crash anymore when after 10 seconds when running with 1,25GHz.
I guess the kernel maxes the CPU usage when looking for the devices which is too much on our CPU board and it breaks down MPU voltage which leads to the freeze.
At 1,25GHz, we're probably right at the edge - so it boots sometimes. And if it survives the first 10 seconds, then power consumption goes down and there's no reason to crash anymore.
When running single core, power consumption of the OMAP5 is lower as well, that's why 1,5GHz work fine with a single core.
So it seems to be power related.
BUT there's still one thing: Is it the OVERALL power consumption that causes a problem or just peaks? Maybe your capacitor setup is not enough to buffer peaks but would be able to keep the power stable if we are able to reduce the peaks.
Maybe we can make the PALMAS react less aggressive, so that it doesn't increase the voltage suddenly (leading to peaks) but in lower steps?
If the kernel runs successfully for 10 seconds, the boot process completes and after ~30 seconds we have a login: prompt.
This 6-10 seconds windows is for 30 boot attempts where a total of 7 did succeed.
Now I really wonder what the kernel doing in this time frame which can make it freeze here but not outside this window?
Some interrupt initialization? Waiting during a spinlock for some wrong address to have a specific state?
In addition we know that clock initialization and switching from U-Boot speed (1GHz) happens at ca. 3 seconds. That is where 1.5 GHz freezes.
Anyone with other ideas?
Or explanations for this effect (immediate crash @3 seconds @1.5GHz, freeze never between 3 and 6 seconds or after 10 seconds @1.25GHz)?
BR, Nikolaus
PS: is it possible to run U-Boot @ 1.5GHz?