<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi all,<div class="">we know that the Pyra CPU boards (at least the 3 units we have running)</div><div class="">make problems when we use OPP to allow for 1.5GHz. The kernel suddenly</div><div class="">hangs without obvious and repeatable error messages.</div><div class=""><br class=""></div><div class="">At 1.0 GHz (or 1.5 GHz and disabling the second core) the OMAP5432 works.</div><div class=""><br class=""></div><div class="">To get some more insights I have done some tests.</div><div class=""><br class=""></div><div class="">* Board M4+C19 w/o display</div><div class=""><div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><div class="">* Kernel: letux-4.7.0</div><div class="">* 500MHz + 750MHz OPP runs accoding to default DT</div><div class="">* 1.0GHz OPP in DT modified to check what happens</div><div class="">* temperature driven by /root/high-load (prints 3 temperature hwmon values every second)</div><div class=""><br class=""></div><div class="">A) 1.0GHz@1060000uV</div><div class="">kernel boot:<span class="Apple-tab-span" style="white-space:pre"> </span>ok</div><div class="">high-load:<span class="Apple-tab-span" style="white-space:pre"> </span>runs unlimited<br class=""><br class=""></div><div class="">Comment:</div><div class="">This is what works since march 2016.</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">B) 1.1GHz@1060000uV</div><div class="">kernel boot:<span class="Apple-tab-span" style="white-space:pre"> </span>ok</div><div class="">high-load:<span class="Apple-tab-span" style="white-space:pre"> </span>reaches 97°C after 25 min</div><div class="">cpufreq-info:<span class="Apple-tab-span" style="white-space:pre"> </span>96%@1.1 GHz</div><div class=""><br class=""></div><div class="">Comment:</div><div class="">I remember that temperature was ~92°C at 1.0 GHz so this drives</div><div class="">the temperature up by 5K.</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">C1) 1.3GHz@1060000uV</div><div class="">kernel boot:<span class="Apple-tab-span" style="white-space:pre"> </span>hangs during initial boot</div><div class=""><br class=""></div><div class="">Note:<span class="Apple-tab-span" style="white-space:pre"> </span>hang means the CPU isn't responding on serial interface and status LEDs are no longer blinking</div><div class=""><br class=""></div><div class="">Comment:</div><div class="">obviously the voltage is too low for 1.3 GHz.</div><div class=""><br class=""></div><div class="">C3) 1.0GHz@1060000uV + 1.3GHz@1150000uV</div><div class="">kernel boot:<span class="Apple-tab-span" style="white-space:pre"> </span>ok</div><div class="">high-load:<span class="Apple-tab-span" style="white-space:pre"> </span>hangs after 15 seconds after reaching 63°C</div><div class=""><br class=""></div><div class="">repeated boot attempts:</div><div class="">C3a) high-load:<span class="Apple-tab-span" style="white-space: pre;"> </span>hangs after some seconds at 64°C</div><div class=""><br class=""></div><div class="">C3b) high-load:<span class="Apple-tab-span" style="white-space:pre"> </span>runs >15 min</div><div class=""><span class="Apple-tab-span" style="white-space:pre"> </span>ramps up to 100-103°C suddenly jumps down to 82-95°C.</div><div class=""><span class="Apple-tab-span" style="white-space:pre"> </span>reaches after ca. 10 sec again >100°C.</div><div class=""><span class="Apple-tab-span" style="white-space:pre"> </span>As if some over temperature protection throttles the CPU clock</div><div class="">PCB temperature:<span class="Apple-tab-span" style="white-space:pre"> </span>80°C</div><div class="">cpufreq-info:<span class="Apple-tab-span" style="white-space:pre"> </span>just 73%@1.3 GHz</div><div class=""><br class=""></div><div class="">C3c) high-load:<span class="Apple-tab-span" style="white-space:pre"> </span>hangs after 15 sec at 65°C</div><div class=""><br class=""></div><div class="">Comment:</div><div class="">This means it runs not 100% reliable at this OPP and the effect</div><div class="">seems to be temperature dependent. But if the OMAP runs it</div><div class="">comes into a temperature limit which triggers some overtemp</div><div class="">protection built into the kernel.</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">D) 1.0GHz@1060000uV + 1.5GHz@1150000uV</div><div class="">kernel boot:<span class="Apple-tab-span" style="white-space:pre"> </span>hangs after 4.3-4.4 sek (3 times reproducible)<br class=""></div><div class=""><br class=""></div><div class="">E1) 1.5GHz@1250000uV:<span class="Apple-tab-span" style="white-space:pre"> </span></div><div class="">kernel boot:<span class="Apple-tab-span" style="white-space:pre"> </span>hangs after 6.3-6.5 sek (3 times reproducible)</div><div class=""><br class=""></div><div class="">E2) 1.5GHz@1300000uV (close to upper limit according to "Data Manual Operating Condition Addendum Version 0.6"):</div><div class="">kernel boot:<span class="Apple-tab-span" style="white-space:pre"> </span>hangs at 6.6 sek</div><div class=""><br class=""></div><div class="">F) test E1 + OMAP5_ERRATA_801819 enabled</div></div><div class="">kernel boot:<span class="Apple-tab-span" style="white-space:pre"> </span>hangs again 6.4 sek (in "Synthesizing the initial hotplug events...")</div><div class=""><br class=""></div><div class="">Comment:</div><div class="">it was not possible to boot in dual core 1.5 GHz mode. Very strange and unexpected</div><div class="">is that the kernel hangs repeatedly at 6.3-6.6 seconds as if there is something in the</div><div class="">code which increases the risk of a hang (deadlock).</div><div class=""><br class=""></div><div class="">So it is either a kernel software issue (something critical is running faster</div><div class="">at 1.5 Ghz resulting in a deadlock). Or the voltage is still too low. But I did not</div><div class="">dare to increase it further since it may destroy the valuable CPU board...</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">G) [<span style="font-family: 'Helvetica Neue';" class="">Kernel] omap5 mpu bridge dividers</span></div><div class="">Matthijs recently reported a potential issue here with the above subject line.</div><div class=""><br class=""></div><div class="">A simple test would be to boot at 1.5Ghz and then run</div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre"> </span>omapconf write 0x4A004320 0x06000001</div><div class=""><br class=""></div><div class="">But I can't even boot at 1.5Ghz so I have no chance to test.</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Summary / Discussion:</div><div class="">* it looks as if 1 GHz (or single core 1.5 GHz) works without problems</div><div class="">* for 1.3 GHz we have to increase CPU voltage or the kernel hangs</div><div class="">* at 1.5 GHz I wasn't able to boot even with increasing CPU voltage</div><div class=""><br class=""></div><div class="">The data sheets hint at using AVS and ABB.</div><div class=""><br class=""></div><div class="">"4.3.1</div>AVS and ABB Requirements<br class="">Adaptive Voltage Scaling (AVS) and Adaptive Body Biasing (ABB) are <b class="">required</b> on most of the VDD_* domains as defined in Table 4-7"<div class=""><br class=""></div><div class="">Table 4-7 indirectly defines all operation points >1.0 GHz as required.</div><div class=""><br class=""></div><div class="">"<span class="Apple-tab-span" style="white-space: pre;"> </span>• The AVS Voltages <b class="">are device-dependent</b>, voltage domain-dependent, and OPP-dependent. They must be read from the CONTROL_STD_FUSE_OPP_VDD Registers in the Control Module Section of the TRM."</div><div class=""><br class=""></div><div class="">From this I read that every sigle OMAP chip is slightly different and TI measures these differences during production.</div><div class=""><br class=""></div><div class="">This should be done by the AVS drivers.</div><div class=""><br class=""></div><div class="">We did not have CONFIG_POWER_AVS_OMAP enabled but only CONFIG_POWER_AVS.</div><div class=""><br class=""></div><div class="">But although I changed that and did some additional tests, it has no influence.</div><div class="">And the AVS seems to be incomplete and non-operational anyways:</div><div class=""><br class=""></div><div class=""><div class=""><div class="">[ 4.977605] sr_init: No PMIC hook to init smartreflex</div><div class="">[ 4.982922] driver_register 'smartreflex'</div><div class="">[ 4.987747] sr_init: platform driver register failed for SR</div><div class=""><br class=""></div><div class="">... and the kernel hangs again at 6.43 sec. As if there is a watchdog timer in the OMAP that is only running in 1.5GHz mode...</div><div class=""><br class=""></div></div></div><div class="">So I think a hardware issue is quite unlikely, especially as the 1.5 GHz setup hangs always at</div><div class="">the same 6.3-6.6 seconds after Linux Start.</div><div class=""><br class=""></div><div class="">And before I waste more and more weeks on looking for really difficult to grab hardware issues</div><div class="">I would like to hear kernel-specialist's opinions first.</div><div class=""><br class=""></div><div class="">BR and thanks,</div><div class="">Nikolaus</div><div class=""><br class=""></div></div></div></div></body></html>