How to configure 4 CPUs on SABRE board for smart device

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

How to configure 4 CPUs on SABRE board for smart device

2,857 Views
jackeyko
Contributor III

Hi Community,

I use the SABRE board on kernel-3.14.28.

The SABRE borad is I.MX6Q(4 cpus)

So, I checked number of CPU using cat /proc/cpuinfo.

-------------------------------------------------------------------------------------------------------

root@imx6qsabresd:~# cat /proc/cpuinfo
processor       : 0
model name      : ARMv7 Processor rev 10 (v7l)
Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpd32
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x2
CPU part        : 0xc09
CPU revision    : 10

processor       : 1
model name      : ARMv7 Processor rev 10 (v7l)
Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpd32
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x2
CPU part        : 0xc09
CPU revision    : 10

Hardware        : Freescale i.MX6 Quad/DualLite (Device Tree)
Revision        : 0000
Serial          : 0000000000000000
root@imx6qsabresd:~#

-------------------------------------------------------------------------------------------------------

but, cpu setting is 2 cpu.

I would like to know how to configure 4 CPUs in u-boot or kenel feature or device tree.

Thanks,

Jackey

Labels (1)
0 Kudos
Reply
10 Replies

2,061 Views
jackeyko
Contributor III

Hi igor,

Thanks for your message.

I will check the uboot fuse NUM_CORES and attach the result.

Thanks,

Jackey

0 Kudos
Reply

2,061 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jackey

from uboot log one can see :

"CPU:   Freescale i.MX6D rev1.2"

could you attach jtag or read from uboot fuse

NUM_CORES, it is described in Table 5-10. Fusemap Descriptions

i.MX6DQ Reference Manual

http://cache.freescale.com/files/32bit/doc/ref_manual/IMX6DQRM.pdf

Best regards

igor

0 Kudos
Reply

2,061 Views
jackeyko
Contributor III

Hi igor,

I have downloaed the mfgtool2-yocto-mx6-sabresd-sdcard-sd4.vbs using imx-3.14.28_1.0.0_ga-mfg-tools and attached kernel_log.txt and printenv.

The imgage of mfgtool2-yocto-mx6-sabresd-sdcard-sd4.vbs is same.

Total of 2 processors is activated.

Please review the attached log.

Thanks,

Jackey

0 Kudos
Reply

2,061 Views
jackeyko
Contributor III

typo

PCIMX6QAVT10AC -> PCIMX6Q6AVT10AC

Thanks,

Jackey

0 Kudos
Reply

2,061 Views
jackeyko
Contributor III

Hi Igor,

Thanks for your support.

The full processor marking is PCIMX6QAVT10AC. and Part number of SABRE SD is MCIMX6Q-SDB

I have purchased RDIMX6SABREBRD product as below yellow marking.

http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-process...

Products

Parts

Order

Status

Package
  Type and Termination Count

Budgetary
  Price excluding tax(US$)

RDIMX6SABREBRD

MCIMX6SX-SDB

Y

Active

Hardware Only

1 @ US$399.00 each

RDIMX6SABREBRD

MCIMX6Q-SDB

Y

Active

Hardware Only

1 @ US$449.00 each

RDIMX6SABREBRD

MCIMX-LVDS1

Y

Active

Hardware Only

1 @ US$499.00 each

IMX53QSB

MCIMXHDMICARD

Y

Active

Hardware Only

1 @ US$49.00 each

I will check mfgtool2-yocto-mx6-sabresd-sdcard-sd4.vbs. and send  you the result.

Thanks,

Jackey

0 Kudos
Reply

2,061 Views
jackeyko
Contributor III

Hi igor,

I downloaded  3.14.28 kernel image using imx-3.14.28_1.0.0_ga-mfg-tools.

and have configured maxcpus=4 in u-boot  as bleow:

---------------------------------------------------------------------------------------------------------------------------------------------------

[printenv.txt]

setenv extra_bootargs maxcpus=4

setenv mmcargs 'setenv bootargs console=${console},${baudrate} ${smp} root=${mmcroot} ${extra_bootargs}'

saveenv

----------------------------------------------------------------------------------------------------------------------------------------------------

But, CPUs are 2 core from kernel log.

Please find the attached kernel_log.txt

-----------------------------------------------------------------------------------------

[kernel_log.txt]

SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1

Preemptible hierarchical RCU implementation.

        RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.

RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2

CPU: Testing write buffer coherency: ok

CPU0: thread -1, cpu 0, socket 0, mpidr 80000000

Setting up static identity map for 0x106ba580 - 0x106ba5d8

CPU1: Booted secondary processor

CPU1: thread -1, cpu 1, socket 0, mpidr 80000001

Brought up 2 CPUs

SMP: Total of 2 processors activated.

CPU: All CPU(s) started in SVC mode.

-----------------------------------------------------------------------------------------

I would like to know extra settings for 4 CPUs.

Thanks,

Jackey

0 Kudos
Reply

2,061 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jackey

what is full processor marking ?

Also probably you are running wrong image,

please use mfgtool2-yocto-mx6-sabresd-sdcard-sd4.vbs

in mfg tools folder.

~igor

0 Kudos
Reply

2,061 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jackey

one can check with cat /proc/interrupts :

https://community.freescale.com/message/303749#303749

also  kernel boot parameters maxcpus=n limits the kernel to

using 'n' processors, as described in p.17 attached Release Notes.

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply

2,061 Views
jackeyko
Contributor III

Hi Igor,

Thanks for your support.

I checked cat /proc/interrupts, but also the kernel log is CPU0 and CPU1.

------------------------------------------------------------------------------------------

root@imx6qsabresd:/# cat /proc/interrupts

           CPU0       CPU1

16:       2055       1746       GIC  29 Edge      twd

17:          0          0       GPC  55 Edge      i.MX Timer Tick

19:          0          0       GPC 115 Edge      120000.hdmi

23:          2          0       GPC  31 Edge      2008000.ecspi

24:        247          0       GPC  26 Edge      2020000.serial

25:          0          0       GPC  47 Edge      202c000.ssi

26:          0          0       GPC  12 Edge      2040000.vpu

35:          0          0  gpio-mxc   4 Edge      Volume Up

36:          0          0  gpio-mxc   5 Edge      Volume Down

65:          0          0  gpio-mxc   0 Edge      2198000.usdhc cd

67:          0          0  gpio-mxc   2 Edge      2194000.usdhc cd

128:          0          0  gpio-mxc  29 Edge      Power Button

.................

------------------------------------------------------------------------------------------

I have a question.

How to set kernel boot parameters maxcpus=n

Thanks,

Jackey

0 Kudos
Reply

2,061 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jackey

one can check sect.4.4 Downloading images

attached Linux Guide, it shows examples with

various uboot kernel boot parameters.

Best regards

igor

0 Kudos
Reply