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