We have i.MX8DX(actually atm. we use i.MX8Q) based HW that has our own System Supervisor - processor and the i.MX8. We have two GPIO-pins that we use to signal to our System Supervisor if i.MX8 wants to shutdown or reboot. Then of course there is the PMIC Standby - signal that indicates if i.MX8 wants to go suspend - mode. Those two GPIO-pins have pull-down/up - resistors to pull them to known state for startup.
Problem now is that when entering suspend mode from Linux the i.MX8 puts those two GPIO-pins in hi-z - mode(I measured with oscilloscope and verified from waveform that pin is actually floating and signals are not being driven to that wrong mode) and they’ll get pulled to wrong state causing System Supervisor actually reboot the system instead suspend. Suspend request is sent after that, but it’s too late.
I found in pad/mux - control register these settings:
lower power configuration
00b - PASS
01b - EARLY_ISO
10b - LATE_ISO
11b - LATCH
I’ve tried them, but seems that they don’t have any affect. I looked through the manual, but couldn’t figure out how can I keep the drive on even when the i.MX8 enters to low power mode?
Pins in question are:
We are using if not latest then quite recent BSP for i.MX8 and kernel 4.19.35.