xref: /linux/drivers/platform/cznic/Kconfig (revision 77f587896757708780a7e8792efe62939f25a5ab)
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	help
10	  Say Y here to be able to choose driver support for CZ.NIC's Turris
11	  devices. This option alone does not add any kernel code.
12
13if CZNIC_PLATFORMS
14
15config TURRIS_OMNIA_MCU
16	tristate "Turris Omnia MCU driver"
17	depends on MACH_ARMADA_38X || COMPILE_TEST
18	depends on I2C
19	help
20	  Say Y here to add support for the features implemented by the
21	  microcontroller on the CZ.NIC's Turris Omnia SOHO router.
22	  This option only enables the core part of the driver. Specific
23	  features can be enabled by subsequent config options.
24	  To compile this driver as a module, choose M here; the module will be
25	  called turris-omnia-mcu.
26
27if TURRIS_OMNIA_MCU
28
29config TURRIS_OMNIA_MCU_GPIO
30	bool "Turris Omnia MCU GPIOs"
31	default y
32	depends on GPIOLIB
33	depends on OF
34	select GPIOLIB_IRQCHIP
35	help
36	  Say Y here to add support for controlling MCU GPIO pins and receiving
37	  MCU interrupts on CZ.NIC's Turris Omnia.
38	  This enables you to
39	  - get front button press events (the front button can be configured
40	    either to generate press events to the CPU or to change front LEDs
41	    panel brightness),
42	  - enable / disable USB port voltage regulators and to detect USB
43	    overcurrent,
44	  - detect MiniPCIe / mSATA card presence in MiniPCIe port 0,
45	  - configure resets of various peripherals on board revisions 32+,
46	  - enable / disable the VHV voltage regulator to the SOC in order to be
47	    able to program SOC's OTP on board revisions 32+,
48	  - get input from the LED output pins of the WAN ethernet PHY, LAN
49	    switch and MiniPCIe ports.
50
51config TURRIS_OMNIA_MCU_SYSOFF_WAKEUP
52	bool "Turris Omnia MCU system off and RTC wakeup"
53	default y
54	depends on RTC_CLASS
55	help
56	  Say Y here to add support for CZ.NIC's Turris Omnia board poweroff
57	  into true low power mode (with voltage regulators disabled) and the
58	  ability to configure wake up from this mode (via rtcwake).
59
60config TURRIS_OMNIA_MCU_WATCHDOG
61	bool "Turris Omnia MCU watchdog"
62	default y
63	depends on WATCHDOG
64	select WATCHDOG_CORE
65	help
66	  Say Y here to add support for watchdog provided by CZ.NIC's Turris
67	  Omnia MCU.
68
69config TURRIS_OMNIA_MCU_TRNG
70	bool "Turris Omnia MCU true random number generator"
71	default y
72	depends on TURRIS_OMNIA_MCU_GPIO
73	depends on HW_RANDOM=y || HW_RANDOM=TURRIS_OMNIA_MCU
74	help
75	  Say Y here to add support for the true random number generator
76	  provided by CZ.NIC's Turris Omnia MCU.
77
78endif # TURRIS_OMNIA_MCU
79
80endif # CZNIC_PLATFORMS
81