linux/drivers/power/reset
Claudiu Beznea 9f7195da31 power: reset: at91-poweroff: switch to slow clock before shutdown
The SAMA5D2 NRST input signal is resynchronized with the SLCK clock and it
can take up to 2 SLCK cycles (about 90us) for the internal reset to be
effective. During this delay, the VDDCORE current consumption may still be
high (application-dependent) with the VDDCORE regulator already OFF. Under
such conditions, VDDCORE may operate below its operating range leading to
potential register corruption.

To prevent such situation, it is recommended to decrease significantly the
power consumption of the device once the voltage regulator is  turned-off.
This can be achieved by operating the device at a much lower low frequency.

To solve this switch the master clock to slock clock just before writing
shutdown command to shutdown controller.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Suggested-by: Patrice Vilchez <patrice.vilchez@microchip.com>
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2018-09-16 12:31:48 +02:00
..
arm-versatile-reboot.c power/reset: versatile: support the actual versatile 2016-02-15 05:45:22 +01:00
as3722-poweroff.c power: reset: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
at91-poweroff.c power: reset: at91-poweroff: Remove redundant dev_err call in at91_poweroff_probe() 2018-03-19 20:50:51 +01:00
at91-reset.c power: reset: at91-reset: Switch from the pr_*() to the dev_*() logging functions 2018-03-19 20:51:17 +01:00
at91-sama5d2_shdwc.c power: reset: at91-poweroff: switch to slow clock before shutdown 2018-09-16 12:31:48 +02:00
axxia-reset.c power/reset: axxia: Register with kernel restart handler 2014-11-17 03:07:10 +01:00
brcm-kona-reset.c power: Introduce Broadcom kona reset driver 2016-06-06 16:17:33 -07:00
brcmstb-reboot.c power/reset: brcmstb: Add support for old 65nm chips 2015-01-22 02:25:32 +01:00
gemini-poweroff.c power: gemini-poweroff: Avoid more spurious poweroffs 2018-07-06 16:34:01 +02:00
gpio-poweroff.c gpio-poweroff: Use gpiod_set_value_cansleep 2018-04-25 23:05:59 +02:00
gpio-restart.c power: reset: gpio-restart: increase priority slightly 2015-06-02 20:59:03 +02:00
hisi-reboot.c power: reset: hisi-reboot: Unmap region obtained by of_iomap 2016-08-12 22:42:37 +02:00
Kconfig power: reset: qcom-pon: Add Qcom PON driver 2018-07-06 15:53:58 +02:00
keystone-reset.c power: reset: add in missing white space in error message text 2016-09-19 21:19:46 +02:00
ltc2952-poweroff.c treewide: convert ISO_8859-1 text comments to utf-8 2018-08-23 18:48:43 -07:00
Makefile power: reset: qcom-pon: Add Qcom PON driver 2018-07-06 15:53:58 +02:00
msm-poweroff.c power: reset: msm: Clarify restart and poweroff 2018-01-08 18:04:43 +01:00
ocelot-reset.c power: reset: Add a driver for the Microsemi Ocelot reset 2018-02-12 11:23:46 +01:00
piix4-poweroff.c Update MIPS email addresses 2017-11-03 09:02:30 -07:00
qcom-pon.c power: reset: qcom-pon: Add Qcom PON driver 2018-07-06 15:53:58 +02:00
qnap-poweroff.c power: reset: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
reboot-mode.c power: reset: reboot-mode: Make include file global 2017-06-08 18:18:19 +02:00
restart-poweroff.c power/reset: restart-poweroff: Remove arm dependencies 2015-01-25 22:13:18 +01:00
rmobile-reset.c power: reset: Add reset driver for R-Mobile platforms 2015-01-21 16:32:05 +01:00
sc27xx-poweroff.c power: reset: make function sc27xx_poweroff_shutdown static 2018-03-13 12:10:04 +01:00
st-poweroff.c power: reset: st-poweroff: Remove obsolete platforms. 2016-09-19 21:32:22 +02:00
syscon-poweroff.c power: reset: syscon-poweroff: add a mask property 2017-04-14 01:41:33 +02:00
syscon-reboot-mode.c power: reset: reboot-mode: Make include file global 2017-06-08 18:18:19 +02:00
syscon-reboot.c drivers/power: Convert non-modular syscon-reboot to use builtin_platform_driver 2015-06-16 14:12:38 -04:00
vexpress-poweroff.c power: vexpress: fix corruption in notifier registration 2018-07-06 16:23:45 +02:00
xgene-reboot.c power: reset: xgene-reboot: Unmap region obtained by of_iomap 2016-09-19 21:24:06 +02:00
zx-reboot.c power: reset: zx-reboot: put device node in zx_reboot_probe() 2018-06-28 14:20:38 +02:00