1. add cvitek folders to u-boot-2021.10 2. add cv183x/cv182x part 3. add cv181x/cv180x part Change-Id: I6dc2e5ff509dbab16bd60bfb3fd61852da5e01f6
375 lines
7.6 KiB
Plaintext
375 lines
7.6 KiB
Plaintext
#include <dt-bindings/interrupt-controller/irq.h>
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/reset/cv180x-resets.h>
|
|
#include <dt-bindings/clock/cv180x-clock.h>
|
|
#include <dt-bindings/thermal/thermal.h>
|
|
#include <dt-bindings/dma/cv180x-dmamap.h>
|
|
#include "cvi_board_memmap.h"
|
|
|
|
/*
|
|
* OpenSBI will add below subnode into reserved memory automatically
|
|
* mmode_resv0@80000000 {
|
|
* reg = <0x00 0x80000000 0x00 0x20000>;
|
|
* phandle = <0x0d>;
|
|
* };
|
|
* Skip below to avoid lmb region reseved conflict in uboot.
|
|
*
|
|
*/
|
|
#ifndef __UBOOT__
|
|
/memreserve/ CVIMMAP_MONITOR_ADDR CVIMMAP_OPENSBI_SIZE; // OpenSBI
|
|
#endif
|
|
|
|
#include "cv180x_base.dtsi"
|
|
|
|
/ {
|
|
model = "Cvitek. CV180X ASIC. C906.";
|
|
|
|
#size-cells = <0x2>;
|
|
#address-cells = <0x2>;
|
|
|
|
c906_cpus:cpus {
|
|
#address-cells = <0x01>;
|
|
#size-cells = <0x00>;
|
|
timebase-frequency = <25000000>;
|
|
|
|
cpu-map {
|
|
|
|
cluster0 {
|
|
|
|
core0 {
|
|
cpu = <0x01>;
|
|
};
|
|
};
|
|
};
|
|
|
|
cpu@0 {
|
|
device_type = "cpu";
|
|
reg = <0x00>;
|
|
status = "okay";
|
|
compatible = "riscv";
|
|
riscv,isa = "rv64imafdvcsu";
|
|
mmu-type = "riscv,sv39";
|
|
clock-frequency = <25000000>;
|
|
|
|
cpu0_intc: interrupt-controller {
|
|
#interrupt-cells = <0x01>;
|
|
interrupt-controller;
|
|
compatible = "riscv,cpu-intc";
|
|
};
|
|
};
|
|
};
|
|
|
|
soc {
|
|
#address-cells = <0x02>;
|
|
#size-cells = <0x02>;
|
|
compatible = "simple-bus";
|
|
ranges;
|
|
|
|
plic0: interrupt-controller@70000000 {
|
|
riscv,ndev = <101>;
|
|
riscv,max-priority = <0x07>;
|
|
reg-names = "control";
|
|
reg = <0x00 0x70000000 0x00 0x4000000>;
|
|
interrupts-extended = <&cpu0_intc 0xffffffff &cpu0_intc 0x09>;
|
|
interrupt-controller;
|
|
compatible = "riscv,plic0";
|
|
#interrupt-cells = <0x02>;
|
|
#address-cells = <0x00>;
|
|
};
|
|
|
|
clint@74000000 {
|
|
interrupts-extended = <&cpu0_intc 0x03 &cpu0_intc 0x07>;
|
|
reg = <0x00 0x74000000 0x00 0x10000>;
|
|
compatible = "riscv,clint0";
|
|
clint,has-no-64bit-mmio;
|
|
};
|
|
|
|
};
|
|
|
|
|
|
cv180x_cooling:cv180x_cooling {
|
|
clocks = <&clk CV180X_CLK_C906_0>, <&clk CV180X_CLK_TPU>;
|
|
clock-names = "clk_cpu", "clk_tpu_axi";
|
|
dev-freqs = <850000000 500000000>,
|
|
<425000000 375000000>,
|
|
<425000000 300000000>;
|
|
compatible = "cvitek,cv180x-cooling";
|
|
#cooling-cells = <2>;
|
|
};
|
|
|
|
tpu {
|
|
interrupts = <75 IRQ_TYPE_LEVEL_HIGH>,
|
|
<76 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "tiu_irq", "tdma_irq";
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
mon {
|
|
interrupts = <93 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "mon_irq";
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
wiegand0 {
|
|
interrupts = <64 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
wiegand1 {
|
|
interrupts = <65 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
wiegand2 {
|
|
interrupts = <66 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
saradc {
|
|
interrupts = <100 IRQ_TYPE_EDGE_RISING>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
rtc {
|
|
interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
sysdma_remap {
|
|
int_mux = <0x7FC00>; /* enable bit [10..18] for CPU1(906B) */
|
|
};
|
|
|
|
dmac: dma@0x4330000 {
|
|
interrupts = <29 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
watchdog0: cv-wd@0x3010000 {
|
|
interrupts = <58 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
spinand:cv-spinf@4060000 {
|
|
interrupts = <39 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
spif:cvi-spif@10000000 {
|
|
interrupts = <95 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
spi0:spi0@04180000 {
|
|
interrupts = <54 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
spi1:spi1@04190000 {
|
|
interrupts = <55 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
spi2:spi2@041A0000 {
|
|
interrupts = <56 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
spi3:spi3@041B0000 {
|
|
interrupts = <57 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
uart0: serial@04140000 {
|
|
interrupts = <44 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
uart1: serial@04150000 {
|
|
interrupts = <45 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
uart2: serial@04160000 {
|
|
interrupts = <46 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
uart3: serial@04170000 {
|
|
interrupts = <47 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
uart4: serial@041C0000 {
|
|
interrupts = <48 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
gpio0: gpio@03020000 {
|
|
porta: gpio-controller@0 {
|
|
interrupt-controller;
|
|
interrupts = <60 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
};
|
|
|
|
gpio1: gpio@03021000 {
|
|
portb: gpio-controller@1 {
|
|
interrupt-controller;
|
|
interrupts = <61 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
};
|
|
|
|
gpio2: gpio@03022000 {
|
|
portc: gpio-controller@2 {
|
|
interrupt-controller;
|
|
interrupts = <62 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
};
|
|
|
|
gpio3: gpio@03023000 {
|
|
portd: gpio-controller@3 {
|
|
interrupt-controller;
|
|
interrupts = <63 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
};
|
|
|
|
gpio4: gpio@05021000 {
|
|
porte: gpio-controller@4 {
|
|
interrupt-controller;
|
|
interrupts = <70 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
};
|
|
|
|
i2c0: i2c@04000000 {
|
|
interrupts = <49 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
i2c1: i2c@04010000 {
|
|
interrupts = <50 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
i2c2: i2c@04020000 {
|
|
interrupts = <51 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
i2c3: i2c@04030000 {
|
|
interrupts = <52 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
i2c4: i2c@04040000 {
|
|
interrupts = <53 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
ethernet0: ethernet@4070000 {
|
|
interrupt-names = "macirq";
|
|
interrupts = <31 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
#if 0
|
|
emmc:cv-emmc@4300000 {
|
|
interrupts = <34 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
#endif
|
|
sd:cv-sd@4310000 {
|
|
interrupts = <36 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
i2s0: i2s@04100000 {
|
|
interrupts = <40 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
i2s1: i2s@04110000 {
|
|
interrupts = <41 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
i2s2: i2s@04120000 {
|
|
interrupts = <42 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
i2s3: i2s@04130000 {
|
|
interrupts = <43 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
vi {
|
|
interrupts = <24 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
interrupt-names = "isp";
|
|
};
|
|
|
|
vcodec {
|
|
interrupts = <22 IRQ_TYPE_LEVEL_HIGH>,
|
|
<21 IRQ_TYPE_LEVEL_HIGH>,
|
|
<23 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "h265","h264","sbm";
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
jpu {
|
|
interrupts = <20 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "jpeg";
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
rtos_cmdqu {
|
|
interrupts = <101 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "mailbox";
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
wifisd:wifi-sd@4320000 {
|
|
interrupts = <38 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
mipi_rx: cif {
|
|
interrupts = <26 IRQ_TYPE_LEVEL_HIGH>,
|
|
<27 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "csi0", "csi1";
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
#if 0
|
|
ive {
|
|
interrupt-names = "ive_irq";
|
|
interrupt-parent = <&plic0>;
|
|
interrupts = <97 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
#endif
|
|
vpss {
|
|
interrupts = <25 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "sc";
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
dwa {
|
|
interrupts = <28 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "dwa";
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
usb: usb@04340000 {
|
|
interrupts = <30 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
thermal:thermal@030E0000 {
|
|
interrupts = <16 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "tempsen";
|
|
interrupt-parent = <&plic0>;
|
|
};
|
|
|
|
};
|