/*
 * Copyright (C) 2015, Bin Meng <bmeng.cn@gmail.com>
 *
 * SPDX-License-Identifier:	GPL-2.0+
 */

/dts-v1/;

#include <dt-bindings/interrupt-router/intel-irq.h>

/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>;

		irq-router@1,0 {
			reg = <0x00000800 0 0 0 0>;
			compatible = "intel,irq-router";
			intel,pirq-config = "pci";
			intel,pirq-link = <0x60 4>;
			intel,pirq-mask = <0x0e40>;
			intel,pirq-routing = <
				/* PIIX UHCI */
				PCI_BDF(0, 1, 2) INTD PIRQD
				/* e1000 NIC */
				PCI_BDF(0, 3, 0) INTA PIRQC
			>;
		};
	};

};
