I've been running with the SABRESDB (i.MX6Q), and have recently shifted over to custom hardware that uses the i.MX6D. In both cases, u-boot tells me the CPU is i.MX6Q. The USB_ANALOG_DIGPROG (Chip Silicon Version) register reads 00630002, which according to arch/arm/include/asm/arch-mx6/sys_proto.h in u-boot implies that the SOC is an i.MX6Q. So, my guess is that both the i.MX6Q and i.MX6D have the same MAJOR field in the version (true?). If that is the case, then what other register can I look at to tell the difference between i.MX6Q and i.MX6D?
I tried probing the ARM MPIDR (Multiprocessor Affinity Register), but apparently that only tells me what CPU core I am running on, not how many cores.
Any ideas?
Ed
Solved! Go to Solution.
Ed,
read the fuse "NUM_CORES". Page 358 of the Reference Manual.
Best regards,
Manuel.
Ed,
read the fuse "NUM_CORES". Page 358 of the Reference Manual.
Best regards,
Manuel.
Manuel,
Great thanks!
I also just stumbled on this patch to fix the uboot code...
[U-Boot] [PATCH] ARM: i.MX6: add i.MX6D to detected variants
I applied this patch, and that fixed the u-boot output as well.
Ed
If you use Linux and at least one display, turn on the "boot logo" on the config and pay attention to what happens with the penguin according to the number of cores of your processor: really fun :smileysilly: