Lines Matching +full:plic +full:- +full:1

1 // SPDX-License-Identifier: GPL-2.0+
3 * Copyright (C) 2019-20 Sean Anderson <seanga2@gmail.com>
6 #include <dt-bindings/clock/k210-clk.h>
7 #include <dt-bindings/pinctrl/k210-fpioa.h>
8 #include <dt-bindings/reset/k210-rst.h>
12 * Although the K210 is a 64-bit CPU, the address bus is only 32-bits
15 #address-cells = <1>;
16 #size-cells = <1>;
17 compatible = "canaan,kendryte-k210";
28 * Since this is a non-ratified draft specification, the kernel does not
33 #address-cells = <1>;
34 #size-cells = <0>;
35 timebase-frequency = <7800000>;
41 mmu-type = "riscv,none";
42 i-cache-block-size = <64>;
43 i-cache-size = <0x8000>;
44 d-cache-block-size = <64>;
45 d-cache-size = <0x8000>;
46 cpu0_intc: interrupt-controller {
47 #interrupt-cells = <1>;
48 interrupt-controller;
49 compatible = "riscv,cpu-intc";
52 cpu1: cpu@1 {
55 reg = <1>;
57 mmu-type = "riscv,none";
58 i-cache-block-size = <64>;
59 i-cache-size = <0x8000>;
60 d-cache-block-size = <64>;
61 d-cache-size = <0x8000>;
62 cpu1_intc: interrupt-controller {
63 #interrupt-cells = <1>;
64 interrupt-controller;
65 compatible = "riscv,cpu-intc";
69 cpu-map {
89 sram_controller: memory-controller {
90 compatible = "canaan,k210-sram";
94 clock-names = "sram0", "sram1", "aisram";
99 compatible = "fixed-clock";
100 #clock-cells = <0>;
101 clock-frequency = <26000000>;
106 #address-cells = <1>;
107 #size-cells = <1>;
108 compatible = "simple-bus";
110 interrupt-parent = <&plic0>;
114 read-only;
118 compatible = "canaan,k210-clint", "sifive,clint0";
120 interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>,
124 plic0: interrupt-controller@c000000 {
125 #interrupt-cells = <1>;
126 #address-cells = <0>;
127 compatible = "canaan,k210-plic", "sifive,plic-1.0.0";
129 interrupt-controller;
130 interrupts-extended = <&cpu0_intc 11>, <&cpu0_intc 9>,
136 compatible = "canaan,k210-uarths", "sifive,uart0";
142 gpio0: gpio-controller@38001000 {
143 #interrupt-cells = <2>;
144 #gpio-cells = <2>;
145 compatible = "canaan,k210-gpiohs", "sifive,gpio0";
147 interrupt-controller;
153 gpio-controller;
157 dmac0: dma-controller@50000000 {
158 compatible = "snps,axi-dma-1.01a";
161 #dma-cells = <1>;
163 clock-names = "core-clk", "cfgr-clk";
165 dma-channels = <6>;
166 snps,dma-masters = <2>;
167 snps,priority = <0 1 2 3 4 5>;
168 snps,data-width = <5>;
169 snps,block-size = <0x200000 0x200000 0x200000
171 snps,axi-max-burst-len = <256>;
175 #address-cells = <1>;
176 #size-cells = <1>;
177 compatible = "simple-pm-bus";
182 #address-cells = <1>;
183 #size-cells = <0>;
184 compatible = "snps,dw-apb-gpio";
188 clock-names = "bus", "db";
191 gpio1_0: gpio-port@0 {
192 #gpio-cells = <2>;
193 #interrupt-cells = <2>;
194 compatible = "snps,dw-apb-gpio-port";
196 interrupt-controller;
198 gpio-controller;
204 compatible = "snps,dw-apb-uart";
209 clock-names = "baudclk", "apb_pclk";
211 reg-io-width = <4>;
212 reg-shift = <2>;
213 dcd-override;
214 dsr-override;
215 cts-override;
216 ri-override;
220 compatible = "snps,dw-apb-uart";
225 clock-names = "baudclk", "apb_pclk";
227 reg-io-width = <4>;
228 reg-shift = <2>;
229 dcd-override;
230 dsr-override;
231 cts-override;
232 ri-override;
236 compatible = "snps,dw-apb-uart";
241 clock-names = "baudclk", "apb_pclk";
243 reg-io-width = <4>;
244 reg-shift = <2>;
245 dcd-override;
246 dsr-override;
247 cts-override;
248 ri-override;
252 compatible = "canaan,k210-spi";
253 spi-slave;
255 #address-cells = <0>;
256 #size-cells = <0>;
260 clock-names = "ssi_clk", "pclk";
262 spi-max-frequency = <25000000>;
266 compatible = "canaan,k210-i2s", "snps,designware-i2s";
270 clock-names = "i2sclk";
275 compatible = "canaan,k210-i2s", "snps,designware-i2s";
279 clock-names = "i2sclk";
284 compatible = "canaan,k210-i2s", "snps,designware-i2s";
288 clock-names = "i2sclk";
293 compatible = "snps,designware-i2c";
298 clock-names = "ref", "pclk";
303 compatible = "snps,designware-i2c";
308 clock-names = "ref", "pclk";
313 compatible = "snps,designware-i2c";
318 clock-names = "ref", "pclk";
323 compatible = "canaan,k210-fpioa";
327 clock-names = "ref", "pclk";
329 canaan,k210-sysctl-power = <&sysctl 108>;
333 compatible = "snps,dw-apb-timer";
338 clock-names = "timer", "pclk";
343 compatible = "snps,dw-apb-timer";
348 clock-names = "timer", "pclk";
353 compatible = "snps,dw-apb-timer";
358 clock-names = "timer", "pclk";
363 compatible = "snps,dw-apb-timer";
368 clock-names = "timer", "pclk";
373 compatible = "snps,dw-apb-timer";
378 clock-names = "timer", "pclk";
383 compatible = "snps,dw-apb-timer";
388 clock-names = "timer", "pclk";
394 #address-cells = <1>;
395 #size-cells = <1>;
396 compatible = "simple-pm-bus";
401 compatible = "snps,dw-wdt";
406 clock-names = "tclk", "pclk";
411 compatible = "snps,dw-wdt";
416 clock-names = "tclk", "pclk";
421 compatible = "canaan,k210-sysctl",
422 "syscon", "simple-mfd";
425 clock-names = "pclk";
427 sysclk: clock-controller {
428 #clock-cells = <1>;
429 compatible = "canaan,k210-clk";
433 sysrst: reset-controller {
434 compatible = "canaan,k210-rst";
435 #reset-cells = <1>;
438 reboot: syscon-reboot {
439 compatible = "syscon-reboot";
442 mask = <1>;
443 value = <1>;
449 #address-cells = <1>;
450 #size-cells = <1>;
451 compatible = "simple-pm-bus";
456 #address-cells = <1>;
457 #size-cells = <0>;
458 compatible = "canaan,k210-spi";
460 interrupts = <1>;
463 clock-names = "ssi_clk", "pclk";
465 reset-names = "spi";
466 num-cs = <4>;
467 reg-io-width = <4>;
471 #address-cells = <1>;
472 #size-cells = <0>;
473 compatible = "canaan,k210-spi";
478 clock-names = "ssi_clk", "pclk";
480 reset-names = "spi";
481 num-cs = <4>;
482 reg-io-width = <4>;
486 #address-cells = <1>;
487 #size-cells = <0>;
488 compatible = "snps,dwc-ssi-1.01a";
493 clock-names = "ssi_clk", "pclk";
495 reset-names = "spi";
497 num-cs = <4>;
498 reg-io-width = <4>;