/*
 * 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/dt-util.h>
#include <dt-bindings/interrupt-controller/ite-intc.h>
#include <dt-bindings/interrupt-controller/it8xxx2-wuc.h>
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/i2c/it8xxx2-i2c.h>
#include <dt-bindings/pinctrl/it8xxx2-pinctrl.h>
#include <dt-bindings/pwm/pwm.h>
#include <dt-bindings/pwm/it8xxx2_pwm.h>
#include <dt-bindings/sensor/it8xxx2_vcmp.h>
#include <dt-bindings/sensor/it8xxx2_tach.h>
#include "it8xxx2-alts-map.dtsi"
#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>;
			label = "BBRAM";
		};
		flashctrl: flash-controller@f01000 {
			compatible = "ite,it8xxx2-flash-controller";
			reg = <0x00f01000 0x100>;
			label = "fspi";
			#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>;
			};
		};
		pinmuxa: pinmux@f01610 {
			compatible = "ite,it8xxx2-pinmux";
			reg = <0x00f01610 0x0008>;
			label = "PINMUXA";
			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       >;
			#pinctrl-cells = <2>;
		};
		pinmuxb: pinmux@f01618 {
			compatible = "ite,it8xxx2-pinmux";
			reg = <0x00f01618 0x0008>;
			label = "PINMUXB";
			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    >;
			#pinctrl-cells = <2>;
		};
		pinmuxc: pinmux@f01620 {
			compatible = "ite,it8xxx2-pinmux";
			reg = <0x00f01620 0x0008>;
			label = "PINMUXC";
			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    >;
			#pinctrl-cells = <2>;
		};
		pinmuxd: pinmux@f01628 {
			compatible = "ite,it8xxx2-pinmux";
			reg = <0x00f01628 0x0008>;
			label = "PINMUXD";
			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      >;
			#pinctrl-cells = <2>;
		};
		pinmuxe: pinmux@f01630 {
			compatible = "ite,it8xxx2-pinmux";
			reg = <0x00f01630 0x0008>;
			label = "PINMUXE";
			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       >;
			#pinctrl-cells = <2>;
		};
		pinmuxf: pinmux@f01638 {
			compatible = "ite,it8xxx2-pinmux";
			reg = <0x00f01638 0x0008>;
			label = "PINMUXF";
			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       >;
			#pinctrl-cells = <2>;
		};
		pinmuxg: pinmux@f01640 {
			compatible = "ite,it8xxx2-pinmux";
			reg = <0x00f01640 0x0008>;
			label = "PINMUXG";
			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      >;
			#pinctrl-cells = <2>;
		};
		pinmuxh: pinmux@f01648 {
			compatible = "ite,it8xxx2-pinmux";
			reg = <0x00f01648 0x0008>;
			label = "PINMUXH";
			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      >;
			#pinctrl-cells = <2>;
		};
		pinmuxi: pinmux@f01650 {
			compatible = "ite,it8xxx2-pinmux";
			reg = <0x00f01650 0x0008>;
			label = "PINMUXI";
			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       >;
			#pinctrl-cells = <2>;
		};
		pinmuxj: pinmux@f01658 {
			compatible = "ite,it8xxx2-pinmux";
			reg = <0x00f01658 0x0008>;
			label = "PINMUXJ";
			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      >;
			#pinctrl-cells = <2>;
		};
		pinmuxk: pinmux@f01690 {
			compatible = "ite,it8xxx2-pinmux";
			reg = <0x00f01690 0x0008>;
			label = "PINMUXK";
			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      >;
			#pinctrl-cells = <2>;
		};
		pinmuxl: pinmux@f01698 {
			compatible = "ite,it8xxx2-pinmux";
			reg = <0x00f01698 0x0008>;
			label = "PINMUXL";
			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      >;
			#pinctrl-cells = <2>;
		};
		pinmuxm: pinmux@f016a0 {
			compatible = "ite,it8xxx2-pinmux";
			reg = <0x00f016a0 0x0008>;
			label = "PINMUXM";
			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      >;
			#pinctrl-cells = <2>;
		};
		sram0: memory@80101000 {
			compatible = "mmio-sram";
			reg = <0x80101000 DT_SIZE_K(56)>;
		};
		wuc1: wakeup-controller@f01b00 {
			compatible = "ite,it8xxx2-wuc";
			reg = <0x00f01b00 1   /* WUEMR1 */
			       0x00f01b04 1   /* WUESR1 */
			       0x00f01b08 1   /* WUENR1 */
			       0x00f01b3c 1>; /* WUBEMR1 */
			label = "WUC_1";
			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 */
			label = "WUC_2";
			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 */
			label = "WUC_3";
			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 */
			label = "WUC_4";
			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 */
			label = "WUC_5";
			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 */
			label = "WUC_6";
			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 */
			label = "WUC_7";
			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 */
			label = "WUC_8";
			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 */
			label = "WUC_9";
			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 */
			label = "WUC_10";
			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 */
			label = "WUC_11";
			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 */
			label = "WUC_12";
			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 */
			label = "WUC_13";
			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 */
			label = "WUC_14";
			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 */
			label = "WUC_15";
			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 */
			label = "WUC_16";
			wakeup-controller;
			#wuc-cells = <1>;
		};

		intc: interrupt-controller@f03f00 {
			#interrupt-cells = <2>;
			compatible = "ite,it8xxx2-intc";
			interrupt-controller;
			reg = <0x00f03f00 0x0100>;
		};
		uart1: uart@f02700 {
			compatible = "ns16550";
			reg = <0x00f02700 0x0020>;
			status = "disabled";
			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>;
			status = "disabled";
			label = "UART_2";
			current-speed = <460800>;
			clock-frequency = <1804800>;
			interrupts = <39 IRQ_TYPE_EDGE_RISING>;
			interrupt-parent = <&intc>;
		};

		ite_uart1_wrapper: uartwrapper@f02720 {
			compatible = "ite,it8xxx2-uart";
			reg = <0x00f02720 0x0020>;
			status = "disabled";
			label = "UART1_WRAPPER";
			port-num = <1>;
			gpios = <&gpiob 0 0>;
			uart-dev = <&uart1>;
		};

		ite_uart2_wrapper: uartwrapper@f02820 {
			compatible = "ite,it8xxx2-uart";
			reg = <0x00f02820 0x0020>;
			status = "disabled";
			label = "UART2_WRAPPER";
			port-num = <2>;
			gpios = <&gpioh 1 0>;
			uart-dev = <&uart2>;
		};

		twd0: watchdog@f01f00 {
			compatible = "ite,it8xxx2-watchdog";
			reg = <0x00f01f00 0x0062>;
			label = "TWD_0";
			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>;
			label = "TIMER";
			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>;
		};

		gpioa: gpio@f01601 {
			compatible = "ite,it8xxx2-gpio";
			reg = <0x00f01601 1   /* GPDR (set) */
			       0x00f01610 8   /* GPCR */
			       0x00f01661 1   /* GPDMR (get) */
			       0x00f01671 1>; /* GPOTR */
			ngpios = <8>;
			label = "GPIO_A";
			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>;
			label = "GPIO_B";
			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>;
			label = "GPIO_C";
			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>;
			label = "GPIO_D";
			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>;
			label = "GPIO_E";
			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>;
			label = "GPIO_F";
			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>;
			label = "GPIO_G";
			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>;
			label = "GPIO_H";
			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>;
			label = "GPIO_I";
			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>;
			label = "GPIO_J";
			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>;
			label = "GPIO_K";
			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>;
			label = "GPIO_L";
			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>;
			label = "GPIO_M";
			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>;
			label = "ESPI_0";
			#address-cells = <1>;
			#size-cells = <1>;
			status = "disabled";
		};

		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";
		};
		adc0: adc@f01900 {
			compatible = "ite,it8xxx2-adc";
			reg = <0xf01900 0x45>;
			interrupts = <8 IRQ_TYPE_NONE>;
			interrupt-parent = <&intc>;
			status = "disabled";
			label = "ADC_0";
			#io-channel-cells = <1>;
			pinctrl-0 = <&pinctrl_adc0   /* ADC0*/
				     &pinctrl_adc1   /* ADC1*/
				     &pinctrl_adc2   /* ADC2*/
				     &pinctrl_adc3   /* ADC3*/
				     &pinctrl_adc4   /* ADC4*/
				     &pinctrl_adc5   /* ADC5*/
				     &pinctrl_adc6   /* ADC6*/
				     &pinctrl_adc7   /* ADC7*/
				     &pinctrl_adc13  /* ADC13*/
				     &pinctrl_adc14  /* ADC14*/
				     &pinctrl_adc15  /* ADC15*/
				     &pinctrl_adc16>;/* ADC16*/
		};
		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 */
			label = "VCMP_0";
			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 */
			label = "VCMP_1";
			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 */
			label = "VCMP_2";
			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 */
			label = "VCMP_3";
			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 */
			label = "VCMP_4";
			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 */
			label = "VCMP_5";
			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>;
			interrupts = <IT8XXX2_IRQ_SMB_A IRQ_TYPE_LEVEL_HIGH>;
			interrupt-parent = <&intc>;
			status = "disabled";
			label = "I2C_0";
			port-num = <0>;
			gpio-dev = <&gpiob>;
			clock-gate-offset = <CGC_OFFSET_SMBA>;
			pinctrl-0 = <&pinctrl_i2c_clk0    /* GPB3 */
				     &pinctrl_i2c_data0>; /* GPB4 */
		};

		i2c1: i2c@f01c80 {
			compatible = "ite,it8xxx2-i2c";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x00f01c80 0x0040>;
			interrupts = <IT8XXX2_IRQ_SMB_B IRQ_TYPE_LEVEL_HIGH>;
			interrupt-parent = <&intc>;
			status = "disabled";
			label = "I2C_1";
			port-num = <1>;
			gpio-dev = <&gpioc>;
			clock-gate-offset = <CGC_OFFSET_SMBB>;
			pinctrl-0 = <&pinctrl_i2c_clk1    /* GPC1 */
				     &pinctrl_i2c_data1>; /* GPC2 */
		};

		i2c2: i2c@f01cc0 {
			compatible = "ite,it8xxx2-i2c";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x00f01cc0 0x0040>;
			interrupts = <IT8XXX2_IRQ_SMB_C IRQ_TYPE_LEVEL_HIGH>;
			interrupt-parent = <&intc>;
			status = "disabled";
			label = "I2C_2";
			port-num = <2>;
			gpio-dev = <&gpiof>;
			clock-gate-offset = <CGC_OFFSET_SMBC>;
			pinctrl-0 = <&pinctrl_i2c_clk2    /* GPF6 */
				     &pinctrl_i2c_data2>; /* GPF7 */
		};

		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";
			label = "I2C_3";
			port-num = <3>;
			gpio-dev = <&gpioh>;
			clock-gate-offset = <CGC_OFFSET_SMBD>;
			pinctrl-0 = <&pinctrl_i2c_clk3_gph1    /* GPH1 */
				     &pinctrl_i2c_data3_gph2>; /* GPH2 */
		};

		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";
			label = "I2C_4";
			port-num = <4>;
			gpio-dev = <&gpioe>;
			clock-gate-offset = <CGC_OFFSET_SMBE>;
			pinctrl-0 = <&pinctrl_i2c_clk4    /* GPE0 */
				     &pinctrl_i2c_data4>; /* GPE7 */
		};

		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";
			label = "I2C_5";
			port-num = <5>;
			gpio-dev = <&gpioa>;
			clock-gate-offset = <CGC_OFFSET_SMBF>;
			pinctrl-0 = <&pinctrl_i2c_clk5    /* GPA4 */
				     &pinctrl_i2c_data5>; /* GPA5 */
		};

		ecpm: clock-controller@f01e00 {
			compatible = "ite,it8xxx2-ecpm";
			reg = <0x00f01e00 0x11>;
			reg-names = "ecpm";
			label = "EC_PM";
		};
		prs: pwmprs@f01800 {
			compatible = "ite,it8xxx2-pwmprs";
			reg = <0x00f01800 1>;
			label = "prescaler";
		};
		pwm0: pwm@f01802 {
			compatible = "ite,it8xxx2-pwm";
			reg = <0x00f01802 1   /* DCR */
			       0x00f0180c 1   /* PCSSG */
			       0x00f0180f 1   /* PCSG */
			       0x00f0180a 1>; /* PWMPOL */
			channel = <PWM_CHANNEL_0>;
			label = "pwm_0";
			status = "disabled";
			pwmctrl = <&prs>;
			pinctrl-0 = <&pinctrl_pwm0>; /* GPA0 */
			#pwm-cells = <2>;
		};
		pwm1: pwm@f01803 {
			compatible = "ite,it8xxx2-pwm";
			reg = <0x00f01803 1   /* DCR */
			       0x00f0180c 1   /* PCSSG */
			       0x00f0180f 1   /* PCSG */
			       0x00f0180a 1>; /* PWMPOL */
			channel = <PWM_CHANNEL_1>;
			label = "pwm_1";
			status = "disabled";
			pwmctrl = <&prs>;
			pinctrl-0 = <&pinctrl_pwm1>; /* GPA1 */
			#pwm-cells = <2>;
		};
		pwm2: pwm@f01804 {
			compatible = "ite,it8xxx2-pwm";
			reg = <0x00f01804 1   /* DCR */
			       0x00f0180c 1   /* PCSSG */
			       0x00f0180f 1   /* PCSG */
			       0x00f0180a 1>; /* PWMPOL */
			channel = <PWM_CHANNEL_2>;
			label = "pwm_2";
			status = "disabled";
			pwmctrl = <&prs>;
			pinctrl-0 = <&pinctrl_pwm2>; /* GPA2 */
			#pwm-cells = <2>;
		};
		pwm3: pwm@f01805 {
			compatible = "ite,it8xxx2-pwm";
			reg = <0x00f01805 1   /* DCR */
			       0x00f0180c 1   /* PCSSG */
			       0x00f0180f 1   /* PCSG */
			       0x00f0180a 1>; /* PWMPOL */
			channel = <PWM_CHANNEL_3>;
			label = "pwm_3";
			status = "disabled";
			pwmctrl = <&prs>;
			pinctrl-0 = <&pinctrl_pwm3>; /* GPA3 */
			#pwm-cells = <2>;
		};
		pwm4: pwm@f01806 {
			compatible = "ite,it8xxx2-pwm";
			reg = <0x00f01806 1   /* DCR */
			       0x00f0180d 1   /* PCSSG */
			       0x00f0180f 1   /* PCSG */
			       0x00f0180a 1>; /* PWMPOL */
			channel = <PWM_CHANNEL_4>;
			label = "pwm_4";
			status = "disabled";
			pwmctrl = <&prs>;
			pinctrl-0 = <&pinctrl_pwm4>; /* GPA4 */
			#pwm-cells = <2>;
		};
		pwm5: pwm@f01807 {
			compatible = "ite,it8xxx2-pwm";
			reg = <0x00f01807 1   /* DCR */
			       0x00f0180d 1   /* PCSSG */
			       0x00f0180f 1   /* PCSG */
			       0x00f0180a 1>; /* PWMPOL */
			channel = <PWM_CHANNEL_5>;
			label = "pwm_5";
			status = "disabled";
			pwmctrl = <&prs>;
			pinctrl-0 = <&pinctrl_pwm5>; /* GPA5 */
			#pwm-cells = <2>;
		};
		pwm6: pwm@f01808 {
			compatible = "ite,it8xxx2-pwm";
			reg = <0x00f01808 1   /* DCR */
			       0x00f0180d 1   /* PCSSG */
			       0x00f0180f 1   /* PCSG */
			       0x00f0180a 1>; /* PWMPOL */
			channel = <PWM_CHANNEL_6>;
			label = "pwm_6";
			status = "disabled";
			pwmctrl = <&prs>;
			pinctrl-0 = <&pinctrl_pwm6>; /* GPA6 */
			#pwm-cells = <2>;
		};
		pwm7: pwm@f01809 {
			compatible = "ite,it8xxx2-pwm";
			reg = <0x00f01809 1   /* DCR */
			       0x00f0180d 1   /* PCSSG */
			       0x00f0180f 1   /* PCSG */
			       0x00f0180a 1>; /* PWMPOL */
			channel = <PWM_CHANNEL_7>;
			label = "pwm_7";
			status = "disabled";
			pwmctrl = <&prs>;
			pinctrl-0 = <&pinctrl_pwm7>; /* GPA7 */
			#pwm-cells = <2>;
		};
		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)>;
			label = "TACH_0";
			status = "disabled";
			pinctrl-0 = <&pinctrl_tach0a   /* GPD6 */
				     &pinctrl_tach0b>; /* GPJ2 */
		};
		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)>;
			label = "TACH_1";
			status = "disabled";
			pinctrl-0 = <&pinctrl_tach1a   /* GPD7 */
				     &pinctrl_tach1b>; /* GPJ3 */
		};

		gctrl: general-control@f02000 {
			compatible = "ite,it8xxx2-gctrl";
			reg = <0x00f02000 0x100>;
			label = "GCTRL";
		};

		peci0: peci@f02c00 {
			compatible = "ite,peci-it8xxx2";
			reg = <0x00f02c00 15>;
			label = "PECI_0";
			#address-cells=<1>;
			#size-cells = <0>;
			interrupt-parent = <&intc>;
			interrupts = <160 IRQ_TYPE_LEVEL_HIGH>;
			pinctrl-0 = <&pinctrl_peci>;
		};

		kscan0: kscan@f01d00 {
			compatible = "ite,it8xxx2-kscan";
			reg = <0x00f01d00 0x29>;
			label = "KSCAN";
			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] */
			gpio-dev = <&gpioc>;
			pinctrl-0 = <&pinctrl_kso16   /* GPC3 */
				     &pinctrl_kso17>; /* GPC5 */
		};
	};
};
