blob: 0dd4007eab4c70f7f234369166e4cd9da7c31b2e [file] [log] [blame]
/*
* 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 <zephyr/dt-bindings/dt-util.h>
#include <zephyr/dt-bindings/interrupt-controller/ite-intc.h>
#include <zephyr/dt-bindings/interrupt-controller/it8xxx2-wuc.h>
#include <zephyr/dt-bindings/i2c/i2c.h>
#include <zephyr/dt-bindings/i2c/it8xxx2-i2c.h>
#include <zephyr/dt-bindings/pinctrl/it8xxx2-pinctrl.h>
#include <zephyr/dt-bindings/pwm/pwm.h>
#include <zephyr/dt-bindings/pwm/it8xxx2_pwm.h>
#include <zephyr/dt-bindings/sensor/it8xxx2_vcmp.h>
#include <zephyr/dt-bindings/sensor/it8xxx2_tach.h>
#include <zephyr/dt-bindings/gpio/gpio.h>
#include "ite/it8xxx2-wuc-map.dtsi"
/ {
#address-cells = <1>;
#size-cells = <1>;
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu0: cpu@0 {
compatible = "ite,riscv-ite";
device_type = "cpu";
reg = <0>;
cpu-power-states = <&standby>;
};
};
power-states {
standby: standby {
compatible = "zephyr,power-state";
power-state-name = "standby";
min-residency-us = <240000>;
};
};
soc {
#address-cells = <1>;
#size-cells = <1>;
ranges;
bbram: bb-ram@f02200 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "ite,it8xxx2-bbram";
status = "okay";
reg = <0x00f02200 0xc0>;
};
flashctrl: flash-controller@f01000 {
compatible = "ite,it8xxx2-flash-controller";
reg = <0x00f01000 0x100>;
#address-cells = <1>;
#size-cells = <1>;
flash0: flash@80000000 {
compatible = "soc-nv-flash";
reg = <0x80000000 DT_SIZE_M(1)>;
erase-block-size = <4096>;
write-block-size = <4>;
};
};
pinctrl: pin-controller {
compatible = "ite,it8xxx2-pinctrl";
#address-cells = <1>;
#size-cells = <1>;
status = "okay";
pinctrla: pinctrl@f01610 {
compatible = "ite,it8xxx2-pinctrl-func";
reg = <0x00f01610 8>; /* GPCR */
func3-gcr = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC
0xf02032 0xf02032 0xf016f0 0xf016f0>;
func3-en-mask = <0 0 0 0
0x02 0x02 0x10 0x0C >;
func4-gcr = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC
NO_FUNC NO_FUNC NO_FUNC NO_FUNC >;
func4-en-mask = <0 0 0 0
0 0 0 0 >;
volt-sel = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC
0xf016e9 0xf016e9 0xf016e9 0xf016e9>;
volt-sel-mask = <0 0 0 0
0x1 0x02 0x20 0x40 >;
#pinmux-cells = <2>;
};
pinctrlb: pinctrl@f01618 {
compatible = "ite,it8xxx2-pinctrl-func";
reg = <0x00f01618 8>; /* GPCR */
func3-gcr = <0xf016f5 0xf016f5 NO_FUNC NO_FUNC
NO_FUNC NO_FUNC NO_FUNC 0xf01600>;
func3-en-mask = <0x01 0x02 0 0
0 0 0 0x02 >;
func4-gcr = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC
NO_FUNC NO_FUNC NO_FUNC 0xf016f1>;
func4-en-mask = <0 0 0 0
0 0 0 0x40 >;
volt-sel = <NO_FUNC NO_FUNC NO_FUNC 0xf016e7
0xf016e7 0xf016e4 0xf016e4 0xf016e9>;
volt-sel-mask = <0 0 0 0x02
0x01 0x80 0x40 0x10 >;
#pinmux-cells = <2>;
};
pinctrlc: pinctrl@f01620 {
compatible = "ite,it8xxx2-pinctrl-func";
reg = <0x00f01620 8>; /* GPCR */
func3-gcr = <NO_FUNC NO_FUNC NO_FUNC 0xf016f0
NO_FUNC 0xf016f0 NO_FUNC 0xf016f3>;
func3-en-mask = <0 0 0 0x10
0 0x10 0 0x02 >;
func4-gcr = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC
NO_FUNC NO_FUNC NO_FUNC 0xf016f6>;
func4-en-mask = <0 0 0 0
0 0 0 0x80 >;
volt-sel = <0xf016e7 0xf016e4 0xf016e4 NO_FUNC
0xf016e9 NO_FUNC 0xf016e9 0xf016e4>;
volt-sel-mask = <0x80 0x20 0x10 0
0x04 0 0x08 0x08 >;
#pinmux-cells = <2>;
};
pinctrld: pinctrl@f01628 {
compatible = "ite,it8xxx2-pinctrl-func";
reg = <0x00f01628 8>; /* GPCR */
func3-gcr = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC
NO_FUNC 0xf016f0 NO_FUNC NO_FUNC>;
func3-en-mask = <0 0 0 0
0 0x02 0 0 >;
func4-gcr = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC
NO_FUNC NO_FUNC NO_FUNC NO_FUNC>;
func4-en-mask = <0 0 0 0
0 0 0 0 >;
volt-sel = <0xf016e4 0xf016e4 0xf016e4 0xf016e5
0xf016e5 0xf016e7 0xf016e7 0xf016e7>;
volt-sel-mask = <0x04 0x02 0x01 0x80
0x40 0x10 0x20 0x40 >;
#pinmux-cells = <2>;
};
pinctrle: pinctrl@f01630 {
compatible = "ite,it8xxx2-pinctrl-func";
reg = <0x00f01630 8>; /* GPCR */
func3-gcr = <0xf02032 NO_FUNC NO_FUNC NO_FUNC
NO_FUNC 0xf016f0 NO_FUNC 0xf02032>;
func3-en-mask = <0x01 0 0 0
0 0x08 0 0x01 >;
func4-gcr = <0xf016f3 NO_FUNC NO_FUNC NO_FUNC
NO_FUNC NO_FUNC NO_FUNC NO_FUNC >;
func4-en-mask = <0x01 0 0 0
0 0 0 0 >;
volt-sel = <0xf016e5 0xf016d4 0xf016d4 NO_FUNC
0xf016e7 0xf016e7 0xf016e5 0xf016e5>;
volt-sel-mask = <0x20 0x40 0x80 0
0x04 0x08 0x10 0x08 >;
#pinmux-cells = <2>;
};
pinctrlf: pinctrl@f01638 {
compatible = "ite,it8xxx2-pinctrl-func";
reg = <0x00f01638 8>; /* GPCR */
func3-gcr = <NO_FUNC NO_FUNC 0xf016f0 0xf016f0
NO_FUNC NO_FUNC 0xf016f1 0xf016f1>;
func3-en-mask = <0 0 0x02 0x02
0 0 0x10 0x10 >;
func4-gcr = <NO_FUNC NO_FUNC 0xf02046 0xf02046
NO_FUNC NO_FUNC NO_FUNC NO_FUNC >;
func4-en-mask = <0 0 0x40 0x40
0 0 0 0 >;
volt-sel = <0xf016d4 0xf016d4 0xf016e5 0xf016e5
0xf016e5 0xf016e6 0xf016e6 0xf016e6>;
volt-sel-mask = <0x10 0x20 0x04 0x02
0x01 0x80 0x40 0x20 >;
#pinmux-cells = <2>;
};
pinctrlg: pinctrl@f01640 {
compatible = "ite,it8xxx2-pinctrl-func";
reg = <0x00f01640 8>; /* GPCR */
func3-gcr = <0xf016f0 0xf016f0 0xf016f0 NO_FUNC
NO_FUNC NO_FUNC 0xf016f0 NO_FUNC>;
func3-en-mask = <0x20 0x08 0x10 0
0 0 0x02 0 >;
func4-gcr = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC
NO_FUNC NO_FUNC NO_FUNC NO_FUNC>;
func4-en-mask = <0 0 0 0
0 0 0 0 >;
volt-sel = <0xf016d4 0xf016e6 0xf016d4 NO_FUNC
NO_FUNC NO_FUNC 0xf016e6 NO_FUNC>;
volt-sel-mask = <0x04 0x10 0x08 0
0 0 0x08 0 >;
#pinmux-cells = <2>;
};
pinctrlh: pinctrl@f01648 {
compatible = "ite,it8xxx2-pinctrl-func";
reg = <0x00f01648 8>; /* GPCR */
func3-gcr = <NO_FUNC 0xf016f1 0xf016f1 NO_FUNC
NO_FUNC 0xf016f5 0xf016f5 NO_FUNC>;
func3-en-mask = <0 0x20 0x20 0
0 0x04 0x08 0 >;
func4-gcr = <NO_FUNC 0xf016f5 0xf016f5 NO_FUNC
NO_FUNC NO_FUNC NO_FUNC NO_FUNC>;
func4-en-mask = <0 0x04 0x08 0
0 0 0 0 >;
volt-sel = <0xf016e6 0xf016e6 0xf016e6 NO_FUNC
NO_FUNC 0xf016d3 0xf016d4 NO_FUNC>;
volt-sel-mask = <0x04 0x02 0x01 0
0 0x80 0x01 0 >;
#pinmux-cells = <2>;
};
pinctrli: pinctrl@f01650 {
compatible = "ite,it8xxx2-pinctrl-func";
reg = <0x00f01650 8>; /* GPCR */
func3-gcr = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC
NO_FUNC 0xf016f0 0xf016f0 0xf016f0>;
func3-en-mask = <0 0 0 0
0 0x08 0x08 0x08 >;
func4-gcr = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC
NO_FUNC NO_FUNC NO_FUNC NO_FUNC >;
func4-en-mask = <0 0 0 0
0 0 0 0 >;
volt-sel = <0xf016d3 0xf016e8 0xf016e8 0xf016e8
0xf016e8 0xf016d3 0xf016d3 0xf016d3>;
volt-sel-mask = <0x08 0x10 0x20 0x40
0x80 0x10 0x20 0x40 >;
#pinmux-cells = <2>;
};
pinctrlj: pinctrl@f01658 {
compatible = "ite,it8xxx2-pinctrl-func";
reg = <0x00f01658 8>; /* GPCR */
func3-gcr = <0xf016f4 NO_FUNC 0xf016f4 0xf016f4
0xf016f0 0xf016f0 NO_FUNC NO_FUNC>;
func3-en-mask = <0x01 0 0x01 0x02
0x02 0x03 0 0 >;
func4-gcr = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC
NO_FUNC NO_FUNC NO_FUNC NO_FUNC>;
func4-en-mask = <0 0 0 0
0 0 0 0 >;
volt-sel = <0xf016e8 0xf016e8 0xf016e8 0xf016e8
0xf016d3 0xf016d3 0xf016d3 0xf016d7>;
volt-sel-mask = <0x01 0x02 0x04 0x08
0x01 0x02 0x04 0x04 >;
#pinmux-cells = <2>;
};
pinctrlk: pinctrl@f01690 {
compatible = "ite,it8xxx2-pinctrl-func";
reg = <0x00f01690 8>; /* GPCR */
func3-gcr = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC
NO_FUNC NO_FUNC NO_FUNC NO_FUNC>;
func3-en-mask = <0 0 0 0
0 0 0 0 >;
func4-gcr = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC
NO_FUNC NO_FUNC NO_FUNC NO_FUNC>;
func4-en-mask = <0 0 0 0
0 0 0 0 >;
volt-sel = <0xf016d2 0xf016d2 0xf016d2 0xf016d2
0xf016d2 0xf016d2 0xf016d2 0xf016d2>;
volt-sel-mask = <0x01 0x02 0x04 0x08
0x10 0x20 0x40 0x80 >;
#pinmux-cells = <2>;
};
pinctrll: pinctrl@f01698 {
compatible = "ite,it8xxx2-pinctrl-func";
reg = <0x00f01698 8>; /* GPCR */
func3-gcr = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC
NO_FUNC NO_FUNC NO_FUNC NO_FUNC>;
func3-en-mask = <0 0 0 0
0 0 0 0 >;
func4-gcr = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC
NO_FUNC NO_FUNC NO_FUNC NO_FUNC>;
func4-en-mask = <0 0 0 0
0 0 0 0 >;
volt-sel = <0xf016d1 0xf016d1 0xf016d1 0xf016d1
0xf016d1 0xf016d1 0xf016d1 0xf016d1>;
volt-sel-mask = <0x01 0x02 0x04 0x08
0x10 0x20 0x40 0x80 >;
#pinmux-cells = <2>;
};
pinctrlm: pinctrl@f016a0 {
compatible = "ite,it8xxx2-pinctrl-func";
reg = <0x00f016a0 8>; /* GPCR */
func3-gcr = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC
NO_FUNC NO_FUNC NO_FUNC NO_FUNC>;
func3-en-mask = <0 0 0 0
0 0 0 0 >;
func4-gcr = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC
NO_FUNC NO_FUNC NO_FUNC NO_FUNC>;
func4-en-mask = <0 0 0 0
0 0 0 0 >;
volt-sel = <0xf016ed 0xf016ed 0xf016ed 0xf016ed
0xf016ed 0xf016ed 0xf016ed NO_FUNC >;
volt-sel-mask = <0x10 0x10 0x10 0x10
0x10 0x10 0x10 0 >;
#pinmux-cells = <2>;
};
};
sram0: memory@80100000 {
compatible = "mmio-sram";
reg = <0x80100000 DT_SIZE_K(60)>;
};
ilm: ilm@f0205d {
compatible = "ite,it8xxx2-ilm";
reg = <0xf0205d 3 /* RVILMCR0..2 */
0xf01040 3 /* SCAR0 */
0xf01043 3
0xf01046 3
0xf01049 3
0xf0104c 3 /* SCAR4 */
0xf01081 3 /* SCAR5 */
0xf01084 3
0xf01087 3
0xf0108a 3
0xf0108d 3
0xf01090 3
0xf01093 3
0xf01096 3 /* SCAR12 */
0xf010b0 3 /* SCAR13 */
0xf010b3 3
0xf010b6 3
0xf010b9 3
0xf010bc 3
0xf010bf 3
0xf010c2 3
0xf010c5 3
0xf010c8 3
0xf010cb 3
0xf010ce 3>; /* SCAR23 */
};
wuc1: wakeup-controller@f01b00 {
compatible = "ite,it8xxx2-wuc";
reg = <0x00f01b00 1 /* WUEMR1 */
0x00f01b04 1 /* WUESR1 */
0x00f01b08 1 /* WUENR1 */
0x00f01b3c 1>; /* WUBEMR1 */
wakeup-controller;
#wuc-cells = <1>;
};
wuc2: wakeup-controller@f01b01 {
compatible = "ite,it8xxx2-wuc";
reg = <0x00f01b01 1 /* WUEMR2 */
0x00f01b05 1 /* WUESR2 */
IT8XXX2_WUC_UNUSED_REG 1 /* WUENR2 */
0x00f01b3d 1>; /* WUBEMR2 */
wakeup-controller;
#wuc-cells = <1>;
};
wuc3: wakeup-controller@f01b02 {
compatible = "ite,it8xxx2-wuc";
reg = <0x00f01b02 1 /* WUEMR3 */
0x00f01b06 1 /* WUESR3 */
0x00f01b0a 1 /* WUENR3 */
0x00f01b3e 1>; /* WUBEMR3 */
wakeup-controller;
#wuc-cells = <1>;
};
wuc4: wakeup-controller@f01b03 {
compatible = "ite,it8xxx2-wuc";
reg = <0x00f01b03 1 /* WUEMR4 */
0x00f01b07 1 /* WUESR4 */
0x00f01b0b 1 /* WUENR4 */
0x00f01b3f 1>; /* WUBEMR4 */
wakeup-controller;
#wuc-cells = <1>;
};
wuc5: wakeup-controller@f01b0c {
compatible = "ite,it8xxx2-wuc";
reg = <0x00f01b0c 1 /* WUEMR5 */
0x00f01b0d 1 /* WUESR5 */
IT8XXX2_WUC_UNUSED_REG 1 /* WUENR5 */
0x00f01b0f 1>; /* WUBEMR5 */
wakeup-controller;
#wuc-cells = <1>;
};
wuc6: wakeup-controller@f01b10 {
compatible = "ite,it8xxx2-wuc";
reg = <0x00f01b10 1 /* WUEMR6 */
0x00f01b11 1 /* WUESR6 */
IT8XXX2_WUC_UNUSED_REG 1 /* WUENR6 */
0x00f01b13 1>; /* WUBEMR6 */
wakeup-controller;
#wuc-cells = <1>;
};
wuc7: wakeup-controller@f01b14 {
compatible = "ite,it8xxx2-wuc";
reg = <0x00f01b14 1 /* WUEMR7 */
0x00f01b15 1 /* WUESR7 */
IT8XXX2_WUC_UNUSED_REG 1 /* WUENR7 */
0x00f01b17 1>; /* WUBEMR7 */
wakeup-controller;
#wuc-cells = <1>;
};
wuc8: wakeup-controller@f01b18 {
compatible = "ite,it8xxx2-wuc";
reg = <0x00f01b18 1 /* WUEMR8 */
0x00f01b19 1 /* WUESR8 */
IT8XXX2_WUC_UNUSED_REG 1 /* WUENR8 */
0x00f01b1b 1>; /* WUBEMR8 */
wakeup-controller;
#wuc-cells = <1>;
};
wuc9: wakeup-controller@f01b1c {
compatible = "ite,it8xxx2-wuc";
reg = <0x00f01b1c 1 /* WUEMR9 */
0x00f01b1d 1 /* WUESR9 */
IT8XXX2_WUC_UNUSED_REG 1 /* WUENR9 */
0x00f01b1f 1>; /* WUBEMR9 */
wakeup-controller;
#wuc-cells = <1>;
};
wuc10: wakeup-controller@f01b20 {
compatible = "ite,it8xxx2-wuc";
reg = <0x00f01b20 1 /* WUEMR10 */
0x00f01b21 1 /* WUESR10 */
IT8XXX2_WUC_UNUSED_REG 1 /* WUENR10 */
0x00f01b23 1>; /* WUBEMR10 */
wakeup-controller;
#wuc-cells = <1>;
};
wuc11: wakeup-controller@f01b24 {
compatible = "ite,it8xxx2-wuc";
reg = <0x00f01b24 1 /* WUEMR11 */
0x00f01b25 1 /* WUESR11 */
IT8XXX2_WUC_UNUSED_REG 1 /* WUENR11 */
0x00f01b27 1>; /* WUBEMR11 */
wakeup-controller;
#wuc-cells = <1>;
};
wuc12: wakeup-controller@f01b28 {
compatible = "ite,it8xxx2-wuc";
reg = <0x00f01b28 1 /* WUEMR12 */
0x00f01b29 1 /* WUESR12 */
IT8XXX2_WUC_UNUSED_REG 1 /* WUENR12 */
0x00f01b2b 1>; /* WUBEMR12 */
wakeup-controller;
#wuc-cells = <1>;
};
wuc13: wakeup-controller@f01b2c {
compatible = "ite,it8xxx2-wuc";
reg = <0x00f01b2c 1 /* WUEMR13 */
0x00f01b2d 1 /* WUESR13 */
IT8XXX2_WUC_UNUSED_REG 1 /* WUENR13 */
0x00f01b2f 1>; /* WUBEMR13 */
wakeup-controller;
#wuc-cells = <1>;
};
wuc14: wakeup-controller@f01b30 {
compatible = "ite,it8xxx2-wuc";
reg = <0x00f01b30 1 /* WUEMR14 */
0x00f01b31 1 /* WUESR14 */
IT8XXX2_WUC_UNUSED_REG 1 /* WUENR14 */
0x00f01b33 1>; /* WUBEMR14 */
wakeup-controller;
#wuc-cells = <1>;
};
wuc15: wakeup-controller@f01b34 {
compatible = "ite,it8xxx2-wuc";
reg = <0x00f01b34 1 /* WUEMR15 */
0x00f01b35 1 /* WUESR15 */
IT8XXX2_WUC_UNUSED_REG 1 /* WUENR15 */
0x00f01b37 1>; /* WUBEMR15 */
wakeup-controller;
#wuc-cells = <1>;
};
wuc16: wakeup-controller@f01b38 {
compatible = "ite,it8xxx2-wuc";
reg = <0x00f01b38 1 /* WUEMR16 */
0x00f01b39 1 /* WUESR16 */
IT8XXX2_WUC_UNUSED_REG 1 /* WUENR16 */
0x00f01b3b 1>; /* WUBEMR16 */
wakeup-controller;
#wuc-cells = <1>;
};
intc: interrupt-controller@f03f00 {
compatible = "ite,it8xxx2-intc";
#address-cells = <0>;
#interrupt-cells = <2>;
interrupt-controller;
reg = <0x00f03f00 0x0100>;
};
uart1: uart@f02700 {
compatible = "ns16550";
reg = <0x00f02700 0x0020>;
status = "disabled";
current-speed = <115200>;
clock-frequency = <1804800>;
interrupts = <38 IRQ_TYPE_EDGE_RISING>;
interrupt-parent = <&intc>;
reg-shift = <0>;
};
uart2: uart@f02800 {
compatible = "ns16550";
reg = <0x00f02800 0x0020>;
status = "disabled";
current-speed = <460800>;
clock-frequency = <1804800>;
interrupts = <39 IRQ_TYPE_EDGE_RISING>;
interrupt-parent = <&intc>;
reg-shift = <0>;
};
ite_uart1_wrapper: uartwrapper@f02720 {
compatible = "ite,it8xxx2-uart";
reg = <0x00f02720 0x0020>;
status = "disabled";
port-num = <1>;
gpios = <&gpiob 0 0>;
uart-dev = <&uart1>;
};
ite_uart2_wrapper: uartwrapper@f02820 {
compatible = "ite,it8xxx2-uart";
reg = <0x00f02820 0x0020>;
status = "disabled";
port-num = <2>;
gpios = <&gpioh 1 0>;
uart-dev = <&uart2>;
};
twd0: watchdog@f01f00 {
compatible = "ite,it8xxx2-watchdog";
reg = <0x00f01f00 0x0062>;
interrupts = <IT8XXX2_IRQ_TIMER1 IRQ_TYPE_EDGE_RISING /* Warning timer */
IT8XXX2_IRQ_TIMER2 IRQ_TYPE_EDGE_RISING>; /* One shot timer */
interrupt-parent = <&intc>;
};
timer: timer@f01f10 {
compatible = "ite,it8xxx2-timer";
reg = <0x00f01f10 0x0052>;
interrupts = <IT8XXX2_IRQ_TIMER3 IRQ_TYPE_EDGE_RISING /* Event timer */
IT8XXX2_IRQ_TIMER4 IRQ_TYPE_EDGE_RISING /* Free run timer */
IT8XXX2_IRQ_TIMER5 IRQ_TYPE_EDGE_RISING /* Busy wait low */
IT8XXX2_IRQ_TIMER6 IRQ_TYPE_EDGE_RISING /* Busy wait high */
IT8XXX2_IRQ_TIMER7 IRQ_TYPE_EDGE_RISING
IT8XXX2_IRQ_TIMER8 IRQ_TYPE_EDGE_RISING>;
interrupt-parent = <&intc>;
};
gpiogcr: gpio-gcr@f01600 {
compatible = "ite,it8xxx2-gpiogcr";
reg = <0x00f01600 0x100>;
};
gpioa: gpio@f01601 {
compatible = "ite,it8xxx2-gpio";
reg = <0x00f01601 1 /* GPDR (set) */
0x00f01610 8 /* GPCR */
0x00f01661 1 /* GPDMR (get) */
0x00f01671 1>; /* GPOTR */
ngpios = <8>;
gpio-controller;
interrupts = <IT8XXX2_IRQ_WU91 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU92 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU93 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU80 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU81 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU82 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU83 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU100 IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
#gpio-cells = <2>;
};
gpiob: gpio@f01602 {
compatible = "ite,it8xxx2-gpio";
reg = <0x00f01602 1 /* GPDR (set) */
0x00f01618 8 /* GPCR */
0x00f01662 1 /* GPDMR (get) */
0x00f01672 1>; /* GPOTR */
ngpios = <8>;
gpio-controller;
interrupts = <IT8XXX2_IRQ_WU101 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU102 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU84 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU103 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU94 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU104 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU105 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU106 IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
wakeup-source; /* WUI53 */
#gpio-cells = <2>;
};
gpioc: gpio@f01603 {
compatible = "ite,it8xxx2-gpio";
reg = <0x00f01603 1 /* GPDR (set) */
0x00f01620 8 /* GPCR */
0x00f01663 1 /* GPDMR (get) */
0x00f01673 1>; /* GPOTR */
ngpios = <8>;
gpio-controller;
interrupts = <IT8XXX2_IRQ_WU85 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU107 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU95 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU108 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU22 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU109 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU23 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU86 IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
#gpio-cells = <2>;
};
gpiod: gpio@f01604 {
compatible = "ite,it8xxx2-gpio";
reg = <0x00f01604 1 /* GPDR (set) */
0x00f01628 8 /* GPCR */
0x00f01664 1 /* GPDMR (get) */
0x00f01674 1>; /* GPOTR */
ngpios = <8>;
gpio-controller;
interrupts = <IT8XXX2_IRQ_WU20 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU21 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU24 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU110 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU111 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU112 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU113 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU87 IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
#gpio-cells = <2>;
};
gpioe: gpio@f01605 {
compatible = "ite,it8xxx2-gpio";
reg = <0x00f01605 1 /* GPDR (set) */
0x00f01630 8 /* GPCR */
0x00f01665 1 /* GPDMR (get) */
0x00f01675 1>; /* GPOTR */
ngpios = <8>;
gpio-controller;
interrupts = <IT8XXX2_IRQ_WU70 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU71 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU72 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU73 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU114 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU40 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU45 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU46 IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
#gpio-cells = <2>;
};
gpiof: gpio@f01606 {
compatible = "ite,it8xxx2-gpio";
reg = <0x00f01606 1 /* GPDR (set) */
0x00f01638 8 /* GPCR */
0x00f01666 1 /* GPDMR (get) */
0x00f01676 1>; /* GPOTR */
ngpios = <8>;
gpio-controller;
interrupts = <IT8XXX2_IRQ_WU96 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU97 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU98 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU99 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU64 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU65 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU66 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU67 IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
#gpio-cells = <2>;
};
gpiog: gpio@f01607 {
compatible = "ite,it8xxx2-gpio";
reg = <0x00f01607 1 /* GPDR (set) */
0x00f01640 8 /* GPCR */
0x00f01667 1 /* GPDMR (get) */
0x00f01677 1>; /* GPOTR */
ngpios = <8>;
gpio-controller;
interrupts = <IT8XXX2_IRQ_WU115 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU116 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU117 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU123 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU124 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU125 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU118 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU126 IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
#gpio-cells = <2>;
};
gpioh: gpio@f01608 {
compatible = "ite,it8xxx2-gpio";
reg = <0x00f01608 1 /* GPDR (set) */
0x00f01648 8 /* GPCR */
0x00f01668 1 /* GPDMR (get) */
0x00f01678 1>; /* GPOTR */
ngpios = <8>;
gpio-controller;
interrupts = <IT8XXX2_IRQ_WU60 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU61 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU62 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU63 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU88 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU89 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU90 IRQ_TYPE_LEVEL_HIGH
0 IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
wakeup-source; /* WUI17 */
#gpio-cells = <2>;
};
gpioi: gpio@f01609 {
compatible = "ite,it8xxx2-gpio";
reg = <0x00f01609 1 /* GPDR (set) */
0x00f01650 8 /* GPCR */
0x00f01669 1 /* GPDMR (get) */
0x00f01679 1>; /* GPOTR */
ngpios = <8>;
gpio-controller;
interrupts = <IT8XXX2_IRQ_WU119 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU120 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU121 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU122 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU74 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU75 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU76 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU77 IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
#gpio-cells = <2>;
};
gpioj: gpio@f0160a {
compatible = "ite,it8xxx2-gpio";
reg = <0x00f0160a 1 /* GPDR (set) */
0x00f01658 8 /* GPCR */
0x00f0166a 1 /* GPDMR (get) */
0x00f0167a 1>; /* GPOTR */
ngpios = <8>;
gpio-controller;
interrupts = <IT8XXX2_IRQ_WU128 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU129 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU130 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU131 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU132 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU133 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU134 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU135 IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
#gpio-cells = <2>;
};
gpiok: gpio@f0160b {
compatible = "ite,it8xxx2-gpio";
reg = <0x00f0160b 1 /* GPDR (set) */
0x00f01690 8 /* GPCR */
0x00f0166b 1 /* GPDMR (get) */
0x00f0167b 1>; /* GPOTR */
ngpios = <8>;
gpio-controller;
interrupts = <IT8XXX2_IRQ_WU50 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU51 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU52 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU53 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU54 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU55 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU56 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU57 IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
#gpio-cells = <2>;
};
gpiol: gpio@f0160c {
compatible = "ite,it8xxx2-gpio";
reg = <0x00f0160c 1 /* GPDR (set) */
0x00f01698 8 /* GPCR */
0x00f0166c 1 /* GPDMR (get) */
0x00f0167c 1>; /* GPOTR */
ngpios = <8>;
gpio-controller;
interrupts = <IT8XXX2_IRQ_WU136 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU137 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU138 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU139 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU140 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU141 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU142 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU143 IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
#gpio-cells = <2>;
};
gpiom: gpio@f0160d {
compatible = "ite,it8xxx2-gpio";
reg = <0x00f0160d 1 /* GPDR (set) */
0x00f016a0 8 /* GPCR */
0x00f0166d 1 /* GPDMR (get) */
0x00f0167d 1>; /* GPOTR */
ngpios = <7>;
gpio-controller;
interrupts = <IT8XXX2_IRQ_WU144 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU145 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU146 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU147 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU148 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU149 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_WU150 IRQ_TYPE_LEVEL_HIGH
0 IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
#gpio-cells = <2>;
};
espi0: espi@f03100 {
compatible = "ite,it8xxx2-espi";
reg = <0x00f03100 0xd8 /* eSPI slave */
0x00f03200 0x9a /* eSPI VW */
0x00f03300 0xd0 /* eSPI Queue 0 */
0x00f03400 0xc0 /* eSPI Queue 1 */
0x00f01200 6 /* EC2I bridge */
0x00f01300 11 /* Host KBC */
0x00f01500 0x100 /* Host PMC */
0x00f01000 0xd1>; /* SMFI */
interrupts = <IT8XXX2_IRQ_ESPI IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_ESPI_VW IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_KBC_IBF IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_KBC_OBE IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_PMC1_IBF IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_PCH_P80 IRQ_TYPE_LEVEL_HIGH
IT8XXX2_IRQ_PMC2_IBF IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
#address-cells = <1>;
#size-cells = <1>;
status = "disabled";
};
spi0:spi@f02600 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "ite,it8xxx2-sspi";
reg = <0x00f02600 0x40>;
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>;
interrupts = <37 IRQ_TYPE_EDGE_RISING>;
interrupt-parent = <&intc>;
status = "okay";
};
adc0: adc@f01900 {
compatible = "ite,it8xxx2-adc";
reg = <0xf01900 0x45>;
interrupts = <8 IRQ_TYPE_NONE>;
interrupt-parent = <&intc>;
status = "disabled";
#io-channel-cells = <1>;
};
vcmp0: vcmp@f01946 {
compatible = "ite,it8xxx2-vcmp";
reg = <0xf01946 0x01 /* VCMP0CTL */
0xf01977 0x01 /* VCMP0CSELM */
0xf01937 0x01 /* VCMPSCP */
0xf01947 0x01 /* VCMP0THRDATM */
0xf01948 0x01 /* VCMP0THRDATL */
0xf01945 0x01 /* VCMPSTS */
0xf0196d 0x01>; /* VCMPSTS2 */
interrupts = <IT8XXX2_IRQ_V_CMP IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
vcmp-ch = <VCMP_CHANNEL_0>;
status = "disabled";
};
vcmp1: vcmp@f01949 {
compatible = "ite,it8xxx2-vcmp";
reg = <0xf01949 0x01 /* VCMP1CTL */
0xf01978 0x01 /* VCMP1CSELM */
0xf01937 0x01 /* VCMPSCP */
0xf0194a 0x01 /* VCMP1THRDATM */
0xf0194b 0x01 /* VCMP1THRDATL */
0xf01945 0x01 /* VCMPSTS */
0xf0196d 0x01>; /* VCMPSTS2 */
interrupts = <IT8XXX2_IRQ_V_CMP IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
vcmp-ch = <VCMP_CHANNEL_1>;
status = "disabled";
};
vcmp2: vcmp@f0194c {
compatible = "ite,it8xxx2-vcmp";
reg = <0xf0194c 0x01 /* VCMP2CTL */
0xf01979 0x01 /* VCMP2CSELM */
0xf01937 0x01 /* VCMPSCP */
0xf0194d 0x01 /* VCMP2THRDATM */
0xf0194e 0x01 /* VCMP2THRDATL */
0xf01945 0x01 /* VCMPSTS */
0xf0196d 0x01>; /* VCMPSTS2 */
interrupts = <IT8XXX2_IRQ_V_CMP IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
vcmp-ch = <VCMP_CHANNEL_2>;
status = "disabled";
};
vcmp3: vcmp@f0196e {
compatible = "ite,it8xxx2-vcmp";
reg = <0xf0196e 0x01 /* VCMP3CTL */
0xf0197a 0x01 /* VCMP3CSELM */
0xf01937 0x01 /* VCMPSCP */
0xf0196f 0x01 /* VCMP3THRDATM */
0xf01970 0x01 /* VCMP3THRDATL */
0xf01945 0x01 /* VCMPSTS */
0xf0196d 0x01>; /* VCMPSTS2 */
interrupts = <IT8XXX2_IRQ_V_CMP IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
vcmp-ch = <VCMP_CHANNEL_3>;
status = "disabled";
};
vcmp4: vcmp@f01971 {
compatible = "ite,it8xxx2-vcmp";
reg = <0xf01971 0x01 /* VCMP4CTL */
0xf0197b 0x01 /* VCMP4CSELM */
0xf01937 0x01 /* VCMPSCP */
0xf01972 0x01 /* VCMP4THRDATM */
0xf01973 0x01 /* VCMP4THRDATL */
0xf01945 0x01 /* VCMPSTS */
0xf0196d 0x01>; /* VCMPSTS2 */
interrupts = <IT8XXX2_IRQ_V_CMP IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
vcmp-ch = <VCMP_CHANNEL_4>;
status = "disabled";
};
vcmp5: vcmp@f01974 {
compatible = "ite,it8xxx2-vcmp";
reg = <0xf01974 0x01 /* VCMP5CTL */
0xf0197c 0x01 /* VCMP5CSELM */
0xf01937 0x01 /* VCMPSCP */
0xf01975 0x01 /* VCMP5THRDATM */
0xf01976 0x01 /* VCMP5THRDATL */
0xf01945 0x01 /* VCMPSTS */
0xf0196d 0x01>; /* VCMPSTS2 */
interrupts = <IT8XXX2_IRQ_V_CMP IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
vcmp-ch = <VCMP_CHANNEL_5>;
status = "disabled";
};
i2c0: i2c@f01c40 {
compatible = "ite,it8xxx2-i2c";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x00f01c40 0x0040 /* Base address */
0x00f01c0d 0x0001>; /* MSTFCTRL1 */
interrupts = <IT8XXX2_IRQ_SMB_A IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
status = "disabled";
port-num = <SMB_CHANNEL_A>;
scl-gpios = <&gpiob 3 0>;
sda-gpios = <&gpiob 4 0>;
clock-gate-offset = <CGC_OFFSET_SMBA>;
fifo-enable; /* FIFO1 */
};
i2c1: i2c@f01c80 {
compatible = "ite,it8xxx2-i2c";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x00f01c80 0x0040 /* Base address */
0x00f01c0f 0x0001>; /* MSTFCTRL2 */
interrupts = <IT8XXX2_IRQ_SMB_B IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
status = "disabled";
port-num = <SMB_CHANNEL_B>;
scl-gpios = <&gpioc 1 0>;
sda-gpios = <&gpioc 2 0>;
clock-gate-offset = <CGC_OFFSET_SMBB>;
/delete-property/ fifo-enable; /* FIFO2 */
};
i2c2: i2c@f01cc0 {
compatible = "ite,it8xxx2-i2c";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x00f01cc0 0x0040 /* Base address */
0x00f01c0f 0x0001>; /* MSTFCTRL2 */
interrupts = <IT8XXX2_IRQ_SMB_C IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
status = "disabled";
port-num = <SMB_CHANNEL_C>;
scl-gpios = <&gpiof 6 0>;
sda-gpios = <&gpiof 7 0>;
clock-gate-offset = <CGC_OFFSET_SMBC>;
fifo-enable; /* FIFO2 */
};
i2c3: i2c@f03680 {
compatible = "ite,enhance-i2c";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x00f03680 0x0080>;
interrupts = <IT8XXX2_IRQ_SMB_D IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
status = "disabled";
port-num = <I2C_CHANNEL_D>;
scl-gpios = <&gpioh 1 0>;
sda-gpios = <&gpioh 2 0>;
clock-gate-offset = <CGC_OFFSET_SMBD>;
};
i2c4: i2c@f03500 {
compatible = "ite,enhance-i2c";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x00f03500 0x0080>;
interrupts = <IT8XXX2_IRQ_SMB_E IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
status = "disabled";
port-num = <I2C_CHANNEL_E>;
scl-gpios = <&gpioe 0 0>;
sda-gpios = <&gpioe 7 0>;
clock-gate-offset = <CGC_OFFSET_SMBE>;
};
i2c5: i2c@f03580 {
compatible = "ite,enhance-i2c";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x00f03580 0x0080>;
interrupts = <IT8XXX2_IRQ_SMB_F IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intc>;
status = "disabled";
port-num = <I2C_CHANNEL_F>;
scl-gpios = <&gpioa 4 0>;
sda-gpios = <&gpioa 5 0>;
clock-gate-offset = <CGC_OFFSET_SMBF>;
};
ecpm: clock-controller@f01e00 {
compatible = "ite,it8xxx2-ecpm";
reg = <0x00f01e00 0x11>;
reg-names = "ecpm";
};
prs: pwmprs@f01800 {
compatible = "ite,it8xxx2-pwmprs";
reg = <0x00f01800 1>;
};
pwm0: pwm@f01802 {
compatible = "ite,it8xxx2-pwm";
reg = <0x00f01802 1 /* DCR */
0x00f0180c 1 /* PCSSG */
0x00f0180f 1 /* PCSG */
0x00f0180a 1>; /* PWMPOL */
channel = <PWM_CHANNEL_0>;
status = "disabled";
pwmctrl = <&prs>;
#pwm-cells = <3>;
};
pwm1: pwm@f01803 {
compatible = "ite,it8xxx2-pwm";
reg = <0x00f01803 1 /* DCR */
0x00f0180c 1 /* PCSSG */
0x00f0180f 1 /* PCSG */
0x00f0180a 1>; /* PWMPOL */
channel = <PWM_CHANNEL_1>;
status = "disabled";
pwmctrl = <&prs>;
#pwm-cells = <3>;
};
pwm2: pwm@f01804 {
compatible = "ite,it8xxx2-pwm";
reg = <0x00f01804 1 /* DCR */
0x00f0180c 1 /* PCSSG */
0x00f0180f 1 /* PCSG */
0x00f0180a 1>; /* PWMPOL */
channel = <PWM_CHANNEL_2>;
status = "disabled";
pwmctrl = <&prs>;
#pwm-cells = <3>;
};
pwm3: pwm@f01805 {
compatible = "ite,it8xxx2-pwm";
reg = <0x00f01805 1 /* DCR */
0x00f0180c 1 /* PCSSG */
0x00f0180f 1 /* PCSG */
0x00f0180a 1>; /* PWMPOL */
channel = <PWM_CHANNEL_3>;
status = "disabled";
pwmctrl = <&prs>;
#pwm-cells = <3>;
};
pwm4: pwm@f01806 {
compatible = "ite,it8xxx2-pwm";
reg = <0x00f01806 1 /* DCR */
0x00f0180d 1 /* PCSSG */
0x00f0180f 1 /* PCSG */
0x00f0180a 1>; /* PWMPOL */
channel = <PWM_CHANNEL_4>;
status = "disabled";
pwmctrl = <&prs>;
#pwm-cells = <3>;
};
pwm5: pwm@f01807 {
compatible = "ite,it8xxx2-pwm";
reg = <0x00f01807 1 /* DCR */
0x00f0180d 1 /* PCSSG */
0x00f0180f 1 /* PCSG */
0x00f0180a 1>; /* PWMPOL */
channel = <PWM_CHANNEL_5>;
status = "disabled";
pwmctrl = <&prs>;
#pwm-cells = <3>;
};
pwm6: pwm@f01808 {
compatible = "ite,it8xxx2-pwm";
reg = <0x00f01808 1 /* DCR */
0x00f0180d 1 /* PCSSG */
0x00f0180f 1 /* PCSG */
0x00f0180a 1>; /* PWMPOL */
channel = <PWM_CHANNEL_6>;
status = "disabled";
pwmctrl = <&prs>;
#pwm-cells = <3>;
};
pwm7: pwm@f01809 {
compatible = "ite,it8xxx2-pwm";
reg = <0x00f01809 1 /* DCR */
0x00f0180d 1 /* PCSSG */
0x00f0180f 1 /* PCSG */
0x00f0180a 1>; /* PWMPOL */
channel = <PWM_CHANNEL_7>;
status = "disabled";
pwmctrl = <&prs>;
#pwm-cells = <3>;
};
tach0: tach@f0181e {
compatible = "ite,it8xxx2-tach";
reg = <0x00f0181e 1 /* F1TLRR */
0x00f0181f 1 /* F1TMRR */
0x00f01848 1>; /* TSWCTLR */
dvs-bit = <BIT(3)>;
chsel-bit = <BIT(2)>;
status = "disabled";
};
tach1: tach@f01820 {
compatible = "ite,it8xxx2-tach";
reg = <0x00f01820 1 /* F2TLRR */
0x00f01821 1 /* F2TMRR */
0x00f01848 1>; /* TSWCTLR */
dvs-bit = <BIT(1)>;
chsel-bit = <BIT(0)>;
status = "disabled";
};
gctrl: general-control@f02000 {
compatible = "ite,it8xxx2-gctrl";
reg = <0x00f02000 0x100>;
};
peci0: peci@f02c00 {
compatible = "ite,it8xxx2-peci";
reg = <0x00f02c00 15>;
#address-cells=<1>;
#size-cells = <0>;
interrupt-parent = <&intc>;
interrupts = <160 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
kscan0: kscan@f01d00 {
compatible = "ite,it8xxx2-kscan";
reg = <0x00f01d00 0x29>;
interrupt-parent = <&intc>;
interrupts = <IT8XXX2_IRQ_WKINTC IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
wucctrl = <&wuc_wu30 /* KSI[0] */
&wuc_wu31 /* KSI[1] */
&wuc_wu32 /* KSI[2] */
&wuc_wu33 /* KSI[3] */
&wuc_wu34 /* KSI[4] */
&wuc_wu35 /* KSI[5] */
&wuc_wu36 /* KSI[6] */
&wuc_wu37>; /* KSI[7] */
kso16-gpios = <&gpioc 3 (GPIO_OPEN_DRAIN | GPIO_PULL_UP)>;
kso17-gpios = <&gpioc 5 (GPIO_OPEN_DRAIN | GPIO_PULL_UP)>;
};
usbpd0: usbpd@f03700 {
compatible = "ite,it8xxx2-usbpd";
reg = <0x00f03700 0x100>;
status = "disabled";
};
usbpd1: usbpd@f03800 {
compatible = "ite,it8xxx2-usbpd";
reg = <0x00f03800 0x100>;
status = "disabled";
};
};
};