i.MX6ULL issue with kernel after loading SDMA module

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

i.MX6ULL issue with kernel after loading SDMA module

1,485 Views
illyau
Contributor I

Hi everyone I'm one of the students currently working on a datalogging i.MX6ULL board. For our purpuses we need the SDMA module. But as soon as I include it in the menuconfig of the kernel build the board won't boot. Here is the boot log. It stops right after the SDMA mesages.

Would really appreciate any help!

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 5.15.71-00002-g9c3c24b92ece (pi@raspberrypi) (gcc (Raspbian 8.3.0-6+rpi1) 8.3.0, GNU ld (GNU Binutils for Raspbian) 2.31.1) #2 SMP PREEMPT Tue Mar 7 22:23:17 GMT 2023
CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
CPU: div instructions available: patching division code
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
OF: fdt: Machine model: Datalogger rev2.0 v1.4 sDMA test
Memory policy: Data cache writealloc
Zone ranges:
  Normal   [mem 0x0000000080000000-0x000000009fffffff]
  HighMem  empty
Movable zone start for each node
Early memory node ranges
  node   0: [mem 0x0000000080000000-0x000000009fffffff]
Initmem setup node 0 [mem 0x0000000080000000-0x000000009fffffff]
percpu: Embedded 16 pages/cpu s34124 r8192 d23220 u65536
Built 1 zonelists, mobility grouping on.  Total pages: 130048
Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk1p2 coherent_pool=4M net.ifnames=0 rootwait rw
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
mem auto-init: stack:off, heap alloc:off, heap free:off
Memory: 500416K/524288K available (9216K kernel code, 1356K rwdata, 6580K rodata, 1024K init, 410K bss, 23872K reserved, 0K cma-reserved, 0K highmem)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
trace event string verifier disabled
rcu: Preemptible hierarchical RCU implementation.
rcu:    RCU event tracing is enabled.
rcu:    RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
        Trampoline variant of Tasks RCU enabled.
rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
Switching to timer-based delay loop, resolution 41ns
sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=96000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
CPU: Testing write buffer coherency: ok
/cpus/cpu@0 missing clock-frequency property
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x80100000 - 0x80100060
rcu: Hierarchical SRCU implementation.
smp: Bringing up secondary CPUs ...
smp: Brought up 1 node, 1 CPU
SMP: Total of 1 processors activated (48.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
Duplicate name in lcdif@021c8000, renamed to "display#1"
VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
futex hash table entries: 256 (order: 2, 16384 bytes, linear)
pinctrl core: initialized pinctrl subsystem
NET: Registered PF_NETLINK/PF_ROUTE protocol family
DMA: preallocated 4096 KiB pool for atomic coherent allocations
thermal_sys: Registered thermal governor 'step_wise'
cpuidle: using governor ladder
cpuidle: using governor menu
CPU identified as i.MX6ULL, silicon rev 1.1
vdd3p0: supplied by regulator-dummy
cpu: supplied by regulator-dummy
vddsoc: supplied by regulator-dummy
failed to find ocotp node
failed to find ocotp node
No ATAGs?
hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 8 bytes.
imx6ul-pinctrl 20e0000.iomuxc: Invalid fsl,pins or pins property in node /soc/aips-bus@02000000/iomuxc@020e0000/imx6ul-evk/lcdifdatgrp
imx6ul-pinctrl 20e0000.iomuxc: Invalid fsl,pins or pins property in node /soc/aips-bus@02000000/iomuxc@020e0000/imx6ul-evk/pwm1grp
imx6ul-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
imx6ul-pinctrl 2290000.iomuxc-snvs: initialized IMX pinctrl driver
imx mu driver is registered.
imx rpmsg driver is registered.
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
pca953x 0-0019: supply vcc not found, using dummy regulator
pca953x 0-0019: using no AI
i2c i2c-0: IMX I2C adapter registered
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
MIPI CSI2 driver module loaded
Bluetooth: Core ver 2.22
NET: Registered PF_BLUETOOTH protocol family
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
NET: Registered PF_INET protocol family
IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
TCP bind hash table entries: 4096 (order: 3, 32768 bytes, linear)
TCP: Hash tables configured (established 4096 bind 4096)
UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
NET: Registered PF_UNIX/PF_LOCAL protocol family
Bus freq driver module loaded
Initialise system trusted keyrings
workingset: timestamp_bits=30 max_order=17 bucket_order=0
jffs2: version 2.2. (NAND) � 2001-2006 Red Hat, Inc.
fuse: init (API version 7.34)
Key type asymmetric registered
Asymmetric key parser 'x509' registered
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
io scheduler mq-deadline registered
io scheduler kyber registered
io scheduler bfq registered
imx-weim 21b8000.weim: Driver registered.
mxsfb 21c8000.lcdif: supply lcd not found, using dummy regulator
sii902x bound to mxs-lcdif from 21c8000.lcdif
Console: switching to colour frame buffer device 60x34
mxsfb 21c8000.lcdif: initialized
2018000.serial: ttymxc6 at MMIO 0x2018000 (irq = 26, base_baud = 5000000) is a IMX
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 27, base_baud = 5000000) is a IMX
printk: console [ttymxc0] enabled
21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 72, base_baud = 5000000) is a IMX
21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 73, base_baud = 5000000) is a IMX
21f0000.serial: ttymxc3 at MMIO 0x21f0000 (irq = 74, base_baud = 5000000) is a IMX
21f4000.serial: ttymxc4 at MMIO 0x21f4000 (irq = 75, base_baud = 5000000) is a IMX
21fc000.serial: ttymxc5 at MMIO 0x21fc000 (irq = 76, base_baud = 5000000) is a IMX
2288000.serial: ttymxc7 at MMIO 0x2288000 (irq = 77, base_baud = 5000000) is a IMX
imx sema4 driver is registered.
brd: module loaded
loop: module loaded
PPP generic driver version 2.4.2
PPP BSD Compression module registered
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) 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 usb-storage
usbcore: registered new interface driver usb_ehset_test
udc-core: couldn't find an available UDC - added [g_serial] to list of pending drivers
input: 20cc000.snvs:snvs-powerkey as /devices/platform/soc/2000000.aips-bus/20cc000.snvs/20cc000.snvs:snvs-powerkey/input/input0
rtc-ds1307 0-0068: registered as rtc0
rtc-ds1307 0-0068: setting system clock to 2023-03-07T23:03:16 UTC (1678230196)
i2c_dev: i2c /dev entries driver
Bluetooth: HCI UART driver ver 2.3
Bluetooth: HCI UART protocol H4 registered
Bluetooth: HCI UART protocol BCSP registered
Bluetooth: HCI UART protocol LL registered
Bluetooth: HCI UART protocol Three-wire (H5) registered
Bluetooth: HCI UART protocol Marvell registered
usbcore: registered new interface driver btusb
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
sdhci-esdhc-imx 2190000.usdhc: Got CD GPIO
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
gnss: GNSS driver registered with major 246
NET: Registered PF_LLC protocol family
xt_time: kernel timezone is -0000
NET: Registered PF_INET6 protocol family
Segment Routing with IPv6
mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
In-situ OAM (IOAM) with IPv6
sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA
NET: Registered PF_PACKET protocol family
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
Registering SWP/SWPB emulation handler
Loading compiled-in X.509 certificates
mmc1: host does not support reading read-only switch, assuming write-enable
mmc0: host does not support reading read-only switch, assuming write-enable
mmc0: new high speed SDXC card at address 5048
mmc1: new high speed SDHC card at address 1388
mmcblk0: mmc0:5048 SD64G 58.1 GiB 
mmcblk1: mmc1:1388 USD00 29.5 GiB 
 mmcblk1: p1 p2
 mmcblk0: p1
ci_hdrc ci_hdrc.0: EHCI Host Controller
ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 5.15.71-00002-g9c3c24b92ece ehci_hcd
usb usb1: SerialNumber: ci_hdrc.0
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
ci_hdrc ci_hdrc.1: EHCI Host Controller
ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 2
ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: EHCI Host Controller
usb usb2: Manufacturer: Linux 5.15.71-00002-g9c3c24b92ece ehci_hcd
usb usb2: SerialNumber: ci_hdrc.1
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
psci_checker: Missing PSCI operations, aborting tests
EXT4-fs (mmcblk1p2): recovery complete
EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null). Quota mode: disabled.
VFS: Mounted root (ext4 filesystem) on device 179:10.
devtmpfs: mounted
Freeing unused kernel image (initmem) memory: 1024K
Run /sbin/init as init process
usb 2-1: new high-speed USB device number 2 using ci_hdrc
usb 2-1: New USB device found, idVendor=1286, idProduct=2052, bcdDevice=40.00
usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-1: Product: Marvell Wireless Device
usb 2-1: Manufacturer: Marvell
usb 2-1: SerialNumber: 0000000000000000
systemd[1]: systemd 241 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid)
systemd[1]: Detected architecture arm.

Welcome to Debian GNU/Linux 10 (buster)!

