Identifying number of cores on IMX6 cpu board

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Identifying number of cores on IMX6 cpu board

Jump to solution
5,075 Views
venkatesh_raika
Contributor II

HI All,

I have a imx6 board MCIMX6xAICPU1

I am not sure how to identofy what exactly is the CPU on this board . I mean weather it is IMX6Solo, Dual or Quad Core.

Can you please let me know how to identify the board/cpu ?

is it like MCIMX6xAICPU1  means Solo and for dual it will be CPU2 and so on ?

Regards,

1 Solution
2,973 Views
rogerio_silva
NXP Employee
NXP Employee

Are you using Linux?

If so, you can see on the Linux boot a message like this:

CPU identified as i.MX6Q, silicon rev 1.1

You can also check using the command:

dmesg | grep CPU

Rgds,

Rogerio

View solution in original post

0 Kudos
14 Replies
2,973 Views
fabio_estevam
NXP Employee
NXP Employee

CONFIG_NR_CPUS is used if you want, for example, run only one core on a mx6quad system.

0 Kudos
2,973 Views
vinodmaverickr0
Contributor IV

Yes There are lot of ways to check the number of cores in Linux like cpuinfo or lscpu.

You can also check the number of core from your linux source code in the .config file

CONFIG_NR_CPUS=4

0 Kudos
2,973 Views
ramirosenbaum
Contributor II

So now I'm confused:

Fabio wrote it's automatically done, but Vinod mentioned the hard-coded defconfig flag.

(P.S. - seems CONFIG_NR_CPUS isn't used in the IMX6 arch - is that correct???)

thanks

0 Kudos
2,973 Views
vinodmaverickr0
Contributor IV

CONFIG_NR_CPU is nothing to do with iMX6 or X86; it is generic config used in Linux kernel. As Fabio also mentioned; It is just used in to select the number of cores according to your requirements.

For example if you want are working on the iMX6 dual core CPU; then CONFIG_NR_CPU=2

I was just trying to say that if you can also check the number of CPU being used in the current code through defconfig file.

0 Kudos
2,973 Views
ramirosenbaum
Contributor II

I understand CONFIG_NR_CPU is a generic Linux flag, not specific to this or that configuration.

I just pointed the fact the it was not used (or at least not explicitly used) in the Linux .config of my Yocto build, so the dual-core example above seems redundant.

I understand down-grading a quad to a single (if one wants), but what if one runs a single core with Linux built with CONFIG_NR_CPU=4 by mistake?

My simple question is: will the same disto (Linux and DTS) work with IMX6 single, dual and quad cores? Will the correct number of cores be shown for each board? Or do I need a different zImage for each board?

Sorry for nagging

0 Kudos
2,973 Views
fabio_estevam
NXP Employee
NXP Employee

The dts will change depending on the mx6 variant.

We can have a single U-Boot that detects the mx6 variant and load the correct dtb. The zImage and rootfs are common for all mx6 variants.

We do this for mx6 wandboard and mx6 cubox-i boards for example.

The kernel will automatically check for the number of cores in run-time, so it will always report the correct number of CPUs.

2,972 Views
fabio_estevam
NXP Employee
NXP Employee

You can check the U-boot code that checks for the mx6 variant inside get_cpu_rev() function:

http://git.denx.de/?p=u-boot.git;a=blob;f=arch/arm/cpu/armv7/mx6/soc.c;h=fc436fbee7c971978a896cdf24c...

2,973 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello,venkatesh,

      The simple way is to check partnumber on top side of CPU, the following is just an example.

you can check partnumber and compare it with that of in datasheet.

(1)i.MX6DL & i.MX6S

i.MX6DL_S.png

(2)i.MX6DQ(D: 2-CORE; Q: 4-CORE),following is for consumer

i.MX6DQ.png

<note>

----i.MX6DQ  datasheet

(1)IMX6DQCEC.pdf is for consumer.

(2)IMX6DQIEC.pdf is for industrial

(3)IMX6DQAEC.pdf is for automotive

---i.MX6DL/i.MX6S

(1)IMX6SDLAEC.pdf is for automotive

(2)IMX6SDLCEC.pdf is for consumer

(3)IMX6SDLIEC.pdf is for industrial

Regards,

Weidong

0 Kudos
2,973 Views
venkatesh_raika
Contributor II

Thanks Weidong,

The problem is i cant see the top side of CPU as it is covered with the heat sink.

Any other way i can get  the info by looking on to the board ?

0 Kudos
2,973 Views
LeonardoSandova
Specialist I

Another way to check the the number of CPUs, type 'cat /proc/cpuinfo'

2,973 Views
ramirosenbaum
Contributor II

Hi,

Is the identifying done automatically? Or is it hard-coded?

Meaning: The same SW image (u-boot, Linux, device-tree and RFS) being run by single-core and quad-code IMX6 - will cpuinfo print the correct number of cores?

0 Kudos
2,973 Views
fabio_estevam
NXP Employee
NXP Employee

Yes, cpuinfo will always print the correct information about the number of cores.

0 Kudos
2,973 Views
venkatesh_raika
Contributor II

Thanks guys.

I was able find get the info using command "dmesg | grep CPU"

2,974 Views
rogerio_silva
NXP Employee
NXP Employee

Are you using Linux?

If so, you can see on the Linux boot a message like this:

CPU identified as i.MX6Q, silicon rev 1.1

You can also check using the command:

dmesg | grep CPU

Rgds,

Rogerio

0 Kudos