IMX8QXPC0 reset issue during boot.

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

IMX8QXPC0 reset issue during boot.

4,558 Views
jakos
Contributor III

Hi,

Our team have developed a custom board based on IMX8QXP Mek, but with C0 silicon (MIMX8QX6AVLFZAC). We are using the same PMIC and SD card, eMMC memory connections etc, but with increased amount of RAM (4GB: Micron MT53D1024M32D4DT-053).

Upon receiving the board everything looked fine, voltages are ok etc. For a quick test I've tried to run our Yocto based image for MEK (built for IMX8QXPC0 mek). Unfortunately shortly after "Starting kernel" the boot process reboots.

We've decided then to port SCFW (porting kit 1.7.0) to support 4GB of RAM . In addition we've added imx-seco version 3.7.5 to support new silicon (SCU debug monitor complained about using old version 3.7.1). Upon doing so we've received exactly the same behaviour at exactly the same time. Upon this We've made a clean u-boot and kernel device-tree to basically only support uart0 for console purposes, yet again - same result at the same time.
Here is our boot log:


U-Boot 2020.04-5.4.47-2.2.0+ga02bdde0 (Apr 09 2021 - 13:23:18 +0000)

CPU: NXP i.MX8QXP RevC A35 at 1200 MHz at 35C

Model: NXP i.MX8QXP TEST
Board: iMX8QXP TEST

BuildInfo:
- SCFW 0d54291f, SECO-FW 640b5efb, IMX-MKIMAGE 8da5cd23, ATF c949a88
- U-Boot 2020.04-5.4.47-2.2.0+ga02bdde0

Boot: SD1
DRAM: 4 GiB
MMC: FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... Run CMD11 1.8V switch
*** Warning - bad CRC, using default environment

Fail to setup video link
In: serial
Out: serial
Err: serial
Run CMD11 1.8V switch
switch to partitions #0, OK
mmc1 is current device
flash target is MMC:1
Run CMD11 1.8V switch
Net: No ethernet found.
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot: 0
Run CMD11 1.8V switch
switch to partitions #0, OK
mmc1 is current device
Run CMD11 1.8V switch
27941376 bytes read in 353 ms (75.5 MiB/s)
Booting from mmc ...
84591 bytes read in 14 ms (5.8 MiB/s)
## Flattened Device Tree blob at 83000000
Booting using the fdt blob at 0x83000000
Using Device Tree in place at 0000000083000000, end 0000000083017a6e
Disable clock-controller@5a4d0000 rsrc 62 not owned
Disable clock-controller@5ac90000 rsrc 102 not owned
Disable clock-controller@5b260000 rsrc 253 not owned

Starting kernel ...

[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd042]
[ 0.000000] Linux version 5.4.47-2.2.0+g276151221 (oe-user@oe-host) (gcc ver1
[ 0.000000] Machine model: i.MX8QXP TEST
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] efi: UEFI not found.
[ 0.000000] Reserved memory: created CMA memory pool at 0x0000000096000000, B
[ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id sharl
[ 0.000000] Reserved memory: created DMA memory pool at 0x0000000090000000, B
[ 0.000000] OF: reserved mem: initialized node vdev0vring0@90000000, compatil
[ 0.000000] Reserved memory: created DMA memory pool at 0x0000000090008000, B
[ 0.000000] OF: reserved mem: initialized node vdev0vring1@90008000, compatil
[ 0.000000] Reserved memory: created DMA memory pool at 0x0000000090010000, B
[ 0.000000] OF: reserved mem: initialized node vdev1vring0@90010000, compatil
[ 0.000000] Reserved memory: created DMA memory pool at 0x0000000090018000, B
[ 0.000000] OF: reserved mem: initialized node vdev1vring1@90018000, compatil
[ 0.000000] Reserved memory: created DMA memory pool at 0x0000000090400000, B
[ 0.000000] OF: reserved mem: initialized node vdevbuffer, compatible id shal
[ 0.000000] earlycon: lpuart32 at MMIO 0x000000005a060000 (options '')
[ 0.000000] printk: bootconsole [lpuart32] enabled
[ 0.000000] NUMA: No NUMA configuration found
[ 0.000000] NUMA: Faking a node at [mem 0x0000000080200000-0x00000008fffffff]
[ 0.000000] NUMA: NODE_DATA [mem 0x8ff807500-0x8ff808fff]
[ 0.000000] Zone ranges:
[ 0.000000] DMA32 [mem 0x0000000080200000-0x00000000ffffffff]
[ 0.000000] Normal [mem 0x0000000100000000-0x00000008ffffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000080200000-0x0000000083ffffff]
[ 0.000000] node 0: [mem 0x0000000086200000-0x0000000087ffffff]
[ 0.000000] node 0: [mem 0x0000000090020000-0x00000000901fffff]
[ 0.000000] node 0: [mem 0x0000000090500000-0x0000000091ffffff]
[ 0.000000] node 0: [mem 0x0000000094c00000-0x00000000ffffffff]
[ 0.000000] node 0: [mem 0x0000000880000000-0x00000008ffffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000080200000-0x00000008ffffffff]
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
[ 0.000000] psci: SMC Calling Convention v1.1
[ 0.000000] percpu: Embedded 24 pages/cpu s58904 r8192 d31208 u98304
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: detected: GIC system register CPU interface
[ 0.000000] Speculative Store Bypass Disable mitigation not required
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 978988
[ 0.000000] Policy zone: Normal
[ 0.000000] Kernel command line: console=ttyLP0,115200 earlycon root=/dev/mmw
[ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 byte)
[ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes,)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] software IO TLB: mapped [mem 0xfbfff000-0xfffff000] (64MB)
[ 0.000000] Memory: 2820512K/3978112K available (16508K kernel code, 1238K r)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[ 0.000000] Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 ji.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[ 0.000000] GICv3: 512 SPIs implemented
[ 0.000000] GICv3: 0 Extended SPIs implemented
[ 0.000000] GICv3: Distributor has no Range Selector support
[ 0.000000] GICv3: 16 PPIs implemented
[ 0.000000] GICv3: no VLPI support, no direct LPI support
[ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000051b00000
[ 0.000000] random: get_random_bytes called from start_kernel+0x2b8/0x44c wi0
[ 0.000000] arch_timer: cp15 timer(s) running at 8.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycless
[ 0.000004] sched_clock: 56 bits at 8MHz, resolution 125ns, wraps every 2199s
[ 0.008779] Console: colour dummy device 80x25
[ 0.012968] Calibrating delay loop (skipped), value calculated using timer f)
[ 0.023134] pid_max: default: 32768 minimum: 301
[ 0.027827] LSM: Security Framework initializing
[ 0.032408] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, lin)
[ 0.039738] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.071642] ASID allocator initialised with 32768 entries
[ 0.084738] rcu: Hierarchical SRCU implementation.
[ 0.099245] EFI services will not be available.
[ 0.111476] smp: Bringing up secondary CPUs ...
[ 0.148074] Detected VIPT I-cache on CPU1
[ 0.148105] GICv3: CPU1: found redistributor 1 region 0:0x0000000051b20000
[ 0.148143] CPU1: Booted secondary processor 0x0000000001 [0x410fd042]
[ 0.180118] Detected VIPT I-cache on CPU2
[ 0.180139] GICv3: CPU2: found redistributor 2 region 0:0x0000000051b40000
[ 0.180162] CPU2: Booted secondary processor 0x0000000002 [0x410fd042]
[ 0.212186] Detected VIPT I-cache on CPU3
[ 0.212205] GICv3: CPU3: found redistributor 3 region 0:0x0000000051b60000
[ 0.212225] CPU3: Booted secondary processor 0x0000000003 [0x410fd042]
[ 0.212294] smp: Brought up 1 node, 4 CPUs
[ 0.268189] SMP: Total of 4 processors activated.
[ 0.272877] CPU features: detected: 32-bit EL0 Support
[ 0.278011] CPU features: detected: CRC32 instructions
[ 0.290138] CPU: All CPU(s) started at EL2
[ 0.293933] alternatives: patching kernel code
[ 0.299588] devtmpfs: initialized
[ 0.316780] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, ms
[ 0.326201] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[ 0.364934] pinctrl core: initialized pinctrl subsystem
[ 0.370871] DMI not present or invalid.
[ 0.374691] NET: Registered protocol family 16
[ 0.387399] DMA: preallocated 256 KiB pool for atomic allocations
[ 0.393190] audit: initializing netlink subsys (disabled)
[ 0.398822] audit: type=2000 audit(0.340:1): state=initialized audit_enabled1
[ 0.406594] cpuidle: using governor menu
[ 0.411115] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.419322] Serial: AMBA PL011 UART driver
[ 0.423158] imx mu driver is registered.
[ 0.427000] imx rpmsg driver is registered.
[ 0.480255] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[ 0.486633] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[ 0.493309] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.499998] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[ 0.507734] cryptd: max_cpu_qlen set to 1000
[ 0.515899] ACPI: Interpreter disabled.
[ 0.520828] iommu: Default domain type: Translated
[ 0.525570] vgaarb: loaded
[ 0.528462] SCSI subsystem initialized
[ 0.532293] usbcore: registered new interface driver usbfs
[ 0.537499] usbcore: registered new interface driver hub
[ 0.542804] usbcore: registered new device driver usb
[ 0.549420] mc: Linux media interface: v0.10
[ 0.553565] videodev: Linux video capture interface: v2.00
[ 0.558907] pps_core: LinuxPPS API ver. 1 registered
[ 0.563773] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giom>
[ 0.572906] PTP clock support registered
[ 0.577106] EDAC MC: Ver: 3.0.0
[ 0.581345] No BMan portals available!
[ 0.585128] QMan: Allocated lookup table at (____ptrval____), entry count 657
[ 0.592729] No QMan portals available!
[ 0.597067] No USDPAA memory, no 'fsl,usdpaa-mem' in device-tree
[ 0.603541] FPGA manager framework
[ 0.606701] Advanced Linux Sound Architecture Driver Initialized.
[ 0.613215] Bluetooth: Core ver 2.22
[ 0.616474] NET: Registered protocol family 31
[ 0.620890] Bluetooth: HCI device and connection manager initialized
[ 0.627230] Bluetooth: HCI socket layer initialized
[ 0.632094] Bluetooth: L2CAP socket layer initialized
[ 0.637141] Bluetooth: SCO socket layer initialized
[ 0.643070] imx-scu scu: NXP i.MX SCU Initialized
[ 0.653174] random: fast init done

No matter what system We put to the board (using SD card) the boot process goes up to the "random: fast init done" line and then a reset is performed.

We are using imx layers for Yocto project with branch Zeus (cannot use the latest due to some external layers dependencies which are not yet supported by Gatesgarth layer nor Dunfell).

Have anyone encountered a similar issue and could help us out ? How can We debug the issue, could it be perhaps some kernel config that is causing it ? We are using not modified imx_v8_defconfig.

I am attaching relevant kernel and u-boot files for this project.

Thanks in advance.
BR

0 Kudos
21 Replies

4,344 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jakub

 

just for test one can try to build without OPTee as described in sect.5.6.10 OP-TEE enablement

i.MX Yocto Project User’s Guide​

also additional files were sent via mail.

 

Best regards
igor

0 Kudos

4,333 Views
jakos
Contributor III

Hi,

Unfortunately removing optee did not help. To confirm that optee is no longer being built I've run: 

bitbake -g core-image-minimal && cat pn-buildlist | grep -ve "native" | sort | uniq

With following output:

acl
apt
attr
autoconf-archive
base-files
base-passwd
bash
bash-completion
bc
binutils-cross-aarch64
btrfs-tools
busybox
bzip2
ca-certificates
core-image-minimal
coreutils
cracklib
cryptodev-linux
cryptodev-module
curl
db
dbus
dbus-test
debianutils
depmodwrapper-cross
diffutils
dpkg
e2fsprogs
elfutils
expat
flex
gawk
gcc-cross-aarch64
gcc-runtime
gcc-source-9.2.0
gdbm
glib-2.0
glibc
glibc-locale
gmp
gnome-desktop-testing
gnutls
grep
imx-atf
imx-boot
imx-m4-demos
imx-sc-firmware
imx-seco
iproute2
iptables
kbd
kmod
libcap
libcap-ng
libcheck
libffi
libgcc
libgcc-initial
libidn2
libmnl
libnsl2
libpam
libpcre
libtirpc
libtool
libtool-cross
libunistring
libxcrypt
libxml2
linux-imx
linux-libc-headers
lzo
m4
make
make-mod-scripts
mdadm
ncurses
netbase
nettle
openssl
opkg-utils
os-release
packagegroup-core-boot
perl
procps
ptest-runner
python3
qemuwrapper-cross
readline
run-postinsts
sed
shadow
shadow-securetty
shadow-sysroot
shared-mime-info
socat
sqlite3
systemd
systemd-compat-units
systemd-conf
systemd-serialgetty
tcp-wrappers
tzdata
u-boot-imx
unzip
update-rc.d
util-linux
volatile-binds
which
xz
zip
zlib

 

What else could be the cause of this issue ?

