2018-11-03 02:28:20 +08:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2018 Linaro Limited
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
|
|
*/
|
|
|
|
|
|
|
|
/ {
|
|
|
|
#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";
|
|
|
|
reg = <0>;
|
|
|
|
riscv,isa = "rv32imac";
|
|
|
|
hlic: interrupt-controller {
|
|
|
|
#interrupt-cells = <1>;
|
|
|
|
compatible = "riscv,cpu-intc";
|
|
|
|
interrupt-controller;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
soc {
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <1>;
|
|
|
|
compatible = "microsemi,miv-soc", "simple-bus";
|
|
|
|
ranges;
|
|
|
|
|
2019-04-18 21:54:07 +08:00
|
|
|
flash0: flash@80000000 {
|
|
|
|
compatible = "soc-nv-flash";
|
|
|
|
reg = <0x80000000 0x40000>;
|
|
|
|
};
|
|
|
|
|
|
|
|
sram0: memory@80040000 {
|
|
|
|
compatible = "mmio-sram";
|
|
|
|
reg = <0x80040000 0x40000>;
|
|
|
|
};
|
|
|
|
|
2018-11-03 02:28:20 +08:00
|
|
|
plic: interrupt-controller@40000000 {
|
2020-11-26 01:14:29 +08:00
|
|
|
#interrupt-cells = <2>;
|
dts: riscv: Add sifive,plic-1.0.0 binding and fix riscv,ndev values
Add a new sifive,plic-1.0.0 binding that inherits from the riscv,plic0
binding. The new binding adds a required riscv,ndev property, which
gives the number of external interrupts supported.
Use the new binding for microsemi-miv.dtsi (with a value of 31 for
riscv,ndev, from http://www.actel.com/ipdocs/MiV_RV32IMAF_L1_AHB_HB.pdf)
and riscv32-fe310.dtsi (which already assigns riscv,ndev).
Also remove a spurious riscv,ndev assignment from
riscv32-litex-vexriscv.dtsi.
Also make edtlib and the old scripts/dts/ scripts replace '.' in
compatible strings with '_' when generating identifiers.
Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-08-02 00:14:52 +08:00
|
|
|
compatible = "sifive,plic-1.0.0";
|
2018-11-03 02:28:20 +08:00
|
|
|
interrupt-controller;
|
|
|
|
interrupts-extended = <&hlic 11>;
|
2018-12-01 07:16:00 +08:00
|
|
|
reg = <0x40000000 0x2000
|
|
|
|
0x40002000 0x1fe000
|
|
|
|
0x40200000 0x2000000>;
|
|
|
|
reg-names = "prio", "irq_en", "reg";
|
2018-11-03 02:28:20 +08:00
|
|
|
riscv,max-priority = <1>;
|
dts: riscv: Add sifive,plic-1.0.0 binding and fix riscv,ndev values
Add a new sifive,plic-1.0.0 binding that inherits from the riscv,plic0
binding. The new binding adds a required riscv,ndev property, which
gives the number of external interrupts supported.
Use the new binding for microsemi-miv.dtsi (with a value of 31 for
riscv,ndev, from http://www.actel.com/ipdocs/MiV_RV32IMAF_L1_AHB_HB.pdf)
and riscv32-fe310.dtsi (which already assigns riscv,ndev).
Also remove a spurious riscv,ndev assignment from
riscv32-litex-vexriscv.dtsi.
Also make edtlib and the old scripts/dts/ scripts replace '.' in
compatible strings with '_' when generating identifiers.
Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-08-02 00:14:52 +08:00
|
|
|
riscv,ndev = <31>;
|
2018-11-03 02:28:20 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
uart0: uart@70001000 {
|
|
|
|
compatible = "microsemi,coreuart";
|
|
|
|
reg = <0x70001000 0x1000>;
|
|
|
|
label = "uart_0";
|
|
|
|
status = "disabled";
|
|
|
|
current-speed = <0>;
|
|
|
|
clock-frequency = <0>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|