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