1) Run picocom (or some other serial program) on the target hardware:
Verify that communications to the connected device can occur normally.
2) In another console (e.g. SSH), do command:
kill -s SIGKILL <picocom-PID>
(where picocom-PID is obtained from ps command)
3) Restart picocom with the same command as before.
Observe that communications no longer work as expected in picocom. The AUART ttySP0 basically doesn't function properly until the system is restarted.
This situation shouldn't happen in "nominal" operation, but it might happen in various error scenarios, and it indicates that the mxs-auart driver is not very robustly written.
I haven't debugged this yet. Looking at the code I haven't figured out which ops in struct uart_ops would normally run in the "nominal" case, and fail in the "application killed" case.
Any advice on this?