xref: /rk3399_ARM-atf/plat/rockchip/common/drivers/parameter/ddr_parameter.h (revision c3cf06f1a3a9b9ee8ac7a0ae505f95c45f7dca84)
10d5ec955Stony.xie /*
20d5ec955Stony.xie  * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved.
30d5ec955Stony.xie  *
4c3e70be1Sdp-arm  * SPDX-License-Identifier: BSD-3-Clause
50d5ec955Stony.xie  */
60d5ec955Stony.xie 
7*c3cf06f1SAntonio Nino Diaz #ifndef DDR_PARAMETER_H
8*c3cf06f1SAntonio Nino Diaz #define DDR_PARAMETER_H
90d5ec955Stony.xie 
100d5ec955Stony.xie #include <arch_helpers.h>
110d5ec955Stony.xie #include <console.h>
120d5ec955Stony.xie #include <debug.h>
130d5ec955Stony.xie #include <delay_timer.h>
140d5ec955Stony.xie #include <mmio.h>
150d5ec955Stony.xie #include <plat_private.h>
16ee1ebbd1SIsla Mitchell #include <platform_def.h>
170d5ec955Stony.xie #include <soc.h>
180d5ec955Stony.xie #include <string.h>
190d5ec955Stony.xie 
200d5ec955Stony.xie #define DDR_REGION_NR_MAX		10
210d5ec955Stony.xie #define REGION_NR_OFFSET		0
220d5ec955Stony.xie #define REGION_ADDR_OFFSET		8
230d5ec955Stony.xie #define REGION_DATA_PER_BYTES		8
240d5ec955Stony.xie #define RG_SIZE_MB(byte)		((byte) >> 20)
250d5ec955Stony.xie 
260d5ec955Stony.xie /* unit: MB */
270d5ec955Stony.xie struct param_ddr_usage {
280d5ec955Stony.xie 	uint64_t boundary;
290d5ec955Stony.xie 
300d5ec955Stony.xie 	uint32_t ns_nr;
310d5ec955Stony.xie 	uint64_t ns_base[DDR_REGION_NR_MAX];
320d5ec955Stony.xie 	uint64_t ns_top[DDR_REGION_NR_MAX];
330d5ec955Stony.xie 
340d5ec955Stony.xie 	uint32_t s_nr;
350d5ec955Stony.xie 	uint64_t s_base[DDR_REGION_NR_MAX];
360d5ec955Stony.xie 	uint64_t s_top[DDR_REGION_NR_MAX];
370d5ec955Stony.xie };
380d5ec955Stony.xie 
390d5ec955Stony.xie struct param_ddr_usage ddr_region_usage_parse(uint64_t addr, uint64_t max_mb);
400d5ec955Stony.xie 
41*c3cf06f1SAntonio Nino Diaz #endif /* DDR_PARAMETER_H */
42