1992f1a3dSMarek Behún# SPDX-License-Identifier: GPL-2.0-only 2992f1a3dSMarek Behún# 3992f1a3dSMarek Behún# For a description of the syntax of this configuration file, 4992f1a3dSMarek Behún# see Documentation/kbuild/kconfig-language.rst. 5992f1a3dSMarek Behún# 6992f1a3dSMarek Behún 7992f1a3dSMarek Behúnmenuconfig CZNIC_PLATFORMS 8992f1a3dSMarek Behún bool "Platform support for CZ.NIC's Turris hardware" 9dd0f05b9SGeert Uytterhoeven depends on ARCH_MVEBU || COMPILE_TEST 10992f1a3dSMarek Behún help 11992f1a3dSMarek Behún Say Y here to be able to choose driver support for CZ.NIC's Turris 12992f1a3dSMarek Behún devices. This option alone does not add any kernel code. 13992f1a3dSMarek Behún 14992f1a3dSMarek Behúnif CZNIC_PLATFORMS 15992f1a3dSMarek Behún 16992f1a3dSMarek Behúnconfig TURRIS_OMNIA_MCU 17992f1a3dSMarek Behún tristate "Turris Omnia MCU driver" 18992f1a3dSMarek Behún depends on MACH_ARMADA_38X || COMPILE_TEST 19992f1a3dSMarek Behún depends on I2C 20992f1a3dSMarek Behún help 21992f1a3dSMarek Behún Say Y here to add support for the features implemented by the 22992f1a3dSMarek Behún microcontroller on the CZ.NIC's Turris Omnia SOHO router. 23af340b7aSMarek Behún This option only enables the core part of the driver. Specific 24af340b7aSMarek Behún features can be enabled by subsequent config options. 25992f1a3dSMarek Behún To compile this driver as a module, choose M here; the module will be 26992f1a3dSMarek Behún called turris-omnia-mcu. 27992f1a3dSMarek Behún 28019f87f1SMarek Behúnif TURRIS_OMNIA_MCU 29019f87f1SMarek Behún 30af340b7aSMarek Behúnconfig TURRIS_OMNIA_MCU_GPIO 31af340b7aSMarek Behún bool "Turris Omnia MCU GPIOs" 32af340b7aSMarek Behún default y 33af340b7aSMarek Behún depends on GPIOLIB 34af340b7aSMarek Behún depends on OF 35af340b7aSMarek Behún select GPIOLIB_IRQCHIP 36af340b7aSMarek Behún help 37af340b7aSMarek Behún Say Y here to add support for controlling MCU GPIO pins and receiving 38af340b7aSMarek Behún MCU interrupts on CZ.NIC's Turris Omnia. 39af340b7aSMarek Behún This enables you to 40af340b7aSMarek Behún - get front button press events (the front button can be configured 41af340b7aSMarek Behún either to generate press events to the CPU or to change front LEDs 42af340b7aSMarek Behún panel brightness), 43af340b7aSMarek Behún - enable / disable USB port voltage regulators and to detect USB 44af340b7aSMarek Behún overcurrent, 45af340b7aSMarek Behún - detect MiniPCIe / mSATA card presence in MiniPCIe port 0, 46af340b7aSMarek Behún - configure resets of various peripherals on board revisions 32+, 47af340b7aSMarek Behún - enable / disable the VHV voltage regulator to the SOC in order to be 48af340b7aSMarek Behún able to program SOC's OTP on board revisions 32+, 49af340b7aSMarek Behún - get input from the LED output pins of the WAN ethernet PHY, LAN 50af340b7aSMarek Behún switch and MiniPCIe ports. 51af340b7aSMarek Behún 5274a22fceSMarek Behúnconfig TURRIS_OMNIA_MCU_SYSOFF_WAKEUP 5374a22fceSMarek Behún bool "Turris Omnia MCU system off and RTC wakeup" 5474a22fceSMarek Behún default y 5574a22fceSMarek Behún depends on RTC_CLASS 5674a22fceSMarek Behún help 5774a22fceSMarek Behún Say Y here to add support for CZ.NIC's Turris Omnia board poweroff 5874a22fceSMarek Behún into true low power mode (with voltage regulators disabled) and the 5974a22fceSMarek Behún ability to configure wake up from this mode (via rtcwake). 6074a22fceSMarek Behún 61019f87f1SMarek Behúnconfig TURRIS_OMNIA_MCU_WATCHDOG 62019f87f1SMarek Behún bool "Turris Omnia MCU watchdog" 63019f87f1SMarek Behún default y 64019f87f1SMarek Behún depends on WATCHDOG 65019f87f1SMarek Behún select WATCHDOG_CORE 66019f87f1SMarek Behún help 67019f87f1SMarek Behún Say Y here to add support for watchdog provided by CZ.NIC's Turris 68019f87f1SMarek Behún Omnia MCU. 69019f87f1SMarek Behún 70c7da0d4eSMarek Behúnconfig TURRIS_OMNIA_MCU_TRNG 71c7da0d4eSMarek Behún bool "Turris Omnia MCU true random number generator" 72c7da0d4eSMarek Behún default y 73af340b7aSMarek Behún depends on TURRIS_OMNIA_MCU_GPIO 74b97acde6SArnd Bergmann depends on HW_RANDOM=y || HW_RANDOM=TURRIS_OMNIA_MCU 75c7da0d4eSMarek Behún help 76c7da0d4eSMarek Behún Say Y here to add support for the true random number generator 77c7da0d4eSMarek Behún provided by CZ.NIC's Turris Omnia MCU. 78c7da0d4eSMarek Behún 79*df94a2f1SMarek Behúnconfig TURRIS_OMNIA_MCU_KEYCTL 80*df94a2f1SMarek Behún bool "Turris Omnia MCU ECDSA message signing" 81*df94a2f1SMarek Behún default y 82*df94a2f1SMarek Behún depends on KEYS 83*df94a2f1SMarek Behún depends on ASYMMETRIC_KEY_TYPE 84*df94a2f1SMarek Behún depends on TURRIS_OMNIA_MCU_GPIO 85*df94a2f1SMarek Behún select TURRIS_SIGNING_KEY 86*df94a2f1SMarek Behún help 87*df94a2f1SMarek Behún Say Y here to add support for ECDSA message signing with board private 88*df94a2f1SMarek Behún key (if available on the MCU). This is exposed via the keyctl() 89*df94a2f1SMarek Behún syscall. 90*df94a2f1SMarek Behún 91019f87f1SMarek Behúnendif # TURRIS_OMNIA_MCU 92019f87f1SMarek Behún 930b28b708SMarek Behúnconfig TURRIS_SIGNING_KEY 940b28b708SMarek Behún tristate 950b28b708SMarek Behún depends on KEYS 960b28b708SMarek Behún depends on ASYMMETRIC_KEY_TYPE 970b28b708SMarek Behún 98992f1a3dSMarek Behúnendif # CZNIC_PLATFORMS 99