xref: /rk3399_ARM-atf/drivers/renesas/rcar_gen4/pwrc/pwrc.h (revision b45b5bacb95d0e2d4539a7869c1ccf90da041498)
1*b45b5bacSMarek Vasut /*
2*b45b5bacSMarek Vasut  * Copyright (c) 2015-2025, Renesas Electronics Corporation. All rights reserved.
3*b45b5bacSMarek Vasut  *
4*b45b5bacSMarek Vasut  * SPDX-License-Identifier: BSD-3-Clause
5*b45b5bacSMarek Vasut  */
6*b45b5bacSMarek Vasut 
7*b45b5bacSMarek Vasut #ifndef PWRC_H
8*b45b5bacSMarek Vasut #define PWRC_H
9*b45b5bacSMarek Vasut 
10*b45b5bacSMarek Vasut #ifndef __ASSEMBLER__
11*b45b5bacSMarek Vasut void rcar_pwrc_disable_interrupt_wakeup(u_register_t mpidr);
12*b45b5bacSMarek Vasut void rcar_pwrc_enable_interrupt_wakeup(u_register_t mpidr);
13*b45b5bacSMarek Vasut void rcar_pwrc_clusteroff(u_register_t mpidr);
14*b45b5bacSMarek Vasut void rcar_pwrc_cpuoff(u_register_t mpidr);
15*b45b5bacSMarek Vasut void rcar_pwrc_cpuon(u_register_t mpidr);
16*b45b5bacSMarek Vasut void rcar_pwrc_setup(void);
17*b45b5bacSMarek Vasut uint32_t rcar_pwrc_get_mpidr_cluster(u_register_t mpidr);
18*b45b5bacSMarek Vasut uint32_t rcar_pwrc_cpu_on_check(u_register_t mpidr);
19*b45b5bacSMarek Vasut 
20*b45b5bacSMarek Vasut void rcar_pwrc_code_copy_to_system_ram(void);
21*b45b5bacSMarek Vasut void rcar_pwrc_suspend_to_ram(void);
22*b45b5bacSMarek Vasut void rcar_pwrc_restore_timer_state(void);
23*b45b5bacSMarek Vasut 
24*b45b5bacSMarek Vasut void plat_secondary_reset(void);
25*b45b5bacSMarek Vasut 
26*b45b5bacSMarek Vasut int32_t rcar_pwrc_cpu_migrate_info(u_register_t *resident_cpu);
27*b45b5bacSMarek Vasut bool rcar_pwrc_mpidr_is_boot_cpu(u_register_t mpidr);
28*b45b5bacSMarek Vasut #endif /*__ASSEMBLER__*/
29*b45b5bacSMarek Vasut 
30*b45b5bacSMarek Vasut extern uint32_t rcar_pwrc_switch_stack(uintptr_t jump, uintptr_t stack,
31*b45b5bacSMarek Vasut 				       void *arg);
32*b45b5bacSMarek Vasut 
33*b45b5bacSMarek Vasut #endif /* PWRC_H */
34