1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * (C) Copyright 2012-2016 Stephen Warren
4 */
5
6#ifndef __CONFIG_H
7#define __CONFIG_H
8
9#include <linux/sizes.h>
10#include <asm/arch/timer.h>
11
12#ifndef __ASSEMBLY__
13#include <asm/arch/base.h>
14#endif
15
16/* Use SoC timer for AArch32, but architected timer for AArch64 */
17#ifndef CONFIG_ARM64
18#define CFG_SYS_TIMER_RATE		1000000
19#define CFG_SYS_TIMER_COUNTER	\
20	(&((struct bcm2835_timer_regs *)BCM2835_TIMER_PHYSADDR)->clo)
21#endif
22
23/* Memory layout */
24#define CFG_SYS_SDRAM_BASE		0x00000000
25#define CFG_SYS_UBOOT_BASE		CONFIG_TEXT_BASE
26/*
27 * The board really has 256M. However, the VC (VideoCore co-processor) shares
28 * the RAM, and uses a configurable portion at the top. We tell U-Boot that a
29 * smaller amount of RAM is present in order to avoid stomping on the area
30 * the VC uses.
31 */
32#define CFG_SYS_SDRAM_SIZE		SZ_128M
33
34#endif
35