6 compatible = "sifive,hifive1-revb";
7 model = "sifive,hifive1-revb";
10 stdout-path = "/soc/serial@10013000:115200";
11 metal,entry = <&spi0 0x10000>;
17 compatible = "sifive,fe310-g000";
20 compatible = "sifive,rocket0", "riscv";
22 i-cache-block-size = <64>;
24 i-cache-size = <16384>;
25 next-level-cache = <&spi0>;
27 riscv,isa = "rv32imac";
28 riscv,pmpregions = <8>;
29 sifive,dtim = <&dtim>;
31 timebase-frequency = <1000000>;
32 hardware-exec-breakpoint-count = <4>;
33 hlic: interrupt-controller {
34 #interrupt-cells = <1>;
35 compatible = "riscv,cpu-intc";
45 compatible = "sifive,hifive1";
49 compatible = "fixed-clock";
50 clock-frequency = <16000000>;
53 compatible = "sifive,fe310-g000,hfxosc";
60 compatible = "fixed-clock";
61 clock-frequency = <72000000>;
64 compatible = "sifive,fe310-g000,hfrosc";
70 compatible = "sifive,fe310-g000,pll";
71 clocks = <&hfxoscout &hfroscout>;
72 clock-names = "pllref", "pllsel0";
73 reg = <&prci 0x8 &prci 0xc>;
74 reg-names = "config", "divider";
75 clock-frequency = <16000000>;
80 compatible = "fixed-clock";
81 clock-frequency = <32000000>;
84 compatible = "sifive,fe310-g000,lfrosc";
91 compatible = "sifive,aon0";
92 reg = <0x10000000 0x8000>;
97 compatible = "sifive,fe310-g000,prci";
98 reg = <0x10008000 0x8000>;
102 clint: clint@2000000 {
103 compatible = "riscv,clint0";
104 interrupts-extended = <&hlic 3 &hlic 7>;
105 reg = <0x2000000 0x10000>;
106 reg-names = "control";
108 local-external-interrupts-0 {
109 compatible = "sifive,local-external-interrupts0";
110 interrupt-parent = <&hlic>;
111 interrupts = <16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31>;
113 plic: interrupt-controller@c000000 {
114 #interrupt-cells = <1>;
115 compatible = "riscv,plic0";
116 interrupt-controller;
117 interrupts-extended = <&hlic 11>;
118 reg = <0xc000000 0x4000000>;
119 reg-names = "control";
120 riscv,max-priority = <7>;
123 global-external-interrupts {
124 compatile = "sifive,global-external-interrupts0";
125 interrupt-parent = <&plic>;
126 interrupts = <1 2 3 4>;
130 compatible = "sifive,debug-011", "riscv,debug-011";
131 interrupts-extended = <&hlic 65535>;
133 reg-names = "control";
137 reg = <0x1000 0x2000>;
141 reg = <0x20000 0x2000 0x10010000 0x1000>;
142 reg-names = "mem", "control";
145 dtim: dtim@80000000 {
146 compatible = "sifive,dtim0";
147 reg = <0x80000000 0x4000>;
152 compatible = "sifive,pwm0";
153 interrupt-parent = <&plic>;
154 interrupts = <23 24 25 26>;
155 reg = <0x10015000 0x1000>;
156 reg-names = "control";
158 gpio0: gpio@10012000 {
159 compatible = "sifive,gpio0";
160 interrupt-parent = <&plic>;
161 interrupts = <7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22>;
162 reg = <0x10012000 0x1000>;
163 reg-names = "control";
165 uart0: serial@10013000 {
166 compatible = "sifive,uart0";
167 interrupt-parent = <&plic>;
169 reg = <0x10013000 0x1000>;
170 reg-names = "control";
172 pinmux = <&gpio0 0x30000 0x30000>;
175 compatible = "sifive,spi0";
176 interrupt-parent = <&plic>;
178 reg = <0x10014000 0x1000 0x20000000 0x7A120>;
179 reg-names = "control", "mem";
181 pinmux = <&gpio0 0x0003C 0x0003C>;
184 compatible = "sifive,i2c0";
185 interrupt-parent = <&plic>;
187 reg = <0x10016000 0x1000>;
188 reg-names = "control";
191 compatible = "sifive,gpio-leds";
194 linux,default-trigger = "none";
197 compatible = "sifive,gpio-leds";
200 linux,default-trigger = "none";
203 compatible = "sifive,gpio-leds";
206 linux,default-trigger = "none";