| /* |
| * Copyright (c) 2020 Cobham Gaisler AB |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| /* |
| * This file is based on: |
| * qemu-system-riscv32 -machine virt,dumpdtb=virt.dtb -smp 8 -m 256 |
| * dtc virt.dtb > virt.dtsi |
| */ |
| |
| /dts-v1/; |
| |
| / { |
| #address-cells = < 0x01 >; |
| #size-cells = < 0x01 >; |
| compatible = "riscv-virtio"; |
| model = "riscv-virtio,qemu"; |
| |
| flash@20000000 { |
| bank-width = < 0x04 >; |
| reg = < 0x20000000 0x2000000 0x22000000 0x2000000 >; |
| compatible = "cfi-flash"; |
| }; |
| |
| uart0: uart@10000000 { |
| interrupts = < 0x0a 1 >; |
| interrupt-parent = < &plic >; |
| clock-frequency = < 0x384000 >; |
| reg = < 0x10000000 0x100 >; |
| compatible = "ns16550"; |
| reg-shift = < 0 >; |
| }; |
| |
| cpus { |
| #address-cells = < 0x01 >; |
| #size-cells = < 0x00 >; |
| |
| cpu@0 { |
| device_type = "cpu"; |
| reg = < 0x00 >; |
| status = "okay"; |
| compatible = "qemu,riscv-virt", "riscv"; |
| |
| hlic0: interrupt-controller { |
| compatible = "riscv,cpu-intc"; |
| #address-cells = <0>; |
| #interrupt-cells = < 0x01 >; |
| interrupt-controller; |
| }; |
| }; |
| |
| cpu@1 { |
| device_type = "cpu"; |
| reg = < 0x01 >; |
| status = "okay"; |
| compatible = "qemu,riscv-virt", "riscv"; |
| |
| hlic1: interrupt-controller { |
| compatible = "riscv,cpu-intc"; |
| #address-cells = <0>; |
| #interrupt-cells = < 0x01 >; |
| interrupt-controller; |
| }; |
| }; |
| |
| cpu@2 { |
| device_type = "cpu"; |
| reg = < 0x02 >; |
| status = "okay"; |
| compatible = "qemu,riscv-virt", "riscv"; |
| |
| hlic2: interrupt-controller { |
| compatible = "riscv,cpu-intc"; |
| #address-cells = <0>; |
| #interrupt-cells = < 0x01 >; |
| interrupt-controller; |
| }; |
| }; |
| |
| cpu@3 { |
| device_type = "cpu"; |
| reg = < 0x03 >; |
| status = "okay"; |
| compatible = "qemu,riscv-virt", "riscv"; |
| |
| hlic3: interrupt-controller { |
| compatible = "riscv,cpu-intc"; |
| #address-cells = <0>; |
| #interrupt-cells = < 0x01 >; |
| interrupt-controller; |
| }; |
| }; |
| |
| cpu@4 { |
| device_type = "cpu"; |
| reg = < 0x04 >; |
| status = "okay"; |
| compatible = "qemu,riscv-virt", "riscv"; |
| |
| hlic4: interrupt-controller { |
| compatible = "riscv,cpu-intc"; |
| #address-cells = <0>; |
| #interrupt-cells = < 0x01 >; |
| interrupt-controller; |
| }; |
| }; |
| |
| cpu@5 { |
| device_type = "cpu"; |
| reg = < 0x05 >; |
| status = "okay"; |
| compatible = "qemu,riscv-virt", "riscv"; |
| |
| hlic5: interrupt-controller { |
| compatible = "riscv,cpu-intc"; |
| #address-cells = <0>; |
| #interrupt-cells = < 0x01 >; |
| interrupt-controller; |
| }; |
| }; |
| |
| cpu@6 { |
| device_type = "cpu"; |
| reg = < 0x06 >; |
| status = "okay"; |
| compatible = "qemu,riscv-virt", "riscv"; |
| |
| hlic6: interrupt-controller { |
| compatible = "riscv,cpu-intc"; |
| #address-cells = <0>; |
| #interrupt-cells = < 0x01 >; |
| interrupt-controller; |
| }; |
| }; |
| |
| cpu@7 { |
| device_type = "cpu"; |
| reg = < 0x07 >; |
| status = "okay"; |
| compatible = "qemu,riscv-virt", "riscv"; |
| |
| hlic7: interrupt-controller { |
| compatible = "riscv,cpu-intc"; |
| #address-cells = <0>; |
| #interrupt-cells = < 0x01 >; |
| interrupt-controller; |
| }; |
| }; |
| }; |
| |
| ram0: memory@80000000 { |
| device_type = "memory"; |
| reg = < 0x80000000 0x10000000 >; |
| }; |
| |
| soc { |
| #address-cells = < 0x01 >; |
| #size-cells = < 0x01 >; |
| compatible = "simple-bus"; |
| ranges; |
| |
| plic: interrupt-controller@c000000 { |
| riscv,max-priority = <7>; |
| riscv,ndev = < 1024 >; |
| reg = <0x0c000000 0x04000000>; |
| interrupts-extended = < |
| &hlic0 0x0b &hlic0 0x09 |
| &hlic1 0x0b &hlic1 0x09 |
| &hlic2 0x0b &hlic2 0x09 |
| &hlic3 0x0b &hlic3 0x09 |
| &hlic4 0x0b &hlic4 0x09 |
| &hlic5 0x0b &hlic5 0x09 |
| &hlic6 0x0b &hlic6 0x09 |
| &hlic7 0x0b &hlic7 0x09 |
| >; |
| interrupt-controller; |
| compatible = "sifive,plic-1.0.0"; |
| #address-cells = < 0x00 >; |
| #interrupt-cells = < 0x02 >; |
| }; |
| |
| clint@2000000 { |
| compatible = "sifive,clint0"; |
| reg = <0x2000000 0x10000>; |
| interrupts-extended = <&hlic0 0x03 &hlic0 0x07 |
| &hlic1 0x03 &hlic1 0x07 |
| &hlic2 0x03 &hlic2 0x07 |
| &hlic3 0x03 &hlic3 0x07 |
| &hlic4 0x03 &hlic4 0x07 |
| &hlic5 0x03 &hlic5 0x07 |
| &hlic6 0x03 &hlic6 0x07 |
| &hlic7 0x03 &hlic7 0x07>; |
| }; |
| }; |
| }; |