I.MX6soloX kernel segmentation issue

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

I.MX6soloX kernel segmentation issue

3,037 Views
kbante1995
Contributor I

I have developed a board based on  I.MX6SoloX ( sabreSD)  with following peripherals :

1. Ethernet ( RMII interface )

2.  4GB eMMC ( as boot media - flashing using NXP's MFG tool )

3. 1GB DDR3 RAM 

4 . Debug UART ( at ttymxc0)

5. Serial RS232 port ( at ttymxc3)

6. LED driver ( LP5523 )

The linux Image is developed using Yocto project with linux version 4.14 (sumo version ) .

The reference design is taken from Freescale MCMX6SX SDB  EVM baord ( with SD card as boot media ) .

Systemvint is selected as The system manager instead of systemd (since systemd was causing crash because it was starting one getty service on ttymxc0 and this was not allowing the console to come )

 

After flashing the image into eMMC ( bitbake core-image-base) , following is the log I am getting on UART console port .

Reset cause: POR
Model: Freescale i.MX6 SoloX SDB RevB Board
Board: MX6SX SABRE SDB rev@
DRAM: 1 GiB
PMIC: PFUZE100! DEV_ID=0x11 REV_ID=0x21
MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... *** Warning - bad CRC, using default environment

Failed (-5)
Display: Hannstar-XGA (1024x768)
Video: 1024x768x18
In: serial
Out: serial
Err: serial
switch to partitions #0, OK
mmc2(part 0) is current device
flash target is MMC:2
Net:
Warning: ethernet@02188000 (eth0) using random MAC address - 4e:97:da:4d:6b:08
eth0: ethernet@02188000 [PRIME]
Warning: ethernet@021b4000 (eth1) using random MAC address - c2:9b:f7:3b:d3:63
, eth1: ethernet@021b4000
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc2(part 0) is current device
** Unable to read file boot.scr **
7439520 bytes read in 206 ms (34.4 MiB/s)
Booting from mmc ...
51208 bytes read in 16 ms (3.1 MiB/s)
Kernel image @ 0x80800000 [ 0x000000 - 0x7184a0 ]
## Flattened Device Tree blob at 83000000
Booting using the fdt blob at 0x83000000
Using Device Tree in place at 83000000, end 8300f807
switch to ldo_bypass mode!

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 4.14.98-2.3.0+g0f549d8 (oe-user@oe-host) (gcc version 7.3.0 (GCC)) #1 SMP PREEMPT Mon Mar 9 14:30:03 UTC 2020
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
OF: fdt: Machine model: Freescale i.MX6 SoloX SDB RevB Board
Memory policy: Data cache writealloc
Reserved memory: created CMA memory pool at 0xac000000, size 320 MiB
OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
percpu: Embedded 16 pages/cpu @ab623000 s35340 r8192 d22004 u65536
Built 1 zonelists, mobility grouping on. Total pages: 259840
Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk3p2 rootwait rw
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 694652K/1048576K available (9216K kernel code, 509K rwdata, 3268K rodata, 1024K init, 442K bss, 26244K reserved, 327680K cma-reserved,)
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
vmalloc : 0xc0800000 - 0xff800000 (1008 MB)
lowmem : 0x80000000 - 0xc0000000 (1024 MB)
pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
.text : 0x80008000 - 0x80a00000 (10208 kB)
.init : 0x80e00000 - 0x80f00000 (1024 kB)
.data : 0x80f00000 - 0x80f7f6e0 ( 510 kB)
.bss : 0x80f81000 - 0x80fefb20 ( 443 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptible hierarchical RCU implementation.
RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
Tasks RCU enabled.
RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
L2C-310 erratum 769419 enabled
L2C-310 enabling early BRESP for Cortex-A9
L2C-310 full line of zeros enabled for Cortex-A9
L2C-310 ID prefetch enabled, offset 16 lines
L2C-310 dynamic clock gating enabled, standby mode enabled
L2C-310 cache controller enabled, 16 ways, 256 kB
L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76430001
Switching to timer-based delay loop, resolution 333ns
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 715827882841ns
clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
CPU: Testing write buffer coherency: ok
CPU0: Spectre v2: using BPIALL workaround
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x80100000 - 0x80100060
Hierarchical SRCU implementation.
smp: Bringing up secondary CPUs ...
smp: Brought up 1 node, 1 CPU
SMP: Total of 1 processors activated (6.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
random: get_random_u32 called from bucket_table_alloc+0x114/0x23c with crng_init=0
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 256 (order: 2, 16384 bytes)
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor menu
vdd1p1: supplied by regulator-dummy
vdd3p0: supplied by regulator-dummy
vdd2p5: supplied by regulator-dummy
vddarm: bypassed regulator has no supply!
vddarm: failed to get the current voltage(-517)
vddpcie-phy: supplied by regulator-dummy
vddsoc: bypassed regulator has no supply!
vddsoc: failed to get the current voltage(-517)
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
imx6sx-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
imx rpmsg driver is registered.
MU is ready for cross core communication!
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
usb_phy_generic 2000000.aips-bus:usbphy_nop1: 2000000.aips-bus:usbphy_nop1 supply vcc not found, using dummy regulator
i2c i2c-0: IMX I2C adapter registered
i2c i2c-0: can't use DMA, using PIO instead.
i2c i2c-1: IMX I2C adapter registered
i2c i2c-1: can't use DMA, using PIO instead.
i2c i2c-2: IMX I2C adapter registered
i2c i2c-2: can't use DMA, using PIO instead.
i2c i2c-3: IMX I2C adapter registered
i2c i2c-3: can't use DMA, using PIO instead.
Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
MIPI CSI2 driver module loaded
Advanced Linux Sound Architecture Driver Initialized.
Bluetooth: Core ver 2.22
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
clocksource: Switched to clocksource mxc_timer1
VFS: Disk quotas dquot_6.6.0
VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 3, 32768 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
hw perfevents: no interrupt-affinity property for /soc/pmu, guessing.
hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
Bus freq driver module loaded
workingset: timestamp_bits=14 max_order=18 bucket_order=4
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
jffs2: version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
fuse init (API version 7.26)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
io scheduler mq-deadline registered
io scheduler kyber registered
pwm-backlight backlight1: backlight1 supply power not found, using dummy regulator
pwm-backlight backlight2: backlight2 supply power not found, using dummy regulator
imx-sdma 20ec000.sdma: no iram assigned, using external mem
imx-sdma 20ec000.sdma: Falling back to user helper
mxs-dma 1804000.dma-apbh: initialized
imx-pgc-pd imx-pgc-power-domain.0: Linked as a consumer to 20dc000.gpc
imx-pgc-pd imx-pgc-power-domain.2: Linked as a consumer to 20dc000.gpc
pfuze100-regulator 0-0008: Full layer: 2, Metal layer: 1
pfuze100-regulator 0-0008: FAB: 0, FIN: 0
pfuze100-regulator 0-0008: pfuze200 found.
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 23, base_baud = 5000000) is a IMX
console [ttymxc0] enabled
21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 69, base_baud = 5000000) is a IMX
21f0000.serial: ttymxc3 at MMIO 0x21f0000 (irq = 70, base_baud = 5000000) is a IMX
21f4000.serial: ttymxc4 at MMIO 0x21f4000 (irq = 71, base_baud = 5000000) is a IMX
imx sema4 driver is registered.
[drm] Initialized vivante 1.0.0 20120216 for platform:Vivante GCCore on minor 0
[drm] Initialized vivante 1.0.0 20120216 on minor 0
brd: module loaded
loop: module loaded
fsl-quadspi 21e4000.qspi: n25q128a11 (16384 Kbytes)
fsl-quadspi 21e4000.qspi: unrecognized JEDEC id bytes: ff, ff, ff
fsl-quadspi 21e4000.qspi: Freescale QuadSPI probe failed
fsl-quadspi: probe of 21e4000.qspi failed with error -2
libphy: Fixed MDIO Bus: probed
CAN device driver interface
flexcan 2090000.can: device registered (reg_base=c0a44000, irq=30)
flexcan 2094000.can: device registered (reg_base=c0a4c000, irq=31)
pps pps0: new PPS source ptp0
libphy: fec_enet_mii_bus: probed
fec 2188000.ethernet eth0: registered PHC device 0
fec 21b4000.ethernet: 21b4000.ethernet supply phy not found, using dummy regulator
pps pps1: new PPS source ptp1
fec 21b4000.ethernet eth1: registered PHC device 1
PPP generic driver version 2.4.2
usbcore: registered new interface driver kaweth
pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB Ethernet driver
usbcore: registered new interface driver pegasus
usbcore: registered new interface driver rtl8150
usbcore: registered new interface driver r8152
usbcore: registered new interface driver asix
usbcore: registered new interface driver ax88179_178a
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver net1080
usbcore: registered new interface driver cdc_subset
usbcore: registered new interface driver zaurus
usbcore: registered new interface driver cdc_ncm
usbcore: registered new interface driver qmi_wwan
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-mxc: Freescale On-Chip EHCI Host driver
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
usbcore: registered new interface driver cdc_wdm
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usb_ehset_test
usbmisc_imx 2184800.usbmisc: 2184800.usbmisc supply vbus-wakeup not found, using dummy regulator
random: fast init done
ci_hdrc ci_hdrc.1: EHCI Host Controller
ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
input: 20cc000.snvs:snvs-powerkey as /devices/soc0/soc/2000000.aips-bus/20cc000.snvs/20cc000.snvs:snvs-powerkey/input/input0
egalax_ts 1-0004: Failed to switch to I2C interface
isl29023 2-0044: 2-0044 supply vdd not found, using dummy regulator
snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-rtc-lp as rtc0
i2c /dev entries driver
IR NEC protocol handler initialized
IR RC5(x/sz) protocol handler initialized
IR RC6 protocol handler initialized
IR JVC protocol handler initialized
IR Sony protocol handler initialized
IR SANYO protocol handler initialized
IR Sharp protocol handler initialized
IR MCE Keyboard/mouse protocol handler initialized
IR XMP protocol handler initialized
pxp-v4l2 pxp_v4l2_out: initialized
mag3110 2-000e: 2-000e supply vdd not found, using dummy regulator
mag3110 2-000e: 2-000e supply vddio not found, using dummy regulator
mag3110 2-000e: check mag3110 chip ID
mag3110 2-000e: read chip ID 0xfffffff5 is not equal to 0xc4!
mag3110: probe of 2-000e failed with error -22
mma8451 2-001c: 2-001c supply vdd not found, using dummy regulator
mma8451 2-001c: 2-001c supply vddio not found, using dummy regulator
mma8451 2-001c: read chip ID 0x1 is not equal to 0x1a or 0x2a!
mma8451: probe of 2-001c failed with error -22
imx2-wdt 20bc000.wdog: timeout 60 sec (nowayout=0)
Bluetooth: HCI UART driver ver 2.3
Bluetooth: HCI UART protocol H4 registered
Bluetooth: HCI UART protocol BCSP registered
Bluetooth: HCI UART protocol ATH3K registered
usbcore: registered new interface driver bcm203x
usbcore: registered new interface driver btusb
usbcore: registered new interface driver ath3k
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
mmc3: SDHCI controller on 219c000.usdhc [219c000.usdhc] using ADMA
mmc3: mmc_select_hs200 failed, error -74
mmc3: new MMC card at address 0001
mmcblk3: mmc3:0001 MMC04G 3.57 GiB
mmcblk3boot0: mmc3:0001 MMC04G partition 1 8.00 MiB
mmcblk3boot1: mmc3:0001 MMC04G partition 2 8.00 MiB
mmcblk3rpmb: mmc3:0001 MMC04G partition 3 128 KiB
mmcblk3: p1 p2
lp5523x 1-0035: lp5523 Programmable led chip found
caam 2100000.caam: ERA source: CAAMVID.
caam 2100000.caam: device ID = 0x0a16010000000200 (Era 4)
caam 2100000.caam: job rings = 2, qi = 0, dpaa2 = no
caam algorithms registered in /proc/crypto
caam_jr 2101000.jr0: registering rng-caam
platform caam_sm: blkkey_ex: 8 keystore units available
caam 2100000.caam: SM test passed
caam-snvs 20cc000.caam-snvs: can't get snvs clock
caam-snvs 20cc000.caam-snvs: violation handlers armed - non-secure state
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
wm8962 3-001a: Failed to read ID register
fsl-ssi-dai 202c000.ssi: No cache defaults, reading back from HW
imx6sx-pinctrl 20e0000.iomuxc: pin MX6SX_PAD_SD4_DATA4 already requested by 219c000.usdhc; cannot claim for 2004000.spdif
imx6sx-pinctrl 20e0000.iomuxc: pin-164 (2004000.spdif) status -22
imx6sx-pinctrl 20e0000.iomuxc: could not request pin 164 (MX6SX_PAD_SD4_DATA4) from group spdifgrp on device 20e0000.iomuxc
fsl-spdif-dai 2004000.spdif: Error applying setting, reverse things back
fsl-spdif-dai: probe of 2004000.spdif failed with error -22
imx-wm8962 sound: failed to find codec platform device
imx-wm8962: probe of sound failed with error -22
imx-spdif sound-spdif: ASoC: CPU DAI (null) not registered
imx-spdif sound-spdif: snd_soc_register_card failed: -517
NET: Registered protocol family 26
NET: Registered protocol family 10
Segment Routing with IPv6
sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
NET: Registered protocol family 17
can: controller area network core (rev 20170425 abi 9)
NET: Registered protocol family 29
can: raw protocol (rev 20170425)
can: broadcast manager protocol (rev 20170425 t)
can: netlink gateway (rev 20170425) max_hops=1
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: BNEP socket layer initialized
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
Bluetooth: HIDP socket layer initialized
8021q: 802.1Q VLAN Support v1.8
lib80211: common routines for IEEE802.11 drivers
Key type dns_resolver registered
vddarm: supplied by SW1AB
vddsoc: supplied by SW1AB
mxsfb 2224000.lcdif: 2224000.lcdif supply lcd not found, using dummy regulator
mxsfb 2224000.lcdif: registered mxc display driver ldb
Console: switching to colour frame buffer device 128x48
sii902x bound to mxs-lcdif1 from 2224000.lcdif
mxsfb 2224000.lcdif: initialized
imx-pgc-pd imx-pgc-power-domain.1: Linked as a consumer to 20dc000.gpc
imx-spdif sound-spdif: ASoC: CPU DAI (null) not registered
imx-spdif sound-spdif: snd_soc_register_card failed: -517
(NULL device *): hwmon_device_register() is deprecated. Please convert the driver to use hwmon_device_register_with_info().
imx_thermal 2000000.aips-bus:tempmon: Industrial CPU temperature grade - max:105C critical:100C passive:95C
imx-spdif sound-spdif: ASoC: CPU DAI (null) not registered
imx-spdif sound-spdif: snd_soc_register_card failed: -517
snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01 00:00:00 UTC (0)
VCC_SD3: disabling
usb_otg1_vbus: disabling
PSU-5V0: disabling
can-en: disabling
can-stby: disabling
ALSA device list:
No soundcards found.
EXT4-fs (mmcblk3p2): mounting ext3 file system using the ext4 subsystem
EXT4-fs (mmcblk3p2): recovery complete
EXT4-fs (mmcblk3p2): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext3 filesystem) on device 179:2.
devtmpfs: mounted
Freeing unused kernel memory: 1024K
INIT: version 2.88 booting
Starting udev
udevd[178]: starting version 3.2.5
random: udevd: uninitialized urandom read (16 bytes read)
random: udevd: uninitialized urandom read (16 bytes read)
random: udevd: uninitialized urandom read (16 bytes read)

