1 /* 2 * Copyright (c) 2017-2022, ARM Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef HIKEY960_PRIVATE_H 8 #define HIKEY960_PRIVATE_H 9 10 #include <common/bl_common.h> 11 12 /* Fastboot serial number */ 13 #define HIKEY960_SERIAL_NUMBER_LBA (UFS_BASE + 20) 14 #define HIKEY960_SERIAL_NUMBER_SIZE 16 15 16 /* 17 * Function and variable prototypes 18 */ 19 void hikey960_init_mmu_el1(unsigned long total_base, 20 unsigned long total_size, 21 unsigned long ro_start, 22 unsigned long ro_limit, 23 unsigned long coh_start, 24 unsigned long coh_limit); 25 void hikey960_init_mmu_el3(unsigned long total_base, 26 unsigned long total_size, 27 unsigned long ro_start, 28 unsigned long ro_limit, 29 unsigned long coh_start, 30 unsigned long coh_limit); 31 void hikey960_io_setup(void); 32 int hikey960_read_boardid(unsigned int *id); 33 int hikey960_set_fip_addr(unsigned int image_id, const char *name); 34 int hikey960_load_serialno(uint64_t *serno); 35 void hikey960_clk_init(void); 36 void hikey960_pmu_init(void); 37 void hikey960_regulator_enable(void); 38 void hikey960_tzc_init(void); 39 void hikey960_peri_init(void); 40 void hikey960_pinmux_init(void); 41 void hikey960_gpio_init(void); 42 void set_retention_ticks(unsigned int val); 43 void clr_retention_ticks(unsigned int val); 44 void clr_ex(void); 45 void nop(void); 46 47 /******************************************************************************* 48 * Struct for parameters received from BL2 49 ******************************************************************************/ 50 typedef struct plat_params_from_bl2 { 51 /* Fastboot serial number gathered from UFS */ 52 uint64_t fastboot_serno; 53 } plat_params_from_bl2_t; 54 55 #endif /* HIKEY960_PRIVATE_H */ 56