Hi,
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:
SAI0_TXFS_LSIO_GPIO0_IO28
SAI1_RXD_LSIO_GPIO0_IO29
We are using if not latest then quite recent BSP for i.MX8 and kernel 4.19.35.
Hi mc
this was observed in early silicon/bsp revisions however fixed later.
Suggest to try with latest i.MX8X C0 silicon and linux Linux 4.14.98_2.3.0
Linux 4.14.98_2.3.0 Documentation
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi,
Thanks for the confirmation that it's/was known issue.
Seems that this is the issue since we have B0 silicon, but we are already using kernel 4.19.35 from (https://source.codeaurora.org/external/imx/meta-fsl-bsp-release branch: warrior-4.19.35-1.1.0 )
Do you know if that should also have the suspend patch or is it only in that 4.14 -kernel?
Another question is that should we use those separate kernel repositories or use kernel that comes with each BSP? Seems that using directly those kernel repositories we might get more recent kernel than what comes with BSP.
for i.MX8X recommended to use exactly L4.14.98_2.3.0 (not 4.19.35) and
production rev.C0 silicon (marking starting with "M", ending "AC").
Best regards
igor
Well this is interesting.
Latest BSP (that we were told to use by NXP) doesn't even contain 4.14 - kernel. Only 4.19.35.
Looking at this: meta-fsl-bsp-release - i.MX Yocto Project Release Layer
The 'latest' is warrior-4.19.35-1.1.0. Last change is done to sumo-4.14.98-2.3.0, but sumo is already almost two years old so doesn't really qualify as 'latest'. But if you say 4.14.98_2.3.0 should be used we'll investigate that then. But we also have too old silicon atm. too.
Linux L4.14.98_2.3.0 , official nxp linux source.codeaurora.org/external/imx/linux-imx repository