xref: /OK3568_Linux_fs/kernel/drivers/power/reset/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyunmenuconfig POWER_RESET
3*4882a593Smuzhiyun	bool "Board level reset or power off"
4*4882a593Smuzhiyun	help
5*4882a593Smuzhiyun	  Provides a number of drivers which either reset a complete board
6*4882a593Smuzhiyun	  or shut it down, by manipulating the main power supply on the board.
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun	  Say Y here to enable board reset and power off
9*4882a593Smuzhiyun
10*4882a593Smuzhiyunif POWER_RESET
11*4882a593Smuzhiyun
12*4882a593Smuzhiyunconfig POWER_RESET_AS3722
13*4882a593Smuzhiyun	bool "ams AS3722 power-off driver"
14*4882a593Smuzhiyun	depends on MFD_AS3722
15*4882a593Smuzhiyun	help
16*4882a593Smuzhiyun	  This driver supports turning off board via a ams AS3722 power-off.
17*4882a593Smuzhiyun
18*4882a593Smuzhiyunconfig POWER_RESET_AT91_POWEROFF
19*4882a593Smuzhiyun	tristate "Atmel AT91 poweroff driver"
20*4882a593Smuzhiyun	depends on ARCH_AT91
21*4882a593Smuzhiyun	default SOC_AT91SAM9 || SOC_SAMA5
22*4882a593Smuzhiyun	help
23*4882a593Smuzhiyun	  This driver supports poweroff for Atmel AT91SAM9 and SAMA5
24*4882a593Smuzhiyun	  SoCs
25*4882a593Smuzhiyun
26*4882a593Smuzhiyunconfig POWER_RESET_AT91_RESET
27*4882a593Smuzhiyun	tristate "Atmel AT91 reset driver"
28*4882a593Smuzhiyun	depends on ARCH_AT91
29*4882a593Smuzhiyun	default SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5
30*4882a593Smuzhiyun	help
31*4882a593Smuzhiyun	  This driver supports restart for Atmel AT91SAM9 and SAMA5
32*4882a593Smuzhiyun	  SoCs
33*4882a593Smuzhiyun
34*4882a593Smuzhiyunconfig POWER_RESET_AT91_SAMA5D2_SHDWC
35*4882a593Smuzhiyun	tristate "Atmel AT91 SAMA5D2-Compatible shutdown controller driver"
36*4882a593Smuzhiyun	depends on ARCH_AT91
37*4882a593Smuzhiyun	default SOC_SAM9X60 || SOC_SAMA5
38*4882a593Smuzhiyun	help
39*4882a593Smuzhiyun	  This driver supports the alternate shutdown controller for some Atmel
40*4882a593Smuzhiyun	  SAMA5 SoCs. It is present for example on SAMA5D2 SoC.
41*4882a593Smuzhiyun
42*4882a593Smuzhiyunconfig POWER_RESET_AXXIA
43*4882a593Smuzhiyun	bool "LSI Axxia reset driver"
44*4882a593Smuzhiyun	depends on ARCH_AXXIA
45*4882a593Smuzhiyun	help
46*4882a593Smuzhiyun	  This driver supports restart for Axxia SoC.
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun	  Say Y if you have an Axxia family SoC.
49*4882a593Smuzhiyun
50*4882a593Smuzhiyunconfig POWER_RESET_BRCMKONA
51*4882a593Smuzhiyun	bool "Broadcom Kona reset driver"
52*4882a593Smuzhiyun	depends on ARM || COMPILE_TEST
53*4882a593Smuzhiyun	default ARCH_BCM_MOBILE
54*4882a593Smuzhiyun	help
55*4882a593Smuzhiyun	  This driver provides restart support for Broadcom Kona chips.
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun	  Say Y here if you have a Broadcom Kona-based board and you wish
58*4882a593Smuzhiyun	  to have restart support.
59*4882a593Smuzhiyun
60*4882a593Smuzhiyunconfig POWER_RESET_BRCMSTB
61*4882a593Smuzhiyun	bool "Broadcom STB reset driver"
62*4882a593Smuzhiyun	depends on ARM || ARM64 || MIPS || COMPILE_TEST
63*4882a593Smuzhiyun	depends on MFD_SYSCON
64*4882a593Smuzhiyun	default ARCH_BRCMSTB || BMIPS_GENERIC
65*4882a593Smuzhiyun	help
66*4882a593Smuzhiyun	  This driver provides restart support for Broadcom STB boards.
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun	  Say Y here if you have a Broadcom STB board and you wish
69*4882a593Smuzhiyun	  to have restart support.
70*4882a593Smuzhiyun
71*4882a593Smuzhiyunconfig POWER_RESET_GEMINI_POWEROFF
72*4882a593Smuzhiyun	bool "Cortina Gemini power-off driver"
73*4882a593Smuzhiyun	depends on ARCH_GEMINI || COMPILE_TEST
74*4882a593Smuzhiyun	depends on OF && HAS_IOMEM
75*4882a593Smuzhiyun	default ARCH_GEMINI
76*4882a593Smuzhiyun	help
77*4882a593Smuzhiyun	  This driver supports turning off the Cortina Gemini SoC.
78*4882a593Smuzhiyun	  Select this if you're building a kernel with Gemini SoC support.
79*4882a593Smuzhiyun
80*4882a593Smuzhiyunconfig POWER_RESET_GPIO
81*4882a593Smuzhiyun	bool "GPIO power-off driver"
82*4882a593Smuzhiyun	depends on OF_GPIO
83*4882a593Smuzhiyun	help
84*4882a593Smuzhiyun	  This driver supports turning off your board via a GPIO line.
85*4882a593Smuzhiyun	  If your board needs a GPIO high/low to power down, say Y and
86*4882a593Smuzhiyun	  create a binding in your devicetree.
87*4882a593Smuzhiyun
88*4882a593Smuzhiyunconfig POWER_RESET_GPIO_RESTART
89*4882a593Smuzhiyun	bool "GPIO restart driver"
90*4882a593Smuzhiyun	depends on OF_GPIO
91*4882a593Smuzhiyun	help
92*4882a593Smuzhiyun	  This driver supports restarting your board via a GPIO line.
93*4882a593Smuzhiyun	  If your board needs a GPIO high/low to restart, say Y and
94*4882a593Smuzhiyun	  create a binding in your devicetree.
95*4882a593Smuzhiyun
96*4882a593Smuzhiyunconfig POWER_RESET_HISI
97*4882a593Smuzhiyun	bool "Hisilicon power-off driver"
98*4882a593Smuzhiyun	depends on ARCH_HISI
99*4882a593Smuzhiyun	help
100*4882a593Smuzhiyun	  Reboot support for Hisilicon boards.
101*4882a593Smuzhiyun
102*4882a593Smuzhiyunconfig POWER_RESET_LINKSTATION
103*4882a593Smuzhiyun	tristate "Buffalo LinkStation power-off driver"
104*4882a593Smuzhiyun	depends on ARCH_MVEBU || COMPILE_TEST
105*4882a593Smuzhiyun	depends on OF_MDIO && PHYLIB
106*4882a593Smuzhiyun	help
107*4882a593Smuzhiyun	  This driver supports turning off some Buffalo LinkStations by
108*4882a593Smuzhiyun	  setting an output pin at the ethernet PHY to the correct state.
109*4882a593Smuzhiyun	  It also makes the device compatible with the WoL function.
110*4882a593Smuzhiyun
111*4882a593Smuzhiyun	  Say Y here if you have a Buffalo LinkStation LS421D/E.
112*4882a593Smuzhiyun
113*4882a593Smuzhiyunconfig POWER_RESET_MSM
114*4882a593Smuzhiyun	bool "Qualcomm MSM power-off driver"
115*4882a593Smuzhiyun	depends on ARCH_QCOM
116*4882a593Smuzhiyun	help
117*4882a593Smuzhiyun	  Power off and restart support for Qualcomm boards.
118*4882a593Smuzhiyun
119*4882a593Smuzhiyunconfig POWER_RESET_QCOM_PON
120*4882a593Smuzhiyun	tristate "Qualcomm power-on driver"
121*4882a593Smuzhiyun	depends on ARCH_QCOM
122*4882a593Smuzhiyun	depends on MFD_SPMI_PMIC
123*4882a593Smuzhiyun	select REBOOT_MODE
124*4882a593Smuzhiyun	help
125*4882a593Smuzhiyun	  Power On support for Qualcomm boards.
126*4882a593Smuzhiyun	  If you have a Qualcomm platform and need support for
127*4882a593Smuzhiyun	  power-on and reboot reason, Say Y.
128*4882a593Smuzhiyun	  If unsure, Say N.
129*4882a593Smuzhiyun
130*4882a593Smuzhiyunconfig POWER_RESET_OCELOT_RESET
131*4882a593Smuzhiyun	bool "Microsemi Ocelot reset driver"
132*4882a593Smuzhiyun	depends on MSCC_OCELOT || ARCH_SPARX5 || COMPILE_TEST
133*4882a593Smuzhiyun	select MFD_SYSCON
134*4882a593Smuzhiyun	help
135*4882a593Smuzhiyun	  This driver supports restart for Microsemi Ocelot SoC and similar.
136*4882a593Smuzhiyun
137*4882a593Smuzhiyunconfig POWER_RESET_OXNAS
138*4882a593Smuzhiyun	bool "OXNAS SoC restart driver"
139*4882a593Smuzhiyun	depends on ARCH_OXNAS
140*4882a593Smuzhiyun	default MACH_OX820
141*4882a593Smuzhiyun	help
142*4882a593Smuzhiyun	  Restart support for OXNAS/PLXTECH OX820 SoC.
143*4882a593Smuzhiyun
144*4882a593Smuzhiyunconfig POWER_RESET_PIIX4_POWEROFF
145*4882a593Smuzhiyun	tristate "Intel PIIX4 power-off driver"
146*4882a593Smuzhiyun	depends on PCI
147*4882a593Smuzhiyun	depends on MIPS || COMPILE_TEST
148*4882a593Smuzhiyun	help
149*4882a593Smuzhiyun	  This driver supports powering off a system using the Intel PIIX4
150*4882a593Smuzhiyun	  southbridge, for example the MIPS Malta development board. The
151*4882a593Smuzhiyun	  southbridge SOff state is entered in response to a request to
152*4882a593Smuzhiyun	  power off the system.
153*4882a593Smuzhiyun
154*4882a593Smuzhiyunconfig POWER_RESET_LTC2952
155*4882a593Smuzhiyun	bool "LTC2952 PowerPath power-off driver"
156*4882a593Smuzhiyun	depends on OF_GPIO
157*4882a593Smuzhiyun	help
158*4882a593Smuzhiyun	  This driver supports an external powerdown trigger and board power
159*4882a593Smuzhiyun	  down via the LTC2952. Bindings are made in the device tree.
160*4882a593Smuzhiyun
161*4882a593Smuzhiyunconfig POWER_RESET_MT6323
162*4882a593Smuzhiyun	bool "MediaTek MT6323 power-off driver"
163*4882a593Smuzhiyun	depends on MFD_MT6397
164*4882a593Smuzhiyun	help
165*4882a593Smuzhiyun	  The power-off driver is responsible for externally shutdown down
166*4882a593Smuzhiyun	  the power of a remote MediaTek SoC MT6323 is connected to through
167*4882a593Smuzhiyun	  controlling a tiny circuit BBPU inside MT6323 RTC.
168*4882a593Smuzhiyun
169*4882a593Smuzhiyun	  Say Y if you have a board where MT6323 could be found.
170*4882a593Smuzhiyun
171*4882a593Smuzhiyunconfig POWER_RESET_QNAP
172*4882a593Smuzhiyun	bool "QNAP power-off driver"
173*4882a593Smuzhiyun	depends on OF_GPIO && PLAT_ORION
174*4882a593Smuzhiyun	help
175*4882a593Smuzhiyun	  This driver supports turning off QNAP NAS devices by sending
176*4882a593Smuzhiyun	  commands to the microcontroller which controls the main power.
177*4882a593Smuzhiyun
178*4882a593Smuzhiyun	  Say Y if you have a QNAP NAS.
179*4882a593Smuzhiyun
180*4882a593Smuzhiyunconfig POWER_RESET_RESTART
181*4882a593Smuzhiyun	bool "Restart power-off driver"
182*4882a593Smuzhiyun	help
183*4882a593Smuzhiyun	  Some boards don't actually have the ability to power off.
184*4882a593Smuzhiyun	  Instead they restart, and u-boot holds the SoC until the
185*4882a593Smuzhiyun	  user presses a key. u-boot then boots into Linux.
186*4882a593Smuzhiyun
187*4882a593Smuzhiyunconfig POWER_RESET_ST
188*4882a593Smuzhiyun	bool "ST restart driver"
189*4882a593Smuzhiyun	depends on ARCH_STI
190*4882a593Smuzhiyun	help
191*4882a593Smuzhiyun	  Reset support for STMicroelectronics boards.
192*4882a593Smuzhiyun
193*4882a593Smuzhiyunconfig POWER_RESET_VERSATILE
194*4882a593Smuzhiyun	bool "ARM Versatile family reboot driver"
195*4882a593Smuzhiyun	depends on ARM
196*4882a593Smuzhiyun	depends on MFD_SYSCON
197*4882a593Smuzhiyun	depends on OF
198*4882a593Smuzhiyun	help
199*4882a593Smuzhiyun	  Power off and restart support for ARM Versatile family of
200*4882a593Smuzhiyun	  reference boards.
201*4882a593Smuzhiyun
202*4882a593Smuzhiyunconfig POWER_RESET_VEXPRESS
203*4882a593Smuzhiyun	bool "ARM Versatile Express power-off and reset driver"
204*4882a593Smuzhiyun	depends on ARM || ARM64
205*4882a593Smuzhiyun	depends on VEXPRESS_CONFIG=y
206*4882a593Smuzhiyun	help
207*4882a593Smuzhiyun	  Power off and reset support for the ARM Ltd. Versatile
208*4882a593Smuzhiyun	  Express boards.
209*4882a593Smuzhiyun
210*4882a593Smuzhiyunconfig POWER_RESET_XGENE
211*4882a593Smuzhiyun	bool "APM SoC X-Gene reset driver"
212*4882a593Smuzhiyun	depends on ARM64
213*4882a593Smuzhiyun	help
214*4882a593Smuzhiyun	  Reboot support for the APM SoC X-Gene Eval boards.
215*4882a593Smuzhiyun
216*4882a593Smuzhiyunconfig POWER_RESET_KEYSTONE
217*4882a593Smuzhiyun	bool "Keystone reset driver"
218*4882a593Smuzhiyun	depends on ARCH_KEYSTONE || COMPILE_TEST
219*4882a593Smuzhiyun	depends on HAS_IOMEM
220*4882a593Smuzhiyun	select MFD_SYSCON
221*4882a593Smuzhiyun	help
222*4882a593Smuzhiyun	  Reboot support for the KEYSTONE SoCs.
223*4882a593Smuzhiyun
224*4882a593Smuzhiyunconfig POWER_RESET_SYSCON
225*4882a593Smuzhiyun	bool "Generic SYSCON regmap reset driver"
226*4882a593Smuzhiyun	depends on OF
227*4882a593Smuzhiyun	depends on HAS_IOMEM
228*4882a593Smuzhiyun	select MFD_SYSCON
229*4882a593Smuzhiyun	help
230*4882a593Smuzhiyun	  Reboot support for generic SYSCON mapped register reset.
231*4882a593Smuzhiyun
232*4882a593Smuzhiyunconfig POWER_RESET_SYSCON_POWEROFF
233*4882a593Smuzhiyun	bool "Generic SYSCON regmap poweroff driver"
234*4882a593Smuzhiyun	depends on OF
235*4882a593Smuzhiyun	depends on HAS_IOMEM
236*4882a593Smuzhiyun	select MFD_SYSCON
237*4882a593Smuzhiyun	help
238*4882a593Smuzhiyun	  Poweroff support for generic SYSCON mapped register poweroff.
239*4882a593Smuzhiyun
240*4882a593Smuzhiyunconfig POWER_RESET_RMOBILE
241*4882a593Smuzhiyun	tristate "Renesas R-Mobile reset driver"
242*4882a593Smuzhiyun	depends on ARCH_RMOBILE || COMPILE_TEST
243*4882a593Smuzhiyun	depends on HAS_IOMEM
244*4882a593Smuzhiyun	help
245*4882a593Smuzhiyun	  Reboot support for Renesas R-Mobile and SH-Mobile SoCs.
246*4882a593Smuzhiyun
247*4882a593Smuzhiyunconfig POWER_RESET_ZX
248*4882a593Smuzhiyun	tristate "ZTE SoCs reset driver"
249*4882a593Smuzhiyun	depends on ARCH_ZX || COMPILE_TEST
250*4882a593Smuzhiyun	depends on HAS_IOMEM
251*4882a593Smuzhiyun	help
252*4882a593Smuzhiyun	  Reboot support for ZTE SoCs.
253*4882a593Smuzhiyun
254*4882a593Smuzhiyunconfig REBOOT_MODE
255*4882a593Smuzhiyun	tristate
256*4882a593Smuzhiyun
257*4882a593Smuzhiyunconfig SYSCON_REBOOT_MODE
258*4882a593Smuzhiyun	tristate "Generic SYSCON regmap reboot mode driver"
259*4882a593Smuzhiyun	depends on OF
260*4882a593Smuzhiyun	depends on MFD_SYSCON
261*4882a593Smuzhiyun	select REBOOT_MODE
262*4882a593Smuzhiyun	help
263*4882a593Smuzhiyun	  Say y here will enable reboot mode driver. This will
264*4882a593Smuzhiyun	  get reboot mode arguments and store it in SYSCON mapped
265*4882a593Smuzhiyun	  register, then the bootloader can read it to take different
266*4882a593Smuzhiyun	  action according to the mode.
267*4882a593Smuzhiyun
268*4882a593Smuzhiyunconfig POWER_RESET_SC27XX
269*4882a593Smuzhiyun	tristate "Spreadtrum SC27xx PMIC power-off driver"
270*4882a593Smuzhiyun	depends on MFD_SC27XX_PMIC || COMPILE_TEST
271*4882a593Smuzhiyun	help
272*4882a593Smuzhiyun	  This driver supports powering off a system through
273*4882a593Smuzhiyun	  Spreadtrum SC27xx series PMICs. The SC27xx series
274*4882a593Smuzhiyun	  PMICs includes the SC2720, SC2721, SC2723, SC2730
275*4882a593Smuzhiyun	  and SC2731 chips.
276*4882a593Smuzhiyun
277*4882a593Smuzhiyunconfig NVMEM_REBOOT_MODE
278*4882a593Smuzhiyun	tristate "Generic NVMEM reboot mode driver"
279*4882a593Smuzhiyun	depends on OF
280*4882a593Smuzhiyun	select REBOOT_MODE
281*4882a593Smuzhiyun	help
282*4882a593Smuzhiyun	  Say y here will enable reboot mode driver. This will
283*4882a593Smuzhiyun	  get reboot mode arguments and store it in a NVMEM cell,
284*4882a593Smuzhiyun	  then the bootloader can read it and take different
285*4882a593Smuzhiyun	  action according to the mode.
286*4882a593Smuzhiyun
287*4882a593Smuzhiyunendif
288*4882a593Smuzhiyun
289