Hi,
I saw random failure (CPU/System lockup) on memtester when I stressed the internal LDO. Below are my hardware and software settings.
Hardware:
iMX6D + 1GB x64 memory + uSD
Software:
Linux Kernel 3.0.35_3.0.3 + ldo.sh + memtester
ldo.sh:
#!/bin/sh
## This script is to be used with memory_test.
## It will adjust the voltage to the LDO's as the
## memory test runs.
setspeed(){ echo $1 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed; }
vddsoc(){ if [ 0 -eq $# ]; then echo -n "vddsoc: " ; cat /sys/class/regulator/regulator.3/microvolts ; else echo $* > /sys/class/regulator/regulator.3/microvolts ; fi }
setspeed 396000
while :
do
vddsoc 1250000 ;
vddsoc 1175000 ;
done
memtester:
I have 2 questions:
1. Can we stress internal LDO like this?
2. If answer to #1 is yes, how can we debug this since it's internal LDO?
Solved! Go to Solution.
Hi, William
I do NOT understand what is your purpose of such test case, as the internal LDO's voltage will be changed according to CPUFreq change. Each CPU setpoint has its own setting of VDDARM and VDDSOC/PU, from your test case, I thought you try to make CPU running @396M, then do VDDSOC LDO output stress test. But I did NOT see you change the CPUFreq governor, as we use interactive governor by default, so CPUfreq will be changing according to CPU loading, so if you do want to do such test, please use powersave governor or userspace governor, then the CPU will be fixed at 396M. But I do NOT recommend you to do such test, as it is not making big sense, also, VDDPU should be always same as VDDSOC, not sure if you only adjust vddsoc would cause problem.
Please check you cpufreq governor first, if it is interactive, then your test case's failure is expected, as VDDSOC 1.175V is not enough for CPU running @1GHz.
William, please click Correct Answer/Helpful Answer, if your question had been answered. Otherwise, we may close your discussion in 3 days.
Thanks,
Yixing
William,please click Correct Answer/Helpful Answer, if your question had been answered.
Thanks,
Yixing
Hi, William
I do NOT understand what is your purpose of such test case, as the internal LDO's voltage will be changed according to CPUFreq change. Each CPU setpoint has its own setting of VDDARM and VDDSOC/PU, from your test case, I thought you try to make CPU running @396M, then do VDDSOC LDO output stress test. But I did NOT see you change the CPUFreq governor, as we use interactive governor by default, so CPUfreq will be changing according to CPU loading, so if you do want to do such test, please use powersave governor or userspace governor, then the CPU will be fixed at 396M. But I do NOT recommend you to do such test, as it is not making big sense, also, VDDPU should be always same as VDDSOC, not sure if you only adjust vddsoc would cause problem.
Please check you cpufreq governor first, if it is interactive, then your test case's failure is expected, as VDDSOC 1.175V is not enough for CPU running @1GHz.