2022-03-22 22:55:48 +08:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2018 Linaro Limited
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
|
|
*/
|
|
|
|
|
2022-06-21 15:55:03 +08:00
|
|
|
#include <skeleton.dtsi>
|
2022-08-03 00:20:32 +08:00
|
|
|
#include <zephyr/dt-bindings/gpio/gpio.h>
|
2022-06-21 15:55:03 +08:00
|
|
|
|
2022-03-22 22:55:48 +08:00
|
|
|
/ {
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <1>;
|
|
|
|
|
|
|
|
cpus {
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
cpu@0 {
|
|
|
|
clock-frequency = <0>;
|
|
|
|
compatible = "microsemi,miv", "riscv";
|
|
|
|
device_type = "cpu";
|
2022-04-12 14:29:36 +08:00
|
|
|
reg = < 0x0 >;
|
|
|
|
riscv,isa = "rv64imac";
|
|
|
|
hlic0: interrupt-controller {
|
|
|
|
compatible = "riscv,cpu-intc";
|
2022-06-15 02:51:55 +08:00
|
|
|
#address-cells = <0>;
|
|
|
|
#interrupt-cells = <1>;
|
2022-04-12 14:29:36 +08:00
|
|
|
interrupt-controller;
|
|
|
|
};
|
2022-03-22 22:55:48 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
cpu@1 {
|
|
|
|
clock-frequency = <0>;
|
|
|
|
compatible = "microsemi,miv", "riscv";
|
|
|
|
device_type = "cpu";
|
2022-04-12 14:29:36 +08:00
|
|
|
reg = < 0x1 >;
|
2022-03-22 22:55:48 +08:00
|
|
|
riscv,isa = "rv64imafdc";
|
2022-04-12 14:29:36 +08:00
|
|
|
hlic1: interrupt-controller {
|
2022-03-22 22:55:48 +08:00
|
|
|
compatible = "riscv,cpu-intc";
|
2022-06-15 02:51:55 +08:00
|
|
|
#address-cells = <0>;
|
|
|
|
#interrupt-cells = <1>;
|
2022-03-22 22:55:48 +08:00
|
|
|
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>;
|
|
|
|
};
|
|
|
|
|
2022-07-28 23:05:17 +08:00
|
|
|
clint: clint@2000000 {
|
|
|
|
compatible = "sifive,clint0";
|
|
|
|
interrupts-extended = <&hlic0 3 &hlic0 7
|
|
|
|
&hlic1 3 &hlic1 7>;
|
|
|
|
interrupt-names = "soft0", "timer0", "soft1", "timer1";
|
|
|
|
reg = <0x2000000 0x10000>;
|
|
|
|
};
|
|
|
|
|
2022-03-22 22:55:48 +08:00
|
|
|
plic: interrupt-controller@c000000 {
|
2022-06-15 02:51:55 +08:00
|
|
|
compatible = "sifive,plic-1.0.0";
|
2022-03-22 22:55:48 +08:00
|
|
|
#interrupt-cells = <2>;
|
2022-04-12 14:29:36 +08:00
|
|
|
#address-cells = <1>;
|
2022-03-22 22:55:48 +08:00
|
|
|
interrupt-controller;
|
2022-04-12 14:29:36 +08:00
|
|
|
interrupts-extended = <&hlic0 11
|
|
|
|
&hlic1 11>;
|
2022-03-22 22:55:48 +08:00
|
|
|
reg = <0x0c000000 0x00002000
|
|
|
|
0x0c002000 0x001fe000
|
|
|
|
0x0c200000 0x3e000000>;
|
|
|
|
reg-names = "prio", "irq_en", "reg";
|
|
|
|
riscv,max-priority = <7>;
|
|
|
|
riscv,ndev = <187>;
|
|
|
|
};
|
2022-04-12 14:29:36 +08:00
|
|
|
|
2022-03-22 22:55:48 +08:00
|
|
|
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";
|
|
|
|
};
|
2022-04-12 14:29:36 +08:00
|
|
|
|
2022-06-15 02:47:05 +08:00
|
|
|
qspi0: spi@21000000 {
|
2022-04-12 14:29:36 +08:00
|
|
|
compatible = "microchip,mpfs-qspi";
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
reg = <0x21000000 0x1000>;
|
|
|
|
interrupt-parent = <&plic>;
|
|
|
|
interrupts = <85 1>;
|
|
|
|
status = "disabled";
|
|
|
|
clock-frequency = <150000000>;
|
|
|
|
};
|
2022-06-21 15:55:03 +08:00
|
|
|
|
|
|
|
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";
|
|
|
|
};
|
2022-03-22 22:55:48 +08:00
|
|
|
};
|
|
|
|
};
|