AnsweredAssumed Answered

i.MX7D Custom Board hanging on boot with NXP v4.9 kernel

Question asked by Jonah Petri on Aug 7, 2018
Latest reply on Aug 8, 2018 by Jonah Petri

Hello,

 

We have a in-production custom board based largely on the mx7 sabre board.  Our current kernel is based on the the v4.1 BSP from NXP, and I was exploring upgrading to the v4.9 BSP.  Both a custom kernel and the NXP-provided binary BSP kernel hang when booting, typically nearby eMMC access.  Panic logs vary from boot to boot.

 

I've tried to construct a minimal DTS, based on the imx7d-sdb.dts file, but the NXP kernel from the 4.9 BSP still cannot boot.

 

DTS:

/dts-v1/;

#include "imx7d.dtsi"

/ {
     model = "Freescale i.MX7 SabreSD Board";
     compatible = "fsl,imx7d-sdb", "fsl,imx7d";

     memory {
          reg = <0x80000000 0x20000000>;
     };
};

&cpu0 {
     arm-supply = <&sw1a_reg>;
};

&i2c3 {
     clock-frequency = <100000>;
     pinctrl-names = "default";
     pinctrl-0 = <&pinctrl_i2c3>;
     status = "okay";

     pmic: pfuze3000@08 {
          compatible = "fsl,pfuze3000";
          reg = <0x08>;

          regulators {
               sw1a_reg: sw1a {
                    regulator-min-microvolt = <700000>;
                    regulator-max-microvolt = <3300000>;
                    regulator-boot-on;
                    regulator-always-on;
                    regulator-ramp-delay = <6250>;
               };

               /* use sw1c_reg to align with pfuze100/pfuze200 */
               sw1c_reg: sw1b {
                    regulator-min-microvolt = <700000>;
                    regulator-max-microvolt = <1475000>;
                    regulator-boot-on;
                    regulator-always-on;
                    regulator-ramp-delay = <6250>;
               };

               sw2_reg: sw2 {
                    regulator-min-microvolt = <1500000>;
                    regulator-max-microvolt = <1850000>;
                    regulator-boot-on;
                    regulator-always-on;
               };

               sw3a_reg: sw3 {
                    regulator-min-microvolt = <900000>;
                    regulator-max-microvolt = <1650000>;
                    regulator-boot-on;
                    regulator-always-on;
               };

               swbst_reg: swbst {
                    regulator-min-microvolt = <5000000>;
                    regulator-max-microvolt = <5150000>;
               };

               snvs_reg: vsnvs {
                    regulator-min-microvolt = <1000000>;
                    regulator-max-microvolt = <3000000>;
                    regulator-boot-on;
                    regulator-always-on;
               };

               vref_reg: vrefddr {
                    regulator-boot-on;
                    regulator-always-on;
               };

               vgen1_reg: vldo1 {
                    regulator-min-microvolt = <1800000>;
                    regulator-max-microvolt = <3300000>;
                    regulator-always-on;
               };

               vgen2_reg: vldo2 {
                    regulator-min-microvolt = <800000>;
                    regulator-max-microvolt = <1550000>;
               };

               vgen3_reg: vccsd {
                    regulator-min-microvolt = <2850000>;
                    regulator-max-microvolt = <3300000>;
                    regulator-always-on;
               };

               vgen4_reg: v33 {
                    regulator-min-microvolt = <2850000>;
                    regulator-max-microvolt = <3300000>;
                    regulator-always-on;
               };

               vgen5_reg: vldo3 {
                    regulator-min-microvolt = <1800000>;
                    regulator-max-microvolt = <3300000>;
                    regulator-always-on;
               };

               vgen6_reg: vldo4 {
                    regulator-min-microvolt = <1800000>;
                    regulator-max-microvolt = <3300000>;
                    regulator-always-on;
               };
          };
     };
};

&sdma {
     status = "okay";
};

&iomuxc_lpsr {

     imx7d-sdb {
          pinctrl_wdog: wdoggrp {
               fsl,pins = <
                    MX7D_PAD_GPIO1_IO00__WDOD1_WDOG_B 0x74
               >;
          };

     };
};

&uart1 {
     pinctrl-names = "default";
     pinctrl-0 = <&pinctrl_uart1>;
     assigned-clocks = <&clks IMX7D_UART1_ROOT_SRC>;
     assigned-clock-parents = <&clks IMX7D_OSC_24M_CLK>;
     status = "okay";
};