//===================================================================crash occurs from here 
udevd[179]: starting eudev-3.2.5
Unable to handle kernel NULL pointer dereference at virtual address 00000004
pgd = a8a10000
[00000004] *pgd=a89e1831, *pte=00000000, *ppte=00000000 
Internal error: Oops: 17 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 181 Comm: udevadm Not tainted 4.14.98-2.3.0+g0f549d8 #1
Hardware name: Freescale i.MX6 SoloX (Device Tree)
task: a8368c00 task.stack: a89fe000
PC is at sysfs_kf_write+0x24/0x48
LR is at 0xa8503240
pc : [<80286520>] lr : [<a8503240>] psr: 200f0013
sp : a89ffec8 ip : 00000000 fp : 7ef89ef8
r10: a8ab9090 r9 : a89fff80 r8 : a8aa41c0
r7 : 00000000 r6 : 00000000 r5 : a8ab9080 r4 : 00000003
r3 : a85031e0 r2 : 00000003 r1 : a8aa41c0 r0 : a8035110
Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
Control: 10c53c7d Table: a8a1004a DAC: 00000051
Process udevadm (pid: 181, stack limit = 0xa89fe210)
Stack: (0xa89ffec8 to 0xa8a00000)
fec0: 00000003 80285cd8 00000000 00000000 80285bf0 00000003
fee0: 7ef89ef8 a89fff80 00000000 00000003 00000004 8021a6f4 80209724 000000e0
ff00: 00000000 00000000 00000000 a89fff10 a620fc88 80c30b10 a620fc88 00000020
ff20: a8038500 00000003 a8acb3c0 00000020 00000000 a8994d80 a8994d80 a89fff80
ff40: a8acb3c0 00000003 7ef89ef8 a89fff80 00000000 8021a96c a89a1000 00000020
ff60: a8acb3c8 a8acb3c0 a8acb3c0 00000000 00000000 7ef89ef8 00000003 8021ab30
ff80: 00000000 00000000 a89fffb0 004b6258 00000003 0005f3b8 00000004 80107b84
ffa0: a89fe000 80107980 004b6258 00000003 00000003 7ef89ef8 00000003 00000000
ffc0: 004b6258 00000003 0005f3b8 00000004 000405c0 00080001 000405f8 7ef89ef8
ffe0: 00000064 7ef893a0 00016bb8 76ead124 600f0010 00000003 00000000 00000000
[<80286520>] (sysfs_kf_write) from [<80285cd8>] (kernfs_fop_write+0xe8/0x1c4)
[<80285cd8>] (kernfs_fop_write) from [<8021a6f4>] (__vfs_write+0x1c/0x120)
[<8021a6f4>] (__vfs_write) from [<8021a96c>] (vfs_write+0xa4/0x168)
[<8021a96c>] (vfs_write) from [<8021ab30>] (SyS_write+0x3c/0x90)
[<8021ab30>] (SyS_write) from [<80107980>] (ret_fast_syscall+0x0/0x54)
Code: e35c0000 159cc004 e3520000 0a000006 (e59c4004)
evbug: Connected device: input0 (20cc000.snvs:snvs-powerkey at snvs-pwrkey/input0)
imx-sdma 20ec000.sdma: loaded firmware 3.5
ov5640 0-003c: 0-003c supply DOVDD not found, using dummy regulator
---[ end trace 151b9eb0ded4a2c2 ]---
/etc/rcS.d/S04udev: line 26: 181 Segmentation fault udevadm trigger --action=add
//============================================================================== crash ends
ov5640_read_reg:write reg error:reg=300a
camera ov5640 is not found
EXT4-fs (mmcblk3p2): re-mounted. Opts: data=ordered
hwclock: settimeofday: Invalid argument
Tue Mar 10 10:18:12 UTC 2020
urandom_read: 1 callbacks suppressed
random: dd: uninitialized urandom read (512 bytes read)
ALSA: Restoring mixer settings...
/usr/sbin/alsactl: load_state:1735: No soundcards found...
INIT: Entering runlevel: 5
Configuring network interfaces... Micrel KSZ8081 or KSZ8091 2188000.ethernet-1:00: attached PHY driver [Micrel KSZ8081 or KSZ8091] (mii_bus:ph)
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
udhcpc: started, v1.27.2
udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending discover
udhcpc: no lease, forking to background
done.
Starting system message bus: random: dbus-daemon: uninitialized urandom read (12 bytes read)
random: dbus-daemon: uninitialized urandom read (12 bytes read)
dbus.
Starting rpcbind daemon...done.
Starting syslogd/klogd: done
* Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon
random: avahi-daemon: uninitialized urandom read (4 bytes read)
...done.
Starting Telephony daemon
Starting Linux NFC daemon

NXP i.MX Release Distro 4.14-sumo imx6sxsabresd /dev/ttymxc0

imx6sxsabresd login: root

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

Console comes properly and all the peripherals are working fine but  there is a segmentation fault occurs ( highlighted in above log ). 

Can anyone help me out what is causing this issue ?

Labels (1)
0 Kudos
Reply
8 Replies

2,678 Views
kbante1995
Contributor I

I have done till 400Mhz ... after which it is failing to do .

0 Kudos
Reply

2,679 Views
igorpadykov
NXP Employee
NXP Employee

for that reason it is not working (kernel segmentation issue).

Suggest to fix it.

Best regards
igor

0 Kudos
Reply

2,679 Views
kbante1995
Contributor I

Recently , I did the test for 528 MHz  multiple times ( recommended by manufacturer also ) , and it passed all the tests, but some parameters and configurations values are changing every time it gets over . So stress test seems to be OK but uncertainty in configuration value . I flashed the board with all the test values and the issue is still same .  

0 Kudos
Reply

2,679 Views
igorpadykov
NXP Employee
NXP Employee

strictly speaking Linux version 4.14.98-2.3.0 does not support i.MX6SX,

may be suggested to use Linux 4.14.98_2.3.1-patch Documentation

(included Release Notes declares support for i.MX6SX).

Best regards
igor

0 Kudos
Reply

2,679 Views
kbante1995
Contributor I

Hi Igor ,

 The issue got resolved .

The Flash memory , which is attached to i.mx6 , was not configured properly in device tree files .

Now there is no segmentation crash .

( For such issues ,one needs to configure all memory devices properly in device tree and  enable them in kernel modules , If DDR is passing successfully )

0 Kudos
Reply

2,679 Views
kbante1995
Contributor I

Hi Igor ,

Thanks for your suggetions .

I have ran DDR Stress test at 100MHz.  and updated values in below file .

content of : board/freescale/mx6sxsabresd/imximage.cfg   file below

After changes ,  I am getting same issue .

==============================

/*
* Copyright (C) 2014-2016 Freescale Semiconductor, Inc.
*
* SPDX-License-Identifier: GPL-2.0+
*/

#define __ASSEMBLY__
#include <config.h>

/* image version */

IMAGE_VERSION 2

/*
* Boot Device : one of
* spi/sd/nand/onenand, qspi/nor
*/

#ifdef CONFIG_QSPI_BOOT
BOOT_FROM qspi
#else
BOOT_FROM sd
#endif

#ifdef CONFIG_USE_IMXIMG_PLUGIN
/*PLUGIN plugin-binary-file IRAM_FREE_START_ADDR*/
PLUGIN board/freescale/mx6sxsabresd/plugin.bin 0x00907000
#else

#ifdef CONFIG_SECURE_BOOT
CSF CONFIG_CSF_SIZE
#endif

/*
* Device Configuration Data (DCD)
*
* Each entry must have the format:
* Addr-type Address Value
*
* where:
* Addr-type register length (1,2 or 4 bytes)
* Address absolute address of the register
* value value to be stored in the register
*/

/* Enable all clocks */
DATA 4 0x020c4068 0xffffffff
DATA 4 0x020c406c 0xffffffff
DATA 4 0x020c4070 0xffffffff
DATA 4 0x020c4074 0xffffffff
DATA 4 0x020c4078 0xffffffff
DATA 4 0x020c407c 0xffffffff
DATA 4 0x020c4080 0xffffffff
DATA 4 0x020c4084 0xffffffff

#ifdef CONFIG_IMX_OPTEE
DATA 4 0x20e4024 0x00000001
CHECK_BITS_SET 4 0x20e4024 0x1
#endif

/* IOMUX - DDR IO Type */
DATA 4 0x020e0618 0x000c0000
DATA 4 0x020e05fc 0x00000000

/* Clock */
DATA 4 0x020e032c 0x00000030

/* Address */
DATA 4 0x020e0300 0x00000020
DATA 4 0x020e02fc 0x00000020
DATA 4 0x020e05f4 0x00000020

/* Control */
DATA 4 0x020e0340 0x00000020

DATA 4 0x020e0320 0x00000000
DATA 4 0x020e0310 0x00000020
DATA 4 0x020e0314 0x00000020
DATA 4 0x020e0614 0x00000020

/* Data Strobe */
DATA 4 0x020e05f8 0x00020000
DATA 4 0x020e0330 0x00000028
DATA 4 0x020e0334 0x00000028
DATA 4 0x020e0338 0x00000028
DATA 4 0x020e033c 0x00000028

/* Data */
DATA 4 0x020e0608 0x00020000
DATA 4 0x020e060c 0x00000028
DATA 4 0x020e0610 0x00000028
DATA 4 0x020e061c 0x00000028
DATA 4 0x020e0620 0x00000028
DATA 4 0x020e02ec 0x00000028
DATA 4 0x020e02f0 0x00000028
DATA 4 0x020e02f4 0x00000028
DATA 4 0x020e02f8 0x00000028

/* Calibrations - ZQ */
DATA 4 0x021b0800 0xa1390003

/* Write leveling */
/*DATA 4 0x021b080c 0x00290025
DATA 4 0x021b0810 0x00220022*/

/* Updated by me */
DATA 4 0x021b080c 0x00290027
DATA 4 0x021b0810 0x00240024

/* DQS Read Gate */
/*DATA 4 0x021b083c 0x41480144
DATA 4 0x021b0840 0x01340130*/

/* Updated by me */
DATA 4 0x021b083c 0x41440144
DATA 4 0x021b0840 0x0138012C

