Hello!
We have a custom LS1046A design.
Currently we have an issue with rebooting in Linux. It does not work. It says it reboots but everything just halts when it tries to reset.
To make it more concrete I did these two things:
U-Boot
mw.l 01ee00b0 02000000
LS1046A reboots
Linux
devmem2 0x01ee00b0 w 0x02000000
LS1046A hangs
Is there something that can explain this?
This triggers the RESET_REQ_B signal. This is routed to power circuitry on our custom board. But from that signal it just makes a PORESET pulse.
Something must have been configured in Linux to make a difference. What can? We are not using the PPA FW. The cores are running in EL2 mode.
Any clues?
Thanks
BR
Robert
Was this issue ever resolved? We are having the same issue with an LS1043A design. The processor is receiving the external reset but it only halts and does not reboot. If we disconnect the external reset line we get the "Unable to restart system" message at the point where a reboot was expected. If we run "devmem2 0x01ee00b0 w 0x02000000" in Linux we get the expected reboot. The hang only occurs when we run "reboot".
Hello,
Sorry for waking this up again after such a long time but I have recently hit the same issue (my config and logs are very similar to Robert's above).
Was this resolved? If so, how?
Many thanks for any reply
--
BartC
Hello Robert Thorhuus,
Please check the whether the dts fsl-ls1046a.dtsi including the following device node.
reboot {
compatible ="syscon-reboot";
regmap = <&dcfg>;
offset = <0xb0>;
mask = <0x02>;
};
Please check Linux Kernel configuration with the following configuration enabled.
CONFIG_REGMAP=y
CONFIG_REGMAP_MMIO=y
If yes, please issue "reboot" command under Linux to check whether reboot works normally, if no, please capture the console log to me to do more investigation.
Have a great day,
TIC
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hello agin Yiping!
I wanted to state that the same bit activated in U-Boot works (i.e. issuing a reset command).
BR
Robert
Hello TIC.
Thanks for the reply.
I hope this is what you want:
# dtc -I dtb -O dts /boot/custom.dtb 2> /dev/null | grep reboot -A 4
reboot {
compatible = "syscon-reboot";
regmap = <0x5>;
offset = <0xb0>;
mask = <0x2>;
};
# dtc -I dtb -O dts /boot/custom.dtb 2> /dev/null | grep dcfg -A 5
dcfg@1ee0000 {
compatible = "fsl,ls1046a-dcfg", "syscon";
reg = <0x0 0x1ee0000 0x0 0x1000>;
big-endian;
linux,phandle = <0x5>;
phandle = <0x5>;
};
# grep REGMAP /boot/config-4.14.67-00001-g0c71f3c635f0-dirty
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_SPI=y
CONFIG_REGMAP_SPMI=y
CONFIG_REGMAP_MMIO=y
CONFIG_REGMAP_IRQ=y
Console:
# reboot
[ OK ] Stopped Stopping Session 3 of user root.
Stopping Authorization Manager...
Stopping watchdog daemon...
[ OK ] Stopped target Timers.
[ OK ] Stopped Message of the Day.
[ OK ] Stopped Daily apt upgrade and clean activities.
[ OK ] Stopped Discard unused blocks once a week.
[ OK ] Stopped Daily Cleanup of Temporary Directories.
[ OK ] Stopped Daily apt download activities.
[ OK ] Stopped QEMU KVM preparation - module, ksm, hugepages.
[ OK ] Stopped Serial Getty on ttyS0.
[ OK ] Stopped Authorization Manager.
[ OK ] Stopped User Manager for UID 0.
[ OK ] Stopped Availability of block devices.
[ OK ] Stopped watchdog daemon.
[ OK ] Stopped Session 3 of user root.
[ OK ] Stopped target Multi-User System.
Stopping EPC Service...
Stopping Dispatcher daemon for systemd-networkd...
[ OK ] Stopped Resets System Activity Data Collector.
Stopping Regular background program processing daemon...
Stopping containerd container runtime...
Stopping Suspend/Resume Running libvirt Guests...
Stopping ISC DHCP IPv4 server...
[ OK ] Stopped Initialize hardware monitoring sensors.
Stopping System Logging Service...
Stopping Unattended Upgrades Shutdown...
Stopping vsftpd FTP server...
Stopping LXD - container startup/shutdown...
Stopping LTTng session daemon...
Stopping LSB: HPA's tftp server...
Stopping LXC Container Initialization and Autoboot Code...
Stopping Docker Application Container Engine...
Stopping LSB: network benchmark...
Stopping LSB: Set sysfs variables from /etc/sysfs.conf...
Stopping LSB: Mount debugfs on /sys/kernel/debug...
Stopping OpenBSD Secure Shell server...
[ OK ] Removed slice User Slice of root.
Stopping Login Service...
[ OK ] Stopped target Login Prompts.
Stopping Getty on tty1...
[ OK ] Removed slice system-serial\x2dgetty.slice.
[ OK ] Stopped Login Service.
[ OK ] Stopped Dispatcher daemon for systemd-networkd.
[ OK ] Stopped LTTng session daemon.
[ OK ] Stopped System Logging Service.
[ OK ] Stopped Regular background program processing daemon.
[ OK ] Stopped Unattended Upgrades Shutdown.
[ OK ] Stopped OpenBSD Secure Shell server.
[ OK ] Stopped vsftpd FTP server.
[ OK ] Stopped containerd container runtime.
[ OK ] Stopped Getty on tty1.
[ OK ] Stopped Docker Application Container Engine.
[ OK ] Stopped ISC DHCP IPv4 server.
[ OK ] Stopped LXC Container Initialization and Autoboot Code.
[ OK ] Stopped LXD - container startup/shutdown.
[ OK ] Stopped LSB: HPA's tftp server.
Stopping FUSE filesystem for LXC...
Stopping LXC network bridge setup...
Stopping Permit User Sessions...
[ OK ] Removed slice system-getty.slice.
[ OK ] Unmounted /var/lib/lxcfs.
[ 877.234061] libvirt-guests.sh[6468]: Running guests on default URI: no running guests.
[ OK ] Stopped LSB: network benchmark.
[ OK ] Stopped Suspend/Resume Running libvirt Guests.
[ OK ] Stopped LSB: Set sysfs variables from /etc/sysfs.conf.
[ OK ] Stopped LSB: Mount debugfs on /sys/kernel/debug.
[ OK ] Stopped LXC network bridge setup.
[ OK ] Stopped Permit User Sessions.
[ OK ] Stopped FUSE filesystem for LXC.
Stopping LSB: set CPUFreq kernel parameters...
[ OK ] Stopped target Libvirt guests shutdown.
Stopping Virtualization daemon...
[ OK ] Stopped target System Time Synchronized.
[ OK ] Stopped target Host and Network Name Lookups.
[ OK ] Stopped target Network is Online.
[ OK ] Stopped Virtualization daemon.
Stopping D-Bus System Message Bus...
[ OK ] Stopped EPC Service.
[ OK ] Stopped D-Bus System Message Bus.
[ OK ] Stopped target Network.
Stopping Raise network interfaces...
Stopping Network Name Resolution...
[ OK ] Stopped LSB: set CPUFreq kernel parameters.
[ OK ] Stopped Network Name Resolution.
[ OK ] Stopped Raise network interfaces.
Stopping Network Service...
Stopping LSB: Load kernel modules needed to enable cpufreq scaling...
[ OK ] Stopped LSB: Load kernel modules needed to enable cpufreq scaling.
[ OK ] Stopped target Basic System.
[ OK ] Stopped target Slices.
[ OK ] Removed slice User and Session Slice.
[ OK ] Stopped target Sockets.
[ OK ] Closed Virtual machine lock manager socket.
[ OK ] Closed Virtual machine log manager socket.
[ OK ] Closed D-Bus System Message Bus Socket.
[ OK ] Closed LXD - unix socket.
[ OK ] Closed Syslog Socket.
[ OK ] Stopped target Paths.
[ OK ] Stopped target System Initialization.
Stopping Network Time Synchronization...
[ OK ] Stopped target Local Encrypted Volumes.
[ OK ] Stopped Dispatch Password Requests to Console Directory Watch.
[ OK ] Stopped Forward Password Requests to Wall Directory Watch.
Stopping Load/Save Random Seed...
Stopping Update UTMP about System Boot/Shutdown...
[ OK ] Stopped target Remote File Systems.
[ OK ] Stopped Network Time Synchronization.
[ OK ] Stopped Network Service.
[ OK ] Stopped Load/Save Random Seed.
[ OK ] Stopped Apply Kernel Variables.
[ OK ] Stopped Load Kernel Modules.
[ OK ] Stopped target Network (Pre).
[ OK ] Stopped Update UTMP about System Boot/Shutdown.
[ OK ] Stopped Create Volatile Files and Directories.
[ OK ] Stopped target Local File Systems.
Unmounting /run/user/0...
Unmounting /boot...
[ OK ] Unmounted /run/user/0.
[ OK ] Unmounted /boot.
[ OK ] Stopped File System Check on /dev/d…79bab-96de-4dd2-b8a0-f5d558d003f9.
[ OK ] Removed slice system-systemd\x2dfsck.slice.
[ OK ] Reached target Unmount All Filesystems.
[ OK ] Stopped target Swap.
[ OK ] Stopped target Local File Systems (Pre).
[ OK ] Stopped Remount Root and Kernel File Systems.
[ OK ] Stopped Create Static Device Nodes in /dev.
[ OK ] Reached target Shutdown.
[ OK ] Reached target Final Step.
Starting Reboot...
Stopping Monitoring of LVM2 mirrors…ng dmeventd or progress polling...
[ OK ] Stopped Monitoring of LVM2 mirrors,…sing dmeventd or progress polling.
Stopping LVM2 metadata daemon...
[ OK ] Stopped LVM2 metadata daemon.
[ 878.616531] watchdog: watchdog0: watchdog did not stop!
[ 878.766842] imx2-wdt 2ad0000.watchdog: Device shutdown: Expect reboot!
[ 878.792342] reboot: Restarting system
BR
Robert