zephyr/dts/riscv/it8xxx2.dtsi

227 lines
5.3 KiB
Plaintext

/*
* Copyright (c) 2020 ITE Corporation. All Rights Reserved.
* Copyright (c) 2019-2020 Jyunlin Chen <jyunlin.chen@ite.com.tw>
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <mem.h>
#include <dt-bindings/irq.h>
#include <dt-bindings/i2c/i2c.h>
/ {
#address-cells = <1>;
#size-cells = <1>;
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu@0 {
compatible = "ite,riscv-ite";
device_type = "cpu";
reg = <0>;
};
};
soc {
#address-cells = <1>;
#size-cells = <1>;
ranges;
flashctrl: flash-controller@80000000 {
compatible = "ite,it8xxx2-flash-controller";
reg = <0x80000000 0x100>;
label = "fspi";
#address-cells = <1>;
#size-cells = <1>;
flash0: flash@80000000 {
compatible = "soc-nv-flash";
reg = <0x80000000 DT_SIZE_K(512)>;
erase-block-size = <1024>;
write-block-size = <1>;
};
};
pinmux: pinmux@f016f0 {
compatible = "ite,it8xxx2-pinmux";
reg = <0x00f016f0 0x0010>;
label = "PINMUX";
};
sram0: memory@80080000 {
compatible = "mmio-sram";
reg = <0x80080000 DT_SIZE_K(60)>;
};
intc: interrupt-controller@f03f00 {
#interrupt-cells = <2>;
compatible = "ite,it8xxx2-intc";
interrupt-controller;
reg = <0x00f03f00 0x0100>;
};
uart1: uart@f02700 {
compatible = "ns16550";
reg = <0x00f02700 0x0020>;
label = "console";
current-speed = <115200>;
clock-frequency = <1804800>;
interrupts = <38 IRQ_TYPE_EDGE_RISING>;
interrupt-parent = <&intc>;
};
uart2: uart@f02800 {
compatible = "ns16550";
reg = <0x00f02800 0x0020>;
label = "UART_2";
current-speed = <460800>;
clock-frequency = <1804800>;
interrupts = <39 IRQ_TYPE_EDGE_RISING>;
interrupt-parent = <&intc>;
};
timer: timer@f01f00 {
compatible = "ite,it8xxx2-timer";
reg = <0x00f01f00 0x0062>;
label = "sys_clock";
interrupts = <0 IRQ_TYPE_NONE
30 IRQ_TYPE_EDGE_RISING
58 IRQ_TYPE_EDGE_RISING
155 IRQ_TYPE_EDGE_FALLING
156 IRQ_TYPE_EDGE_FALLING
157 IRQ_TYPE_EDGE_FALLING
158 IRQ_TYPE_EDGE_FALLING
159 IRQ_TYPE_EDGE_FALLING
80 IRQ_TYPE_EDGE_RISING>;
interrupt-parent = <&intc>;
};
gpiob: gpio@f01602 {
compatible = "ite,it8xxx2-gpio";
reg = <0x00f01602 0x0001>;
ngpios = <8>;
label = "GPDRB";
status = "disabled";
gpio-controller;
interrupts = <106 IRQ_TYPE_LEVEL_HIGH
107 IRQ_TYPE_LEVEL_HIGH
92 IRQ_TYPE_LEVEL_HIGH
108 IRQ_TYPE_LEVEL_HIGH
99 IRQ_TYPE_LEVEL_HIGH
109 IRQ_TYPE_LEVEL_HIGH
110 IRQ_TYPE_LEVEL_HIGH
111 IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
#gpio-cells = <2>;
};
gpiof: gpio@f01606 {
compatible = "ite,it8xxx2-gpio";
reg = <0x00f01606 0x0001>;
ngpios = <8>;
label = "GPDRF";
status = "disabled";
gpio-controller;
interrupts = <101 IRQ_TYPE_LEVEL_HIGH
102 IRQ_TYPE_LEVEL_HIGH
103 IRQ_TYPE_LEVEL_HIGH
104 IRQ_TYPE_LEVEL_HIGH
52 IRQ_TYPE_LEVEL_HIGH
53 IRQ_TYPE_LEVEL_HIGH
54 IRQ_TYPE_LEVEL_HIGH
55 IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
#gpio-cells = <2>;
};
gpiom: gpio@f0160D {
compatible = "ite,it8xxx2-gpio";
reg = <0x00f0160D 0x0001>;
ngpios = <8>;
label = "GPDRM";
status = "disabled";
gpio-controller;
interrupt-parent = <&intc>;
#gpio-cells = <2>;
};
spi0:spi@f02600 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "ite,it8xxx2-sspi";
reg = <0x00f02600 0x40>;
label = "SPI0";
interrupt-parent = <&intc>;
interrupts = <37 IRQ_TYPE_EDGE_RISING>;
clock-frequency = <115200>;
};
spi1:spi@f02640 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "ite,it8xxx2-sspi";
reg = <0x00f02640 0x40>;
label = "SPI1";
interrupts = <37 IRQ_TYPE_EDGE_RISING>;
interrupt-parent = <&intc>;
status = "okay";
};
i2c0: i2c@f01c40 {
compatible = "ite,it8xxx2-i2c";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x00f01c40 0x0040>;
interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
interrupt-parent = <&intc>;
status = "disabled";
label = "I2C_0";
port-num = <0>;
};
i2c1: i2c@f01c80 {
compatible = "ite,it8xxx2-i2c";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x00f01c80 0x0040>;
interrupts = <10 IRQ_TYPE_EDGE_FALLING>;
interrupt-parent = <&intc>;
status = "disabled";
label = "I2C_1";
port-num = <1>;
};
i2c2: i2c@f01cc0 {
compatible = "ite,it8xxx2-i2c";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x00f01cc0 0x0040>;
interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
interrupt-parent = <&intc>;
status = "disabled";
label = "I2C_2";
port-num = <2>;
};
i2c3: i2c@f03680 {
compatible = "ite,it8xxx2-i2c";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x00f03680 0x0080>;
interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
interrupt-parent = <&intc>;
status = "disabled";
label = "I2C_3";
port-num = <3>;
};
i2c4: i2c@f03500 {
compatible = "ite,it8xxx2-i2c";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x00f03500 0x0080>;
interrupts = <152 IRQ_TYPE_EDGE_FALLING>;
interrupt-parent = <&intc>;
status = "disabled";
label = "I2C_4";
port-num = <4>;
};
i2c5: i2c@f03580 {
compatible = "ite,it8xxx2-i2c";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x00f03580 0x0080>;
interrupts = <153 IRQ_TYPE_EDGE_FALLING>;
interrupt-parent = <&intc>;
status = "disabled";
label = "I2C_5";
port-num = <5>;
};
};
};