On my custom board based on imx6ull, which has the IMX_THERMAL driver enabled in U-Boot and Linux. We see on Linux boot random crashes (random means not on every boot, also not even the same crash dump/reason in linux). My first suggestion was instable RAM, but RAM seems stable.
After some investigations it turned out, that setting the REFTOP_SELFBIASOFF (misspelled in the code: REFTOP_SELBIASOFF) bit in the linux thermal driver seems the problem.
I saw that the kernel driver does not check first if REFTOP_VBGUP
is set and added this, but this did not helped.
U-Boot does this check here:
soc.c\mx6\mach-imx\arm\arch - uboot-imx - i.MX U-Boot Line 383
More investigations into this problem and we found how U-Boot handles this bit:
U-Boot: Sets this bit in arch_cpu_init()
U-Boot: Sets this bit in IMX_THERMAL driver
U-Boot: Clears this bit in IMX_THERMAL driver
If we now remove the clearing of this bit in U-Boot in the thermal driver, we also see no crashes anymore in Linux (more than 12000 power on/off cycles)
My questions are now:
- Does anyone know more about this bit REFTOP_SELFBIASOFF than is described in the RM?
Or know somebody, who could know it?
- What effect has this bit? May it leads in more power consumption?
- Is the IMX_TERMAL driver in the U-Boot allowed to reset the bit in this way/context?
Thanks in advance!