Am 14.11.2016 um 10:46 schrieb H. Nikolaus Schaller hns@goldelico.com:
Hi, I have found a new phenomenon which appears to be closely related and needs discussion.
Last Friday, I picked up the remaining newly built CPU-Boards and 12 of them are 4 GB RAM while 18 are 2GB with IM chips.
I tested the 2GB first and except three of them they booted well and without immediately visible problems.
Then I started to test the 4GB boards with Samsung chips.
All of them run U-Boot, load the kernel, but they hang around 3-6 seconds.
But this is with the DT that is limited to 1GHz!
Interestingly I found this in the log:
[ 2.890039] SMPS6: supplied by vsys_cobra [ 2.894966] smps6: Bringing 1350000uV into 1200000-1200000uV
What is SMPS6? It drives the VDD-DDR3L.
So it looks as if U-Boot starts with 1.35V and the Kernel actively reduces it to 1.2V.
This mechanism might have been introduced recently and older kernels may have simply used the setting by U-Boot which appears to be 1.35V.
If this is too low, we risk that the DRAM fails spuriously.
It does not completely explain why this also depends on the Cortex-A15 clock and OPPs because the EMIF always runs with the same external data rate. This is at least what I understand. There might only be less moments of RAM inactivity.
Some explanation could be that higher current drawn by the OMAP5 core increases overall noise and running the DRAMs at wrong volts becomes more critical.
But it might explain why we did never see this on EVM or IGEP. AFAIK, they use a third type of DRAM chips (Micron).
So we have new questions: a) is 1.2V allowed for the DRAM chips we use
Answer: NO
for IM chips:
• Power supply : VDD, VDDQ = 1.35V (1.283V to 1.45V) - Backward compatible to VDD, VDDQ = 1.5V ± 0.075V
for Samsung chips:
• JEDEC standard 1.35V(1.28V~1.45V) & 1.5V(1.425V~1.575V) • VDDQ = 1.35V(1.28V~1.45V) & 1.5V(1.425V~1.575V)
Well, we have to check if this is just a spurious message from the kernel or if it is for real.
b) if not, why does the kernel reduce this voltage
Well, because it is instructed so:
http://git.goldelico.com/?p=gta04-kernel.git;a=blob;f=arch/arm/boot/dts/omap...
I will try to set this to 1350000.
BR, Nikolaus