292 lines
6.3 KiB
Plaintext
292 lines
6.3 KiB
Plaintext
/*
|
|
* Copyright (c) 2018 Linaro Limited
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#include <skeleton.dtsi>
|
|
#include <zephyr/dt-bindings/gpio/gpio.h>
|
|
|
|
/ {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
cpus {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
cpu@0 {
|
|
clock-frequency = <0>;
|
|
compatible = "sifive,e51", "riscv";
|
|
device_type = "cpu";
|
|
reg = < 0x0 >;
|
|
riscv,isa = "rv64imac_zicsr_zifencei";
|
|
hlic0: interrupt-controller {
|
|
compatible = "riscv,cpu-intc";
|
|
#address-cells = <0>;
|
|
#interrupt-cells = <1>;
|
|
interrupt-controller;
|
|
};
|
|
};
|
|
|
|
cpu@1 {
|
|
clock-frequency = <0>;
|
|
compatible = "sifive,u54", "riscv";
|
|
device_type = "cpu";
|
|
reg = < 0x1 >;
|
|
riscv,isa = "rv64gc";
|
|
hlic1: interrupt-controller {
|
|
compatible = "riscv,cpu-intc";
|
|
#address-cells = <0>;
|
|
#interrupt-cells = <1>;
|
|
interrupt-controller;
|
|
};
|
|
};
|
|
|
|
cpu@2 {
|
|
clock-frequency = <0>;
|
|
compatible = "sifive,u54", "riscv";
|
|
device_type = "cpu";
|
|
reg = < 0x2 >;
|
|
riscv,isa = "rv64gc";
|
|
hlic2: interrupt-controller {
|
|
compatible = "riscv,cpu-intc";
|
|
#address-cells = <0>;
|
|
#interrupt-cells = <1>;
|
|
interrupt-controller;
|
|
};
|
|
};
|
|
|
|
cpu@3 {
|
|
clock-frequency = <0>;
|
|
compatible = "sifive,u54", "riscv";
|
|
device_type = "cpu";
|
|
reg = < 0x3 >;
|
|
riscv,isa = "rv64gc";
|
|
hlic3: interrupt-controller {
|
|
compatible = "riscv,cpu-intc";
|
|
#address-cells = <0>;
|
|
#interrupt-cells = <1>;
|
|
interrupt-controller;
|
|
};
|
|
};
|
|
|
|
cpu@4 {
|
|
clock-frequency = <0>;
|
|
compatible = "sifive,u54", "riscv";
|
|
device_type = "cpu";
|
|
reg = < 0x4 >;
|
|
riscv,isa = "rv64gc";
|
|
hlic4: interrupt-controller {
|
|
compatible = "riscv,cpu-intc";
|
|
#address-cells = <0>;
|
|
#interrupt-cells = <1>;
|
|
interrupt-controller;
|
|
};
|
|
};
|
|
};
|
|
|
|
soc {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "simple-bus";
|
|
ranges;
|
|
|
|
sram0: memory@8000000 {
|
|
compatible = "mmio-sram";
|
|
reg = <0x8000000 0x80000>;
|
|
};
|
|
|
|
sram1: memory@80000000 {
|
|
compatible = "mmio-sram";
|
|
reg = <0x80000000 0x800000>;
|
|
};
|
|
|
|
clint: clint@2000000 {
|
|
compatible = "sifive,clint0";
|
|
interrupts-extended = <&hlic0 3 &hlic0 7
|
|
&hlic1 3 &hlic1 7
|
|
&hlic2 3 &hlic2 7
|
|
&hlic3 3 &hlic3 7
|
|
&hlic4 3 &hlic4 7>;
|
|
interrupt-names = "soft0", "timer0", "soft1", "timer1",
|
|
"soft2", "timer2", "soft3", "timer3",
|
|
"soft4", "timer4";
|
|
reg = <0x2000000 0x10000>;
|
|
};
|
|
|
|
plic: interrupt-controller@c000000 {
|
|
compatible = "sifive,plic-1.0.0";
|
|
#interrupt-cells = <2>;
|
|
#address-cells = <1>;
|
|
interrupt-controller;
|
|
interrupts-extended = <&hlic0 11
|
|
&hlic1 11 &hlic1 9
|
|
&hlic2 11 &hlic2 9
|
|
&hlic3 11 &hlic3 9
|
|
&hlic4 11 &hlic4 9>;
|
|
reg = <0x0c000000 0x04000000>;
|
|
riscv,max-priority = <7>;
|
|
riscv,ndev = <186>;
|
|
};
|
|
|
|
mbox: mailbox@37020000 {
|
|
compatible = "microchip,mpfs-mailbox";
|
|
reg = <0x37020000 0x58>, <0x2000318C 0x40>,
|
|
<0x37020800 0x100>;
|
|
interrupt-parent = <&plic>;
|
|
interrupts = <96 1>;
|
|
#mbox-cells = <1>;
|
|
status = "disabled";
|
|
};
|
|
|
|
uart0: uart@20000000 {
|
|
compatible = "ns16550";
|
|
reg = <0x20000000 0x1000>;
|
|
clock-frequency = <150000000>;
|
|
current-speed = <115200>;
|
|
interrupt-parent = <&plic>;
|
|
interrupts = <90 1>;
|
|
reg-shift = <2>;
|
|
status = "disabled";
|
|
};
|
|
|
|
uart1: uart@20100000 {
|
|
compatible = "ns16550";
|
|
reg = <0x20100000 0x1000>;
|
|
clock-frequency = <150000000>;
|
|
current-speed = <115200>;
|
|
interrupt-parent = <&plic>;
|
|
interrupts = <91 1>;
|
|
reg-shift = <2>;
|
|
status = "disabled";
|
|
};
|
|
|
|
uart2: uart@20102000 {
|
|
compatible = "ns16550";
|
|
reg = <0x20102000 0x1000>;
|
|
clock-frequency = <150000000>;
|
|
current-speed = <115200>;
|
|
interrupt-parent = <&plic>;
|
|
interrupts = <92 1>;
|
|
reg-shift = <2>;
|
|
status = "disabled";
|
|
};
|
|
|
|
uart3: uart@20104000 {
|
|
compatible = "ns16550";
|
|
reg = <0x20104000 0x1000>;
|
|
clock-frequency = <150000000>;
|
|
current-speed = <115200>;
|
|
interrupt-parent = <&plic>;
|
|
interrupts = <93 1>;
|
|
reg-shift = <2>;
|
|
status = "disabled";
|
|
};
|
|
|
|
uart4: uart@20106000 {
|
|
compatible = "ns16550";
|
|
reg = <0x20106000 0x1000>;
|
|
clock-frequency = <150000000>;
|
|
current-speed = <115200>;
|
|
interrupt-parent = <&plic>;
|
|
interrupts = <94 1>;
|
|
reg-shift = <2>;
|
|
status = "disabled";
|
|
};
|
|
|
|
qspi0: spi@21000000 {
|
|
compatible = "microchip,mpfs-qspi";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <0x21000000 0x1000>;
|
|
interrupt-parent = <&plic>;
|
|
interrupts = <85 1>;
|
|
status = "disabled";
|
|
clock-frequency = <150000000>;
|
|
};
|
|
|
|
spi1: spi@20109000 {
|
|
compatible = "microchip,mpfs-spi";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <0x20109000 0x1000>;
|
|
interrupt-parent = <&plic>;
|
|
interrupts = <55 1>;
|
|
status = "disabled";
|
|
clock-frequency = <150000000>;
|
|
};
|
|
|
|
syscontroller_qspi: spi@37020100 {
|
|
compatible = "microchip,mpfs-qspi";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <0x37020100 0x1000>;
|
|
interrupt-parent = <&plic>;
|
|
interrupts = <110 1>;
|
|
status = "disabled";
|
|
clock-frequency = <150000000>;
|
|
};
|
|
|
|
gpio0: gpio@20120000 {
|
|
compatible = "microchip,mpfs-gpio";
|
|
reg = <0x20120000 0x1000>;
|
|
interrupt-parent = <&plic>;
|
|
interrupts = <51 1>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <1>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
ngpios = <32>;
|
|
status = "disabled";
|
|
};
|
|
|
|
gpio1: gpio@20121000 {
|
|
compatible = "microchip,mpfs-gpio";
|
|
reg = <0x20121000 0x1000>;
|
|
interrupt-parent = <&plic>;
|
|
interrupts = <52 1>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <1>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
ngpios = <32>;
|
|
status = "disabled";
|
|
};
|
|
|
|
gpio2: gpio@20122000 {
|
|
compatible = "microchip,mpfs-gpio";
|
|
reg = <0x20122000 0x1000>;
|
|
interrupt-parent = <&plic>;
|
|
interrupts = <53 1>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <1>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
ngpios = <32>;
|
|
status = "disabled";
|
|
};
|
|
|
|
i2c0: i2c@2010a000 {
|
|
compatible = "microchip,mpfs-i2c";
|
|
reg = <0x2010a000 0x1000>;
|
|
interrupt-parent = <&plic>;
|
|
interrupts = <58 1>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
clock-frequency = <100000>;
|
|
status = "disabled";
|
|
};
|
|
|
|
i2c1: i2c@2010b000 {
|
|
compatible = "microchip,mpfs-i2c";
|
|
reg = <0x2010b000 0x1000>;
|
|
interrupt-parent = <&plic>;
|
|
interrupts = <61 1>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
clock-frequency = <100000>;
|
|
status = "disabled";
|
|
};
|
|
};
|
|
};
|