xref: /kernel/linux/linux-6.6/drivers/reset/Kconfig (revision 62306a36)
162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciconfig ARCH_HAS_RESET_CONTROLLER
362306a36Sopenharmony_ci	bool
462306a36Sopenharmony_ci
562306a36Sopenharmony_cimenuconfig RESET_CONTROLLER
662306a36Sopenharmony_ci	bool "Reset Controller Support"
762306a36Sopenharmony_ci	default y if ARCH_HAS_RESET_CONTROLLER
862306a36Sopenharmony_ci	help
962306a36Sopenharmony_ci	  Generic Reset Controller support.
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci	  This framework is designed to abstract reset handling of devices
1262306a36Sopenharmony_ci	  via GPIOs or SoC-internal reset controller modules.
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci	  If unsure, say no.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciif RESET_CONTROLLER
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciconfig RESET_A10SR
1962306a36Sopenharmony_ci	tristate "Altera Arria10 System Resource Reset"
2062306a36Sopenharmony_ci	depends on MFD_ALTERA_A10SR || COMPILE_TEST
2162306a36Sopenharmony_ci	help
2262306a36Sopenharmony_ci	  This option enables support for the external reset functions for
2362306a36Sopenharmony_ci	  peripheral PHYs on the Altera Arria10 System Resource Chip.
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ciconfig RESET_ATH79
2662306a36Sopenharmony_ci	bool "AR71xx Reset Driver" if COMPILE_TEST
2762306a36Sopenharmony_ci	default ATH79
2862306a36Sopenharmony_ci	help
2962306a36Sopenharmony_ci	  This enables the ATH79 reset controller driver that supports the
3062306a36Sopenharmony_ci	  AR71xx SoC reset controller.
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ciconfig RESET_AXS10X
3362306a36Sopenharmony_ci	bool "AXS10x Reset Driver" if COMPILE_TEST
3462306a36Sopenharmony_ci	default ARC_PLAT_AXS10X
3562306a36Sopenharmony_ci	help
3662306a36Sopenharmony_ci	  This enables the reset controller driver for AXS10x.
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ciconfig RESET_BCM6345
3962306a36Sopenharmony_ci	bool "BCM6345 Reset Controller"
4062306a36Sopenharmony_ci	depends on BMIPS_GENERIC || COMPILE_TEST
4162306a36Sopenharmony_ci	default BMIPS_GENERIC
4262306a36Sopenharmony_ci	help
4362306a36Sopenharmony_ci	  This enables the reset controller driver for BCM6345 SoCs.
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ciconfig RESET_BERLIN
4662306a36Sopenharmony_ci	tristate "Berlin Reset Driver"
4762306a36Sopenharmony_ci	depends on ARCH_BERLIN || COMPILE_TEST
4862306a36Sopenharmony_ci	default m if ARCH_BERLIN
4962306a36Sopenharmony_ci	help
5062306a36Sopenharmony_ci	  This enables the reset controller driver for Marvell Berlin SoCs.
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ciconfig RESET_BRCMSTB
5362306a36Sopenharmony_ci	tristate "Broadcom STB reset controller"
5462306a36Sopenharmony_ci	depends on ARCH_BRCMSTB || COMPILE_TEST
5562306a36Sopenharmony_ci	default ARCH_BRCMSTB
5662306a36Sopenharmony_ci	help
5762306a36Sopenharmony_ci	  This enables the reset controller driver for Broadcom STB SoCs using
5862306a36Sopenharmony_ci	  a SUN_TOP_CTRL_SW_INIT style controller.
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ciconfig RESET_BRCMSTB_RESCAL
6162306a36Sopenharmony_ci	tristate "Broadcom STB RESCAL reset controller"
6262306a36Sopenharmony_ci	depends on HAS_IOMEM
6362306a36Sopenharmony_ci	depends on ARCH_BRCMSTB || COMPILE_TEST
6462306a36Sopenharmony_ci	default ARCH_BRCMSTB
6562306a36Sopenharmony_ci	help
6662306a36Sopenharmony_ci	  This enables the RESCAL reset controller for SATA, PCIe0, or PCIe1 on
6762306a36Sopenharmony_ci	  BCM7216.
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ciconfig RESET_HSDK
7062306a36Sopenharmony_ci	bool "Synopsys HSDK Reset Driver"
7162306a36Sopenharmony_ci	depends on HAS_IOMEM
7262306a36Sopenharmony_ci	depends on ARC_SOC_HSDK || COMPILE_TEST
7362306a36Sopenharmony_ci	help
7462306a36Sopenharmony_ci	  This enables the reset controller driver for HSDK board.
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ciconfig RESET_IMX7
7762306a36Sopenharmony_ci	tristate "i.MX7/8 Reset Driver"
7862306a36Sopenharmony_ci	depends on HAS_IOMEM
7962306a36Sopenharmony_ci	depends on SOC_IMX7D || (ARM64 && ARCH_MXC) || COMPILE_TEST
8062306a36Sopenharmony_ci	default y if SOC_IMX7D
8162306a36Sopenharmony_ci	select MFD_SYSCON
8262306a36Sopenharmony_ci	help
8362306a36Sopenharmony_ci	  This enables the reset controller driver for i.MX7 SoCs.
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ciconfig RESET_INTEL_GW
8662306a36Sopenharmony_ci	bool "Intel Reset Controller Driver"
8762306a36Sopenharmony_ci	depends on X86 || COMPILE_TEST
8862306a36Sopenharmony_ci	depends on OF && HAS_IOMEM
8962306a36Sopenharmony_ci	select REGMAP_MMIO
9062306a36Sopenharmony_ci	help
9162306a36Sopenharmony_ci	  This enables the reset controller driver for Intel Gateway SoCs.
9262306a36Sopenharmony_ci	  Say Y to control the reset signals provided by reset controller.
9362306a36Sopenharmony_ci	  Otherwise, say N.
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ciconfig RESET_K210
9662306a36Sopenharmony_ci	bool "Reset controller driver for Canaan Kendryte K210 SoC"
9762306a36Sopenharmony_ci	depends on (SOC_CANAAN || COMPILE_TEST) && OF
9862306a36Sopenharmony_ci	select MFD_SYSCON
9962306a36Sopenharmony_ci	default SOC_CANAAN
10062306a36Sopenharmony_ci	help
10162306a36Sopenharmony_ci	  Support for the Canaan Kendryte K210 RISC-V SoC reset controller.
10262306a36Sopenharmony_ci	  Say Y if you want to control reset signals provided by this
10362306a36Sopenharmony_ci	  controller.
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_ciconfig RESET_LANTIQ
10662306a36Sopenharmony_ci	bool "Lantiq XWAY Reset Driver" if COMPILE_TEST
10762306a36Sopenharmony_ci	default SOC_TYPE_XWAY
10862306a36Sopenharmony_ci	help
10962306a36Sopenharmony_ci	  This enables the reset controller driver for Lantiq / Intel XWAY SoCs.
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ciconfig RESET_LPC18XX
11262306a36Sopenharmony_ci	bool "LPC18xx/43xx Reset Driver" if COMPILE_TEST
11362306a36Sopenharmony_ci	default ARCH_LPC18XX
11462306a36Sopenharmony_ci	help
11562306a36Sopenharmony_ci	  This enables the reset controller driver for NXP LPC18xx/43xx SoCs.
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ciconfig RESET_MCHP_SPARX5
11862306a36Sopenharmony_ci	bool "Microchip Sparx5 reset driver"
11962306a36Sopenharmony_ci	depends on ARCH_SPARX5 || SOC_LAN966 || COMPILE_TEST
12062306a36Sopenharmony_ci	default y if SPARX5_SWITCH
12162306a36Sopenharmony_ci	select MFD_SYSCON
12262306a36Sopenharmony_ci	help
12362306a36Sopenharmony_ci	  This driver supports switch core reset for the Microchip Sparx5 SoC.
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ciconfig RESET_MESON
12662306a36Sopenharmony_ci	tristate "Meson Reset Driver"
12762306a36Sopenharmony_ci	depends on ARCH_MESON || COMPILE_TEST
12862306a36Sopenharmony_ci	default ARCH_MESON
12962306a36Sopenharmony_ci	help
13062306a36Sopenharmony_ci	  This enables the reset driver for Amlogic Meson SoCs.
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ciconfig RESET_MESON_AUDIO_ARB
13362306a36Sopenharmony_ci	tristate "Meson Audio Memory Arbiter Reset Driver"
13462306a36Sopenharmony_ci	depends on ARCH_MESON || COMPILE_TEST
13562306a36Sopenharmony_ci	help
13662306a36Sopenharmony_ci	  This enables the reset driver for Audio Memory Arbiter of
13762306a36Sopenharmony_ci	  Amlogic's A113 based SoCs
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ciconfig RESET_NPCM
14062306a36Sopenharmony_ci	bool "NPCM BMC Reset Driver" if COMPILE_TEST
14162306a36Sopenharmony_ci	default ARCH_NPCM
14262306a36Sopenharmony_ci	help
14362306a36Sopenharmony_ci	  This enables the reset controller driver for Nuvoton NPCM
14462306a36Sopenharmony_ci	  BMC SoCs.
14562306a36Sopenharmony_ci
14662306a36Sopenharmony_ciconfig RESET_NUVOTON_MA35D1
14762306a36Sopenharmony_ci	bool "Nuvoton MA35D1 Reset Driver"
14862306a36Sopenharmony_ci	depends on ARCH_MA35 || COMPILE_TEST
14962306a36Sopenharmony_ci	default ARCH_MA35
15062306a36Sopenharmony_ci	help
15162306a36Sopenharmony_ci	  This enables the reset controller driver for Nuvoton MA35D1 SoC.
15262306a36Sopenharmony_ci
15362306a36Sopenharmony_ciconfig RESET_PISTACHIO
15462306a36Sopenharmony_ci	bool "Pistachio Reset Driver"
15562306a36Sopenharmony_ci	depends on MIPS || COMPILE_TEST
15662306a36Sopenharmony_ci	help
15762306a36Sopenharmony_ci	  This enables the reset driver for ImgTec Pistachio SoCs.
15862306a36Sopenharmony_ci
15962306a36Sopenharmony_ciconfig RESET_POLARFIRE_SOC
16062306a36Sopenharmony_ci	bool "Microchip PolarFire SoC (MPFS) Reset Driver"
16162306a36Sopenharmony_ci	depends on MCHP_CLK_MPFS
16262306a36Sopenharmony_ci	select AUXILIARY_BUS
16362306a36Sopenharmony_ci	default MCHP_CLK_MPFS
16462306a36Sopenharmony_ci	help
16562306a36Sopenharmony_ci	  This driver supports peripheral reset for the Microchip PolarFire SoC
16662306a36Sopenharmony_ci
16762306a36Sopenharmony_ciconfig RESET_QCOM_AOSS
16862306a36Sopenharmony_ci	tristate "Qcom AOSS Reset Driver"
16962306a36Sopenharmony_ci	depends on ARCH_QCOM || COMPILE_TEST
17062306a36Sopenharmony_ci	help
17162306a36Sopenharmony_ci	  This enables the AOSS (always on subsystem) reset driver
17262306a36Sopenharmony_ci	  for Qualcomm SDM845 SoCs. Say Y if you want to control
17362306a36Sopenharmony_ci	  reset signals provided by AOSS for Modem, Venus, ADSP,
17462306a36Sopenharmony_ci	  GPU, Camera, Wireless, Display subsystem. Otherwise, say N.
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ciconfig RESET_QCOM_PDC
17762306a36Sopenharmony_ci	tristate "Qualcomm PDC Reset Driver"
17862306a36Sopenharmony_ci	depends on ARCH_QCOM || COMPILE_TEST
17962306a36Sopenharmony_ci	help
18062306a36Sopenharmony_ci	  This enables the PDC (Power Domain Controller) reset driver
18162306a36Sopenharmony_ci	  for Qualcomm Technologies Inc SDM845 SoCs. Say Y if you want
18262306a36Sopenharmony_ci	  to control reset signals provided by PDC for Modem, Compute,
18362306a36Sopenharmony_ci	  Display, GPU, Debug, AOP, Sensors, Audio, SP and APPS.
18462306a36Sopenharmony_ci
18562306a36Sopenharmony_ciconfig RESET_RASPBERRYPI
18662306a36Sopenharmony_ci	tristate "Raspberry Pi 4 Firmware Reset Driver"
18762306a36Sopenharmony_ci	depends on RASPBERRYPI_FIRMWARE || (RASPBERRYPI_FIRMWARE=n && COMPILE_TEST)
18862306a36Sopenharmony_ci	default USB_XHCI_PCI
18962306a36Sopenharmony_ci	help
19062306a36Sopenharmony_ci	  Raspberry Pi 4's co-processor controls some of the board's HW
19162306a36Sopenharmony_ci	  initialization process, but it's up to Linux to trigger it when
19262306a36Sopenharmony_ci	  relevant. This driver provides a reset controller capable of
19362306a36Sopenharmony_ci	  interfacing with RPi4's co-processor and model these firmware
19462306a36Sopenharmony_ci	  initialization routines as reset lines.
19562306a36Sopenharmony_ci
19662306a36Sopenharmony_ciconfig RESET_RZG2L_USBPHY_CTRL
19762306a36Sopenharmony_ci	tristate "Renesas RZ/G2L USBPHY control driver"
19862306a36Sopenharmony_ci	depends on ARCH_RZG2L || COMPILE_TEST
19962306a36Sopenharmony_ci	help
20062306a36Sopenharmony_ci	  Support for USBPHY Control found on RZ/G2L family. It mainly
20162306a36Sopenharmony_ci	  controls reset and power down of the USB/PHY.
20262306a36Sopenharmony_ci
20362306a36Sopenharmony_ciconfig RESET_SCMI
20462306a36Sopenharmony_ci	tristate "Reset driver controlled via ARM SCMI interface"
20562306a36Sopenharmony_ci	depends on ARM_SCMI_PROTOCOL || COMPILE_TEST
20662306a36Sopenharmony_ci	default ARM_SCMI_PROTOCOL
20762306a36Sopenharmony_ci	help
20862306a36Sopenharmony_ci	  This driver provides support for reset signal/domains that are
20962306a36Sopenharmony_ci	  controlled by firmware that implements the SCMI interface.
21062306a36Sopenharmony_ci
21162306a36Sopenharmony_ci	  This driver uses SCMI Message Protocol to interact with the
21262306a36Sopenharmony_ci	  firmware controlling all the reset signals.
21362306a36Sopenharmony_ci
21462306a36Sopenharmony_ciconfig RESET_SIMPLE
21562306a36Sopenharmony_ci	bool "Simple Reset Controller Driver" if COMPILE_TEST || EXPERT
21662306a36Sopenharmony_ci	default ARCH_ASPEED || ARCH_BCMBCA || ARCH_BITMAIN || ARCH_REALTEK || ARCH_STM32 || (ARCH_INTEL_SOCFPGA && ARM64) || ARCH_SUNXI || ARC
21762306a36Sopenharmony_ci	depends on HAS_IOMEM
21862306a36Sopenharmony_ci	help
21962306a36Sopenharmony_ci	  This enables a simple reset controller driver for reset lines that
22062306a36Sopenharmony_ci	  that can be asserted and deasserted by toggling bits in a contiguous,
22162306a36Sopenharmony_ci	  exclusive register space.
22262306a36Sopenharmony_ci
22362306a36Sopenharmony_ci	  Currently this driver supports:
22462306a36Sopenharmony_ci	   - Altera SoCFPGAs
22562306a36Sopenharmony_ci	   - ASPEED BMC SoCs
22662306a36Sopenharmony_ci	   - Bitmain BM1880 SoC
22762306a36Sopenharmony_ci	   - Realtek SoCs
22862306a36Sopenharmony_ci	   - RCC reset controller in STM32 MCUs
22962306a36Sopenharmony_ci	   - Allwinner SoCs
23062306a36Sopenharmony_ci	   - SiFive FU740 SoCs
23162306a36Sopenharmony_ci
23262306a36Sopenharmony_ciconfig RESET_SOCFPGA
23362306a36Sopenharmony_ci	bool "SoCFPGA Reset Driver" if COMPILE_TEST && (!ARM || !ARCH_INTEL_SOCFPGA)
23462306a36Sopenharmony_ci	default ARM && ARCH_INTEL_SOCFPGA
23562306a36Sopenharmony_ci	select RESET_SIMPLE
23662306a36Sopenharmony_ci	help
23762306a36Sopenharmony_ci	  This enables the reset driver for the SoCFPGA ARMv7 platforms. This
23862306a36Sopenharmony_ci	  driver gets initialized early during platform init calls.
23962306a36Sopenharmony_ci
24062306a36Sopenharmony_ciconfig RESET_SUNPLUS
24162306a36Sopenharmony_ci	bool "Sunplus SoCs Reset Driver" if COMPILE_TEST
24262306a36Sopenharmony_ci	default ARCH_SUNPLUS
24362306a36Sopenharmony_ci	help
24462306a36Sopenharmony_ci	  This enables the reset driver support for Sunplus SoCs.
24562306a36Sopenharmony_ci	  The reset lines that can be asserted and deasserted by toggling bits
24662306a36Sopenharmony_ci	  in a contiguous, exclusive register space. The register is HIWORD_MASKED,
24762306a36Sopenharmony_ci	  which means each register holds 16 reset lines.
24862306a36Sopenharmony_ci
24962306a36Sopenharmony_ciconfig RESET_SUNXI
25062306a36Sopenharmony_ci	bool "Allwinner SoCs Reset Driver" if COMPILE_TEST && !ARCH_SUNXI
25162306a36Sopenharmony_ci	default ARCH_SUNXI
25262306a36Sopenharmony_ci	select RESET_SIMPLE
25362306a36Sopenharmony_ci	help
25462306a36Sopenharmony_ci	  This enables the reset driver for Allwinner SoCs.
25562306a36Sopenharmony_ci
25662306a36Sopenharmony_ciconfig RESET_TI_SCI
25762306a36Sopenharmony_ci	tristate "TI System Control Interface (TI-SCI) reset driver"
25862306a36Sopenharmony_ci	depends on TI_SCI_PROTOCOL || (COMPILE_TEST && TI_SCI_PROTOCOL=n)
25962306a36Sopenharmony_ci	help
26062306a36Sopenharmony_ci	  This enables the reset driver support over TI System Control Interface
26162306a36Sopenharmony_ci	  available on some new TI's SoCs. If you wish to use reset resources
26262306a36Sopenharmony_ci	  managed by the TI System Controller, say Y here. Otherwise, say N.
26362306a36Sopenharmony_ci
26462306a36Sopenharmony_ciconfig RESET_TI_SYSCON
26562306a36Sopenharmony_ci	tristate "TI SYSCON Reset Driver"
26662306a36Sopenharmony_ci	depends on HAS_IOMEM
26762306a36Sopenharmony_ci	select MFD_SYSCON
26862306a36Sopenharmony_ci	help
26962306a36Sopenharmony_ci	  This enables the reset driver support for TI devices with
27062306a36Sopenharmony_ci	  memory-mapped reset registers as part of a syscon device node. If
27162306a36Sopenharmony_ci	  you wish to use the reset framework for such memory-mapped devices,
27262306a36Sopenharmony_ci	  say Y here. Otherwise, say N.
27362306a36Sopenharmony_ci
27462306a36Sopenharmony_ciconfig RESET_TI_TPS380X
27562306a36Sopenharmony_ci	tristate "TI TPS380x Reset Driver"
27662306a36Sopenharmony_ci	select GPIOLIB
27762306a36Sopenharmony_ci	help
27862306a36Sopenharmony_ci	  This enables the reset driver support for TI TPS380x devices. If
27962306a36Sopenharmony_ci	  you wish to use the reset framework for such devices, say Y here.
28062306a36Sopenharmony_ci	  Otherwise, say N.
28162306a36Sopenharmony_ci
28262306a36Sopenharmony_ciconfig RESET_TN48M_CPLD
28362306a36Sopenharmony_ci	tristate "Delta Networks TN48M switch CPLD reset controller"
28462306a36Sopenharmony_ci	depends on MFD_TN48M_CPLD || COMPILE_TEST
28562306a36Sopenharmony_ci	default MFD_TN48M_CPLD
28662306a36Sopenharmony_ci	help
28762306a36Sopenharmony_ci	  This enables the reset controller driver for the Delta TN48M CPLD.
28862306a36Sopenharmony_ci	  It provides reset signals for Armada 7040 and 385 SoC-s, Alleycat 3X
28962306a36Sopenharmony_ci	  switch MAC-s, Alaska OOB ethernet PHY, Quad Alaska ethernet PHY-s and
29062306a36Sopenharmony_ci	  Microchip PD69200 PoE PSE controller.
29162306a36Sopenharmony_ci
29262306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module will be
29362306a36Sopenharmony_ci	  called reset-tn48m.
29462306a36Sopenharmony_ci
29562306a36Sopenharmony_ciconfig RESET_UNIPHIER
29662306a36Sopenharmony_ci	tristate "Reset controller driver for UniPhier SoCs"
29762306a36Sopenharmony_ci	depends on ARCH_UNIPHIER || COMPILE_TEST
29862306a36Sopenharmony_ci	depends on OF && MFD_SYSCON
29962306a36Sopenharmony_ci	default ARCH_UNIPHIER
30062306a36Sopenharmony_ci	help
30162306a36Sopenharmony_ci	  Support for reset controllers on UniPhier SoCs.
30262306a36Sopenharmony_ci	  Say Y if you want to control reset signals provided by System Control
30362306a36Sopenharmony_ci	  block, Media I/O block, Peripheral Block.
30462306a36Sopenharmony_ci
30562306a36Sopenharmony_ciconfig RESET_UNIPHIER_GLUE
30662306a36Sopenharmony_ci	tristate "Reset driver in glue layer for UniPhier SoCs"
30762306a36Sopenharmony_ci	depends on (ARCH_UNIPHIER || COMPILE_TEST) && OF
30862306a36Sopenharmony_ci	default ARCH_UNIPHIER
30962306a36Sopenharmony_ci	select RESET_SIMPLE
31062306a36Sopenharmony_ci	help
31162306a36Sopenharmony_ci	  Support for peripheral core reset included in its own glue layer
31262306a36Sopenharmony_ci	  on UniPhier SoCs. Say Y if you want to control reset signals
31362306a36Sopenharmony_ci	  provided by the glue layer.
31462306a36Sopenharmony_ci
31562306a36Sopenharmony_ciconfig RESET_ZYNQ
31662306a36Sopenharmony_ci	bool "ZYNQ Reset Driver" if COMPILE_TEST
31762306a36Sopenharmony_ci	default ARCH_ZYNQ
31862306a36Sopenharmony_ci	help
31962306a36Sopenharmony_ci	  This enables the reset controller driver for Xilinx Zynq SoCs.
32062306a36Sopenharmony_ci
32162306a36Sopenharmony_cisource "drivers/reset/starfive/Kconfig"
32262306a36Sopenharmony_cisource "drivers/reset/sti/Kconfig"
32362306a36Sopenharmony_cisource "drivers/reset/hisilicon/Kconfig"
32462306a36Sopenharmony_cisource "drivers/reset/tegra/Kconfig"
32562306a36Sopenharmony_ci
32662306a36Sopenharmony_ciendif
327