&usdhc3 {
     pinctrl-names = "default", "state_100mhz", "state_200mhz";
     pinctrl-0 = <&pinctrl_usdhc3>;
     pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
     pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
     assigned-clocks = <&clks IMX7D_USDHC3_ROOT_CLK>;
     assigned-clock-rates = <400000000>;
     bus-width = <8>;
     non-removable;
     status = "okay";
};

&wdog1 {
     pinctrl-names = "default";
     pinctrl-0 = <&pinctrl_wdog>;
     fsl,ext-reset-output;
};

&iomuxc {
     imx7d-sdb {
          pinctrl_i2c3: i2c3grp {
               fsl,pins = <
                    MX7D_PAD_I2C3_SDA__I2C3_SDA          0x4000007f
                    MX7D_PAD_I2C3_SCL__I2C3_SCL          0x4000007f
               >;
          };

          pinctrl_uart1: uart1grp {
               fsl,pins = <
                    MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX     0x79
                    MX7D_PAD_UART1_RX_DATA__UART1_DCE_RX     0x79
               >;
          };

          pinctrl_usdhc3: usdhc3grp {
               fsl,pins = <
                    MX7D_PAD_SD3_CMD__SD3_CMD          0x59
                    MX7D_PAD_SD3_CLK__SD3_CLK          0x19
                    MX7D_PAD_SD3_DATA0__SD3_DATA0          0x59
                    MX7D_PAD_SD3_DATA1__SD3_DATA1          0x59
                    MX7D_PAD_SD3_DATA2__SD3_DATA2          0x59
                    MX7D_PAD_SD3_DATA3__SD3_DATA3          0x59
                    MX7D_PAD_SD3_DATA4__SD3_DATA4          0x59
                    MX7D_PAD_SD3_DATA5__SD3_DATA5          0x59
                    MX7D_PAD_SD3_DATA6__SD3_DATA6          0x59
                    MX7D_PAD_SD3_DATA7__SD3_DATA7          0x59
                    MX7D_PAD_SD3_STROBE__SD3_STROBE          0x19
               >;
          };

          pinctrl_usdhc3_100mhz: usdhc3grp_100mhz {
               fsl,pins = <
                    MX7D_PAD_SD3_CMD__SD3_CMD          0x5a
                    MX7D_PAD_SD3_CLK__SD3_CLK          0x1a
                    MX7D_PAD_SD3_DATA0__SD3_DATA0          0x5a
                    MX7D_PAD_SD3_DATA1__SD3_DATA1          0x5a
                    MX7D_PAD_SD3_DATA2__SD3_DATA2          0x5a
                    MX7D_PAD_SD3_DATA3__SD3_DATA3          0x5a
                    MX7D_PAD_SD3_DATA4__SD3_DATA4          0x5a
                    MX7D_PAD_SD3_DATA5__SD3_DATA5          0x5a
                    MX7D_PAD_SD3_DATA6__SD3_DATA6          0x5a
                    MX7D_PAD_SD3_DATA7__SD3_DATA7          0x5a
                    MX7D_PAD_SD3_STROBE__SD3_STROBE          0x1a
               >;
          };

          pinctrl_usdhc3_200mhz: usdhc3grp_200mhz {
               fsl,pins = <
                    MX7D_PAD_SD3_CMD__SD3_CMD          0x5b
                    MX7D_PAD_SD3_CLK__SD3_CLK          0x1b
                    MX7D_PAD_SD3_DATA0__SD3_DATA0          0x5b
                    MX7D_PAD_SD3_DATA1__SD3_DATA1          0x5b
                    MX7D_PAD_SD3_DATA2__SD3_DATA2          0x5b
                    MX7D_PAD_SD3_DATA3__SD3_DATA3          0x5b
                    MX7D_PAD_SD3_DATA4__SD3_DATA4          0x5b
                    MX7D_PAD_SD3_DATA5__SD3_DATA5          0x5b
                    MX7D_PAD_SD3_DATA6__SD3_DATA6          0x5b
                    MX7D_PAD_SD3_DATA7__SD3_DATA7          0x5b
                    MX7D_PAD_SD3_STROBE__SD3_STROBE          0x1b
               >;
          };

     };
};

 

 

