xref: /openbmc/u-boot/include/configs/qemu-arm.h (revision 32f11829266f2ede9afac051f980d4ae9b52f963)
1*32f11829STuomas Tynkkynen /*
2*32f11829STuomas Tynkkynen  * Copyright (c) 2017 Tuomas Tynkkynen
3*32f11829STuomas Tynkkynen  *
4*32f11829STuomas Tynkkynen  * SPDX-License-Identifier:	GPL-2.0+
5*32f11829STuomas Tynkkynen  */
6*32f11829STuomas Tynkkynen 
7*32f11829STuomas Tynkkynen #ifndef __CONFIG_H
8*32f11829STuomas Tynkkynen #define __CONFIG_H
9*32f11829STuomas Tynkkynen 
10*32f11829STuomas Tynkkynen #include <linux/sizes.h>
11*32f11829STuomas Tynkkynen 
12*32f11829STuomas Tynkkynen /* Physical memory map */
13*32f11829STuomas Tynkkynen #define CONFIG_SYS_TEXT_BASE		0x00000000
14*32f11829STuomas Tynkkynen 
15*32f11829STuomas Tynkkynen #define CONFIG_NR_DRAM_BANKS		1
16*32f11829STuomas Tynkkynen #define CONFIG_SYS_SDRAM_BASE		0x40000000
17*32f11829STuomas Tynkkynen 
18*32f11829STuomas Tynkkynen /* The DTB generated by QEMU is placed at start of RAM, stay away from there */
19*32f11829STuomas Tynkkynen #define CONFIG_SYS_INIT_SP_ADDR         (CONFIG_SYS_SDRAM_BASE + SZ_2M)
20*32f11829STuomas Tynkkynen #define CONFIG_SYS_LOAD_ADDR		(CONFIG_SYS_SDRAM_BASE + SZ_2M)
21*32f11829STuomas Tynkkynen #define CONFIG_SYS_MALLOC_LEN		SZ_16M
22*32f11829STuomas Tynkkynen 
23*32f11829STuomas Tynkkynen /* QEMU's PL011 serial port is detected via FDT using the device model */
24*32f11829STuomas Tynkkynen #define CONFIG_PL01X_SERIAL
25*32f11829STuomas Tynkkynen 
26*32f11829STuomas Tynkkynen /* QEMU implements a 62.5MHz architected timer */
27*32f11829STuomas Tynkkynen /* FIXME: can we rely on CNTFREQ instead of hardcoding this fact here? */
28*32f11829STuomas Tynkkynen #define CONFIG_SYS_ARCH_TIMER
29*32f11829STuomas Tynkkynen #define CONFIG_SYS_HZ                       1000
30*32f11829STuomas Tynkkynen #define CONFIG_SYS_HZ_CLOCK                 62500000
31*32f11829STuomas Tynkkynen 
32*32f11829STuomas Tynkkynen /* For block devices, QEMU emulates an ICH9 AHCI controller over PCI */
33*32f11829STuomas Tynkkynen #define CONFIG_SYS_SCSI_MAX_SCSI_ID 6
34*32f11829STuomas Tynkkynen #define CONFIG_SCSI_AHCI
35*32f11829STuomas Tynkkynen #define CONFIG_LIBATA
36*32f11829STuomas Tynkkynen 
37*32f11829STuomas Tynkkynen /* Environment options */
38*32f11829STuomas Tynkkynen #define CONFIG_ENV_SIZE				SZ_64K
39*32f11829STuomas Tynkkynen 
40*32f11829STuomas Tynkkynen #include <config_distro_defaults.h>
41*32f11829STuomas Tynkkynen 
42*32f11829STuomas Tynkkynen #define BOOT_TARGET_DEVICES(func) \
43*32f11829STuomas Tynkkynen 	func(SCSI, scsi, 0)
44*32f11829STuomas Tynkkynen 
45*32f11829STuomas Tynkkynen #include <config_distro_bootcmd.h>
46*32f11829STuomas Tynkkynen 
47*32f11829STuomas Tynkkynen #define CONFIG_PREBOOT "pci enum"
48*32f11829STuomas Tynkkynen #define CONFIG_EXTRA_ENV_SETTINGS \
49*32f11829STuomas Tynkkynen 	"fdt_high=0xffffffff\0" \
50*32f11829STuomas Tynkkynen 	"initrd_high=0xffffffff\0" \
51*32f11829STuomas Tynkkynen 	"fdt_addr=0x40000000\0" \
52*32f11829STuomas Tynkkynen 	"scriptaddr=0x40200000\0" \
53*32f11829STuomas Tynkkynen 	"pxefile_addr_r=0x40300000\0" \
54*32f11829STuomas Tynkkynen 	"kernel_addr_r=0x40400000\0" \
55*32f11829STuomas Tynkkynen 	"ramdisk_addr_r=0x44000000\0" \
56*32f11829STuomas Tynkkynen 	BOOTENV
57*32f11829STuomas Tynkkynen 
58*32f11829STuomas Tynkkynen #endif /* __CONFIG_H */
59