mirror of
https://github.com/openhwgroup/cva6.git
synced 2025-04-23 13:47:13 -04:00
* Add spike isa sim * Fix AMO problem in verilator * 🎨 Tidy up FPU wrapper * Bump axi_exclusive submodule * Refactor serpent AXI adapter, bump dbg and atomics submodules, add separate bootrom for linux on OpenPiton (#190) * Refactor serpent AXI adapter * Disable FPU in OpenPiton by default * Bump dbg and atomics submodules * Fix cache testbenches (interface change) * FPGA bootrom changes for OpenPiton SDHC * Introduce two bootroms, one for baremetal apps (pitonstream), and one for linux boot from SD * Testing barrier-based synchronisation instead of CLINT-based * This bootrom works for 2 core on g2 and if you change MAX_HARTS to 4, then 4 cores on vc707 * Add MAX_HARTS switch to makefile * Fix gitlab CI * Revert standard FPGA bootrom * Update Flist * Make UART_FREQ a parameter * Fix typo in tb.list and an error in define switch in ariane_pkg * Copy over SD-driver in bootloader from @leon575777642 * Fix compilation issues of bootrom * Change signal name in serpent periph portlist * Correct generate statement in serpent dcache memory * Add Piton SD Controller, FPGA fixes * Fix race condition in dcache misshandler * Add tandem spike to Make flow * Remove OpenPiton SD Card controller again
72 lines
2 KiB
Text
72 lines
2 KiB
Text
/dts-v1/;
|
|
|
|
/ {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
compatible = "eth,ariane-bare-dev";
|
|
model = "eth,ariane-bare";
|
|
cpus {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
timebase-frequency = <32768>; // 32.768 kHz
|
|
CPU0: cpu@0 {
|
|
clock-frequency = <50000000>; // 50 MHz
|
|
device_type = "cpu";
|
|
reg = <0>;
|
|
status = "okay";
|
|
compatible = "eth, ariane", "riscv";
|
|
riscv,isa = "rv64imafdc";
|
|
mmu-type = "riscv,sv39";
|
|
tlb-split;
|
|
// HLIC - hart local interrupt controller
|
|
CPU0_intc: interrupt-controller {
|
|
#interrupt-cells = <1>;
|
|
interrupt-controller;
|
|
compatible = "riscv,cpu-intc";
|
|
};
|
|
};
|
|
};
|
|
memory@80000000 {
|
|
device_type = "memory";
|
|
reg = <0x0 0x80000000 0x0 0x10000000>;
|
|
};
|
|
soc {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
compatible = "eth,ariane-bare-soc", "simple-bus";
|
|
ranges;
|
|
clint@2000000 {
|
|
compatible = "riscv,clint0";
|
|
interrupts-extended = <&CPU0_intc 3 &CPU0_intc 7>;
|
|
reg = <0x0 0x2000000 0x0 0xc0000>;
|
|
reg-names = "control";
|
|
};
|
|
// PLIC needs to be disabeld for tandem verification
|
|
// PLIC0: interrupt-controller@c000000 {
|
|
// #address-cells = <0>;
|
|
// #interrupt-cells = <1>;
|
|
// compatible = "sifive,plic-1.0.0", "riscv,plic0";
|
|
// interrupt-controller;
|
|
// interrupts-extended = <&CPU0_intc 11 &CPU0_intc 9>;
|
|
// reg = <0x0 0xc000000 0x0 0x4000000>;
|
|
// riscv,max-priority = <7>;
|
|
// riscv,ndev = <2>;
|
|
// };
|
|
debug-controller@0 {
|
|
compatible = "riscv,debug-013";
|
|
interrupts-extended = <&CPU0_intc 65535>;
|
|
reg = <0x0 0x0 0x0 0x1000>;
|
|
reg-names = "control";
|
|
};
|
|
uart@10000000 {
|
|
compatible = "ns16750";
|
|
reg = <0x0 0x10000000 0x0 0x1000>;
|
|
clock-frequency = <50000000>;
|
|
current-speed = <115200>;
|
|
// interrupt-parent = <&PLIC0>;
|
|
interrupts = <1>;
|
|
reg-shift = <2>; // regs are spaced on 32 bit boundary
|
|
reg-io-width = <4>; // only 32-bit access are supported
|
|
};
|
|
};
|
|
};
|