0 Kudos

4,324 Views
jakos
Contributor III

We have figured out that processor is asserting SCU_WDOG_OUT pin. What could be the possible cause of this ? Is this strictly hardware issue of should we investigate firmware?

0 Kudos

4,319 Views
igorpadykov
NXP Employee
NXP Employee

asserting SCU_WDOG_OUT may be due to hanging, in general one can check power supplies,

in particular ripples as described in   i.MX 8QuadMax/i.MX 8QuadXPlus Hardware Developer’s Guide

 

Best regards
igor

0 Kudos

4,312 Views
jakos
Contributor III

Voltages are ok. We are still clueless why this is happening.

0 Kudos

4,301 Views
igorpadykov
NXP Employee
NXP Employee

 

 

had board passed ddr test and image was updated with new ddr settings as described in i.MX8

ddr test documentation

https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX-8-8X-Family-DDR-Tools-Release/ta-p/...

 

Best regards
igor

0 Kudos

4,298 Views
jakos
Contributor III

We have used  MX8QXP_C0_B0_LPDDR4_RPA_1.2GHz_v16.xlsx 

And SCFWv1.7.0

We haven't done DDR test - USB OTG is connected to M.2 slot and USB3.0 is connected to USB HUB. Will we be able to perform this test with just uart ? uart connections are cloned from IMX8QXPMEK.

 

Also, 2 logs after the one we get reset at, we should see : 

clocksource: Switched to clocksource arch_sys_counter
 
Is it possible that processor issues watchdog reset due to some clock malfunction ?
 
0 Kudos

4,293 Views
igorpadykov
NXP Employee
NXP Employee

please run ddr test and update image as described in ddr test documentation,

it also shows how use other uart ports.

 

Best regards
igor

0 Kudos

4,284 Views
jakos
Contributor III

Hi Igor

Thank You for all the answers.

Unfortunately running DDR stress test on our unit is impossible for now, as we are using USB as mainstream port for USB HUB. This HUB requires additional setting to run so it is not visible during "serial download". That is the reason we decided to make use of pretty much the same RAM as there is on MEK, but a little bit bigger. By looking at boot diagram i believe that RAM is being initialized way before U-Boot start so i think we can excluded memory issue? After all we receive a watchdog assertion during kernel boot. Do You know any way of debugging what exactly is causing watchdog assertion  ?

BR

0 Kudos

4,278 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jakub

 

running ddr test and updating image is obligatory step, without it it is impossible

to port software. Board can behave unpredictably. In general one can try to debug it

using AN12631  Normal and Secure Debug for i.MX8/8X Family of Applications Processors

So one can run the same image on MEK and custom board and find where issue happens.

 

Best regards
igor

0 Kudos

4,239 Views
jakos
Contributor III

Hi Igor,

 

We have modified our board to run DDR test - success.

Unfortunately we are still struggling. Interesting fact though - we have downloaded image for imx8qxpc0 mek with old kernel (4.14) plugged it into our board and we have managed to go further than the last time !

With this image we receive a kernel panic:

