xref: /OK3568_Linux_fs/u-boot/arch/arm/include/asm/arch-rockchip/param.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * (C) Copyright 2019 Rockchip Electronics Co., Ltd
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * SPDX-License-Identifier:     GPL-2.0+
5*4882a593Smuzhiyun  */
6*4882a593Smuzhiyun 
7*4882a593Smuzhiyun #ifndef __ROCKCHIP_PARAM_H_
8*4882a593Smuzhiyun #define __ROCKCHIP_PARAM_H_
9*4882a593Smuzhiyun 
10*4882a593Smuzhiyun #include <memblk.h>
11*4882a593Smuzhiyun 
12*4882a593Smuzhiyun /**
13*4882a593Smuzhiyun  * param_parse_ddr_mem() - Parse ddr memory region
14*4882a593Smuzhiyun  *
15*4882a593Smuzhiyun  * @out_count: valid count of memblock for memblock list.
16*4882a593Smuzhiyun  * @return memblock structure list which contains base and size info.
17*4882a593Smuzhiyun  */
18*4882a593Smuzhiyun struct memblock *param_parse_ddr_mem(int *out_count);
19*4882a593Smuzhiyun 
20*4882a593Smuzhiyun /**
21*4882a593Smuzhiyun  * param_simple_parse_ddr_mem() - Simple parse ddr memory region
22*4882a593Smuzhiyun  */
23*4882a593Smuzhiyun #ifndef CONFIG_BIDRAM
24*4882a593Smuzhiyun phys_size_t param_simple_parse_ddr_mem(int init_bank);
25*4882a593Smuzhiyun #endif
26*4882a593Smuzhiyun 
27*4882a593Smuzhiyun /**
28*4882a593Smuzhiyun  * param_parse_atf_mem() - Parse atf memory region
29*4882a593Smuzhiyun  *
30*4882a593Smuzhiyun  * @return memblock structure which contains base and size info.
31*4882a593Smuzhiyun  */
32*4882a593Smuzhiyun struct memblock param_parse_atf_mem(void);
33*4882a593Smuzhiyun 
34*4882a593Smuzhiyun /**
35*4882a593Smuzhiyun  * param_parse_atf_mem() - Parse op-tee memory region
36*4882a593Smuzhiyun  *
37*4882a593Smuzhiyun  * @return memblock structure which contains base and size info.
38*4882a593Smuzhiyun  */
39*4882a593Smuzhiyun struct memblock param_parse_optee_mem(void);
40*4882a593Smuzhiyun 
41*4882a593Smuzhiyun /**
42*4882a593Smuzhiyun  * param_parse_atf_mem() - Parse platform common reserved memory region
43*4882a593Smuzhiyun  *
44*4882a593Smuzhiyun  * @return memblock structure which contains base and size info.
45*4882a593Smuzhiyun  */
46*4882a593Smuzhiyun struct memblock param_parse_common_resv_mem(void);
47*4882a593Smuzhiyun 
48*4882a593Smuzhiyun /**
49*4882a593Smuzhiyun  * param_parse_atags_bootdev() - Parse boot device info from atags.
50*4882a593Smuzhiyun  *
51*4882a593Smuzhiyun  * @devtype: out data to store dev type
52*4882a593Smuzhiyun  * @devnum: out data to store dev number
53*4882a593Smuzhiyun  *
54*4882a593Smuzhiyun  * @return 0 on success, otherwise failed.
55*4882a593Smuzhiyun  */
56*4882a593Smuzhiyun int param_parse_atags_bootdev(char **devtype, char **devtnum);
57*4882a593Smuzhiyun 
58*4882a593Smuzhiyun /**
59*4882a593Smuzhiyun  * param_parse_assign_bootdev() - Parse boot device info from configuration.
60*4882a593Smuzhiyun  *
61*4882a593Smuzhiyun  * @devtype: out data to store dev type
62*4882a593Smuzhiyun  * @devnum: out data to store dev number
63*4882a593Smuzhiyun  *
64*4882a593Smuzhiyun  * @return 0 on success, otherwise failed.
65*4882a593Smuzhiyun  */
66*4882a593Smuzhiyun int param_parse_assign_bootdev(char **devtype, char **devtnum);
67*4882a593Smuzhiyun 
68*4882a593Smuzhiyun /**
69*4882a593Smuzhiyun  * param_parse_pre_serial() - Parse and Init serial according to pre-loader serial.
70*4882a593Smuzhiyun  *
71*4882a593Smuzhiyun  * @return 0 on success, otherwise failed.
72*4882a593Smuzhiyun  */
73*4882a593Smuzhiyun int param_parse_pre_serial(int *flags);
74*4882a593Smuzhiyun 
75*4882a593Smuzhiyun /**
76*4882a593Smuzhiyun  * param_parse_pubkey_fuse_programmed() - Parse and pass fuse programmed state.
77*4882a593Smuzhiyun  *
78*4882a593Smuzhiyun  * @return 0 on success, otherwise failed.
79*4882a593Smuzhiyun  */
80*4882a593Smuzhiyun int param_parse_pubkey_fuse_programmed(void);
81*4882a593Smuzhiyun 
82*4882a593Smuzhiyun #ifdef CONFIG_PSTORE
83*4882a593Smuzhiyun /**
84*4882a593Smuzhiyun  * param_parse_pstore() - Parse and Init pstore according to pre-loader atags.
85*4882a593Smuzhiyun  *
86*4882a593Smuzhiyun  * @return 0 on success, otherwise failed.
87*4882a593Smuzhiyun  */
88*4882a593Smuzhiyun int param_parse_pstore(void);
89*4882a593Smuzhiyun #endif
90*4882a593Smuzhiyun #endif
91