mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
It has two main use cases: 1) Allow drivers to reset their hardware via a GPIO line in a standard fashion as supplied by the reset framework. This allows adhoc driver code requesting GPIOs etc to be replaced with a single call to device_reset(). 2) Allow hardware on discoverable busses to be rest via a GPIO line without driver modifications. Examples of the second use case include: * SDIO wifi modules * USB hub chips with a reset line In this second use case the reset has to be done externally to the driver managing the hardware since resetting the device from the driver's probe() method will either do nothing (if the device needs to be reset before ennumeration will work) or cause racy beahviour (when the device disappears from the bus during probe()). So, in addition to providing a gpio based reset controller implementation it is also possible to reset devices at boot via a DT property or from userspace on request via sysfs attributes. Change-Id: I316f9e622d99cff7167b57e8fd5ff73a34dc2a81 Signed-off-by: Martin Fuzzey <mfuzzey@parkeon.com> Signed-off-by: Kevin Kim <ckkim@hardkernel.com>
112 lines
3.0 KiB
Plaintext
112 lines
3.0 KiB
Plaintext
config ARCH_HAS_RESET_CONTROLLER
|
|
bool
|
|
|
|
menuconfig RESET_CONTROLLER
|
|
bool "Reset Controller Support"
|
|
default y if ARCH_HAS_RESET_CONTROLLER
|
|
help
|
|
Generic Reset Controller support.
|
|
|
|
This framework is designed to abstract reset handling of devices
|
|
via GPIOs or SoC-internal reset controller modules.
|
|
|
|
If unsure, say no.
|
|
|
|
if RESET_CONTROLLER
|
|
|
|
config GPIO_RESET_CONTROLLER
|
|
tristate "GPIO reset controller"
|
|
help
|
|
Reset controller using GPIO lines
|
|
|
|
There are two main methods of using this controller:
|
|
* As a reset controller within the reset framework allowing device
|
|
drivers to request a hardware reset of their devices.
|
|
* As a standalone driver performing reset at boot or upon userspace
|
|
request (via sysfs)
|
|
The second method is suitable for devices on discoverable busses
|
|
(SDIO, USB)
|
|
|
|
config RESET_ATH79
|
|
bool "AR71xx Reset Driver" if COMPILE_TEST
|
|
default ATH79
|
|
help
|
|
This enables the ATH79 reset controller driver that supports the
|
|
AR71xx SoC reset controller.
|
|
|
|
config RESET_BERLIN
|
|
bool "Berlin Reset Driver" if COMPILE_TEST
|
|
default ARCH_BERLIN
|
|
help
|
|
This enables the reset controller driver for Marvell Berlin SoCs.
|
|
|
|
config RESET_LPC18XX
|
|
bool "LPC18xx/43xx Reset Driver" if COMPILE_TEST
|
|
default ARCH_LPC18XX
|
|
help
|
|
This enables the reset controller driver for NXP LPC18xx/43xx SoCs.
|
|
|
|
config RESET_MESON
|
|
bool "Meson Reset Driver" if COMPILE_TEST
|
|
default ARCH_MESON
|
|
help
|
|
This enables the reset driver for Amlogic Meson SoCs.
|
|
|
|
config RESET_OXNAS
|
|
bool
|
|
|
|
config RESET_PISTACHIO
|
|
bool "Pistachio Reset Driver" if COMPILE_TEST
|
|
default MACH_PISTACHIO
|
|
help
|
|
This enables the reset driver for ImgTec Pistachio SoCs.
|
|
|
|
config RESET_SOCFPGA
|
|
bool "SoCFPGA Reset Driver" if COMPILE_TEST
|
|
default ARCH_SOCFPGA
|
|
help
|
|
This enables the reset controller driver for Altera SoCFPGAs.
|
|
|
|
config RESET_STM32
|
|
bool "STM32 Reset Driver" if COMPILE_TEST
|
|
default ARCH_STM32
|
|
help
|
|
This enables the RCC reset controller driver for STM32 MCUs.
|
|
|
|
config RESET_SUNXI
|
|
bool "Allwinner SoCs Reset Driver" if COMPILE_TEST && !ARCH_SUNXI
|
|
default ARCH_SUNXI
|
|
help
|
|
This enables the reset driver for Allwinner SoCs.
|
|
|
|
config TI_SYSCON_RESET
|
|
tristate "TI SYSCON Reset Driver"
|
|
depends on HAS_IOMEM
|
|
select MFD_SYSCON
|
|
help
|
|
This enables the reset driver support for TI devices with
|
|
memory-mapped reset registers as part of a syscon device node. If
|
|
you wish to use the reset framework for such memory-mapped devices,
|
|
say Y here. Otherwise, say N.
|
|
|
|
config RESET_UNIPHIER
|
|
tristate "Reset controller driver for UniPhier SoCs"
|
|
depends on ARCH_UNIPHIER || COMPILE_TEST
|
|
depends on OF && MFD_SYSCON
|
|
default ARCH_UNIPHIER
|
|
help
|
|
Support for reset controllers on UniPhier SoCs.
|
|
Say Y if you want to control reset signals provided by System Control
|
|
block, Media I/O block, Peripheral Block.
|
|
|
|
config RESET_ZYNQ
|
|
bool "ZYNQ Reset Driver" if COMPILE_TEST
|
|
default ARCH_ZYNQ
|
|
help
|
|
This enables the reset controller driver for Xilinx Zynq SoCs.
|
|
|
|
source "drivers/reset/sti/Kconfig"
|
|
source "drivers/reset/hisilicon/Kconfig"
|
|
|
|
endif
|