summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2015-06-03 09:20:04 +0800
committerSimon Glass <sjg@chromium.org>2015-06-04 03:03:18 -0600
commit683b09d7837a71fb4c5dd53919c6afa4d800e60e (patch)
tree76dbdf8573491875de5b7fef84cdcc296ec9f368
parent65cdd9be3e0fe79909962bba9bedf7967d44d60b (diff)
downloadtalos-obmc-uboot-683b09d7837a71fb4c5dd53919c6afa4d800e60e.tar.gz
talos-obmc-uboot-683b09d7837a71fb4c5dd53919c6afa4d800e60e.zip
x86: qemu: Create separate i440fx and q35 device trees
Although the two qemu-x86 targets (i440fx and q35) share a lot in common, they still have something that cannot easily handled in one single device tree). Split to create two dedicated device tree files and make the i440fx be the default build target. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
-rw-r--r--arch/x86/dts/Makefile3
-rw-r--r--arch/x86/dts/qemu-x86_i440fx.dts34
-rw-r--r--arch/x86/dts/qemu-x86_q35.dts (renamed from arch/x86/dts/qemu-x86.dts)2
-rw-r--r--board/coreboot/coreboot/Kconfig2
-rw-r--r--configs/qemu-x86_defconfig3
-rw-r--r--doc/README.x8610
6 files changed, 48 insertions, 6 deletions
diff --git a/arch/x86/dts/Makefile b/arch/x86/dts/Makefile
index ca2eab3fa2..f86514ce83 100644
--- a/arch/x86/dts/Makefile
+++ b/arch/x86/dts/Makefile
@@ -3,7 +3,8 @@ dtb-y += chromebook_link.dtb \
crownbay.dtb \
galileo.dtb \
minnowmax.dtb \
- qemu-x86.dtb
+ qemu-x86_i440fx.dtb \
+ qemu-x86_q35.dtb
targets += $(dtb-y)
diff --git a/arch/x86/dts/qemu-x86_i440fx.dts b/arch/x86/dts/qemu-x86_i440fx.dts
new file mode 100644
index 0000000000..4cf843b813
--- /dev/null
+++ b/arch/x86/dts/qemu-x86_i440fx.dts
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2015, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+/dts-v1/;
+
+/include/ "skeleton.dtsi"
+/include/ "serial.dtsi"
+
+/ {
+ model = "QEMU x86 (I440FX)";
+ compatible = "qemu,x86";
+
+ config {
+ silent_console = <0>;
+ };
+
+ chosen {
+ stdout-path = "/serial";
+ };
+
+ pci {
+ compatible = "pci-x86";
+ #address-cells = <3>;
+ #size-cells = <2>;
+ u-boot,dm-pre-reloc;
+ ranges = <0x02000000 0x0 0xc0000000 0xc0000000 0 0x10000000
+ 0x42000000 0x0 0xd0000000 0xd0000000 0 0x10000000
+ 0x01000000 0x0 0x2000 0x2000 0 0xe000>;
+ };
+
+};
diff --git a/arch/x86/dts/qemu-x86.dts b/arch/x86/dts/qemu-x86_q35.dts
index f1291b5da7..6c89283bd6 100644
--- a/arch/x86/dts/qemu-x86.dts
+++ b/arch/x86/dts/qemu-x86_q35.dts
@@ -10,7 +10,7 @@
/include/ "serial.dtsi"
/ {
- model = "QEMU x86";
+ model = "QEMU x86 (Q35)";
compatible = "qemu,x86";
config {
diff --git a/board/coreboot/coreboot/Kconfig b/board/coreboot/coreboot/Kconfig
index 69e34375a2..3ff64f4084 100644
--- a/board/coreboot/coreboot/Kconfig
+++ b/board/coreboot/coreboot/Kconfig
@@ -23,7 +23,7 @@ config SYS_CONFIG_NAME
config DEFAULT_DEVICE_TREE
string "Board Device Tree Source (dts) file"
- default "qemu-x86"
+ default "qemu-x86_i440fx"
help
This option selects the board Device Tree Source (dts) file in
arch/x86/dts/ directory to be used to build U-Boot for coreboot.
diff --git a/configs/qemu-x86_defconfig b/configs/qemu-x86_defconfig
index 4509d52f0c..0959a98283 100644
--- a/configs/qemu-x86_defconfig
+++ b/configs/qemu-x86_defconfig
@@ -1,10 +1,9 @@
CONFIG_X86=y
CONFIG_VENDOR_EMULATION=y
+CONFIG_DEFAULT_DEVICE_TREE="qemu-x86_i440fx"
CONFIG_TARGET_QEMU_X86=y
CONFIG_CMD_NET=y
CONFIG_OF_CONTROL=y
-CONFIG_OF_SEPARATE=y
-CONFIG_DEFAULT_DEVICE_TREE="qemu-x86"
CONFIG_VIDEO_VESA=y
CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
CONFIG_FRAMEBUFFER_VESA_MODE_111=y
diff --git a/doc/README.x86 b/doc/README.x86
index 0726205540..c19f4a03ba 100644
--- a/doc/README.x86
+++ b/doc/README.x86
@@ -40,7 +40,7 @@ configuration during the 'make menuconfig' process.
x86 architecture --->
...
(qemu-x86) Board configuration file
- (qemu-x86) Board Device Tree Source (dts) file
+ (qemu-x86_i440fx) Board Device Tree Source (dts) file
(0x01920000) Board specific Cache-As-RAM (CAR) address
(0x4000) Board specific Cache-As-RAM (CAR) size
@@ -186,6 +186,14 @@ To build u-boot.rom for QEMU x86 targets, just simply run
$ make qemu-x86_defconfig
$ make all
+Note this default configuration will build a U-Boot for the QEMU x86 i440FX
+board. To build a U-Boot against QEMU x86 Q35 board, you can change the build
+configuration during the 'make menuconfig' process like below:
+
+Device Tree Control --->
+ ...
+ (qemu-x86_q35) Default Device Tree for DT control
+
Test with coreboot
------------------
For testing U-Boot as the coreboot payload, there are things that need be paid
OpenPOWER on IntegriCloud