/* Read/Write Delay */
/*DATA 4 0x021b0848 0x3C3E4244
DATA 4 0x021b0850 0x34363638*/

/* Updated by me */
DATA 4 0x021b0848 0x3E424246
DATA 4 0x021b0850 0x3A3A3C38

/* Read data bit delay */
DATA 4 0x021b081c 0x33333333
DATA 4 0x021b0820 0x33333333
DATA 4 0x021b0824 0x33333333
DATA 4 0x021b0828 0x33333333

/* Complete calibration by forced measurement */
DATA 4 0x021b08b8 0x00000800

/* MMDC init - DDR3, 64-bit mode, only MMDC0 is initiated */
DATA 4 0x021b0004 0x0002002d
DATA 4 0x021b0008 0x00333030
DATA 4 0x021b000c 0x676b52f3
DATA 4 0x021b0010 0xb66d8b63
DATA 4 0x021b0014 0x01ff00db
DATA 4 0x021b0018 0x00011740
DATA 4 0x021b001c 0x00008000
DATA 4 0x021b002c 0x000026d2
DATA 4 0x021b0030 0x006b1023
DATA 4 0x021b0040 0x0000005f
DATA 4 0x021b0000 0x84190000

/* Initialize MT41K256M16HA-125 - MR2 */
DATA 4 0x021b001c 0x04008032
/* MR3 */
DATA 4 0x021b001c 0x00008033
/* MR1 */
DATA 4 0x021b001c 0x00048031
/* MR0 */
DATA 4 0x021b001c 0x05208030
/* DDR device ZQ calibration */
DATA 4 0x021b001c 0x04008040

/* Final DDR setup, before operation start */
DATA 4 0x021b0020 0x00000800
DATA 4 0x021b0818 0x00011117
DATA 4 0x021b001c 0x00000000
#endif

==============================

and also after runing the test multiple times , I am getting different values ..( refer below log )

========================================

#MR1 0004
#Iteration 1

MMDC registers updated from calibration

Write leveling calibration
MMDC_MPWLDECTRL0 ch0 (0x021b080c) = 0x00290027
MMDC_MPWLDECTRL1 ch0 (0x021b0810) = 0x00240024

Read DQS Gating calibration
MPDGCTRL0 PHY0 (0x021b083c) = 0x41440144
MPDGCTRL1 PHY0 (0x021b0840) = 0x0138012C

Read calibration
MPRDDLCTL PHY0 (0x021b0848) = 0x3E424246

Write calibration
MPWRDLCTL PHY0 (0x021b0850) = 0x3A3A3C38

#Iteration 2

MMDC registers updated from calibration

Write leveling calibration
MMDC_MPWLDECTRL0 ch0 (0x021b080c) = 0x00290027
MMDC_MPWLDECTRL1 ch0 (0x021b0810) = 0x00240024

Read DQS Gating calibration
MPDGCTRL0 PHY0 (0x021b083c) = 0x41020102
MPDGCTRL1 PHY0 (0x021b0840) = 0x01020102

Read calibration
MPRDDLCTL PHY0 (0x021b0848) = 0x3E424244

Write calibration
MPWRDLCTL PHY0 (0x021b0850) = 0x3A3A3C38

#Iteration 3

MMDC registers updated from calibration

Write leveling calibration
MMDC_MPWLDECTRL0 ch0 (0x021b080c) = 0x00290027
MMDC_MPWLDECTRL1 ch0 (0x021b0810) = 0x00260024

Read DQS Gating calibration
MPDGCTRL0 PHY0 (0x021b083c) = 0x41340134
MPDGCTRL1 PHY0 (0x021b0840) = 0x013A0138

Read calibration
MPRDDLCTL PHY0 (0x021b0848) = 0x40424244

Write calibration
MPWRDLCTL PHY0 (0x021b0850) = 0x3A3A3C38

0 Kudos
Reply

2,679 Views
igorpadykov
NXP Employee
NXP Employee

>I have ran DDR Stress test at 100MHz.  and updated values in below file .

what is about other frequencies ?

Best regards
igor

0 Kudos
Reply

2,679 Views
igorpadykov
NXP Employee
NXP Employee

Hi Vasim

such error may happen due to memory errors, one can run ddr test

i.MX6/7 DDR Stress Test Tool V3.00 

and update uboot imximage.cfg\mx6sxsabresd\freescale\board - uboot-imx - i.MX U-Boot 

file with new calibration settings found from ddr test.

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

0 Kudos
Reply