Hung-Te Lin | 7635a60 | 2013-02-12 00:07:38 +0800 | [diff] [blame] | 1 | ## |
| 2 | ## This file is part of the coreboot project. |
| 3 | ## |
| 4 | ## Copyright (C) 2013 Google Inc. |
| 5 | ## |
| 6 | ## This software is licensed under the terms of the GNU General Public |
| 7 | ## License version 2, as published by the Free Software Foundation, and |
| 8 | ## may be copied, distributed, and modified under those terms. |
| 9 | ## |
| 10 | ## This program is distributed in the hope that it will be useful, |
| 11 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 12 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 13 | ## GNU General Public License for more details. |
| 14 | |
| 15 | # Emulation for ARM Ltd Versatile Express Cortex-A9 |
| 16 | # http://www.arm.com/products/tools/development-boards/versatile-express |
| 17 | |
| 18 | # To execute, do: |
| 19 | # export QEMU_AUDIO_DRV=none |
| 20 | # qemu-system-arm -M vexpress-a9 -m 1024M -nographic -kernel build/coreboot.rom |
| 21 | |
| 22 | if BOARD_EMULATION_QEMU_ARMV7 |
| 23 | |
| 24 | config BOARD_SPECIFIC_OPTIONS # dummy |
| 25 | def_bool y |
| 26 | select ARCH_ARMV7 |
| 27 | select CPU_ARMLTD_CORTEX_A9 |
Ronald G. Minnich | c8fadd9 | 2013-02-20 14:13:01 -0800 | [diff] [blame] | 28 | select HAVE_UART_MEMORY_MAPPED |
Hung-Te Lin | 7635a60 | 2013-02-12 00:07:38 +0800 | [diff] [blame] | 29 | select HAVE_UART_SPECIAL |
| 30 | select BOARD_ROMSIZE_KB_4096 |
| 31 | |
| 32 | config MAINBOARD_DIR |
| 33 | string |
| 34 | default emulation/qemu-armv7 |
| 35 | |
| 36 | config MAINBOARD_PART_NUMBER |
| 37 | string |
| 38 | default "QEMU ARMV7" |
| 39 | |
| 40 | config MAX_CPUS |
| 41 | int |
| 42 | default 2 |
| 43 | |
| 44 | config MAINBOARD_VENDOR |
| 45 | string |
| 46 | default "ARM Ltd." |
| 47 | |
| 48 | config BOOTBLOCK_MAINBOARD_INIT |
| 49 | string |
| 50 | default "mainboard/emulation/qemu-armv7/bootblock.c" |
| 51 | |
| 52 | config DRAM_SIZE_MB |
| 53 | int |
| 54 | default 1024 |
| 55 | |
| 56 | # Memory map for qemu vexpress-a9: |
| 57 | # |
| 58 | # 0x0000_0000: jump instruction (by qemu) |
| 59 | # 0x0001_0000: bootblock (entry of kernel / firmware) |
| 60 | # 0x0002_0000: romstage, assume up to 128KB in size. |
| 61 | # 0x0007_ff00: stack pointer |
| 62 | # 0x0010_0000: CBFS header |
| 63 | # 0x0011_0000: CBFS data |
| 64 | # 0x0100_0000: reserved for ramstage |
| 65 | # 0x1000_0000: I/O map address |
| 66 | |
| 67 | config BOOTBLOCK_BASE |
| 68 | hex |
| 69 | default 0x00010000 |
| 70 | |
| 71 | config ID_SECTION_BASE |
| 72 | hex |
| 73 | default 0x0001f000 |
| 74 | |
| 75 | config ROMSTAGE_BASE |
| 76 | hex |
| 77 | default 0x00020000 |
| 78 | |
| 79 | config ROMSTAGE_SIZE |
| 80 | hex |
| 81 | default 0x20000 |
| 82 | |
Hung-Te Lin | d63bddc | 2013-06-11 21:55:58 -0700 | [diff] [blame] | 83 | config BOOTBLOCK_ROM_OFFSET |
| 84 | hex |
| 85 | default 0x0 |
| 86 | |
Hung-Te Lin | 7635a60 | 2013-02-12 00:07:38 +0800 | [diff] [blame] | 87 | config CBFS_HEADER_ROM_OFFSET |
| 88 | hex |
| 89 | default 0x0100000 |
| 90 | |
| 91 | config CBFS_ROM_OFFSET |
| 92 | hex |
| 93 | default 0x0110000 |
| 94 | |
| 95 | config IRAM_STACK |
| 96 | hex |
| 97 | default 0x0007ff00 |
| 98 | |
| 99 | config XIP_ROM_SIZE |
| 100 | hex |
| 101 | default ROMSTAGE_SIZE |
| 102 | |
| 103 | config SYS_SDRAM_BASE |
| 104 | hex "SDRAM base address" |
| 105 | default 0x01000000 |
| 106 | |
| 107 | config SYS_TEXT_BASE |
| 108 | hex "Executable code section" |
| 109 | default 0x04e00000 |
| 110 | |
| 111 | config RAMBASE |
| 112 | hex |
| 113 | default SYS_SDRAM_BASE |
| 114 | |
| 115 | # according to stefan, this is RAMBASE + 1M. |
| 116 | config RAMTOP |
| 117 | hex |
| 118 | default 0x01100000 |
| 119 | |
| 120 | endif # BOARD_EMULATION_QEMU_ARMV7 |