summaryrefslogtreecommitdiff
path: root/src/soc/rockchip/rk3399/bl31_plat_params.c
blob: 647566ba2d9f5c73df1c62e913ac0da6859c85d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/*
 * This file is part of the coreboot project.
 *
 * Copyright 2016 Rockchip Inc.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; version 2 of the License.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 */

#include <arm_tf.h>
#include <assert.h>
#include <cbmem.h>
#include <soc/bl31_plat_params.h>

static struct bl31_plat_param *plat_params;

void register_bl31_param(struct bl31_plat_param *param)
{
	param->next = plat_params;
	plat_params = param;
}

void *soc_get_bl31_plat_params(bl31_params_t *bl31_params)
{
	static struct bl31_u64_param cbtable_param = {
		.h = { .type = PARAM_COREBOOT_TABLE, },
	};
	if (!cbtable_param.value) {
		cbtable_param.value = (uint64_t)cbmem_find(CBMEM_ID_CBTABLE);
		if (cbtable_param.value)
			register_bl31_param(&cbtable_param.h);
	}
	return plat_params;
}