summaryrefslogtreecommitdiff
path: root/src/mainboard/emulation/qemu-armv7/Kconfig
blob: 944e711c253b8421b8f37dd3ab9905491b9b3980 (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
##
## This file is part of the coreboot project.
##
## Copyright (C) 2013 Google Inc.
##
## This software is licensed under the terms of the GNU General Public
## License version 2, as published by the Free Software Foundation, and
## may be copied, distributed, and modified under those terms.
##
## 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.

# Emulation for ARM Ltd Versatile Express Cortex-A9
#  http://www.arm.com/products/tools/development-boards/versatile-express

# To execute, do:
# export QEMU_AUDIO_DRV=none
# qemu-system-arm -M vexpress-a9 -m 1024M -nographic -kernel build/coreboot.rom

if BOARD_EMULATION_QEMU_ARMV7

config BOARD_SPECIFIC_OPTIONS # dummy
	def_bool y
	select ARCH_ARMV7
	select CPU_ARMLTD_CORTEX_A9
	select HAVE_UART_MEMORY_MAPPED
	select DEFAULT_EARLY_CONSOLE
	select HAVE_UART_SPECIAL
	select BOARD_ROMSIZE_KB_4096

config MAINBOARD_DIR
	string
	default emulation/qemu-armv7

config MAINBOARD_PART_NUMBER
	string
	default "QEMU ARMV7"

config MAX_CPUS
	int
	default 2

config MAINBOARD_VENDOR
	string
	default "ARM Ltd."

config BOOTBLOCK_MAINBOARD_INIT
	string
	default "mainboard/emulation/qemu-armv7/bootblock.c"

config DRAM_SIZE_MB
	int
	default 1024

# Memory map for qemu vexpress-a9:
#
# 0x0000_0000: jump instruction (by qemu)
# 0x0001_0000: bootblock (entry of kernel / firmware)
# 0x0002_0000: romstage, assume up to 128KB in size.
# 0x0007_ff00: stack pointer
# 0x0010_0000: CBFS header
# 0x0011_0000: CBFS data
# 0x0100_0000: reserved for ramstage
# 0x1000_0000: I/O map address

config BOOTBLOCK_BASE
	hex
	default 0x00010000

config ID_SECTION_BASE
	hex
	default 0x0001f000

config ROMSTAGE_BASE
	hex
	default 0x00020000

config ROMSTAGE_SIZE
	hex
	default 0x20000

config BOOTBLOCK_ROM_OFFSET
	hex
	default 0x0

config CBFS_HEADER_ROM_OFFSET
	hex
	default 0x0100000

config CBFS_ROM_OFFSET
	hex
	default 0x0110000

config IRAM_STACK
	hex
	default 0x0007ff00

config XIP_ROM_SIZE
	hex
	default ROMSTAGE_SIZE

config SYS_SDRAM_BASE
	hex "SDRAM base address"
	default 0x01000000

config SYS_TEXT_BASE
	hex "Executable code section"
	default 0x04e00000

config RAMBASE
	hex
	default SYS_SDRAM_BASE

# according to stefan, this is RAMBASE + 1M.
config RAMTOP
	hex
	default 0x01100000

endif #  BOARD_EMULATION_QEMU_ARMV7