blob: 7654921d664ce7eb84ab6e5350b0aeaccb5f05eb [file] [log] [blame]
Haojian Zhuang5f281b32017-05-24 08:45:05 +08001/*
2 * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef __HIKEY_PRIVATE_H__
8#define __HIKEY_PRIVATE_H__
9
10#include <bl_common.h>
11
12#define RANDOM_MAX 0x7fffffffffffffff
13#define RANDOM_MAGIC 0x9a4dbeaf
14
15struct random_serial_num {
16 uint64_t magic;
17 uint64_t data;
18 char serialno[32];
19};
20
21/*
22 * Function and variable prototypes
23 */
24void hikey_init_mmu_el1(unsigned long total_base,
25 unsigned long total_size,
26 unsigned long ro_start,
27 unsigned long ro_limit,
28 unsigned long coh_start,
29 unsigned long coh_limit);
30void hikey_init_mmu_el3(unsigned long total_base,
31 unsigned long total_size,
32 unsigned long ro_start,
33 unsigned long ro_limit,
34 unsigned long coh_start,
35 unsigned long coh_limit);
36
37void hikey_ddr_init(void);
38void hikey_io_setup(void);
39
Haojian Zhuang590188a2018-03-05 13:03:53 +080040void hikey_sp804_init(void);
41void hikey_gpio_init(void);
42void hikey_pmussi_init(void);
43void hikey_hi6553_init(void);
44void init_mmc0_pll(void);
45void reset_mmc0_clk(void);
46void init_media_clk(void);
47void init_mmc1_pll(void);
48void reset_mmc1_clk(void);
49void hikey_mmc_pll_init(void);
50void hikey_rtc_init(void);
51
Haojian Zhuang5f281b32017-05-24 08:45:05 +080052int hikey_get_partition_size(const char *arg, int left, char *response);
53int hikey_get_partition_type(const char *arg, int left, char *response);
54
55int hikey_erase(const char *arg);
56int hikey_flash(const char *arg);
57int hikey_oem(const char *arg);
58int hikey_reboot(const char *arg);
Jerome Forissierc52e55f2015-05-04 09:40:03 +020059void hikey_security_setup(void);
Haojian Zhuang5f281b32017-05-24 08:45:05 +080060
61const char *hikey_init_serialno(void);
62int hikey_read_serialno(struct random_serial_num *serialno);
63int hikey_write_serialno(struct random_serial_num *serialno);
64
65void init_acpu_dvfs(void);
66
67#endif /* __HIKEY_PRIVATE_H__ */