| /* |
| * 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>; |
| }; |
| }; |
| }; |