This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

66AK2H14: Linux freezes when it should reboot

Part Number: 66AK2H14
Other Parts Discussed in Thread: DA8XX

When the system is supposed to reboot as a result of running the command reboot, if won't, but instead, it freezes.

I noticed something suspicious in the device tree files. It appears that keystone.dtsi and keystone-k2hk.dtsi both have reset-controller defined inside the definition of device-state-control. In the kernel documentation for the related driver (https://www.kernel.org/doc/Documentation/devicetree/bindings/power/reset/keystone-reset.txt) , in an example, that is different, meaning that reset-controller, device-state-controller and pll-controller are all at the same level i.e. inside the definition for soc. Also, in those files, both there is postfix @328 in the definition for reset-controller, while the examples don't. I tried changing those things, but it didn't solve the problem.

Studying the data sheet gave me the impression that hard reset, even when triggered by software, would require certain signaling to the RESET pin. Thus, I tried changing the software triggered reset to be soft reset instead of hard reset, but that didn't solve the problem either.

Any ideas how to make the reboot work?

  • Hi,

    Which kernel is this? Are you using EVMK2H or is this a custom board?

    Best Regards,
    Yordan

  • Hi,

    Kernel version is 4.19.61 and the board is custom one.

  • Hi,

    Could you transition to Processor SDK Linux: kernel 4.19.38+?
    If you wish to continue using 4.19.61, could you at least send me the logs of the linux getting stuck on reboot?

    Best Regards,
    Yordan

  • Hi,

    Here is the log from kernel boot to kernel freeze.

    Downgrading the kernel could be on option for test purposes, but it's not an option on the long run.

     

    Starting kernel ...

    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Linux version 4.19.61-yocto-standard (oe-user@oe-host) (gcc version 8.2.0 (GCC)) #1 SMP Tue Sep 10 06:54:38 UTC 2019
    [ 0.000000] CPU: ARMv7 Processor [412fc0f4] revision 4 (ARMv7), cr=30c5387d
    [ 0.000000] CPU: div instructions available: patching division code
    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [ 0.000000] OF: fdt: Machine model: ACME board
    [ 0.000000] Memory policy: Data cache writealloc
    [ 0.000000] Switching physical address space to 0x800000000
    [ 0.000000] efi: Getting EFI parameters from FDT:
    [ 0.000000] efi: UEFI not found.
    [ 0.000000] psci: probing for conduit method from DT.
    [ 0.000000] psci: Using PSCI v0.1 Function IDs from DT
    [ 0.000000] random: get_random_bytes called from start_kernel+0xa4/0x4b0 with crng_init=0
    [ 0.000000] percpu: Embedded 17 pages/cpu s39628 r8192 d21812 u69632
    [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1046848
    [ 0.000000] Kernel command line: console=ttyS0,115200n8 rootwait=1 mtdparts=spi0.0:1m(u-boot-spl)ro,-(misc) rootfstype=nfs root=/dev/nfs rw nfsroot=192.168.1.10:/nfs/acme,v3,tcp,rsize=4096,wsize=4096 ip=192.168.1.13:192.168.1.10:192.168.1.10:255.255.255.0:acme:eth0:off
    [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [ 0.000000] Memory: 4130608K/4194304K available (10240K kernel code, 551K rwdata, 2320K rodata, 2048K init, 432K bss, 63696K reserved, 0K cma-reserved, 3407872K highmem)
    [ 0.000000] Virtual kernel memory layout:
    [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
    [ 0.000000] vmalloc : 0xf0800000 - 0xff800000 ( 240 MB)
    [ 0.000000] lowmem : 0xc0000000 - 0xf0000000 ( 768 MB)
    [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
    [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
    [ 0.000000] .text : 0x(ptrval) - 0x(ptrval) (12256 kB)
    [ 0.000000] .init : 0x(ptrval) - 0x(ptrval) (2048 kB)
    [ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 552 kB)
    [ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 433 kB)
    [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
    [ 0.000000] rcu: Hierarchical RCU implementation.
    [ 0.000000] rcu: RCU event tracing is enabled.
    [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
    [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
    [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [ 0.000000] GIC: Using split EOI/Deactivate mode
    [ 0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
    [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
    [ 0.000004] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
    [ 0.000014] Switching to timer-based delay loop, resolution 5ns
    [ 0.000198] keystone timer clock @200000000 Hz
    [ 0.000305] Console: colour dummy device 80x30
    [ 0.000343] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=200000)
    [ 0.000356] pid_max: default: 32768 minimum: 301
    [ 0.000417] Security Framework initialized
    [ 0.000466] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.000480] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.000960] CPU: Testing write buffer coherency: ok
    [ 0.000986] CPU0: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable
    [ 0.001199] /cpus/cpu@0 missing clock-frequency property
    [ 0.001219] /cpus/cpu@1 missing clock-frequency property
    [ 0.001241] /cpus/cpu@2 missing clock-frequency property
    [ 0.001261] /cpus/cpu@3 missing clock-frequency property
    [ 0.001271] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [ 0.001622] Setting up static identity map for 0x80200000 - 0x80200138
    [ 0.001703] rcu: Hierarchical SRCU implementation.
    [ 0.002001] EFI services will not be available.
    [ 0.002140] smp: Bringing up secondary CPUs ...
    [ 0.007568] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [ 0.007574] CPU1: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable
    [ 0.013196] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
    [ 0.013202] CPU2: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable
    [ 0.018792] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
    [ 0.018797] CPU3: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable
    [ 0.018931] smp: Brought up 1 node, 4 CPUs
    [ 0.018942] SMP: Total of 4 processors activated (1600.00 BogoMIPS).
    [ 0.018948] CPU: All CPU(s) started in HYP mode.
    [ 0.018954] CPU: Virtualization extensions available.
    [ 0.019625] devtmpfs: initialized
    [ 0.024649] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
    [ 0.024835] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
    [ 0.024850] futex hash table entries: 1024 (order: 4, 65536 bytes)
    [ 0.024857] kworker/u8:0 (32) used greatest stack depth: 6464 bytes left
    [ 0.024980] xor: measuring software checksum speed
    [ 0.034196] arm4regs : 2484.000 MB/sec
    [ 0.044247] 8regs : 1964.000 MB/sec
    [ 0.054299] 32regs : 1952.000 MB/sec
    [ 0.064350] neon : 3940.000 MB/sec
    [ 0.064357] xor: using function: neon (3940.000 MB/sec)
    [ 0.064367] pinctrl core: initialized pinctrl subsystem
    [ 0.064962] DMI not present or invalid.
    [ 0.065192] NET: Registered protocol family 16
    [ 0.065409] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [ 0.066470] kworker/u8:0 (52) used greatest stack depth: 6112 bytes left
    [ 0.066938] cpuidle: using governor ladder
    [ 0.066961] cpuidle: using governor menu
    [ 0.072776] davinci_gpio 260bf00.gpio: Runtime PM disabled, clock forced on.
    [ 0.104663] raid6: int32x1 gen() 242 MB/s
    [ 0.121797] raid6: int32x1 xor() 242 MB/s
    [ 0.138833] raid6: int32x2 gen() 351 MB/s
    [ 0.155946] raid6: int32x2 xor() 332 MB/s
    [ 0.173109] raid6: int32x4 gen() 425 MB/s
    [ 0.190168] raid6: int32x4 xor() 318 MB/s
    [ 0.207221] raid6: int32x8 gen() 511 MB/s
    [ 0.224298] raid6: int32x8 xor() 353 MB/s
    [ 0.241342] raid6: neonx1 gen() 964 MB/s
    [ 0.258429] raid6: neonx1 xor() 974 MB/s
    [ 0.275537] raid6: neonx2 gen() 1417 MB/s
    [ 0.292603] raid6: neonx2 xor() 1810 MB/s
    [ 0.309694] raid6: neonx4 gen() 1800 MB/s
    [ 0.326760] raid6: neonx4 xor() 1664 MB/s
    [ 0.343862] raid6: neonx8 gen() 2011 MB/s
    [ 0.360935] raid6: neonx8 xor() 1628 MB/s
    [ 0.360942] raid6: using algorithm neonx8 gen() 2011 MB/s
    [ 0.360948] raid6: .... xor() 1628 MB/s, rmw enabled
    [ 0.360955] raid6: using neon recovery algorithm
    [ 0.361389] vgaarb: loaded
    [ 0.361715] SCSI subsystem initialized
    [ 0.362045] usbcore: registered new interface driver usbfs
    [ 0.362092] usbcore: registered new interface driver hub
    [ 0.362159] usbcore: registered new device driver usb
    [ 0.362334] i2c_davinci 2530000.i2c: Runtime PM disabled, clock forced on.
    [ 0.362585] i2c_davinci 2530400.i2c: Runtime PM disabled, clock forced on.
    [ 0.362751] i2c_davinci 2530800.i2c: Runtime PM disabled, clock forced on.
    [ 0.362958] pps_core: LinuxPPS API ver. 1 registered
    [ 0.362965] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 0.362995] EDAC MC: Ver: 3.0.0
    [ 0.363826] clocksource: Switched to clocksource arch_sys_counter
    [ 0.413836] NET: Registered protocol family 2
    [ 0.414258] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes)
    [ 0.414282] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    [ 0.414338] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
    [ 0.414449] TCP: Hash tables configured (established 8192 bind 8192)
    [ 0.414509] UDP hash table entries: 512 (order: 2, 16384 bytes)
    [ 0.414537] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
    [ 0.414641] NET: Registered protocol family 1
    [ 0.414917] RPC: Registered named UNIX socket transport module.
    [ 0.414925] RPC: Registered udp transport module.
    [ 0.414931] RPC: Registered tcp transport module.
    [ 0.414937] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.415064] Trying to unpack rootfs image as initramfs...
    [ 0.418103] Freeing initrd memory: 52K
    [ 0.418470] platform alarmtimer: set dma_pfn_offset00780000
    [ 0.418771] Initialise system trusted keyrings
    [ 0.418920] workingset: timestamp_bits=14 max_order=20 bucket_order=6
    [ 0.426771] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [ 0.426888] kworker/u8:3 (654) used greatest stack depth: 5960 bytes left
    [ 0.427529] ntfs: driver 2.1.32 [Flags: R/W].
    [ 0.430695] Key type asymmetric registered
    [ 0.430703] Asymmetric key parser 'x509' registered
    [ 0.430740] bounce: pool size: 64 pages
    [ 0.430770] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
    [ 0.430780] io scheduler noop registered
    [ 0.430787] io scheduler deadline registered
    [ 0.430954] io scheduler cfq registered (default)
    [ 0.430963] io scheduler mq-deadline registered
    [ 0.430971] io scheduler kyber registered
    [ 0.431369] kworker/u8:3 (701) used greatest stack depth: 5812 bytes left
    [ 0.431875] keystone_irq 26202a0.keystone_irq: irqchip registered, nr_irqs 28
    [ 0.434633] keystone-navigator-qmss soc@0:qmss@2a40000: Runtime PM disabled, clock forced on.
    [ 0.434660] keystone-navigator-qmss soc@0:qmss@2a40000: qmgr start queue 0, number of queues 8192
    [ 0.434791] keystone-navigator-qmss soc@0:qmss@2a40000: added qmgr start queue 0, num of queues 8192, reg_peek (ptrval), reg_status (ptrval), reg_config (ptrval), reg_region (ptrval), reg_push (ptrval), reg_pop (ptrval)
    [ 0.434803] keystone-navigator-qmss soc@0:qmss@2a40000: qmgr start queue 8192, number of queues 8192
    [ 0.434929] keystone-navigator-qmss soc@0:qmss@2a40000: added qmgr start queue 8192, num of queues 8192, reg_peek (ptrval), reg_status (ptrval), reg_config (ptrval), reg_region (ptrval), reg_push (ptrval), reg_pop (ptrval)
    [ 0.435086] keystone-navigator-qmss soc@0:qmss@2a40000: firmware file ks2_qmss_pdsp_acc48.bin downloaded for PDSP
    [ 0.437172] keystone-navigator-dma soc@0:knav_dmas@0: Runtime PM disabled, clock forced on.
    [ 0.437292] keystone-navigator-dma soc@0:knav_dmas@0: DMA dma_gbe registered 41 logical channels, flows 32, tx chans: 9, rx chans: 24
    [ 0.466362] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [ 0.466409] platform serial8250: set dma_pfn_offset00780000
    [ 0.467607] of_serial 2530c00.serial: Runtime PM disabled, clock forced on.
    [ 0.468106] console [ttyS0] disabled
    [ 0.468155] 2530c00.serial: ttyS0 at MMIO 0x2530c00 (irq = 27, base_baud = 12500000) is a TI DA8xx/66AK2x
    [ 1.465883] console [ttyS0] enabled
    [ 1.469555] of_serial 2531000.serial: Runtime PM disabled, clock forced on.
    [ 1.476992] 2531000.serial: ttyS1 at MMIO 0x2531000 (irq = 28, base_baud = 12500000) is a TI DA8xx/66AK2x
    [ 1.499768] ks-sa-rng 20e4000.rng: Runtime PM disabled, clock forced on.
    [ 1.512859] brd: module loaded
    [ 1.521460] loop: module loaded
    [ 1.526453] spi_davinci 21000400.spi: Runtime PM disabled, clock forced on.
    [ 1.533666] spi_davinci 21000400.spi: DMA is not supported (-19)
    [ 1.540687] m25p80 spi0.0: is25wp128 (16384 Kbytes)
    [ 1.545718] 2 fixed-partitions partitions found on MTD device spi0.0
    [ 1.552109] Creating 2 MTD partitions on "spi0.0":
    [ 1.556927] 0x000000000000-0x000000800000 : "dsp-boot-program"
    [ 1.563310] 0x000000800000-0x000001000000 : "u-boot-image"
    [ 1.569372] spi_davinci 21000400.spi: Controller at 0x(ptrval)
    [ 1.575293] spi_davinci 21000600.spi: Runtime PM disabled, clock forced on.
    [ 1.582455] spi_davinci 21000600.spi: DMA is not supported (-19)
    [ 1.588771] spi_davinci 21000600.spi: Controller at 0x(ptrval)
    [ 1.594694] spi_davinci 21000800.spi: Runtime PM disabled, clock forced on.
    [ 1.601874] spi_davinci 21000800.spi: DMA is not supported (-19)
    [ 1.608158] spi_davinci 21000800.spi: Controller at 0x(ptrval)
    [ 1.614286] platform Fixed MDIO bus.0: set dma_pfn_offset00780000
    [ 1.620535] libphy: Fixed MDIO Bus: probed
    [ 1.625708] CAN device driver interface
    [ 1.629608] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI
    [ 1.636692] e1000: Copyright (c) 1999-2006 Intel Corporation.
    [ 1.642503] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
    [ 1.648365] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
    [ 1.654699] davinci_mdio 2090300.mdio: Runtime PM disabled, clock forced on.
    [ 1.695848] davinci_mdio 2090300.mdio: davinci mdio revision 1.5, bus freq 2500000
    [ 1.703459] libphy: 2090300.mdio: probed
    [ 1.708709] davinci_mdio 2090300.mdio: phy[0]: device 2090300.mdio:00, driver TI DP83867
    [ 1.716847] davinci_mdio 2090300.mdio: phy[1]: device 2090300.mdio:01, driver TI DP83867
    [ 1.725114] netcp-1.0 2620110.netcp: Runtime PM disabled, clock forced on.
    [ 2.759256] netcp-1.0 2620110.netcp: initialized cpsw ale version 1.3
    [ 2.765736] netcp-1.0 2620110.netcp: ALE Table size 1024
    [ 2.771094] netcp-1.0 2620110.netcp: cpts: overflow check period 3500 (jiffies)
    [ 2.778446] netcp-1.0 2620110.netcp: CPTS: ref_clk_freq:600000000 calc_mult:3579139413 calc_shift:31 error:-1 nsec/sec
    [ 2.789800] netcp-1.0 2620110.netcp: module(netcp-xgbe) not used for device
    [ 2.797025] i2c /dev entries driver
    [ 2.801079] Driver for 1-wire Dallas network protocol.
    [ 2.807319] davinci-wdt 22f0080.wdt: Runtime PM disabled, clock forced on.
    [ 2.814252] davinci-wdt 22f0080.wdt: heartbeat 60 sec
    [ 2.819947] EDAC MC0: Giving out device to module ti-emif-edac controller ti,emif-keystone: DEV 21010000.emif (INTERRUPT)
    [ 2.831175] hidraw: raw HID events driver (C) Jiri Kosina
    [ 2.837297] usbcore: registered new interface driver usbhid
    [ 2.842902] usbhid: USB HID core driver
    [ 2.847257] ti-aemif 21000a00.aemif: Runtime PM disabled, clock forced on.
    [ 2.854409] davinci_nand 30000000.nand: Runtime PM disabled, clock forced on.
    [ 2.862047] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xa3
    [ 2.868437] nand: Micron MT29F8G08ABBCAH4
    [ 2.872470] nand: 1024 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB size: 224
    [ 2.880255] nand: WARNING: 30000000.nand: the ECC used on your system is too weak compared to the one required by the NAND chip
    [ 2.892289] Bad block table found at page 262080, version 0x01
    [ 2.899054] Bad block table found at page 262016, version 0x01
    [ 2.905551] 3 fixed-partitions partitions found on MTD device 30000000.nand
    [ 2.912552] Creating 3 MTD partitions on "30000000.nand":
    [ 2.917981] 0x000000000000-0x000000100000 : "u-boot"
    [ 2.923505] 0x000000100000-0x000000180000 : "params"
    [ 2.929016] 0x000000180000-0x000020000000 : "ubifs"
    [ 2.936077] davinci_nand 30000000.nand: controller rev. 2.5
    [ 2.941910] GACT probability on
    [ 2.945085] Mirror/redirect action on
    [ 2.948784] Simple TC action Loaded
    [ 2.952576] netem: version 1.3
    [ 2.955655] u32 classifier
    [ 2.958374] input device check on
    [ 2.962053] Actions configured
    [ 2.965897] IPVS: Registered protocols ()
    [ 2.970007] IPVS: Connection hash table configured (size=4096, memory=32Kbytes)
    [ 2.977614] IPVS: ipvs loaded.
    [ 2.980692] IPVS: [rr] scheduler registered.
    [ 2.985455] Initializing XFRM netlink socket
    [ 2.990266] NET: Registered protocol family 10
    [ 2.995642] Segment Routing with IPv6
    [ 2.999462] mip6: Mobile IPv6
    [ 3.002533] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [ 3.008847] NET: Registered protocol family 17
    [ 3.013326] NET: Registered protocol family 15
    [ 3.017897] Bridge firewalling registered
    [ 3.021929] can: controller area network core (rev 20170425 abi 9)
    [ 3.028236] NET: Registered protocol family 29
    [ 3.032707] can: raw protocol (rev 20170425)
    [ 3.036998] can: broadcast manager protocol (rev 20170425 t)
    [ 3.042689] can: netlink gateway (rev 20170425) max_hops=1
    [ 3.048276] 8021q: 802.1Q VLAN Support v1.8
    [ 3.052646] sctp: Hash tables configured (bind 512/512)
    [ 3.058124] Key type dns_resolver registered
    [ 3.062670] Registering SWP/SWPB emulation handler
    [ 3.067781] Loading compiled-in X.509 certificates
    [ 3.074348] Btrfs loaded, crc32c=crc32c-generic
    [ 3.093046] netcp-1.0 2620110.netcp eth0: Link is Down
    [ 3.100202] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [ 3.106068] 8021q: adding VLAN 0 to HW filter on device eth0
    [ 7.204053] netcp-1.0 2620110.netcp eth0: Link is Up - 1Gbps/Full - flow control rx/tx
    [ 7.212041] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    [ 7.223833] IP-Config: Complete:
    [ 7.227091] device=eth0, hwaddr=90:9a:77:00:1f:03, ipaddr=192.168.1.13, mask=255.255.255.0, gw=192.168.1.10
    [ 7.237319] host=acme, domain=, nis-domain=(none)
    [ 7.242483] bootserver=192.168.1.10, rootserver=192.168.1.10, rootpath=
    [ 7.318255] VFS: Mounted root (nfs filesystem) on device 0:14.
    [ 7.324491] devtmpfs: mounted
    [ 7.328627] Freeing unused kernel memory: 2048K
    [ 7.338975] Run /sbin/init as init process
    [ 7.349961] random: fast init done
    [ 7.448446] systemd[1]: System time before build time, advancing clock.
    [ 7.469222] systemd[1]: systemd 239 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)
    [ 7.490962] systemd[1]: Detected architecture arm.

    Welcome to ACME ${MACHINE_DISPLAY_NAME} 1.0.0!

    [ 7.510883] systemd[1]: Set hostname to <acme>.
    [ 7.554565] systemd-debug-g (1635) used greatest stack depth: 5224 bytes left
    [ 7.564468] systemd-getty-g (1637) used greatest stack depth: 5104 bytes left
    [ 7.571661] systemd-rc-loca (1640) used greatest stack depth: 4916 bytes left
    [ 7.613052] systemd[1]: File /lib/systemd/system/systemd-journald.service:36 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling.
    [ 7.630203] systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.)
    [ 7.869627] random: systemd: uninitialized urandom read (16 bytes read)
    [ 7.878288] systemd[1]: Created slice User and Session Slice.
    [ OK ] Created slice User and Session Slice.
    [ 7.890903] random: systemd: uninitialized urandom read (16 bytes read)
    [ 7.897606] systemd[1]: Reached target Slices.
    [ OK ] Reached target Slices.
    [ 7.907898] random: systemd: uninitialized urandom read (16 bytes read)
    [ 7.914596] systemd[1]: Reached target Remote File Systems.
    [ OK ] Reached target Remote File Systems.
    [ 7.927993] systemd[1]: Listening on Journal Socket.
    [ OK ] Listening on Journal Socket.
    [ 7.941563] systemd[1]: Created slice system-getty.slice.
    [ OK ] Created slice system-getty.slice.
    [ OK ] Started Dispatch Password Requests to Console Directory Watch.
    [ OK ] Created slice system-syslog\x2dng.slice.
    [ OK ] Listening on Network Service Netlink Socket.
    [ OK ] Listening on initctl Compatibility Named Pipe.
    [ OK ] Reached target Swap.
    [ OK ] Listening on udev Control Socket.
    Mounting Kernel Configuration File System...
    Mounting Temporary Directory (/tmp)...
    [ OK ] Listening on udev Kernel Socket.
    Starting udev Coldplug all Devices...
    [ OK ] Listening on Journal Socket (/dev/log).
    [ OK ] Started Forward Password Requests to Wall Directory Watch.
    Mounting Kernel Debug File System...
    [ OK ] Reached target Paths.
    Starting Apply Kernel Variables...
    [ OK ] Created slice system-serial\x2dgetty.slice.
    Starting Remount Root and Kernel File Systems...
    Starting Journal Service...
    [ OK ] Mounted Kernel Configuration File System.
    [ OK ] Mounted Temporary Directory (/tmp).
    [ OK ] Mounted Kernel Debug File System.
    [ OK ] Started Apply Kernel Variables.
    [ OK ] Started Remount Root and Kernel File Systems.
    Starting Create Static Device Nodes in /dev...
    [ OK ] Started Journal Service.
    [ OK ] Started Create Static Device Nodes in /dev.
    Starting udev Kernel Device Manager...
    [ OK ] Reached target Local File Systems (Pre).
    [ OK ] Reached target Containers.
    Mounting /var/volatile...
    Starting Flush Journal to Persistent Storage...
    [ OK ] Mounted /var/volatile.
    Starting Load/Save Random Seed...
    [ OK ] Reached target Local File Systems.
    [ OK ] Started udev Kernel Device Manager.
    [ OK ] Started Load/Save Random Seed.
    [ OK ] Started udev Coldplug all Devices.
    [ OK ] Found device /dev/ttyS0.
    [ OK ] Started Flush Journal to Persistent Storage.
    Starting Create Volatile Files and Directories...
    [ OK ] Started Create Volatile Files and Directories.
    Starting Network Service...
    Starting Network Time Synchronization...
    Starting Update UTMP about System Boot/Shutdown...
    [ OK ] Started Network Service.
    [ OK ] Started Update UTMP about System Boot/Shutdown.
    Starting Network Name Resolution...
    [ OK ] Started Network Time Synchronization.
    [ OK ] Reached target System Time Synchronized.
    [ OK ] Reached target System Initialization.
    [ OK ] Started Daily rotation of log files.
    Starting sshd.socket.
    [ OK ] Listening on D-Bus System Message Bus Socket.
    [ OK ] Started Daily Cleanup of Temporary Directories.
    [ OK ] Reached target Timers.
    Starting Reboot and dump vmcore via kexec...
    [ OK ] Listening on sshd.socket.
    [ OK ] Started Network Name Resolution.
    [ OK ] Started Reboot and dump vmcore via kexec.
    [ OK ] Reached target Network.
    [ OK ] Reached target Host and Network Name Lookups.
    [ OK ] Reached target Sockets.
    [ OK ] Reached target Basic System.
    [ OK ] Started Periodic Command Scheduler.
    Starting System Logger Daemon "default" instance...
    Starting Permit User Sessions...
    Starting Login Service...
    [ OK ] Started Job spooling tools.
    Starting LDAP daemon...
    [ OK ] Started D-Bus System Message Bus.
    Starting Entropy Daemon based on the HAVEGE algorithm...
    [ OK ] Started Permit User Sessions.
    [ OK ] Started Serial Getty on ttyS0.
    [ OK ] Started Getty on tty1.
    [ OK ] Reached target Login Prompts.
    [ OK ] Started Login Service.
    [ OK ] Started Entropy Daemon based on the HAVEGE algorithm.

    ACME 1.0.0 acme ttyS0

    acme login: root
    Last login: Thu May 9 07:41:44 UTC 2019 on ttyS0
    -sh-4.4# ls /proc/device-tree/soc@0/
    #address-cells knav_dmas@0
    #size-cells mdio@2090300
    aemif@21000A00 msmram@c000000
    clocks name
    compatible netcp@2000000
    device-state-control@2620000 pcie@21800000
    dma-ranges pll-controller@2310000
    dsp@10800000 power-sleep-controller@2350000
    dsp@11800000 qmss@2a40000
    dsp@12800000 ranges
    dsp@13800000 reset-controller@328
    dsp@14800000 serial@2530c00
    dsp@15800000 serial@2531000
    dsp@16800000 spi@21000400
    dsp@17800000 spi@21000600
    emif@21010000 spi@21000800
    gpio@260bf00 subsys@20c0000
    i2c@2530000 timer@22f0000
    i2c@2530400 usb@2680000
    i2c@2530800 usb_phy@2620738
    interrupt-parent wdt@22f0080
    -sh-4.4# reboot
    Stopping Session c1 of user root.
    [ OK ] Stopped target Host and Network Name Lookups.
    Stopping Reboot and dump vmcore via kexec...
    Stopping User Manager for UID 0...
    [ OK ] Stopped target Multi-User System.
    [ OK ] Stopped target Containers.
    Stopping LDAP daemon...
    Stopping D-Bus System Message Bus...
    Stopping Job spooling tools...
    Stopping Periodic Command Scheduler...
    [ OK ] Stopped target Login Prompts.
    Stopping Getty on tty1...
    Stopping Serial Getty on ttyS0...
    Stopping Entropy Daemon based on the HAVEGE algorithm...
    [ OK ] Stopped target Timers.
    [ OK ] Stopped Daily Cleanup of Temporary Directories.
    [ OK ] Stopped Daily rotation of log files.
    [ OK ] Stopped target System Time Synchronized.
    Stopping System Logger Daemon "default" instance...
    [ OK ] Stopped Periodic Command Scheduler.
    [ OK ] Stopped Job spooling tools.
    [ OK ] Stopped D-Bus System Message Bus.
    [ OK ] Stopped Serial Getty on ttyS0.
    [ OK ] Stopped Getty on tty1.
    [ OK ] Stopped Entropy Daemon based on the HAVEGE algorithm.
    [ OK ] Stopped User Manager for UID 0.
    [ OK ] Stopped LDAP daemon.
    [ OK ] Stopped Reboot and dump vmcore via kexec.
    [ OK ] Stopped Session c1 of user root.
    Stopping Login Service...
    [ OK ] Removed slice User Slice of UID 0.
    Stopping /run/user/0 mount wrapper...
    [ OK ] Removed slice system-getty.slice.
    [ OK ] Removed slice system-serial\x2dgetty.slice.
    Stopping Permit User Sessions...
    [ OK ] Unmounted /run/user/0.
    [ OK ] Stopped Login Service.
    [ OK ] Stopped /run/user/0 mount wrapper.
    [ OK ] Stopped Permit User Sessions.
    [ OK ] Stopped target Remote File Systems.
    [ OK ] Stopped target Network.
    Stopping Network Name Resolution...
    [ OK ] Removed slice system-user\x2druntime\x2ddir.slice.
    [ OK ] Stopped Network Name Resolution.
    Stopping Network Service...
    [ OK ] Stopped Network Service.
    [ OK ] Stopped System Logger Daemon "default" instance.
    [ OK ] Stopped target Basic System.
    [ OK ] Stopped target Slices.
    [ OK ] Removed slice User and Session Slice.
    [ OK ] Stopped target Sockets.
    [ OK ] Closed D-Bus System Message Bus Socket.
    [ OK ] Closed sshd.socket.
    [ OK ] Stopped target Paths.
    [ OK ] Stopped Forward Password Requests to Wall Directory Watch.
    [ OK ] Stopped Dispatch Password Requests to Console Directory Watch.
    [ OK ] Removed slice system-syslog\x2dng.slice.
    [ OK ] Stopped target System Initialization.
    Stopping Network Time Synchronization...
    [ OK ] Stopped Apply Kernel Variables.
    Stopping Load/Save Random Seed...
    [ OK ] Stopped Load/Save Random Seed.
    [ OK ] Stopped Network Time Synchronization.
    [ OK ] Stopped Create Volatile Files and Directories.
    [ OK ] Stopped target Local File Systems.
    Unmounting /var/volatile...
    Unmounting Temporary Directory (/tmp)...
    [ OK ] Unmounted /var/volatile.
    [ OK ] Unmounted Temporary Directory (/tmp).
    [ OK ] Reached target Unmount All Filesystems.
    [ OK ] Stopped target Local File Systems (Pre).
    [ OK ] Stopped Create Static Device Nodes in /dev.
    [ OK ] Stopped Remount Root and Kernel File Systems.
    [ OK ] Stopped target Swap.
    [ OK ] Reached target Shutdown.
    [ OK ] Reached target Final Step.
    Starting Reboot...
    [ 348.431093] watchdog: watchdog0: watchdog did not stop!
    [ 348.920006] systemd-shutdown[1]: Failed to parse (null): No such file or directory
    [ 348.927688] systemd-shutdown[1]: Failed to deactivate swaps: No such file or directory
    [ 348.944861] reboot: Restarting system

  • Hi,

    I will take a look and inspect the log to see if I can find anything useful.
    In the mean time, I suggest you try the official TI kernel released in Processor SDK Linux. However, it seems there is a problem with reboot in some systems and this is a known issue:
      

    Best Regards,
    Yordan

  • Hi,

    I have an update to this case.

    This patch made the reboot work:

    diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c

    index 5413ffa..24ecf08 100644

    --- a/drivers/clk/clk.c

    +++ b/drivers/clk/clk.c

    @@ -1025,7 +1025,7 @@ static void clk_disable_unused_subtree(struct clk_core *core)

             * sequence.  call .disable_unused if available, otherwise fall

             * back to .disable

             */

    -       if (clk_core_is_enabled(core)) {

    +       if (clk_core_is_enabled(core) && (0 != strcmp(core->name , "ddr3-1"))) {

                    trace_clk_disable(core);

                    if (core->ops->disable_unused)

                            core->ops->disable_unused(core->hw);

     

    I am now seeing if it's possible to make an equivalent change via device tree instead of a kernel source patch.

  • Sorry for taking so long with this final comment...

    The long-term solution for this problem was to remove all unused clocks from the device tree. In this case, the clocks that were removed were those related to power domains 17 to 27 (marked reserved in the datasheet) and those related to Hyperlink and DDR3b (not used in this hardware). It appeared that the kernel's attempt to disable (some of) those clocks made the board hang.