Verdin iMX8MM: CTRL_SLEEP_MOCI# remains high when suspended

Hello,

I’m using a Verdin iMX8MM Q 2GB WB IT on the Verdin Devolopment Board V1.1B.

When I suspend the SOM by software command, the CTRL_SLEEP_MOCI# remains high, although the Verdin Family Specification says in Table 2, Section 5.3 that this signal has to go low in sleep state.

Best regards,
Markus

1 Like

Hi @Mowlwurf ,

Thank you for pointing this out. This is a known issue and our Team is working to fix it as soon as possible.

We keep you posted.

Best Regards
Kevin

Does this also apply to the IMX8MP?

Hello rlushster,

yes it is a software not a hardware problem. The fix is in the pipeline.

Matthias Gohlke

Hi @matthias.tx,

is there something new about this?
A fix hasn’t be released until today.

Best regards,
Markus

Hello @Mowlwurf,

it is fixed in version 6.4

Regrads,

Matthias

Hi @matthias.tx,

thank you for your respone.
Your refering to ELB-4998. But this thread is about ELB-2727.

Best regards,
Markus

Hi @Mowlwurf,

yes, this is still pending. I forwarded your ticket to the sale person so that they can check if there is any way to accelerate that request.

Best Regards,

Matthias

Hi @kevin.tx

What is the status of this issue? We would need the correct behavior of CTRL_SLEEP_MOCI during sleep mode.

Hello @msv_zitnik,

The issue around CTRL_SLEEP_MOCI for the Verdin iMX8M Plus and the Verdin iMX8M Mini has been fixed* since BSP 6.6.0.
I am not sure why the issue tracker has not been updated, I will raise this internally.

Best Regards,
Bruno


* Edit: Please see following posts.

Hello @msv_zitnik,

Upon further discussion about this issue, it turns out that there are a few things that you need to be careful when configuring your device to get a reliable CTRL_SLEEP_MOCI on the Verdin iMX8MP.

Can you clarify which peripherals you plan to rely on this behavior?
If you prefer, we can take this discussion to another thread or a private message to the moderators here on the community.

Best Regards,
Bruno

Hello @bruno.tx,

It’s great that the problem has now been solved.
Since the thread was originally about the Verdin iMX8MM:

Upon further discussion about this issue, it turns out that there are a few things that you need to be careful when configuring your device to get a reliable CTRL_SLEEP_MOCI on the Verdin iMX8MP.

Does this also apply to the Verdin iMX8MM?

We want to use the signal of CTRL_SLEEP_MOCI as an input of a microcontroller who is responsible for the battery management and who needs to know whether the SOM is in sleep state.

Best regards,
Markus

Hello @Mowlwurf,

Yes, this also applies to the Verdin iMX8MM.

The main thing that needs to be considered is the sleep and wake up sequences.
Do you have a custom kernel module associated with this microcontroller?
If so, the kernel module must be prepared with support for the regulators so they are turned on/off in the correct timing and order during a sleep/resume cycle.
We had to adapt several drivers on our side to make this happen for our carrier boards.

However, if you just want to sense the signal with the microcontroller, this should work without issues.
Please make sure to test this in a recent BSP and check that the behavior is as expected.

Best Regards,
Bruno

Hello,

on my Verdin imx8mp I am trying to get the CTRL_SLEEP_MOCI pin to get high while the SoM is running, while to get low when the SoM gets in sleep mode. Unfortunately all my attempts are ending in the pin to be either always high or always low.

Here the original device tree snips of codes related to the CTRL_SLEEP_MOCI pin

/*
* By default we enable CTRL_SLEEP_MOCI#, this is required to have
* peripherals on the carrier board powered.
* If more granularity or power saving is required this can be disabled
* in the carrier board device tree files.
/
reg_force_sleep_moci: regulator-force-sleep-moci {
compatible = “regulator-fixed”;
enable-active-high;
/
Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>;
regulator-always-on;
regulator-boot-on;
regulator-name = “CTRL_SLEEP_MOCI#”;
};

pinctrl_ctrl_sleep_moci: ctrlsleepmocigrp {
fsl,pins =
<MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0x1c4>; /* SODIMM 256 */
};

&gpio4 {
pinctrl-names = “default”;
pinctrl-0 = <&pinctrl_ctrl_sleep_moci>;
};

How should the device tree be changed to get the desired behavior?

Project info:

  • Yocto project based on Toradex Scarthgap manifest (./repo init -u git://git.toradex.com/toradex-manifest.git -b scarthgap-7.x.y -m tdxref/default.xml).
  • Kernel version: 6.6.84-7.3.0-devel #1 SMP PREEMPT Wed Apr 30 17:53:10 UTC 2025

Best regards,
Loris

Hello @loris.teq,

Please open another topic so we can support you with this issue separately from this existing thread.

Best Regards,
Bruno

Done. Here the new topic:

Best regards,
Loris

1 Like