| # SPDX-License-Identifier: GPL-2.0-only | |
| # | |
| # For a description of the syntax of this configuration file, | |
| # see Documentation/kbuild/kconfig-language.rst. | |
| # | |
| menuconfig CZNIC_PLATFORMS | |
| bool "Platform support for CZ.NIC's Turris hardware" | |
| depends on ARCH_MVEBU || COMPILE_TEST | |
| help | |
| Say Y here to be able to choose driver support for CZ.NIC's Turris | |
| devices. This option alone does not add any kernel code. | |
| if CZNIC_PLATFORMS | |
| config TURRIS_OMNIA_MCU | |
| tristate "Turris Omnia MCU driver" | |
| depends on MACH_ARMADA_38X || COMPILE_TEST | |
| depends on I2C | |
| help | |
| Say Y here to add support for the features implemented by the | |
| microcontroller on the CZ.NIC's Turris Omnia SOHO router. | |
| This option only enables the core part of the driver. Specific | |
| features can be enabled by subsequent config options. | |
| To compile this driver as a module, choose M here; the module will be | |
| called turris-omnia-mcu. | |
| if TURRIS_OMNIA_MCU | |
| config TURRIS_OMNIA_MCU_GPIO | |
| bool "Turris Omnia MCU GPIOs" | |
| default y | |
| depends on GPIOLIB | |
| depends on OF | |
| select GPIOLIB_IRQCHIP | |
| help | |
| Say Y here to add support for controlling MCU GPIO pins and receiving | |
| MCU interrupts on CZ.NIC's Turris Omnia. | |
| This enables you 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), | |
| - enable / disable USB port voltage regulators and to detect USB | |
| overcurrent, | |
| - detect MiniPCIe / mSATA card presence in MiniPCIe port 0, | |
| - configure resets of various peripherals on board revisions 32+, | |
| - enable / disable the VHV voltage regulator to the SOC in order to be | |
| able to program SOC's OTP on board revisions 32+, | |
| - get input from the LED output pins of the WAN ethernet PHY, LAN | |
| switch and MiniPCIe ports. | |
| config TURRIS_OMNIA_MCU_SYSOFF_WAKEUP | |
| bool "Turris Omnia MCU system off and RTC wakeup" | |
| default y | |
| depends on RTC_CLASS | |
| help | |
| Say Y here to add support for CZ.NIC's Turris Omnia board poweroff | |
| into true low power mode (with voltage regulators disabled) and the | |
| ability to configure wake up from this mode (via rtcwake). | |
| config TURRIS_OMNIA_MCU_WATCHDOG | |
| bool "Turris Omnia MCU watchdog" | |
| default y | |
| depends on WATCHDOG | |
| select WATCHDOG_CORE | |
| help | |
| Say Y here to add support for watchdog provided by CZ.NIC's Turris | |
| Omnia MCU. | |
| config TURRIS_OMNIA_MCU_TRNG | |
| bool "Turris Omnia MCU true random number generator" | |
| default y | |
| depends on TURRIS_OMNIA_MCU_GPIO | |
| depends on HW_RANDOM=y || HW_RANDOM=TURRIS_OMNIA_MCU | |
| help | |
| Say Y here to add support for the true random number generator | |
| provided by CZ.NIC's Turris Omnia MCU. | |
| config TURRIS_OMNIA_MCU_KEYCTL | |
| bool "Turris Omnia MCU ECDSA message signing" | |
| default y | |
| depends on KEYS | |
| depends on ASYMMETRIC_KEY_TYPE | |
| depends on TURRIS_OMNIA_MCU_GPIO | |
| select TURRIS_SIGNING_KEY | |
| help | |
| Say Y here to add support for ECDSA message signing with board private | |
| key (if available on the MCU). This is exposed via the keyctl() | |
| syscall. | |
| endif # TURRIS_OMNIA_MCU | |
| config TURRIS_SIGNING_KEY | |
| tristate | |
| depends on KEYS | |
| depends on ASYMMETRIC_KEY_TYPE | |
| endif # CZNIC_PLATFORMS |