systemd[1]: Set hostname to <datalogger-rev2.0>.
systemd[1]: File /lib/systemd/system/systemd-journald.service:12 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling.
systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.)
random: systemd: uninitialized urandom read (16 bytes read)
random: systemd: uninitialized urandom read (16 bytes read)
systemd[1]: Created slice system-systemd\x2dfsck.slice.
[  OK  ] Created slice system-systemd\x2dfsck.slice.
random: systemd: uninitialized urandom read (16 bytes read)
systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Started Forward Password R�uests to Wall Directory Watch.
systemd[1]: Created slice system-serial\x2dgetty.slice.
[  OK  ] Created slice system-serial\x2dgetty.slice.
systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[  OK  ] Set up automount Arbitrary�s File System Automount Point.
systemd[1]: Listening on Syslog Socket.
[  OK  ] Listening on Syslog Socket.
[  OK  ] Reached target Swap.
[  OK  ] Listening on udev Control Socket.
[  OK  ] Started Dispatch Password �ts to Console Directory Watch.
[  OK  ] Reached target Paths.
[  OK  ] Reached target Local Encrypted Volumes.
[  OK  ] Created slice system-getty.slice.
[  OK  ] Created slice User and Session Slice.
[  OK  ] Reached target Slices.
[  OK  ] Listening on initctl Compatibility Named Pipe.
[  OK  ] Reached target Remote File Systems.
[  OK  ] Listening on fsck to fsckd communication Socket.
[  OK  ] Listening on Journal Socket.
         Starting Load Kernel Modules...
         Starting Remount Root and Kernel File Systems...
         Starting Nameserver information manager...
[  OK  ] Listening on Journal Socket (/dev/log).
         Starting Journal Service...
         Mounting Kernel Debug File System...
[  OK  ] Listening on udev Kernel Socket.
         Starting udev Coldplug all Devices...
[  OK  ] Mounted Kernel Debug File System.
[  OK  ] Started Nameserver information manager.
[FAILED] Failed to start Load Kernel Modules.
See 'systemctl status systemd-modules-load.service' for details.
random: systemd: uninitialized urandom read (16 bytes read)
EXT4-fs (mmcblk1p2): re-mounted. Opts: (null). Quota mode: disabled.
         Starting Apply Kernel Variables...
random: systemd: uninitialized urandom read (16 bytes read)
         Mounting Kernel Configuration File System...
random: systemd: uninitialized urandom read (16 bytes read)
         Mounting FUSE Control File System...
[  OK  ] Started Remount Root and Kernel File Systems.
[  OK  ] Mounted Kernel Configuration File System.
         Starting Create System Users...
         Starting Load/Save Random Seed...
[  OK  ] Mounted FUSE Control File System.
[  OK  ] Started Apply Kernel Variables.
random: systemd-random-: uninitialized urandom read (512 bytes read)
systemd[1]: Started Load/Save Random Seed.
[  OK  ] Started Load/Save Random Seed.
systemd[1]: Started Create System Users.
[  OK  ] Started Create System Users.
random: systemd: uninitialized urandom read (16 bytes read)
systemd[1]: Starting Create Static Device Nodes in /dev...
         Starting Create Static Device Nodes in /dev...
systemd[1]: Started Journal Service.
[  OK  ] Started Journal Service.
random: systemd-journal: uninitialized urandom read (16 bytes read)
         Starting Flush Journal to Persistent Storage...
[  OK  ] Started Create Static Device Nodes in /dev.
systemd-journald[112]: Received request to flush runtime journal from PID 1
random: systemd: uninitialized urandom read (16 bytes read)
         Starting udev Kernel Device Manager...
[  OK  ] Reached target Local File Systems (Pre).
[  OK  ] Started Flush Journal to Persistent Storage.
[  OK  ] Started udev Kernel Device Manager.
imx-sdma 20ec000.sdma: alloc bd from iram.
imx-sdma 20ec000.sdma: firmware found.
imx-sdma 20ec000.sdma: loaded firmware 3.3

 

Tags (1)
0 Kudos
Reply
2 Replies

1,415 Views
Rita_Wang
NXP TechSupport
NXP TechSupport

Please refer to following file in linux kernel source:

drivers/dma/dmatest.c

Documentation/dmaengine/dmatest.txt

0 Kudos
Reply

1,450 Views
ceggers
Contributor V

Hi,

I've checked you kernel log and cannot and cannot see anything suspicious. Did you link the SDMA driver directly into the kernel or is it loaded as a module?

For deeper investigation I suggest adding some printk messages in the probe() routine of the SDMA driver in order to find the location where the system breaks.

regards,
Christian

0 Kudos
Reply