aboutsummaryrefslogtreecommitdiff
path: root/arch/riscv/dts/fu540-c000-u-boot.dtsi
blob: b7cd600b8cdc4122dea709163081c5512e11e691 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
 * (C) Copyright 2019 SiFive, Inc
 */

#include <dt-bindings/reset/sifive-fu540-prci.h>

/ {
	cpus {
		assigned-clocks = <&prci PRCI_CLK_COREPLL>;
		assigned-clock-rates = <1000000000>;
		u-boot,dm-spl;
		cpu0: cpu@0 {
			clocks = <&prci PRCI_CLK_COREPLL>;
			u-boot,dm-spl;
			status = "okay";
			cpu0_intc: interrupt-controller {
				u-boot,dm-spl;
			};
		};
		cpu1: cpu@1 {
			clocks = <&prci PRCI_CLK_COREPLL>;
			u-boot,dm-spl;
			cpu1_intc: interrupt-controller {
				u-boot,dm-spl;
			};
		};
		cpu2: cpu@2 {
			clocks = <&prci PRCI_CLK_COREPLL>;
			u-boot,dm-spl;
			cpu2_intc: interrupt-controller {
				u-boot,dm-spl;
			};
		};
		cpu3: cpu@3 {
			clocks = <&prci PRCI_CLK_COREPLL>;
			u-boot,dm-spl;
			cpu3_intc: interrupt-controller {
				u-boot,dm-spl;
			};
		};
		cpu4: cpu@4 {
			clocks = <&prci PRCI_CLK_COREPLL>;
			u-boot,dm-spl;
			cpu4_intc: interrupt-controller {
				u-boot,dm-spl;
			};
		};
	};

	soc {
		u-boot,dm-spl;
		otp: otp@10070000 {
			compatible = "sifive,fu540-c000-otp";
			reg = <0x0 0x10070000 0x0 0x1000>;
			fuse-count = <0x1000>;
		};
		clint: clint@2000000 {
			compatible = "riscv,clint0";
			interrupts-extended = <&cpu0_intc 3 &cpu0_intc 7
					       &cpu1_intc 3 &cpu1_intc 7
					       &cpu2_intc 3 &cpu2_intc 7
					       &cpu3_intc 3 &cpu3_intc 7
					       &cpu4_intc 3 &cpu4_intc 7>;
			reg = <0x0 0x2000000 0x0 0x10000>;
			u-boot,dm-spl;
		};
		prci: clock-controller@10000000 {
			#reset-cells = <1>;
			resets = <&prci PRCI_RST_DDR_CTRL_N>,
				 <&prci PRCI_RST_DDR_AXI_N>,
				 <&prci PRCI_RST_DDR_AHB_N>,
				 <&prci PRCI_RST_DDR_PHY_N>,
				 <&prci PRCI_RST_GEMGXL_N>;
			reset-names = "ddr_ctrl", "ddr_axi", "ddr_ahb",
					"ddr_phy", "gemgxl_reset";
		};
		dmc: dmc@100b0000 {
			compatible = "sifive,fu540-c000-ddr";
			reg = <0x0 0x100b0000 0x0 0x0800
			       0x0 0x100b2000 0x0 0x2000
			       0x0 0x100b8000 0x0 0x1000>;
			clocks = <&prci PRCI_CLK_DDRPLL>;
			clock-frequency = <933333324>;
			u-boot,dm-spl;
		};
	};
};

&prci {
	u-boot,dm-spl;
};

&uart0 {
	u-boot,dm-spl;
};

&qspi2 {
	u-boot,dm-spl;
};

&eth0 {
	assigned-clocks = <&prci PRCI_CLK_GEMGXLPLL>;
	assigned-clock-rates = <125000000>;
};

&l2cache {
	status = "okay";
};