xref: /rk3399_ARM-atf/drivers/renesas/rcar_gen5/pwrc/pwrc.c (revision fd2fb5b7612810ee53ab6bce74dffe955e1f252a)
1 /*
2  * Copyright (c) 2025, Renesas Electronics Corporation. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #include <assert.h>
8 #include <string.h>
9 
10 #include <arch.h>
11 #include <arch_helpers.h>
12 #include <lib/mmio.h>
13 #include <plat/common/platform.h>
14 #include "pwrc.h"
15 #include "timer.h"
16 
17 #include "rcar_def.h"
18 #include "rcar_private.h"
19 
20 void rcar_pwrc_suspend_to_ram(void)
21 {
22 	rcar_pwrc_save_timer_state();
23 
24 	/* disable MMU */
25 	disable_mmu_el3();
26 
27 	/* cache flush */
28 	dcsw_op_all(DCCISW);
29 
30 	rcar_scmi_sys_suspend();
31 
32 	wfi();
33 
34 	/* Do not return */
35 	while (true)
36 		;
37 }
38 
39 void rcar_pwrc_code_copy_to_system_ram(void)
40 {
41 }
42 
43 uint32_t rcar_pwrc_cpu_on_check(u_register_t mpidr)
44 {
45 	return 0;
46 }
47 
48 void rcar_pwrc_enable_interrupt_wakeup(u_register_t mpidr)
49 {
50 }
51 
52 void rcar_pwrc_disable_interrupt_wakeup(u_register_t mpidr)
53 {
54 }
55