3.030434] Unable to handle kernel paging request at virtual address fffffffffffffff8
[ 3.038362] Mem abort info:
[ 3.041160] Exception class = DABT (current EL), IL = 32 bits
[ 3.047081] SET = 0, FnV = 0
[ 3.050132] EA = 0, S1PTW = 0
[ 3.053268] Data abort info:
[ 3.056144] ISV = 0, ISS = 0x00000004
[ 3.059984] CM = 0, WnR = 0
[ 3.062950] swapper pgtable: 4k pages, 48-bit VAs, pgd = ffff00000973c000
[ 3.069741] [fffffffffffffff8] *pgd=0000000000000000
[ 3.074712] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[ 3.080288] Modules linked in:
[ 3.083350] CPU: 2 PID: 41 Comm: kworker/2:1 Not tainted 4.14.98-2.3.0+g0f549d8c4d5e #1
[ 3.091355] Hardware name: Freescale i.MX8QXP MEK (DT)
[ 3.096511] Workqueue: events deferred_probe_work_func
[ 3.101648] task: ffff80083a763600 task.stack: ffff000009f68000
[ 3.107579] PC is at plist_add+0x60/0xd8
[ 3.111507] LR is at pm_qos_update_target+0x164/0x220
[ 3.116559] pc : [<ffff000008db61a8>] lr : [<ffff000008114b84>] pstate: 200000c5
[ 3.123957] sp : ffff000009f6bb10
[ 3.127267] x29: ffff000009f6bb10 x28: 0000000000000000
[ 3.132583] x27: 0000000000000000 x26: 0000000fffffffe0
[ 3.137900] x25: 0000000000000040 x24: 0000000000000000
[ 3.143217] x23: 0000000000000000 x22: ffff0000096d8000
[ 3.148534] x21: 0000000000000000 x20: ffff80083b988e88
[ 3.153851] x19: ffff000009542c80 x18: 0000000000000000
[ 3.159167] x17: ffff80083b933418 x16: ffff80083b933418
[ 3.164484] x15: ffffffffffffffff x14: ffff80083b92691c
[ 3.169801] x13: 0000000000000000 x12: 0000000000000030
[ 3.175118] x11: 0101010101010101 x10: 7f7f7f7f7f7f7f7f
[ 3.180434] x9 : fefefefefefefeff x8 : ffff80083b988e90
[ 3.185751] x7 : ffff80083b988ea0 x6 : ffff000009542c80
[ 3.191068] x5 : ffff80083b830e88 x4 : 0000000000000000
[ 3.196384] x3 : ffff80083b830e88 x2 : fffffffffffffff8
[ 3.201701] x1 : fffffffffffffff8 x0 : ffff80083b988e88
[ 3.207021] Process kworker/2:1 (pid: 41, stack limit = 0xffff000009f68000)
[ 3.213988] Call trace:
[ 3.216440] Exception stack(0xffff000009f6b9d0 to 0xffff000009f6bb10)
[ 3.222886] b9c0: ffff80083b988e88 fffffffffffffff8
[ 3.230721] b9e0: fffffffffffffff8 ffff80083b830e88 0000000000000000 ffff80083b830e88
[ 3.238560] ba00: ffff000009542c80 ffff80083b988ea0 ffff80083b988e90 fefefefefefefeff
[ 3.246394] ba20: 7f7f7f7f7f7f7f7f 0101010101010101 0000000000000030 0000000000000000
[ 3.254232] ba40: ffff80083b92691c ffffffffffffffff ffff80083b933418 ffff80083b933418
[ 3.262066] ba60: 0000000000000000 ffff000009542c80 ffff80083b988e88 0000000000000000
[ 3.269902] ba80: ffff0000096d8000 0000000000000000 0000000000000000 0000000000000040
[ 3.277738] baa0: 0000000fffffffe0 0000000000000000 0000000000000000 ffff000009f6bb10
[ 3.285574] bac0: ffff000008114b84 ffff000009f6bb10 ffff000008db61a8 00000000200000c5
[ 3.293410] bae0: 0000000000000000 0000000000000000 ffffffffffffffff ffff8008384243c0
[ 3.301245] bb00: ffff000009f6bb10 ffff000008db61a8
[ 3.306130] [<ffff000008db61a8>] plist_add+0x60/0xd8
[ 3.311099] [<ffff000008114cd0>] pm_qos_add_request+0x90/0xb8
[ 3.316853] [<ffff000008b082a4>] tcpm_register_port+0x3f4/0x4e0
[ 3.322775] [<ffff000008b092a0>] tcpci_probe+0x208/0x608
[ 3.328094] [<ffff0000089894ec>] i2c_device_probe+0x304/0x328
[ 3.333841] [<ffff0000086df4b8>] driver_probe_device+0x210/0x2d0
[ 3.339853] [<ffff0000086df6d4>] __device_attach_driver+0x9c/0xf8
[ 3.345953] [<ffff0000086dd6d4>] bus_for_each_drv+0x4c/0x98
[ 3.351529] [<ffff0000086df178>] __device_attach+0xc0/0x138
[ 3.357106] [<ffff0000086df790>] device_initial_probe+0x10/0x18
[ 3.363033] [<ffff0000086de634>] bus_probe_device+0x94/0xa0
[ 3.368608] [<ffff0000086deae8>] deferred_probe_work_func+0xa0/0x148
[ 3.374972] [<ffff0000080e7564>] process_one_work+0x1d4/0x348
[ 3.380723] [<ffff0000080e791c>] worker_thread+0x244/0x470
[ 3.386213] [<ffff0000080eda24>] kthread+0x12c/0x130
[ 3.391182] [<ffff000008084ed8>] ret_from_fork+0x10/0x18
[ 3.396499] Code: d1002021 eb03003f 54000100 aa0103e2 (b9400041)
[ 3.402596] ---[ end trace 820fde50c49c163b ]---
[ 3.407246] note: kworker/2:1[41] exited with preempt_count 1

 

