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