xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-rockchip/param.h (revision 9d10124aee85cc334687938c6b0b40182dc866b8)
1dbf8423eSJoseph Chen /*
2dbf8423eSJoseph Chen  * (C) Copyright 2019 Rockchip Electronics Co., Ltd
3dbf8423eSJoseph Chen  *
4dbf8423eSJoseph Chen  * SPDX-License-Identifier:     GPL-2.0+
5dbf8423eSJoseph Chen  */
6dbf8423eSJoseph Chen 
7dbf8423eSJoseph Chen #ifndef __ROCKCHIP_PARAM_H_
8dbf8423eSJoseph Chen #define __ROCKCHIP_PARAM_H_
9dbf8423eSJoseph Chen 
106e15146eSJoseph Chen #include <memblk.h>
11dbf8423eSJoseph Chen 
12dbf8423eSJoseph Chen /**
13b9bc76b4SJoseph Chen  * param_parse_ddr_mem() - Parse ddr memory region
14b9bc76b4SJoseph Chen  *
15b9bc76b4SJoseph Chen  * @out_count: valid count of memblock for memblock list.
16b9bc76b4SJoseph Chen  * @return memblock structure list which contains base and size info.
17b9bc76b4SJoseph Chen  */
18b9bc76b4SJoseph Chen struct memblock *param_parse_ddr_mem(int *out_count);
19b9bc76b4SJoseph Chen 
20b9bc76b4SJoseph Chen /**
211a4d12c4SJoseph Chen  * param_simple_parse_ddr_mem() - Simple parse ddr memory region
221a4d12c4SJoseph Chen  */
231a4d12c4SJoseph Chen #ifndef CONFIG_BIDRAM
241a4d12c4SJoseph Chen phys_size_t param_simple_parse_ddr_mem(int init_bank);
251a4d12c4SJoseph Chen #endif
261a4d12c4SJoseph Chen 
271a4d12c4SJoseph Chen /**
28dbf8423eSJoseph Chen  * param_parse_atf_mem() - Parse atf memory region
29dbf8423eSJoseph Chen  *
306e15146eSJoseph Chen  * @return memblock structure which contains base and size info.
31dbf8423eSJoseph Chen  */
326e15146eSJoseph Chen struct memblock param_parse_atf_mem(void);
33dbf8423eSJoseph Chen 
34dbf8423eSJoseph Chen /**
35dbf8423eSJoseph Chen  * param_parse_atf_mem() - Parse op-tee memory region
36dbf8423eSJoseph Chen  *
376e15146eSJoseph Chen  * @return memblock structure which contains base and size info.
38dbf8423eSJoseph Chen  */
396e15146eSJoseph Chen struct memblock param_parse_optee_mem(void);
40dbf8423eSJoseph Chen 
41dbf8423eSJoseph Chen /**
42dbf8423eSJoseph Chen  * param_parse_atf_mem() - Parse platform common reserved memory region
43dbf8423eSJoseph Chen  *
446e15146eSJoseph Chen  * @return memblock structure which contains base and size info.
45dbf8423eSJoseph Chen  */
466e15146eSJoseph Chen struct memblock param_parse_common_resv_mem(void);
47dbf8423eSJoseph Chen 
48dbf8423eSJoseph Chen /**
495029b474SJoseph Chen  * param_parse_atags_bootdev() - Parse boot device info from atags.
50dbf8423eSJoseph Chen  *
51dbf8423eSJoseph Chen  * @devtype: out data to store dev type
52dbf8423eSJoseph Chen  * @devnum: out data to store dev number
53dbf8423eSJoseph Chen  *
54dbf8423eSJoseph Chen  * @return 0 on success, otherwise failed.
55dbf8423eSJoseph Chen  */
565029b474SJoseph Chen int param_parse_atags_bootdev(char **devtype, char **devtnum);
575029b474SJoseph Chen 
585029b474SJoseph Chen /**
595029b474SJoseph Chen  * param_parse_assign_bootdev() - Parse boot device info from configuration.
605029b474SJoseph Chen  *
615029b474SJoseph Chen  * @devtype: out data to store dev type
625029b474SJoseph Chen  * @devnum: out data to store dev number
635029b474SJoseph Chen  *
645029b474SJoseph Chen  * @return 0 on success, otherwise failed.
655029b474SJoseph Chen  */
665029b474SJoseph Chen int param_parse_assign_bootdev(char **devtype, char **devtnum);
67dbf8423eSJoseph Chen 
68045d3eaaSJoseph Chen /**
69045d3eaaSJoseph Chen  * param_parse_pre_serial() - Parse and Init serial according to pre-loader serial.
70045d3eaaSJoseph Chen  *
71045d3eaaSJoseph Chen  * @return 0 on success, otherwise failed.
72045d3eaaSJoseph Chen  */
73*9d10124aSJoseph Chen int param_parse_pre_serial(int *flags);
74045d3eaaSJoseph Chen 
75045d3eaaSJoseph Chen /**
76045d3eaaSJoseph Chen  * param_parse_pubkey_fuse_programmed() - Parse and pass fuse programmed state.
77045d3eaaSJoseph Chen  *
78045d3eaaSJoseph Chen  * @return 0 on success, otherwise failed.
79045d3eaaSJoseph Chen  */
80045d3eaaSJoseph Chen int param_parse_pubkey_fuse_programmed(void);
81045d3eaaSJoseph Chen 
82dbf8423eSJoseph Chen #endif
83