xref: /rk3399_ARM-atf/plat/allwinner/common/include/sunxi_private.h (revision 5d4bd66d2f893c2db972e56d2ac97ee5a066d6ad)
14ec1a239SAndre Przywara /*
24ec1a239SAndre Przywara  * Copyright (c) 2017-2018, 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 
104ec1a239SAndre Przywara void sunxi_configure_mmu_el3(int flags);
114ec1a239SAndre Przywara 
12*5d4bd66dSSamuel Holland void sunxi_cpu_on(u_register_t mpidr);
13*5d4bd66dSSamuel Holland void sunxi_cpu_off(u_register_t mpidr);
14*5d4bd66dSSamuel Holland void sunxi_disable_secondary_cpus(u_register_t primary_mpidr);
154ec1a239SAndre Przywara void __dead2 sunxi_power_down(void);
164ec1a239SAndre Przywara 
17df301601SAndre Przywara int sunxi_pmic_setup(uint16_t socid, const void *fdt);
184ec1a239SAndre Przywara void sunxi_security_setup(void);
194ec1a239SAndre Przywara 
204ec1a239SAndre Przywara uint16_t sunxi_read_soc_id(void);
217020dca0SAndre Przywara void sunxi_set_gpio_out(char port, int pin, bool level_high);
22d5ddf67aSAndre Przywara int sunxi_init_platform_r_twi(uint16_t socid, bool use_rsb);
2311480b90SAndre Przywara void sunxi_execute_arisc_code(uint32_t *code, size_t size,
2411480b90SAndre Przywara 			      int patch_offset, uint16_t param);
254ec1a239SAndre Przywara 
264ec1a239SAndre Przywara #endif /* SUNXI_PRIVATE_H */
27