I’m using an Apalis IMX6 board mounted on an Ixora board and need to use the POWER_ENABLE_MOCI signal to shut down some custom peripheral.
I have use a Yocto 1.5 Linux a long time an the POWER_ENABLE_MOCI signal worked fine.
Because of some design changed i have to switch to a Linux system based on the Yocto 2.6 build system with the linux-toradex kernel version 4.14.170-3.0.4+gbaa6c24240a4. But now the POWER_ENABLE_MOCI signal is not working anymore.
Due to some software limitations i am fixed to this system and kernel version and can not use an newer one.
If i shut down the system via the command line (with poweroff or shutdown) the system reached the halt state, but the signal line is not tied low.
[ 515.358077] sd 0:0:0:0: [sda] Stopping disk
[ 515.378732] ci_hdrc ci_hdrc.1: remove, state 4
[ 515.383234] usb usb2: USB disconnect, device number 1
[ 515.388295] usb 2-1: USB disconnect, device number 2
[ 515.394840] ci_hdrc ci_hdrc.1: USB bus 2 deregistered
[ 515.400552] ci_hdrc ci_hdrc.0: remove, state 1
[ 515.405051] usb usb1: USB disconnect, device number 1
[ 515.410115] usb 1-1: USB disconnect, device number 2
[ 515.574257] ci_hdrc ci_hdrc.0: USB bus 1 deregistered
[ 515.579646] reboot: System halted
I have enabled the the CONFIG_POWER_RESET_GPIO config in the defconfig file and added a
poweroff {
compatible = "regulator-poweroff";
cpu-supply = <&vgen2_reg>;
};
block in the imx6qdl-apalis.dtsi file.
But none of this have worked.
Has someone a hint what’s wrong with my system?
Hi, I’m the Toradex AI Assistant.
I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.
Did you like my answer?

Hello! Thank you for your detailed description. Let’s review your setup and see what might be causing the issue with the POWER_ENABLE_MOCI signal no longer working for system shutdown.
Key Points:
-
Kernel Configuration:
You did the right thing by enabling CONFIG_POWER_RESET_GPIO
in your kernel. This is required for GPIO-based shutdown behavior.
-
Device Tree Configuration:
The device tree node you posted uses compatible = "regulator-poweroff";
. However, for your use-case (GPIO signal toggle on shutdown), you need to use
compatible = "gpio-poweroff";
instead of regulator-poweroff
.
Reference: Toradex GPIO Power Off Documentation
Your device tree snippet should look like:
gpio-poweroff {
compatible = "gpio-poweroff";
gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
};
Replace <&gpio3 23 GPIO_ACTIVE_LOW>;
with the correct GPIO controller and pin number for POWER_ENABLE_MOCI.
-
Known Hardware Issue:
There is a known erratum with the Apalis iMX6: after shutdown, the POWER_ENABLE_MOCI line may remain between 1.0V and 1.4V instead of being fully tied low. This is a hardware limitation and is documented here:
Apalis iMX6 Hardware Errata
If your design is sensitive to this signal being fully low, some hardware changes on your carrier board (like a voltage divider circuit) may be necessary. However, software-wise, the above device tree change is what ensures the GPIO should be toggled low at shutdown.
Checklist:
- Verify
CONFIG_POWER_RESET_GPIO
is set in your kernel config.
- Replace
regulator-poweroff
with gpio-poweroff
in your device tree as shown above.
- Confirm you’re using the correct GPIO pin for POWER_ENABLE_MOCI in your device tree.
Extra Steps:
- After applying these changes, rebuild your device tree and deploy the updated image.
- You can monitor the GPIO line during shutdown to see if it is being toggled as expected.
- If the voltage does not go fully low, check if you’re hitting the voltage issue described in the errata above.
If you need help identifying the GPIO number for POWER_ENABLE_MOCI, let me know which exact carrier board revision and SoM variant you are using.
Best regards,
Toradex AI Assistant.
GPIO Power-Off Documentation
Apalis iMX6 Hardware Module
Hi @Philipp2!
We had a similar issue a while back, but it was solved on our BSP 6 and BSP 7. Could you please test with BSP 7 (the newest version), which uses kernel 6.6, and see if it works?
If you are not familiar with how to build and image with our BSPs, please follow this article. I also recommend updating your Yocto, since 2.6 is a very old version and it is considered obsolete.
Best regards.
Hi Lucas,
to test it with a newer BSP would be possible but it would not solve my problem.
I’m fixed to the Yocto 2.6 since i have some software components which don’t run with newer OS systems.
Is there no way to solve the problem?
As far as I know now, the POWER_ENABLE_MOCI signal is generated by the PMIC on the apalis board and should be switched off by the mentioned defconfig item above. I dig a little bit in the kernel source and found that the 4.14.170 kernel does not have support for the regulator-poweroff (not matching driver source).
So is there another way?
Ok, i got it.
I had to remove the CONFIG_POWER_RESET_GPIO from the defconfig file, now it works as expected.
Hi @Philipp2!
I’m glad to hear that you solved it.
Best regards.