platform: sifive_fu740: add platform reset driver
authorNikita Shubin <n.shubin@yadro.com>
Wed, 10 Nov 2021 09:42:30 +0000 (12:42 +0300)
committerAnup Patel <anup@brainfault.org>
Fri, 12 Nov 2021 04:59:20 +0000 (10:29 +0530)
commitf3744967c6b595c0caba164468b4b32b9c027dfd
tree16b52e6d6cfba7dc5fbacd39fa28136d535a4d3b
parent13a1158d24f6462ecf17d63e0c2325994180deac
platform: sifive_fu740: add platform reset driver

da9063 PMIC can be used to reset/shutdown the
Sifive Unmatched board.

shutdown is done simply by writing SHUTDOWN bit to
DA9063_REG_CONTROL_F register.

reset via setting WAKEUP bit in DA9063_REG_CONTROL_F
register followed by masking POWER and POWER1 domains
and setting STANDBY bit in DA9063_REG_CONTROL_A,
originally discovered by Alexandre Ghiti on linux-riscv
maillists.

Tested-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Alexandre Ghiti <alexandre.ghiti@canonical.com>
Tested-by: Alexandre Ghiti <alexandre.ghiti@canonical.com>
Signed-off-by: Nikita Shubin <n.shubin@yadro.com>
platform/generic/sifive_fu740.c