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