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