How to perform RTC wake up on iMX6ULL?

Hi! In order to reduce power consumption, I need to place the iMX6ULL SoM in low power or suspend modes and automatically wake it up after a specified time using the RTC.

According to this documentation, in order to wake the system up again, the SODIMM PIN 45 need to be pulled up or down (depending on the previous state). However, I’ve seen that on the Iris Carrier board schematics that pin 45 is not connected to the external RTC, nor does the RTC has a GPIO output for this purpose.

So, how can I perform RTC wake up? Do I need to design my custom carrier board with a proper RTC? In this case, what RTC do you recommend and how can I configure Linux to use it?

The Iris board is not designed for low power consumption when module in suspend state. And the RTC used (M41T0M6) does not have an alarm function and therefore cannot wake up the system.

Yes, you need to design custom carrier board with a proper suspend mode support and use an RTC with alarm functionality. Our Linux tree includes a lot of drivers for different RTC chips. You can see them here .
Configuration depends on RTC you will choose.

Thank you! Can you please tell me what you mean by “carrier board with a proper suspend mode support”? I would like to know in order to avoid design errors. Can you recommend some reference schematics?

It’s a complex topic and solution depends on your power requirements. Basically you need to minimize power consumption of carrier board itself while SOM in standby mode by powering off everything on your board except bare minimum. Iris board is not bad from this point of view. Almost all on board ICs can be switched by SW off. Stand by power consumption by board itself should be in tens mA. However deeper optimization can decrease it further.