0001 // SPDX-License-Identifier: GPL-2.0
0002
0003 #include <dt-bindings/interrupt-controller/irq.h>
0004
0005 /dts-v1/;
0006 / {
0007 compatible = "loongson,loongson64v-4core-virtio";
0008 #address-cells = <2>;
0009 #size-cells = <2>;
0010
0011 cpuintc: interrupt-controller {
0012 #address-cells = <0>;
0013 #interrupt-cells = <1>;
0014 interrupt-controller;
0015 compatible = "mti,cpu-interrupt-controller";
0016 };
0017
0018 package0: bus@1fe00000 {
0019 compatible = "simple-bus";
0020 #address-cells = <2>;
0021 #size-cells = <1>;
0022 ranges = <0 0x1fe00000 0 0x1fe00000 0x100000
0023 0 0x3ff00000 0 0x3ff00000 0x100000
0024 0xefd 0xfb000000 0xefd 0xfb000000 0x10000000>;
0025
0026 liointc: interrupt-controller@3ff01400 {
0027 compatible = "loongson,liointc-1.0";
0028 reg = <0 0x3ff01400 0x64>;
0029
0030 interrupt-controller;
0031 #interrupt-cells = <2>;
0032
0033 interrupt-parent = <&cpuintc>;
0034 interrupts = <2>, <3>;
0035 interrupt-names = "int0", "int1";
0036
0037 loongson,parent_int_map = <0x00000001>, /* int0 */
0038 <0xfffffffe>, /* int1 */
0039 <0x00000000>, /* int2 */
0040 <0x00000000>; /* int3 */
0041
0042 };
0043
0044 cpu_uart0: serial@1fe001e0 {
0045 compatible = "ns16550a";
0046 reg = <0 0x1fe001e0 0x8>;
0047 clock-frequency = <33000000>;
0048 interrupt-parent = <&liointc>;
0049 interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
0050 no-loopback-test;
0051 };
0052 };
0053
0054 bus@10000000 {
0055 compatible = "simple-bus";
0056 #address-cells = <2>;
0057 #size-cells = <2>;
0058 ranges = <0 0x10000000 0 0x10000000 0 0x10000000 /* PIO & CONF & APB */
0059 0 0x40000000 0 0x40000000 0 0x40000000>; /* PCI MEM */
0060
0061 rtc0: rtc@10081000 {
0062 compatible = "google,goldfish-rtc";
0063 reg = <0 0x10081000 0 0x1000>;
0064 interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
0065 interrupt-parent = <&liointc>;
0066 };
0067
0068 pci@1a000000 {
0069 compatible = "pci-host-ecam-generic";
0070 device_type = "pci";
0071 #address-cells = <3>;
0072 #size-cells = <2>;
0073 #interrupt-cells = <1>;
0074
0075 bus-range = <0x0 0x1f>;
0076 reg = <0 0x1a000000 0 0x02000000>;
0077
0078 ranges = <0x01000000 0x0 0x00004000 0x0 0x18004000 0x0 0x0000c000>,
0079 <0x02000000 0x0 0x40000000 0x0 0x40000000 0x0 0x40000000>;
0080
0081 interrupt-map = <
0082 0x0000 0x0 0x0 0x1 &liointc 0x2 IRQ_TYPE_LEVEL_HIGH
0083 0x0800 0x0 0x0 0x1 &liointc 0x3 IRQ_TYPE_LEVEL_HIGH
0084 0x1000 0x0 0x0 0x1 &liointc 0x4 IRQ_TYPE_LEVEL_HIGH
0085 0x1800 0x0 0x0 0x1 &liointc 0x5 IRQ_TYPE_LEVEL_HIGH
0086 >;
0087
0088 interrupt-map-mask = <0x1800 0x0 0x0 0x7>;
0089 };
0090
0091 isa@18000000 {
0092 compatible = "isa";
0093 #address-cells = <2>;
0094 #size-cells = <1>;
0095 ranges = <1 0 0 0x18000000 0x4000>;
0096 };
0097 };
0098
0099 hypervisor {
0100 compatible = "linux,kvm";
0101 };
0102 };