xref: /rk3399_ARM-atf/plat/allwinner/common/include/sunxi_private.h (revision fe753c97408a92ba245239abd0c056050ae42630)
14ec1a239SAndre Przywara /*
2a1d349beSSamuel Holland  * Copyright (c) 2017-2021, ARM Limited and Contributors. All rights reserved.
34ec1a239SAndre Przywara  *
44ec1a239SAndre Przywara  * SPDX-License-Identifier: BSD-3-Clause
54ec1a239SAndre Przywara  */
64ec1a239SAndre Przywara 
74ec1a239SAndre Przywara #ifndef SUNXI_PRIVATE_H
84ec1a239SAndre Przywara #define SUNXI_PRIVATE_H
94ec1a239SAndre Przywara 
10*fe753c97SSamuel Holland #include <lib/psci/psci.h>
11*fe753c97SSamuel Holland 
124ec1a239SAndre Przywara void sunxi_configure_mmu_el3(int flags);
134ec1a239SAndre Przywara 
145d4bd66dSSamuel Holland void sunxi_cpu_on(u_register_t mpidr);
15a1d349beSSamuel Holland void sunxi_cpu_power_off_others(void);
16a1d349beSSamuel Holland void sunxi_cpu_power_off_self(void);
17818e6732SSamuel Holland void sunxi_power_down(void);
184ec1a239SAndre Przywara 
19*fe753c97SSamuel Holland void sunxi_set_native_psci_ops(const plat_psci_ops_t **psci_ops);
20*fe753c97SSamuel Holland int sunxi_set_scpi_psci_ops(const plat_psci_ops_t **psci_ops);
21*fe753c97SSamuel Holland int sunxi_validate_ns_entrypoint(uintptr_t ns_entrypoint);
22*fe753c97SSamuel Holland 
23df301601SAndre Przywara int sunxi_pmic_setup(uint16_t socid, const void *fdt);
244ec1a239SAndre Przywara void sunxi_security_setup(void);
254ec1a239SAndre Przywara 
264ec1a239SAndre Przywara uint16_t sunxi_read_soc_id(void);
277020dca0SAndre Przywara void sunxi_set_gpio_out(char port, int pin, bool level_high);
28d5ddf67aSAndre Przywara int sunxi_init_platform_r_twi(uint16_t socid, bool use_rsb);
295cffedceSSamuel Holland void sunxi_execute_arisc_code(uint32_t *code, size_t size, uint16_t param);
304ec1a239SAndre Przywara 
314ec1a239SAndre Przywara #endif /* SUNXI_PRIVATE_H */
32