ARM: renesas: Rename arch-/mach-rmobile to arch-/mach-renesas
[pandora-u-boot.git] / arch / arm / mach-renesas / psci-r8a779a0.c
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * This file implements basic PSCI support for Renesas r8a779a0 SoC
4  *
5  * Copyright (C) 2020 Renesas Electronics Corp.
6  *
7  */
8
9 #include <asm/io.h>
10 #include <asm/psci.h>
11 #include <asm/secure.h>
12
13 int __secure psci_features(u32 function_id, u32 psci_fid)
14 {
15         switch (psci_fid) {
16         case ARM_PSCI_0_2_FN_PSCI_VERSION:
17         case ARM_PSCI_0_2_FN_SYSTEM_RESET:
18                 return 0x0;
19         }
20         /* case ARM_PSCI_0_2_FN_CPU_ON: */
21         /* case ARM_PSCI_0_2_FN_CPU_OFF: */
22         /* case ARM_PSCI_0_2_FN_AFFINITY_INFO: */
23         /* case ARM_PSCI_0_2_FN_MIGRATE_INFO_TYPE: */
24         /* case ARM_PSCI_0_2_FN_SYSTEM_OFF: */
25         return ARM_PSCI_RET_NI;
26 }
27
28 u32 __secure psci_version(void)
29 {
30         return ARM_PSCI_VER_0_2;
31 }
32
33 #define RST_BASE        0xE6160000 /* Domain0 */
34 #define RST_SRESCR0     (RST_BASE + 0x18)
35 #define RST_SPRES       0x5AA58000
36
37 void __secure __noreturn psci_system_reset(void)
38 {
39         writel(RST_SPRES, RST_SRESCR0);
40
41         while (1)
42                 ;
43 }
44
45 int psci_update_dt(void *fdt)
46 {
47         return 0;
48 }