EDIT:

after few minutes we also receive this log:

[ 289.222430] random: crng init done

 

0 Kudos

4,227 Views
igorpadykov
NXP Employee
NXP Employee

>We have modified our board to run DDR test - success.

 

if ddr test passed, one can follow MX8_DDR_Tool_User_Guide.pdf included in ddr test package:

copy RPA sheet “DCD CFG file” into SCFW ..board/mx8qx_mek/dcd/ directory and rebuild image
with new ddr initialization data specific for custom board.
More details can be found in sect.4.6 DDR Configuration Porting Guide (sc_fw_port.pdf) included in

SCFW Porting Kit​ 1.8.0

 

Best regards
igor

0 Kudos

4,225 Views
jakos
Contributor III

But we have already done that. This was the first thing we've done when porting software for our custom board. DDR test was made with custom SCFW.

Tags (1)
0 Kudos

4,213 Views
igorpadykov
NXP Employee
NXP Employee

one can try modification in the scfw board.c file, platform/board/mx8qx_mek/board.c
board_system_config() ..

/* Board has 3GB memory so fragment upper region and retain 1GB */
BRD_ERR(rm_memreg_frag(pt_boot, &mr_temp, 0x8C0000000ULL,
0xFFFFFFFFFULL));
BRD_ERR(rm_memreg_free(pt_boot, mr_temp));

change the 0x8c0000000 to 0x900000000 and have a try.

Also since hanging occurs after "imx-scu scu: NXP i.MX SCU Initialized", one can check

debug monitor log described in sect.3.13.2 Debug Monitor System Controller Firmware Porting Guide

included in  SCFW Porting Kit​ 1.8.0

 

Best regards
igor

 

0 Kudos

4,204 Views
jakos
Contributor III

Hi Igor,

 

I was able to run image on our board by using sumo layer. Unfortunately we cannot use such old kernel. The question is, why are new IMX BSP releases not working with imx8qxpc0 ? Where is the difference ?

0 Kudos

4,199 Views
igorpadykov
NXP Employee
NXP Employee

>why are new IMX BSP releases not working with imx8qxpc0 ?

 

may be suggested to recheck if used BSP version supports processor, it is described on

below link column "Supported Platforms":

https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applicat...

 

>Where is the difference ?

 

it is described in Release Notes sect.2  "What's New?"  included in each BSP documentation,

 

Best regards
igor

0 Kudos

4,189 Views
jakos
Contributor III

Hi Igor,

 

We are perfectly aware that imx8qxpc0 silicon should be supported by new releases. The thing is something is wrong. Building image for imx8qxpc0mek with Zeus/Gatesgarth and trying to run this on our board ends up with watchdog trigger. However building exactly the same image with sumo layers works fine...

We would really like to use up to date BSP. Because of this untracable watchdog isse we are behind with our project. Is there anyone You know we could contact to solve this issue with new releases ?

0 Kudos

4,180 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jakub 

 

what do you mean by "Building image for imx8qxpc0mek with Zeus/Gatesgarth " ?

NXP supports Gatesgarthon on Linux 5.10.9_1.0.0​, Zeus on on Linux 5.4.70_2.3.0​, Linux 5.4.47_2.2.0,

Linux 5.4.24_2.1.0​​, Linux 5.4.3_1.0.0​. Which one are you using ?

Recommended to use RPA tool aligned with each release according to table on link

https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX-8-8X-Family-DDR-Tools-Release/ta-p/...

and rebuild image using appropriate SCFW version, it is described on linux documentation link

https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applicat...

 

Best regards
igor

0 Kudos

4,174 Views
jakos
Contributor III

Hi Igor,

 

We have tried every single linux kernel version that You've mentioned. Every single one has been tested with latest SCFW and RPA tool (as well as older versions). Nothing workes.

 

The only build scenario that is working is the one using IMX Yocto Sumo BSP (y i.MX 8QuadXPlus C0 BSP release L4.14.98_2.3.0) as found in:

https://www.nxp.com/docs/en/application-note/AN12770.pdf

 

This one is working with newest SCFW and RPA tool. We have been building with the same settings for every single linux kernel.

0 Kudos

4,154 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jakub 

 

I can help to check settings, please provide RPA file, board schematic (ddr part), memory datasheet,

linux/uboot logs, board.c file with custom changes.

 

Best regards
igor

0 Kudos