Turris Omnia MCU driver

modulename: turris-omnia-mcu.ko

configname: CONFIG_TURRIS_OMNIA_MCU

Linux Kernel Configuration
└─>Device Drivers
└─>Platform support for CZ.NIC's Turris hardware
└─>Device Tree and Open Firmware support
└─>Watchdog Timer Support
└─>GPIO Support
└─>Hardware Random Number Generator Core support
└─>Real Time Clock
└─>Turris Omnia MCU driver
In linux kernel since version 6.11 (release Date: 2024-09-15)  
Say Y here to add support for the features implemented by the
microcontroller on the CZ.NIC's Turris Omnia SOHO router.
The features include:
- board poweroff into true low power mode (with voltage regulators
disabled) and the ability to configure wake up from this mode (via
rtcwake)
- true random number generator (if available on the MCU)
- MCU watchdog
- GPIO pins
- to get front button press events (the front button can be
configured either to generate press events to the CPU or to change
front LEDs panel brightness)
- to enable / disable USB port voltage regulators and to detect
USB overcurrent
- to detect MiniPCIe / mSATA card presence in MiniPCIe port 0
- to configure resets of various peripherals on board revisions 32+
- to enable / disable the VHV voltage regulator to the SOC in order
to be able to program SOC's OTP on board revisions 32+
- to get input from the LED output pins of the WAN ethernet PHY, LAN
switch and MiniPCIe ports
To compile this driver as a module, choose M here; the module will be
called turris-omnia-mcu.

source code: