Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# For a description of the syntax of this configuration file,
4# see Documentation/kbuild/kconfig-language.rst.
5#
6
7menuconfig CZNIC_PLATFORMS
8 bool "Platform support for CZ.NIC's Turris hardware"
9 depends on ARCH_MVEBU || COMPILE_TEST
10 help
11 Say Y here to be able to choose driver support for CZ.NIC's Turris
12 devices. This option alone does not add any kernel code.
13
14if CZNIC_PLATFORMS
15
16config TURRIS_OMNIA_MCU
17 tristate "Turris Omnia MCU driver"
18 depends on MACH_ARMADA_38X || COMPILE_TEST
19 depends on I2C
20 help
21 Say Y here to add support for the features implemented by the
22 microcontroller on the CZ.NIC's Turris Omnia SOHO router.
23 This option only enables the core part of the driver. Specific
24 features can be enabled by subsequent config options.
25 To compile this driver as a module, choose M here; the module will be
26 called turris-omnia-mcu.
27
28if TURRIS_OMNIA_MCU
29
30config TURRIS_OMNIA_MCU_GPIO
31 bool "Turris Omnia MCU GPIOs"
32 default y
33 depends on GPIOLIB
34 depends on OF
35 select GPIOLIB_IRQCHIP
36 help
37 Say Y here to add support for controlling MCU GPIO pins and receiving
38 MCU interrupts on CZ.NIC's Turris Omnia.
39 This enables you to
40 - get front button press events (the front button can be configured
41 either to generate press events to the CPU or to change front LEDs
42 panel brightness),
43 - enable / disable USB port voltage regulators and to detect USB
44 overcurrent,
45 - detect MiniPCIe / mSATA card presence in MiniPCIe port 0,
46 - configure resets of various peripherals on board revisions 32+,
47 - enable / disable the VHV voltage regulator to the SOC in order to be
48 able to program SOC's OTP on board revisions 32+,
49 - get input from the LED output pins of the WAN ethernet PHY, LAN
50 switch and MiniPCIe ports.
51
52config TURRIS_OMNIA_MCU_SYSOFF_WAKEUP
53 bool "Turris Omnia MCU system off and RTC wakeup"
54 default y
55 depends on RTC_CLASS
56 help
57 Say Y here to add support for CZ.NIC's Turris Omnia board poweroff
58 into true low power mode (with voltage regulators disabled) and the
59 ability to configure wake up from this mode (via rtcwake).
60
61config TURRIS_OMNIA_MCU_WATCHDOG
62 bool "Turris Omnia MCU watchdog"
63 default y
64 depends on WATCHDOG
65 select WATCHDOG_CORE
66 help
67 Say Y here to add support for watchdog provided by CZ.NIC's Turris
68 Omnia MCU.
69
70config TURRIS_OMNIA_MCU_TRNG
71 bool "Turris Omnia MCU true random number generator"
72 default y
73 depends on TURRIS_OMNIA_MCU_GPIO
74 depends on HW_RANDOM=y || HW_RANDOM=TURRIS_OMNIA_MCU
75 help
76 Say Y here to add support for the true random number generator
77 provided by CZ.NIC's Turris Omnia MCU.
78
79config TURRIS_OMNIA_MCU_KEYCTL
80 bool "Turris Omnia MCU ECDSA message signing"
81 default y
82 depends on KEYS
83 depends on ASYMMETRIC_KEY_TYPE
84 depends on TURRIS_OMNIA_MCU_GPIO
85 select TURRIS_SIGNING_KEY
86 help
87 Say Y here to add support for ECDSA message signing with board private
88 key (if available on the MCU). This is exposed via the keyctl()
89 syscall.
90
91endif # TURRIS_OMNIA_MCU
92
93config TURRIS_SIGNING_KEY
94 tristate
95 depends on KEYS
96 depends on ASYMMETRIC_KEY_TYPE
97
98endif # CZNIC_PLATFORMS