xref: /rk3399_ARM-atf/plat/allwinner/common/include/sunxi_private.h (revision c36e2d488e940c674a0f442d89f64bd4a57e7616)
1 /*
2  * Copyright (c) 2017-2021, ARM Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef SUNXI_PRIVATE_H
8 #define SUNXI_PRIVATE_H
9 
10 #include <lib/psci/psci.h>
11 
12 void sunxi_configure_mmu_el3(int flags);
13 
14 void sunxi_cpu_on(u_register_t mpidr);
15 void sunxi_cpu_power_off_others(void);
16 void sunxi_cpu_power_off_self(void);
17 void sunxi_power_down(void);
18 
19 void sunxi_set_native_psci_ops(const plat_psci_ops_t **psci_ops);
20 int sunxi_set_scpi_psci_ops(const plat_psci_ops_t **psci_ops);
21 int sunxi_validate_ns_entrypoint(uintptr_t ns_entrypoint);
22 
23 int sunxi_pmic_setup(uint16_t socid, const void *fdt);
24 void sunxi_security_setup(void);
25 
26 uint16_t sunxi_read_soc_id(void);
27 void sunxi_set_gpio_out(char port, int pin, bool level_high);
28 int sunxi_init_platform_r_twi(uint16_t socid, bool use_rsb);
29 void sunxi_execute_arisc_code(uint32_t *code, size_t size, uint16_t param);
30 
31 #endif /* SUNXI_PRIVATE_H */
32