Skip to content

Power Management Guide

Alex J Lennon edited this page Oct 10, 2025 · 4 revisions

E-ink Board Power Management

Overview

Low power consumption, suspend/resume, and power-controlled system lifecycle for i.MX93 Jaguar E-ink board.

Power-Controlled Lifecycle ✅

  • eink-restart.service: Power controller reset via eink-power-cli board reset
  • eink-shutdown.service: Power controller shutdown via eink-power-cli board shutdown
  • Integration: systemd reboot.target, poweroff.target, halt.target
  • Fallback: Normal system operation if MCXC143VFM unavailable

Device Tree PM ✅

  • Regulators: WiFi (MCXC143VFM), BT/802.15.4, LTE power control
  • Sleep States: UART, USDHC, SPI low-power pin configs
  • Wakeup: WiFi GPIO, ZigBee interrupt, GPIO keys, Wake-on-LAN

Kernel PM ✅

  • CPU: Idle governors, SCHEDUTIL, thermal management
  • System: S2idle suspend, runtime PM, power domains
  • Wireless: MOAL/MLAN power save, MAC80211, SDIO sequencing

Services ✅

  • WiFi PM: wifi-power-management (IW612 optimization, Wake-on-LAN)
  • System PM: Suspend/resume scripts, GPIO wakeup config
  • Lifecycle: eink-restart.service, eink-shutdown.service (MCXC143VFM integration)

Hardware ✅

  • MCXC143VFM: External power controller, WiFi independent control
  • Power Domains: MLMix, USB, SDIO power control

Optimizations ✅

  • Disabled: Audio, graphics, unnecessary USB, high-freq timers
  • Settings: Powersave governor, NOOP scheduler, reduced swappiness
  • Network: Aggressive WiFi/BT power save, 802.15.4 sleep modes

Suspend/Resume ✅

  • Modes: S2idle, runtime suspend, WiFi keep-power
  • Wakeup: WiFi (GPIO4_25), ZigBee (GPIO4_27), USB, RTC, GPIO keys
  • Resume: Adaptive governor, network restoration, device re-enumeration

Power Targets ✅

  • Active: 1.5W (full), 800mW (WiFi), 200mW (idle)
  • Suspend: 50mW (S2idle+WiFi), 10mW (deep), 5mW (off)

Testing

# Power consumption monitoring
powertop  # Monitor consumption
systemctl suspend  # Test suspend/resume
cat /sys/power/wakeup_sources  # Check wakeup sources

# Power-controlled lifecycle
systemctl reboot   # Test power controller reset
systemctl poweroff # Test power controller shutdown (⚠️ may require physical wake)
journalctl -u eink-restart.service  # Check service logs

Status ✅

  • Complete: DT config, kernel PM, services, WiFi optimization, wakeup sources, power-controlled lifecycle
  • Ready: Build testing, hardware validation, suspend/resume testing, MCXC143VFM integration

Pre-commit Hook Status ✅

  • Link Checker: Automatically runs before each commit
  • Structure: GitHub wiki compatible (all files in root)
  • Warnings: 22 remaining (mostly missing reference pages)

Test commit with broken links

Clone this wiki locally