And the console log from one boot follows.  Note: the exact panic log varies from boot to boot.

 

Booting Linux on physical CPU 0x0
Linux version 4.9.88-imx_4.9.88_2.0.0_ga+g5e23f9d (oe-user@oe-host) (gcc version 7.3.0 (GCC) ) #1 SMP PREEMPT Tue May 1 01:44:32 CDT 2018
CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d
CPU: div instructions available: patching division code
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
OF: fdt:Machine model: Freescale i.MX7 SabreSD Board
Reserved memory: created CMA memory pool at 0x8c000000, size 320 MiB
OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
Memory policy: Data cache writealloc
percpu: Embedded 14 pages/cpu @8bb25000 s25996 r8192 d23156 u57344
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk2p6 rootwait rw
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 175888K/524288K available (9216K kernel code, 498K rwdata, 3356K rodata, 1024K init, 473K bss, 20720K reserved, 327680K cma-reserved, 0K highmem)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xa0800000 - 0xff800000   (1520 MB)
    lowmem  : 0x80000000 - 0xa0000000   ( 512 MB)
    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
    modules : 0x7f000000 - 0x7fe00000   (  14 MB)
      .text : 0x80008000 - 0x80a00000   (10208 kB)
      .init : 0x80e00000 - 0x80f00000   (1024 kB)
      .data : 0x80f00000 - 0x80f7c9a0   ( 499 kB)
       .bss : 0x80f7e000 - 0x80ff47b8   ( 474 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
Preemptible hierarchical RCU implementation.
     Build-time adjustment of leaf fanout to 32.
     RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=2
NR_IRQS:16 nr_irqs:16 16
arm_arch_timer: Architected cp15 timer(s) running at 8.00MHz (phys).
clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 440795202120 ns
sched_clock: 56 bits at 8MHz, resolution 125ns, wraps every 2199023255500ns
Switching to timer-based delay loop, resolution 125ns
Ignoring duplicate/late registration of read_current_timer delay
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.. 16.00 BogoMIPS (lpj=80000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
CPU0: update cpu_capacity 1024
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x80100000 - 0x80100058
CPU1: update cpu_capacity 1024
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
Brought up 2 CPUs
SMP: Total of 2 processors activated (32.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 512 (order: 3, 32768 bytes)
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor menu
DDR type is DDR3!
hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 8 bytes.
imx7d-pinctrl 302c0000.iomuxc-lpsr: initialized IMX pinctrl driver
imx7d-pinctrl 30330000.iomuxc: initialized IMX pinctrl driver
MU is ready for cross core communication!
mxs-dma 33000000.dma-apbh: initialized
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
30800000.aips-bus:usbphynop1 supply vcc not found, using dummy regulator
30800000.aips-bus:usbphynop2 supply vcc not found, using dummy regulator
i2c i2c-2: IMX I2C adapter registered
i2c i2c-2: 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
imx rpmsg driver is registered.
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 arch_sys_counter
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: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 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.
Bus freq driver module loaded
workingset: timestamp_bits=30 max_order=17 bucket_order=0
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)
imx-sdma 30bd0000.sdma: no iram assigned, using external mem
imx-sdma 30bd0000.sdma: loaded firmware 4.2
pfuze100-regulator 2-0008: Full layer: 1, Metal layer: 1
pfuze100-regulator 2-0008: FAB: 0, FIN: 0
pfuze100-regulator 2-0008: pfuze3000 found.
30860000.serial: ttymxc0 at MMIO 0x30860000 (irq = 43, base_baud = 1500000) is a IMX
console [ttymxc0] enabled
imx sema4 driver is registered.
[drm] Initialized
[drm] Initialized vivante 1.0.0 20120216 on minor 0
brd: module loaded
loop: module loaded
libphy: Fixed MDIO Bus: probed
CAN device driver interface
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
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-mxc: Freescale On-Chip EHCI Host driver
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usb_ehset_test
30b10200.usbmisc supply vbus-wakeup not found, using dummy regulator
30b30200.usbmisc supply vbus-wakeup not found, using dummy regulator
30b20200.usbmisc supply vbus-wakeup not found, using dummy regulator
mousedev: PS/2 mouse device common for all mice
input: 30370000.snvs:snvs-powerkey as /devices/soc0/soc/30000000.aips-bus/30370000.snvs/30370000.snvs:snvs-powerkey/input/input0
snvs_rtc 30370000.snvs:snvs-rtc-lp: rtc core: registered 30370000.snvs:snvs- 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
imx2-wdt 30280000.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
mmc2: SDHCI controller on 30b60000.usdhc [30b60000.usdhc] using ADMA
caam 30900000.caam: ERA source: CCBVID.
caam 30900000.caam: device ID = 0x0a16030000000000 (Era 8)
job rings = 3, qi = 0
caam_jr 30901000.jr0: Entropy delay = 3200
caam_jr 30901000.jr0: Instantiated RNG4 SH0.
caam_jr 30901000.jr0: Instantiated RNG4 SH1.
caam algorithms registered in /proc/crypto
caam_jr 30901000.jr0: registering rng-caam
caam 30900000.caam: caam pkc algorithms registered in /proc/crypto
platform caam_sm: blkkey_ex: 8 keystore units available
platform caam_sm: 64-bit clear key:
platform caam_sm: [0000] 00 01 02 03 04 0f 06 07
platform caam_sm: 64-bit black key:
platform caam_sm: [0000] 07 b6 12 b5 70 bd 63 50
platform caam_sm: [0008] 78 6c bf 86 47 46 f3 01
platform caam_sm: 128-bit clear key:
platform caam_sm: [0000] 00 01 02 03 04 0f 06 07
platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f
platform caam_sm: 128-bit black key:
platform caam_sm: [0000] c4 5a 00 19 15 5b 5e 90
mmc2: new HS400 MMC card at address 0001
platform caam_sm: [0008] e4 16 09 0e e4 14 40 be
mmcblk2: mmc2:0001 004G60 3.69 GiB
platform caam_sm: 192-bit clear key:
platform caam_sm: [0000] 00 01 02 03 04 0f 06 07
mmcblk2boot0: mmc2:0001 004G60 partition 1 2.00 MiB
platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f
mmcblk2boot1: mmc2:0001 004G60 partition 2 2.00 MiB
platform caam_sm: [0016] 10 11 12 13 14 15 16 17
platform caam_sm: 192-bit black key:
mmcblk2rpmb: mmc2:0001 004G60 partition 3 512 KiB
mmcblk2: p1 p2 p3 p4 < p5 p6 >
platform caam_sm: [0000] e8 a8 e3 75 68 cb 51 a6
platform caam_sm: [0008] 57 e7 d9 a5 be 6d 35 0e
platform caam_sm: [0016] c3 fc ee 1b b0 13 fb 3d
platform caam_sm: [0024] a2 15 cd ed 97 93 ad d0
platform caam_sm: 256-bit clear key:
platform caam_sm: [0000] 00 01 02 03 04 0f 06 07
platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f
platform caam_sm: [0016] 10 11 12 13 14 15 16 17
platform caam_sm: [0024] 18 19 1a 1b 1c 1d 1e 1f
platform caam_sm: 256-bit black key:
platform caam_sm: [0000] 5c 73 91 fa fe e8 b3 a6
platform caam_sm: [0008] 27 ff ee 87 4c 95 8d c6
platform caam_sm: [0016] d7 f2 9a 6e d7 64 dc 09
platform caam_sm: [0024] 99 22 bd 29 56 9c 38 d6
platform caam_sm: 64-bit unwritten blob:
platform caam_sm: [0000] 00 00 00 00 00 00 00 00
platform caam_sm: [0008] 00 00 00 00 00 00 00 00
platform caam_sm: [0016] 00 00 00 00 00 00 00 00
platform caam_sm: [0024] 00 00 00 00 00 00 00 00
platform caam_sm: [0032] 00 00 00 00 00 00 00 00
platform caam_sm: [0040] 00 00 00 00 00 00 00 00
platform caam_sm: [0048] 00 00 00 00 00 00 00 00
platform caam_sm: [0056] 00 00 00 00 00 00 00 00
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 128-bit unwritten blob:
platform caam_sm: [0000] 00 00 00 00 00 00 00 00
platform caam_sm: [0008] 00 00 00 00 00 00 00 00
platform caam_sm: [0016] 00 00 00 00 00 00 00 00
platform caam_sm: [0024] 00 00 00 00 00 00 00 00
platform caam_sm: [0032] 00 00 00 00 00 00 00 00
platform caam_sm: [0040] 00 00 00 00 00 00 00 00
platform caam_sm: [0048] 00 00 00 00 00 00 00 00
platform caam_sm: [0056] 00 00 00 00 00 00 00 00
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 196-bit unwritten blob:
platform caam_sm: [0000] 00 00 00 00 00 00 00 00
platform caam_sm: [0008] 00 00 00 00 00 00 00 00
platform caam_sm: [0016] 00 00 00 00 00 00 00 00
platform caam_sm: [0024] 00 00 00 00 00 00 00 00
platform caam_sm: [0032] 00 00 00 00 00 00 00 00
platform caam_sm: [0040] 00 00 00 00 00 00 00 00
platform caam_sm: [0048] 00 00 00 00 00 00 00 00
platform caam_sm: [0056] 00 00 00 00 00 00 00 00
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 256-bit unwritten blob:
platform caam_sm: [0000] 00 00 00 00 00 00 00 00
platform caam_sm: [0008] 00 00 00 00 00 00 00 00
platform caam_sm: [0016] 00 00 00 00 00 00 00 00
platform caam_sm: [0024] 00 00 00 00 00 00 00 00
platform caam_sm: [0032] 00 00 00 00 00 00 00 00
platform caam_sm: [0040] 00 00 00 00 00 00 00 00
platform caam_sm: [0048] 00 00 00 00 00 00 00 00
platform caam_sm: [0056] 00 00 00 00 00 00 00 00
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 64-bit black key in blob:
platform caam_sm: [0000] f9 43 c2 eb 8a b7 19 5c
platform caam_sm: [0008] 83 7c 84 cf 2e d0 4a a2
platform caam_sm: [0016] 12 7b 16 d6 d1 9b 3d ca
platform caam_sm: [0024] 9d 66 70 73 bc 40 d4 26
platform caam_sm: [0032] d9 d9 c4 d0 55 14 8e 6e
platform caam_sm: [0040] 39 55 7d 8a c0 5c 22 ef
platform caam_sm: [0048] 58 7c 1c 03 1e 3f 00 23
platform caam_sm: [0056] 00 00 00 00 00 00 00 00
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 128-bit black key in blob:
platform caam_sm: [0000] bf d0 4f af 26 0c 90 92
platform caam_sm: [0008] 0a 75 2f ac 77 15 9c 09
platform caam_sm: [0016] cb ed 80 4f 0d 3a b7 f2
platform caam_sm: [0024] 4f c2 d6 86 7d 70 68 61
platform caam_sm: [0032] de 9d 67 cc 82 d4 f5 2a
platform caam_sm: [0040] 46 f7 10 a6 bf 4d 13 72
platform caam_sm: [0048] 58 c8 30 ae 50 75 42 4a
platform caam_sm: [0056] 75 03 b7 e0 39 bc 62 6d
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 192-bit black key in blob:
platform caam_sm: [0000] 87 9d 47 b3 42 2b d5 e3
platform caam_sm: [0008] ea a4 e2 88 4d 66 f2 5f
platform caam_sm: [0016] 5a 5e dc 9e 78 db 9e 2a
platform caam_sm: [0024] 1a 42 d9 a1 9f 5c 75 49
platform caam_sm: [0032] 63 b5 ff 7f 2e 4c 84 3c
platform caam_sm: [0040] ee a8 e3 e1 c6 14 fe 0f
platform caam_sm: [0048] ae 5d a5 92 91 7a 3d 9f
platform caam_sm: [0056] 78 25 0c c6 ba 73 7a 79
platform caam_sm: [0064] 22 e8 d8 dd 58 a1 e2 f4
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 256-bit black key in blob:
platform caam_sm: [0000] fe b9 78 58 b9 ba 74 3e
platform caam_sm: [0008] 20 de 54 aa b8 1b 17 a9
platform caam_sm: [0016] e2 c6 c7 4e 8a 40 c1 77
platform caam_sm: [0024] d1 57 9d 0d ce 3e 7c 36
platform caam_sm: [0032] 86 b3 bf db 6d bc 66 5d
platform caam_sm: [0040] b0 8c 00 a1 db 49 a5 53
platform caam_sm: [0048] 66 6a 45 cb cb 14 d7 1e
platform caam_sm: [0056] 2b 55 fd 16 a1 95 90 8a
platform caam_sm: [0064] e4 df b5 4e 46 2c 33 bb
platform caam_sm: [0072] f4 b4 ea b4 22 de 3d ed
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: restored 64-bit black key:
platform caam_sm: [0000] 3c 0c 7e b5 de 1e 92 8c
platform caam_sm: [0008] a2 10 ce 80 cd 7c d5 2f
platform caam_sm: restored 128-bit black key:
platform caam_sm: [0000] c4 5a 00 19 15 5b 5e 90
platform caam_sm: [0008] e4 16 09 0e e4 14 40 be
platform caam_sm: restored 192-bit black key:
platform caam_sm: [0000] e8 a8 e3 75 68 cb 51 a6
platform caam_sm: [0008] 57 e7 d9 a5 be 6d 35 0e
platform caam_sm: [0016] ee 2b 83 7d 3f f2 c1 c2
platform caam_sm: [0024] d5 ce 90 13 bc 93 67 bb
platform caam_sm: restored 256-bit black key:
platform caam_sm: [0000] 5c 73 91 fa fe e8 b3 a6
platform caam_sm: [0008] 27 ff ee 87 4c 95 8d c6
platform caam_sm: [0016] d7 f2 9a 6e d7 64 dc 09
platform caam_sm: [0024] 99 22 bd 29 56 9c 38 d6
caam-snvs 30370000.caam-snvs: can't get snvs clock
caam-snvs 30370000.caam-snvs: violation handlers armed - non-secure state
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
NET: Registered protocol family 26
NET: Registered protocol family 10
sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
NET: Registered protocol family 17
can: controller area network core (rev 20120528 abi 9)
NET: Registered protocol family 29
can: raw protocol (rev 20120528)
can: broadcast manager protocol (rev 20161123 t)
can: netlink gateway (rev 20130117) 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
imx_thermal 30000000.aips-bus:tempmon: Commercial CPU temperature grade - max:95C critical:90C passive:85C
dhd_module_init in
snvs_rtc 30370000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01 00:13:06 UTC (786)
ALSA device list:
  No soundcards found.
EXT4-fs (mmcblk2p6): couldn't mount as ext3 due to feature incompatibilities
EXT4-fs (mmcblk2p6): warning: mounting unchecked fs, running e2fsck is recommended
EXT4-fs (mmcblk2p6): mounted filesystem without journal. Opts: (null)
VFS: Mounted root (ext4 filesystem) on device 179:6.
devtmpfs: mounted
Freeing unused kernel memory: 1024K
random: fast init done
systemd[1]: System time before build time, advancing clock.
cgroup: cgroup2: unknown option "nsdelegate"
systemd[1]: systemd 237 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 Buildroot 2018.02.3!

systemd[1]: Set hostname to <sm3>.
systemd[1]: Hardware watchdog 'imx2+ watchdog', version 0
systemd[1]: Set hardware watchdog to 20s.
systemd[1]: File /usr/lib/systemd/system/systemd-journald.service:35 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.)
systemd[1]: Created slice Sense Slice.
[  OK  ] Created slice Sense Slice.
systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Started Dispatch Password Requests to Console Directory Watch.
systemd[1]: Reached target Swap.
[  OK  ] Reached target Swap.
[  OK  ] Started Forward Password Requests to Wall Directory Watch.
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = 80004000
[00000000] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 25 Comm: kworker/0:1 Not tainted 4.9.88-imx_4.9.88_2.0.0_ga+g5e23f9d #1
Hardware name: Freescale i.MX7 Dual (Device Tree)
Workqueue: events dbs_work_handler
task: 881a8b00 task.stack: 881c2000
PC is at _raw_spin_unlock_irq+0x8/0x54
LR is at finish_task_switch+0xa4/0x238
pc : [<809b7f74>]    lr : [<8014e5d4>]    psr: 60030093
sp : 881c3b98  ip : 00000000  fp : 881c3be4
r10: 809b3f74  r9 : 00000000  r8 : ffffe000
r7 : 80f06600  r6 : 80f03288  r5 : 882ac700  r4 : 8bb2aa40
r3 : 00000000  r2 : 881a8b00  r1 : 881c2000  r0 : 00000000
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment none
Control: 10c53c7d  Table: 885e806a  DAC: 00000051
Process kworker/0:1 (pid: 25, stack limit = 0x881c2210)
Stack: (0x881c3b98 to 0x881c4000)
3b80:                                                       8bb2aa40 8014e5d4
3ba0: 80f03288 881a8e40 ffffffff 00000000 80f00000 8014aaec 881a8b00 00000000
3bc0: 80f00000 8bb2aa40 881a8b00 80f06600 882ac700 00000000 00000000 00000004
3be0: 881c3c2c 809b3f74 00000020 809b7bc0 0d400000 8bb27440 8bb27440 809b42e8
3c00: ffff8bf4 88200810 8bb27440 ffffe000 8bb27440 8bb27440 881c3c48 80f02d00
3c20: 00000000 00000004 881c3c3c 809b42e8 ffff8bf4 8bb27440 0000004b 809b714c
3c40: a782249d 40030013 00000000 8bb2756c ffff8bf4 801812a8 881a8b00 0d400000
3c60: 00000000 88200810 0000000a 88200a58 00000001 00000001 00000004 80698968
3c80: 00000002 00000000 881a8b00 80167818 881c3c90 881c3c90 88200810 88200810
3ca0: 00000001 881c3d2c 00000000 80698b8c 00000000 80f02d00 00000000 00000000
3cc0: 00000000 80f75e40 60000013 88200810 00000001 80f02d00 881c3d2c ffff8bea
3ce0: 80fe0bb0 00000001 00000001 80694148 00000000 88200810 881c3d2c 00000001
3d00: 00000000 88380501 00000001 88380501 00000001 806942e8 00000002 00000000
3d20: 00000001 80694374 88380502 00000008 804e0002 88380500 00000002 804ec1cc
3d40: 88386a00 804e818c 00000000 8043da98 88380500 00000001 00000000 804ea504
3d60: 88386a00 00000020 881c3d94 00000000 88386a00 00000020 0000005e 00000001
3d80: 0000001f 0000000b 0000000b 804e7644 88386a00 00000055 88386a00 00000000
3da0: 00000000 00000020 00000000 0000001f 0000000b 804e85fc 00000000 00000000
3dc0: 88251c00 ffffffff 00000001 80f302bc 0012b128 88251c24 000ee098 80465114
3de0: 00000000 00000000 00000000 ffffffff 88251c00 80460ed4 0000000b 0012b128
3e00: 000ee098 000ee098 88034400 8850a140 88251c00 00000000 0012b128 0012b128
3e20: 00124f80 0012b128 8bb2a640 80462070 000ee098 000ee098 88251c00 8850a140
3e40: 000ee098 000ee098 000ee098 00124f80 0012b128 804621ec 80fe1ad4 8850a140
3e60: 00000000 000c15c0 000ee098 807069c8 80f031bc 2f34f600 00000000 80fe19b0
3e80: 00000000 00000000 00000000 000c15c0 00000008 806fe74c ffffffff 880b6e00
3ea0: 00000004 00124f80 000c15c0 00000020 880b6e00 8829ff80 880b6e00 00132cc0
3ec0: 0015ea00 8829ff00 8850a480 80702564 8829ffc0 00000000 8829ff84 880b6e00
3ee0: 80f576a4 00000000 00000008 80704d14 8829ffc0 8819e280 8bb2a640 8bb2db00
3f00: 00000000 80143ccc 80f02d00 8bb2a658 8819e280 8bb2a640 8819e298 80f02d00
3f20: 8bb2a658 ffffe000 00000008 80144b00 80f7c673 80c2adb4 881b6900 ffffe000
3f40: 8819e280 00000000 881b6900 881c2000 8819e280 80144ab0 00000000 00000000
3f60: 00000000 80149734 80f07ecc 00000000 881a8b00 8819e280 00000000 00000000
3f80: 881c3f80 881c3f80 00000000 00000000 881c3f90 881c3f90 881b6900 8014962c
3fa0: 00000000 00000000 00000000 80107950 00000000 00000000 00000000 00000000
3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[<809b7f74>] (_raw_spin_unlock_irq) from [<8014e5d4>] (finish_task_switch+0xa4/0x238)
[<8014e5d4>] (finish_task_switch) from [<809b3f74>] (__schedule+0x1bc/0x4e8)
[<809b3f74>] (__schedule) from [<809b42e8>] (schedule+0x48/0xb0)
[<809b42e8>] (schedule) from [<809b714c>] (schedule_timeout+0x15c/0x27c)
[<809b714c>] (schedule_timeout) from [<80698968>] (i2c_imx_trx_complete+0x68/0xb8)
[<80698968>] (i2c_imx_trx_complete) from [<80698b8c>] (i2c_imx_xfer+0x1bc/0xb5c)
[<80698b8c>] (i2c_imx_xfer) from [<80694148>] (__i2c_transfer+0x13c/0x278)
[<80694148>] (__i2c_transfer) from [<806942e8>] (i2c_transfer+0x64/0xb4)
[<806942e8>] (i2c_transfer) from [<80694374>] (i2c_master_send+0x3c/0x4c)
[<80694374>] (i2c_master_send) from [<804ec1cc>] (regmap_i2c_write+0x10/0x2c)
[<804ec1cc>] (regmap_i2c_write) from [<804e818c>] (_regmap_raw_write+0x3fc/0x654)
[<804e818c>] (_regmap_raw_write) from [<804e7644>] (_regmap_update_bits+0xc0/0xc4)
[<804e7644>] (_regmap_update_bits) from [<804e85fc>] (regmap_update_bits_base+0x4c/0x70)
[<804e85fc>] (regmap_update_bits_base) from [<80465114>] (regulator_set_voltage_sel_regmap+0x48/0x98)
[<80465114>] (regulator_set_voltage_sel_regmap) from [<80460ed4>] (_regulator_do_set_voltage+0x244/0x3cc)
[<80460ed4>] (_regulator_do_set_voltage) from [<80462070>] (regulator_set_voltage_unlocked+0x128/0x254)
[<80462070>] (regulator_set_voltage_unlocked) from [<804621ec>] (regulator_set_voltage+0x50/0x7c)
[<804621ec>] (regulator_set_voltage) from [<807069c8>] (imx7d_set_target+0x168/0x1d0)
[<807069c8>] (imx7d_set_target) from [<806fe74c>] (__cpufreq_driver_target+0x16c/0x50c)
[<806fe74c>] (__cpufreq_driver_target) from [<80702564>] (od_dbs_timer+0xb4/0x160)
[<80702564>] (od_dbs_timer) from [<80704d14>] (dbs_work_handler+0x2c/0x54)
[<80704d14>] (dbs_work_handler) from [<80143ccc>] (process_one_work+0x1d8/0x3f0)
[<80143ccc>] (process_one_work) from [<80144b00>] (worker_thread+0x50/0x5a0)
[<80144b00>] (worker_thread) from [<80149734>] (kthread+0x108/0x110)
[<80149734>] (kthread) from [<80107950>] (ret_from_fork+0x14/0x24)
Code: e8bd4010 eafff1d2 e92d4010 f57ff05b (e1d030b0)
---[ end trace a4b779faadbc72ca ]---
note: kworker/0:1[25] exited with preempt_count 2

### Hangs here until wdog reboot

 

 

Another common panic stack trace:

[<803bf2a4>] (__timer_delay) from [<80460e00>] (_regulator_do_set_voltage+0x170/0x3cc)
[<80460e00>] (_regulator_do_set_voltage) from [<80462070>] (regulator_set_voltage_unlocked+0x128/0x254)
[<80462070>] (regulator_set_voltage_unlocked) from [<804621ec>] (regulator_set_voltage+0x50/0x7c)
[<804621ec>] (regulator_set_voltage) from [<807069c8>] (imx7d_set_target+0x168/0x1d0)
[<807069c8>] (imx7d_set_target) from [<806fe74c>] (__cpufreq_driver_target+0x16c/0x50c)
[<806fe74c>] (__cpufreq_driver_target) from [<80702564>] (od_dbs_timer+0xb4/0x160)
[<80702564>] (od_dbs_timer) from [<80704d14>] (dbs_work_handler+0x2c/0x54)
[<80704d14>] (dbs_work_handler) from [<80143ccc>] (process_one_work+0x1d8/0x3f0)
[<80143ccc>] (process_one_work) from [<80144b00>] (worker_thread+0x50/0x5a0)
[<80144b00>] (worker_thread) from [<80149734>] (kthread+0x108/0x110)
[<80149734>] (kthread) from [<80107950>] (ret_from_fork+0x14/0x24)

 

(Could this have something to do with CPU freq switching?  Any way to disable that?)

 

Any assistance with this issue would be much appreciated.  This is a production board which has no issues on the v4.1 kernel, so I am not suspecting hardware issues.

Outcomes