Samuel Holland | b856664 | 2017-08-12 04:07:39 -0500 | [diff] [blame] | 1 | /* |
Samuel Holland | 91bcab9 | 2021-01-24 06:37:29 -0600 | [diff] [blame] | 2 | * Copyright (c) 2017-2021, ARM Limited and Contributors. All rights reserved. |
Samuel Holland | b856664 | 2017-08-12 04:07:39 -0500 | [diff] [blame] | 3 | * |
| 4 | * SPDX-License-Identifier: BSD-3-Clause |
| 5 | */ |
| 6 | |
Andre Przywara | 456208a | 2018-10-14 12:02:02 +0100 | [diff] [blame] | 7 | #ifndef SUNXI_PRIVATE_H |
| 8 | #define SUNXI_PRIVATE_H |
Samuel Holland | b856664 | 2017-08-12 04:07:39 -0500 | [diff] [blame] | 9 | |
Samuel Holland | ad6f6ca | 2021-01-16 00:56:48 -0600 | [diff] [blame] | 10 | #include <lib/psci/psci.h> |
| 11 | |
Samuel Holland | b856664 | 2017-08-12 04:07:39 -0500 | [diff] [blame] | 12 | void sunxi_configure_mmu_el3(int flags); |
Andre Przywara | 456208a | 2018-10-14 12:02:02 +0100 | [diff] [blame] | 13 | |
Samuel Holland | c629daf | 2019-02-17 15:33:33 -0600 | [diff] [blame] | 14 | void sunxi_cpu_on(u_register_t mpidr); |
Samuel Holland | 91bcab9 | 2021-01-24 06:37:29 -0600 | [diff] [blame] | 15 | void sunxi_cpu_power_off_others(void); |
| 16 | void sunxi_cpu_power_off_self(void); |
Samuel Holland | fa4d935 | 2019-10-20 15:06:57 -0500 | [diff] [blame] | 17 | void sunxi_power_down(void); |
Icenowy Zheng | 7508bef | 2018-07-21 20:41:12 +0800 | [diff] [blame] | 18 | |
Andre Przywara | 50bb417 | 2021-01-20 00:09:44 +0000 | [diff] [blame] | 19 | #if SUNXI_PSCI_USE_NATIVE |
Samuel Holland | ad6f6ca | 2021-01-16 00:56:48 -0600 | [diff] [blame] | 20 | void sunxi_set_native_psci_ops(const plat_psci_ops_t **psci_ops); |
Andre Przywara | 50bb417 | 2021-01-20 00:09:44 +0000 | [diff] [blame] | 21 | #else |
| 22 | static inline void sunxi_set_native_psci_ops(const plat_psci_ops_t **psci_ops) |
| 23 | { |
| 24 | } |
| 25 | #endif |
| 26 | #if SUNXI_PSCI_USE_SCPI |
Samuel Holland | ad6f6ca | 2021-01-16 00:56:48 -0600 | [diff] [blame] | 27 | int sunxi_set_scpi_psci_ops(const plat_psci_ops_t **psci_ops); |
Andre Przywara | 50bb417 | 2021-01-20 00:09:44 +0000 | [diff] [blame] | 28 | #else |
| 29 | static inline int sunxi_set_scpi_psci_ops(const plat_psci_ops_t **psci_ops) |
| 30 | { |
| 31 | return -1; |
| 32 | } |
| 33 | #endif |
Samuel Holland | ad6f6ca | 2021-01-16 00:56:48 -0600 | [diff] [blame] | 34 | int sunxi_validate_ns_entrypoint(uintptr_t ns_entrypoint); |
| 35 | |
Andre Przywara | 4e4b1e6 | 2018-09-08 19:18:37 +0100 | [diff] [blame] | 36 | int sunxi_pmic_setup(uint16_t socid, const void *fdt); |
Andre Przywara | 1381547 | 2018-06-01 02:01:39 +0100 | [diff] [blame] | 37 | void sunxi_security_setup(void); |
| 38 | |
Andre Przywara | 456208a | 2018-10-14 12:02:02 +0100 | [diff] [blame] | 39 | uint16_t sunxi_read_soc_id(void); |
Andre Przywara | 435464d | 2018-10-14 12:03:23 +0100 | [diff] [blame] | 40 | void sunxi_set_gpio_out(char port, int pin, bool level_high); |
Andre Przywara | 6753776 | 2018-10-14 22:13:53 +0100 | [diff] [blame] | 41 | int sunxi_init_platform_r_twi(uint16_t socid, bool use_rsb); |
Samuel Holland | ac684b9 | 2019-10-20 14:18:48 -0500 | [diff] [blame] | 42 | void sunxi_execute_arisc_code(uint32_t *code, size_t size, uint16_t param); |
Icenowy Zheng | bd57eb5 | 2018-07-22 21:52:50 +0800 | [diff] [blame] | 43 | |
Andre Przywara | fb83833 | 2020-12-14 12:06:24 +0000 | [diff] [blame] | 44 | #ifdef SUNXI_BL31_IN_DRAM |
| 45 | void sunxi_prepare_dtb(void *fdt); |
| 46 | #else |
| 47 | static inline void sunxi_prepare_dtb(void *fdt) |
| 48 | { |
| 49 | } |
| 50 | #endif |
| 51 | |
Andre Przywara | 456208a | 2018-10-14 12:02:02 +0100 | [diff] [blame] | 52 | #endif /* SUNXI_PRIVATE_H */ |