PICO-PI iMX7D booted with only 1 CPU at 1.0GHz

hello everyone. I just followed the instruction at “https://www.digikey.com/eewiki/display/linuxonarm/PICO-PI-IMX7”, and after several attempts, it finally boot up sucessfully, with wifi and audio working :grinning:.

one remaining issue is, it only use 1 cpu core at 1.0GHz (cat /proc/cpuinfo only show up 1 cpu, and benchmark also confirm this fact), instead of two 1.2GHz CPUs on the board. could you please give me some suggestions how to fix this issue. Thanks.

kernel version: 5.1.18-armv7-lpae-x14.4
rootfs: debian-10.4-minimal-armhf-2020-05-10.tar.xz
u-boot:
U-Boot 2019.07-rc4 (Jul 23 2020 - 13:16:43 +0000)

CPU:   Freescale i.MX7D rev1.2 1000 MHz (running at 792 MHz)
CPU:   Commercial temperature grade (0C to 95C) at 46C
Model: TechNexion PICO-IMX7D Board and PI baseboard
Board: i.MX7D PICOSOM
...
Retrieving file: /boot/dtbs/5.1.18-armv7-lpae-x14.4/imx7d-pico-pi.dtb
...
Starting kernel ...

[    1.401300] spi_imx 30840000.spi: dma setup error -19, use pio
[    1.472111] CPUidle arm: CPU 0 failed to init idle CPU ops
SELinux:  Could not open policy file <= /etc/selinux/targeted/policy/policy.31:  No such file or directory
[    2.763351] mmc1: error -110 whilst initialising SDIO card
...

Hi @mimitech, thanks for the report! I’ll take a look at this, i thought i saw two cores when i did my initial v5.1.x work.

Any chance can you give the v5.4.x or v5.8.x branches a quick test?

git checkout origin/v5.4.x -b tmp-v5.4
git checkout origin/v5.8.x -b tmp-v5.8

Regards,

Hi, Robert, thanks for your information.I’m just compiling these two kernel version. but I could only test new kernels tomorrow, as the board are runing some non-stop task right now. I’ll come back with the result of new kernels, thanks again.

Hi @mimitech, found my board, luckly it wasn’t stuck at work:

debian@arm:~$ dmesg | grep smp
[    0.056143] smp: Bringing up secondary CPUs ...
[    0.088446] smp: Brought up 1 node, 1 CPU
debian@arm:~$ cat /proc/cpuinfo 
processor	: 0
model name	: ARMv7 Processor rev 5 (v7l)
BogoMIPS	: 60.36
Features	: half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xc07
CPU revision	: 5

Hardware	: Freescale i.MX7 Dual (Device Tree)
Revision	: 0000
Serial		: 0000000000000000
debian@arm:~$ uname -r
5.1.18-armv7-lpae-x14.4

Now digging into it.

Okay, small update, booting u-boot v2020.07 an 5.8.x-rc7 no dice… Looking around i found this bug report:

https://community.nxp.com/thread/460616

We need to figure out what’s missing for PSCI support…

it’s enabled in u-boot:

u-boot$ cat .config| grep PSCI
CONFIG_ARCH_SUPPORT_PSCI=y
CONFIG_ARMV7_PSCI=y
CONFIG_ARMV7_PSCI_NR_CPUS=4

Regards,

hi, @RobertCNelson

thanks very much for your information.

I just find out a post here [U-Boot] imx7d: CPU core issue in secure mode, as stated by this post, I just add a u-boot command “setenv bootm_boot_mode nonsec”, then the kernel boot up with two CPU cores :grinning: :smile:

looks like it’s something related to TEE implementation… anyway, it woks.

Regards

With the mainline 5.1.x kernel, the max cpu freq is 1.0GHz, instead of 1.2GHz when running TechNexion provided 4.1.15 kernel. not a big issue anyway.

Operating System	Linux 5.1.18-armv7-lpae-x14.4 armv7l
Processor	ARM Freescale @ 996 MHz, 1 processor, 2 threads

VS

Operating System	Ubuntu 16.04.6 LTS 4.1.15_2.0.0-00599-g93b0ae1 armv7l
Processor	ARM Freescale @ 1.20 GHz, 1 processor, 2 threads

hi, @RobertCNelson

some minor comments about your offical guide at “https://www.digikey.com/eewiki/display/linuxonarm/PICO-PI-IMX7”, I must skip following steps:

sudo dd if=/dev/zero of=${DISK} bs=1M count=10
sudo dd if=./u-boot/SPL of=${DISK} seek=1 bs=1k
sudo dd if=./u-boot/u-boot-dtb.img of=${DISK} seek=69 bs=1k

or else board didn’t boot, there were no u-boot prompt.

I guess if I skipped these dd commands, I were using SPL/u-boot flashed by dfu-uitls. I also used fdisk instead of sfdisk to create MMC partition, so I’m not very sure which command (‘dd’ or ‘sfdisk’) corrupted the SPL/u-boot.

Thanks very much for your complete guide and help.

Regards

hi, @RobertCNelson

I have tested kernel 5.4.x and 5.8.x, with same u-boot 2020.07 version and same rootfs, they all booted, but wifi is not working in both versions, broadcom driver is loaded but not working ,iwlist scan failed. so I have switched back to 5.1.x kernel.

thanks and regards