/*
 * Copyright (c) 2023 ITE Corporation. All Rights Reserved.
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <ite/it8xxx2.dtsi>

/ {
	soc {
		sram0: memory@80100000 {
			compatible = "mmio-sram";
			reg = <0x80100000 DT_SIZE_K(256)>;
		};

		intc: interrupt-controller@f03f00 {
			compatible = "ite,it8xxx2-intc-v2";
			#address-cells = <0>;
			#interrupt-cells = <2>;
			interrupt-controller;
			reg = <0x00f03f00 0x0100>;
		};

		twd0: watchdog@f01f80 {
			compatible = "ite,it8xxx2-watchdog";
			reg = <0x00f01f80 0x000f>;
			interrupts = <IT8XXX2_IRQ_TIMER1 IRQ_TYPE_EDGE_RISING   /* Warning timer */
				      IT8XXX2_IRQ_TIMER2 IRQ_TYPE_EDGE_RISING>; /* One shot timer */
			interrupt-parent = <&intc>;
		};

		gpiogcr: gpio-gcr@f03e00 {
			compatible = "ite,it8xxx2-gpiogcr";
			reg = <0x00f03e00 0x2f>;
		};

		gpioa: gpio@f01601 {
			compatible = "ite,it8xxx2-gpio-v2";
			reg = <0x00f01601 1   /* GPDR (set) */
			       0x00f01618 1   /* GPDMR (get) */
			       0x00f01630 1   /* GPOTR */
			       0x00f01648 1   /* P18SCR */
			       0x00f01660 8>; /* GPCR */
			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>;
			wuc-base = <0xf01b20 0xf01b20 0xf01b20 0xf01b1c
				    0xf01b1c 0xf01b1c 0xf01b1c 0xf01b24>;
			wuc-mask = <BIT(3)   BIT(4)   BIT(5)   BIT(0)
				    BIT(1)   BIT(2)   BIT(3)   BIT(4)  >;
			has-volt-sel = <1 1 1 1 1 1 1 1>;
			#gpio-cells = <2>;
		};

		gpiob: gpio@f01602 {
			compatible = "ite,it8xxx2-gpio-v2";
			reg = <0x00f01602 1   /* GPDR (set) */
			       0x00f01619 1   /* GPDMR (get) */
			       0x00f01631 1   /* GPOTR */
			       0x00f01649 1   /* P18SCR */
			       0x00f01668 8>; /* GPCR */
			ngpios = <7>;
			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
				      NO_FUNC 0>;
			interrupt-parent = <&intc>;
			wuc-base = <0xf01b24 0xf01b24 0xf01b1c 0xf01b24
				    0xf01b20 0xf01b28 0xf01b28 NO_FUNC >;
			wuc-mask = <BIT(5)   BIT(6)   BIT(4)   BIT(7)
				    BIT(6)   BIT(0)   BIT(1)   0       >;
			has-volt-sel = <1 1 1 1 1 1 1 0>;
			#gpio-cells = <2>;
		};

		gpioc: gpio@f01603 {
			compatible = "ite,it8xxx2-gpio-v2";
			reg = <0x00f01603 1   /* GPDR (set) */
			       0x00f0161a 1   /* GPDMR (get) */
			       0x00f01632 1   /* GPOTR */
			       0x00f0164a 1   /* P18SCR */
			       0x00f01670 8>; /* GPCR */
			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>;
			wuc-base = <0xf01b1c 0xf01b28 0xf01b20 0xf01b28
				    0xf01b04 0xf01b28 0xf01b04 0xf01b1c>;
			wuc-mask = <BIT(5)   BIT(3)   BIT(7)   BIT(4)
				    BIT(2)   BIT(5)   BIT(3)   BIT(6)  >;
			has-volt-sel = <1 1 1 1 1 1 1 1>;
			#gpio-cells = <2>;
		};

		gpiod: gpio@f01604 {
			compatible = "ite,it8xxx2-gpio-v2";
			reg = <0x00f01604 1   /* GPDR (set) */
			       0x00f0161b 1   /* GPDMR (get) */
			       0x00f01633 1   /* GPOTR */
			       0x00f0164b 1   /* P18SCR */
			       0x00f01678 8>; /* GPCR */
			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>;
			wuc-base = <0xf01b04 0xf01b04 0xf01b04 0xf01b28
				    0xf01b28 0xf01b2c 0xf01b2c 0xf01b1c>;
			wuc-mask = <BIT(0)   BIT(1)   BIT(4)   BIT(6)
				    BIT(7)   BIT(0)   BIT(1)   BIT(7)  >;
			has-volt-sel = <1 1 1 1 1 1 1 1>;
			#gpio-cells = <2>;
		};

		gpioe: gpio@f01605 {
			compatible = "ite,it8xxx2-gpio-v2";
			reg = <0x00f01605 1   /* GPDR (set) */
			       0x00f0161c 1   /* GPDMR (get) */
			       0x00f01634 1   /* GPOTR */
			       0x00f0164c 1   /* P18SCR */
			       0x00f01680 8>; /* GPCR */
			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>;
			wuc-base = <0xf01b18 0xf01b18 0xf01b18 0xf01b18
				    0xf01b2c 0xf01b0c 0xf01b0c 0xf01b0c>;
			wuc-mask = <BIT(0)   BIT(1)   BIT(2)   BIT(3)
				    BIT(2)   BIT(0)   BIT(5)   BIT(6)  >;
			has-volt-sel = <1 1 1 1 1 1 1 1>;
			#gpio-cells = <2>;
		};

		gpiof: gpio@f01606 {
			compatible = "ite,it8xxx2-gpio-v2";
			reg = <0x00f01606 1   /* GPDR (set) */
			       0x00f0161d 1   /* GPDMR (get) */
			       0x00f01635 1   /* GPOTR */
			       0x00f0164d 1   /* P18SCR */
			       0x00f01688 8>; /* GPCR */
			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>;
			wuc-base = <0xf01b24 0xf01b24 0xf01b24 0xf01b24
				    0xf01b14 0xf01b14 0xf01b14 0xf01b14>;
			wuc-mask = <BIT(0)   BIT(1)   BIT(2)   BIT(3)
				    BIT(4)   BIT(5)   BIT(6)   BIT(7)  >;
			has-volt-sel = <1 1 1 1 1 1 1 1>;
			#gpio-cells = <2>;
		};

		gpiog: gpio@f01607 {
			compatible = "ite,it8xxx2-gpio-v2";
			reg = <0x00f01607 1   /* GPDR (set) */
			       0x00f0161e 1   /* GPDMR (get) */
			       0x00f01636 1   /* GPOTR */
			       0x00f0164e 1   /* P18SCR */
			       0x00f01690 8>; /* GPCR */
			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>;
			wuc-base = <0xf01b2c 0xf01b2c 0xf01b2c 0xf01b30
				    0xf01b30 0xf01b30 0xf01b2c 0xf01b30>;
			wuc-mask = <BIT(3)   BIT(4)   BIT(5)   BIT(3)
				    BIT(4)   BIT(5)   BIT(6)   BIT(6)  >;
			has-volt-sel = <1 1 1 0 0 0 1 0>;
			#gpio-cells = <2>;
		};

		gpioh: gpio@f01608 {
			compatible = "ite,it8xxx2-gpio-v2";
			reg = <0x00f01608 1   /* GPDR (set) */
			       0x00f0161f 1   /* GPDMR (get) */
			       0x00f01637 1   /* GPOTR */
			       0x00f0164f 1   /* P18SCR */
			       0x00f01698 8>; /* GPCR */
			ngpios = <7>;
			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
				      NO_FUNC 0>;
			interrupt-parent = <&intc>;
			wuc-base = <0xf01b14 0xf01b14 0xf01b14 0xf01b14
				    0xf01b20 0xf01b20 0xf01b20 NO_FUNC >;
			wuc-mask = <BIT(0)   BIT(1)   BIT(2)   BIT(3)
				    BIT(0)   BIT(1)   BIT(2)   0       >;
			has-volt-sel = <1 1 1 1 1 1 1 0>;
			#gpio-cells = <2>;
		};

		gpioi: gpio@f01609 {
			compatible = "ite,it8xxx2-gpio-v2";
			reg = <0x00f01609 1   /* GPDR (set) */
			       0x00f01620 1   /* GPDMR (get) */
			       0x00f01638 1   /* GPOTR */
			       0x00f01650 1   /* P18SCR */
			       0x00f016a0 8>; /* GPCR */
			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>;
			wuc-base = <0xf01b2c 0xf01b30 0xf01b30 0xf01b30
				    0xf01b18 0xf01b18 0xf01b18 0xf01b18>;
			wuc-mask = <BIT(7)   BIT(0)   BIT(1)   BIT(2)
				    BIT(4)   BIT(5)   BIT(6)   BIT(7)  >;
			has-volt-sel = <1 1 1 1 1 1 1 1>;
			#gpio-cells = <2>;
		};

		gpioj: gpio@f0160a {
			compatible = "ite,it8xxx2-gpio-v2";
			reg = <0x00f0160a 1   /* GPDR (set) */
			       0x00f01621 1   /* GPDMR (get) */
			       0x00f01639 1   /* GPOTR */
			       0x00f01651 1   /* P18SCR */
			       0x00f016a8 8>; /* GPCR */
			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>;
			wuc-base = <0xf01b34 0xf01b34 0xf01b34 0xf01b34
				    0xf01b34 0xf01b34 0xf01b34  0xf01b34 >;
			wuc-mask = <BIT(0)   BIT(1)   BIT(2)   BIT(3)
				    BIT(4)   BIT(5)   BIT(6)   BIT(7)>;
			has-volt-sel = <1 1 1 1 1 1 1 1>;
			#gpio-cells = <2>;
		};

		gpiok: gpio@f0160b {
			compatible = "ite,it8xxx2-gpio-v2";
			reg = <0x00f0160b 1   /* GPDR (set) */
			       0x00f01622 1   /* GPDMR (get) */
			       0x00f0163a 1   /* GPOTR */
			       0x00f01652 1   /* P18SCR */
			       0x00f016b0 8>; /* GPCR */
			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>;
			wuc-base = <0xf01b10 0xf01b10 0xf01b10 0xf01b10
				    0xf01b10 0xf01b10 0xf01b10 0xf01b10>;
			wuc-mask = <BIT(0)   BIT(1)   BIT(2)   BIT(3)
				    BIT(4)   BIT(5)   BIT(6)   BIT(7)  >;
			has-volt-sel = <1 1 1 1 1 1 1 1>;
			#gpio-cells = <2>;
		};

		gpiol: gpio@f0160c {
			compatible = "ite,it8xxx2-gpio-v2";
			reg = <0x00f0160c 1   /* GPDR (set) */
			       0x00f01623 1   /* GPDMR (get) */
			       0x00f0163b 1   /* GPOTR */
			       0x00f01653 1   /* P18SCR */
			       0x00f016b8 8>; /* GPCR */
			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>;
			wuc-base = <0xf01b38 0xf01b38 0xf01b38 0xf01b38
				    0xf01b38 0xf01b38 0xf01b38 0xf01b38>;
			wuc-mask = <BIT(0)   BIT(1)   BIT(2)   BIT(3)
				    BIT(4)   BIT(5)   BIT(6)   BIT(7)  >;
			has-volt-sel = <1 1 1 1 1 1 1 1>;
			#gpio-cells = <2>;
		};

		gpiom: gpio@f0160d {
			compatible = "ite,it8xxx2-gpio-v2";
			reg = <0x00f0160d 1   /* GPDR (set) */
			       0x00f01624 1   /* GPDMR (get) */
			       0x00f0163c 1   /* GPOTR */
			       0x00f01654 1   /* P18SCR */
			       0x00f016c0 8>; /* GPCR */
			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
				      NO_FUNC 0>;
			interrupt-parent = <&intc>;
			wuc-base = <0xf01b3c 0xf01b3c 0xf01b3c 0xf01b3c
				    0xf01b3c 0xf01b3c 0xf01b3c NO_FUNC >;
			wuc-mask = <BIT(0)   BIT(1)   BIT(2)   BIT(3)
				    BIT(4)   BIT(5)   BIT(6)   0       >;
			has-volt-sel = <1 1 1 1 1 1 1 0>;
			#gpio-cells = <2>;
		};

		gpioksi: gpio@f01d08 {
			compatible = "ite,it8xxx2-gpio-v2";
			reg = <0x00f01d08 1   /* GPDR (set) */
			       0x00f01d09 1   /* GPDMR (get) */
			       0x00f01d2c 1   /* GPOTR */
			       NO_FUNC 1      /* P18SCR */
			       0x00f01d40 8>; /* GPCR */
			ngpios = <8>;
			gpio-controller;
			interrupts = <NO_FUNC 0
				      NO_FUNC 0
				      NO_FUNC 0
				      NO_FUNC 0
				      NO_FUNC 0
				      NO_FUNC 0
				      NO_FUNC 0
				      NO_FUNC 0>;
			interrupt-parent = <&intc>;
			keyboard-controller;
			#gpio-cells = <2>;
		};

		gpioksoh: gpio@f01d01 {
			compatible = "ite,it8xxx2-gpio-v2";
			reg = <0x00f01d01 1   /* GPDR (set) */
			       0x00f01d0c 1   /* GPDMR (get) */
			       0x00f01d2d 1   /* GPOTR */
			       NO_FUNC 1      /* P18SCR */
			       0x00f01d50 8>; /* GPCR */
			ngpios = <8>;
			gpio-controller;
			interrupts = <NO_FUNC 0
				      NO_FUNC 0
				      NO_FUNC 0
				      NO_FUNC 0
				      NO_FUNC 0
				      NO_FUNC 0
				      NO_FUNC 0
				      NO_FUNC 0>;
			interrupt-parent = <&intc>;
			keyboard-controller;
			#gpio-cells = <2>;
		};

		gpioksol: gpio@f01d00 {
			compatible = "ite,it8xxx2-gpio-v2";
			reg = <0x00f01d00 1   /* GPDR (set) */
			       0x00f01d0f 1   /* GPDMR (get) */
			       0x00f01d2e 1   /* GPOTR */
			       NO_FUNC 1      /* P18SCR */
			       0x00f01d48 8>; /* GPCR */
			ngpios = <8>;
			gpio-controller;
			interrupts = <NO_FUNC 0
				      NO_FUNC 0
				      NO_FUNC 0
				      NO_FUNC 0
				      NO_FUNC 0
				      NO_FUNC 0
				      NO_FUNC 0
				      NO_FUNC 0>;
			interrupt-parent = <&intc>;
			keyboard-controller;
			#gpio-cells = <2>;
		};

		pinctrl: pin-controller {
			compatible = "ite,it8xxx2-pinctrl";
			#address-cells = <1>;
			#size-cells = <1>;
			status = "okay";
		};

		pinctrla: pinctrl@f01660 {
			compatible = "ite,it8xxx2-pinctrl-func";
			reg = <0x00f01660 8>;   /* GPCR */
			func3-gcr =     <NO_FUNC  NO_FUNC  NO_FUNC  NO_FUNC
					 0xf02032 0xf02032 0xf03e10 0xf03e10>;
			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 =      <0xf01648 0xf01648 0xf01648 0xf01648
					 0xf01648 0xf01648 0xf01648 0xf01648>;
			volt-sel-mask = <BIT(0)   BIT(1)   BIT(2)   BIT(3)
					 BIT(4)   BIT(5)   BIT(6)   BIT(7)  >;
			#pinmux-cells = <2>;
			gpio-group;
		};

		pinctrlb: pinctrl@f01668 {
			compatible = "ite,it8xxx2-pinctrl-func";
			reg = <0x00f01668 8>;   /* GPCR */
			func3-gcr =     <0xf03e15 0xf03e15 0xf03e16 NO_FUNC
					 NO_FUNC  0xf03e16 NO_FUNC  NO_FUNC>;
			func3-en-mask = <0x01     0x02     0x40     0
					 0        0x40     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 =      <0xf01649 0xf01649 0xf01649 0xf01649
					 0xf01649 0xf01649 0xf01649 NO_FUNC>;
			volt-sel-mask = <BIT(0)   BIT(1)   BIT(2)   BIT(3)
					 BIT(4)   BIT(5)   BIT(6)   0      >;
			#pinmux-cells = <2>;
			gpio-group;
		};

		pinctrlc: pinctrl@f01670 {
			compatible = "ite,it8xxx2-pinctrl-func";
			reg = <0x00f01670 8>;   /* GPCR */
			func3-gcr =     <NO_FUNC NO_FUNC  NO_FUNC 0xf03e10
					 NO_FUNC 0xf03e10 NO_FUNC 0xf03e13>;
			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 0xf03e16>;
			func4-en-mask = <0       0        0       0
					 0       0        0       0x80    >;
			volt-sel =      <0xf0164a 0xf0164a 0xf0164a 0xf0164a
					 0xf0164a 0xf0164a 0xf0164a 0xf0164a>;
			volt-sel-mask = <BIT(0)   BIT(1)   BIT(2)   BIT(3)
					 BIT(4)   BIT(5)   BIT(6)   BIT(7)  >;
			#pinmux-cells = <2>;
			gpio-group;
		};

		pinctrld: pinctrl@f01678 {
			compatible = "ite,it8xxx2-pinctrl-func";
			reg = <0x00f01678 8>;   /* GPCR */
			func3-gcr =     <NO_FUNC  NO_FUNC  NO_FUNC NO_FUNC
					 NO_FUNC  0xf03e10 NO_FUNC NO_FUNC>;
			func3-en-mask = <0        0        0       0
					 0        0x02     0       0      >;
			func4-gcr =     <0xf03e16 NO_FUNC  NO_FUNC NO_FUNC
					 NO_FUNC  NO_FUNC  NO_FUNC NO_FUNC>;
			func4-en-mask = <0x80     0        0       0
					 0        0        0       0      >;
			volt-sel =      <0xf0164b 0xf0164b 0xf0164b 0xf0164b
					 0xf0164b 0xf0164b 0xf0164b 0xf0164b>;
			volt-sel-mask = <BIT(0)   BIT(1)   BIT(2)   BIT(3)
					 BIT(4)   BIT(5)   BIT(6)   BIT(7)  >;
			#pinmux-cells = <2>;
			gpio-group;
		};

		pinctrle: pinctrl@f01680 {
			compatible = "ite,it8xxx2-pinctrl-func";
			reg = <0x00f01680 8>;   /* GPCR */
			func3-gcr =     <NO_FUNC  0xf03e16 0xf03e16 NO_FUNC
					 NO_FUNC  0xf03e10 NO_FUNC  NO_FUNC >;
			func3-en-mask = <0        0x20     0x20     0
					 0        0x08     0        0       >;
			func3-ext =     <0xf02032 0xf02032 0xf02032 NO_FUNC
					 NO_FUNC  NO_FUNC  NO_FUNC  0xf02032>;
			func3-ext-mask = <0x01    0x02     0x02     0
					  0       0        0        0x01    >;
			func4-gcr =     <0xf03e13 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 =      <0xf0164c 0xf0164c 0xf0164c 0xf0164c
					 0xf0164c 0xf0164c 0xf0164c 0xf0164c>;
			volt-sel-mask = <BIT(0)   BIT(1)   BIT(2)   BIT(3)
					 BIT(4)   BIT(5)   BIT(6)   BIT(7)  >;
			#pinmux-cells = <2>;
			gpio-group;
		};

		pinctrlf: pinctrl@f01688 {
			compatible = "ite,it8xxx2-pinctrl-func";
			reg = <0x00f01688 8>;   /* GPCR */
			func3-gcr =     <0xf03e15 0xf03e15 0xf03e10 0xf03e10
					 NO_FUNC  NO_FUNC  0xf03e11 NO_FUNC>;
			func3-en-mask = <0x04     0x08     0x02     0x02
					 0        0        0x10     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 =      <0xf0164d 0xf0164d 0xf0164d 0xf0164d
					 0xf0164d 0xf0164d 0xf0164d 0xf0164d>;
			volt-sel-mask = <BIT(0)   BIT(1)   BIT(2)   BIT(3)
					 BIT(4)   BIT(5)   BIT(6)   BIT(7)  >;
			#pinmux-cells = <2>;
			gpio-group;
		};

		pinctrlg: pinctrl@f01690 {
			compatible = "ite,it8xxx2-pinctrl-func";
			reg = <0x00f01690 8>;   /* GPCR */
			func3-gcr =     <0xf03e10 0xf03e10 0xf03e10 NO_FUNC
					 NO_FUNC  NO_FUNC  0xf03e10 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 =      <0xf0164e 0xf0164e 0xf0164e NO_FUNC
					 NO_FUNC  NO_FUNC  0xf0164e NO_FUNC >;
			volt-sel-mask = <BIT(0)   BIT(1)   BIT(2)   0
					 0        0        BIT(6)   0       >;
			#pinmux-cells = <2>;
			gpio-group;
		};

		pinctrlh: pinctrl@f01698 {
			compatible = "ite,it8xxx2-pinctrl-func";
			reg = <0x00f01698 8>;   /* GPCR */
			func3-gcr =     <NO_FUNC 0xf03e11 0xf03e11 NO_FUNC
					 NO_FUNC 0        0        NO_FUNC>;
			func3-en-mask = <0       0x20     0x20     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 =      <0xf0164f 0xf0164f 0xf0164f 0xf0164f
					 0xf0164f 0xf0164f 0xf0164f NO_FUNC>;
			volt-sel-mask = <BIT(0)   BIT(1)   BIT(2)   BIT(3)
					 BIT(4)   BIT(5)   BIT(6)   0      >;
			#pinmux-cells = <2>;
			gpio-group;
		};

		pinctrli: pinctrl@f016a0 {
			compatible = "ite,it8xxx2-pinctrl-func";
			reg = <0x00f016a0 8>;   /* GPCR */
			func3-gcr =     <NO_FUNC NO_FUNC  NO_FUNC  NO_FUNC
					 NO_FUNC 0xf03e10 0xf03e10 0xf03e10>;
			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 =      <0xf01650 0xf01650 0xf01650 0xf01650
					 0xf01650 0xf01650 0xf01650 0xf01650>;
			volt-sel-mask = <BIT(0)   BIT(1)   BIT(2)   BIT(3)
					 BIT(4)   BIT(5)   BIT(6)   BIT(7)  >;
			#pinmux-cells = <2>;
			gpio-group;
		};

		pinctrlj: pinctrl@f016a8 {
			compatible = "ite,it8xxx2-pinctrl-func";
			reg = <0x00f016a8 8>;   /* GPCR */
			func3-gcr =     <0xf03e14 NO_FUNC  0xf03e14 0xf03e14
					 0xf03e10 0xf03e10 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 =      <0xf01651 0xf01651 0xf01651 0xf01651
					 0xf01651 0xf01651 NO_FUNC  NO_FUNC >;
			volt-sel-mask = <BIT(0)   BIT(1)   BIT(2)   BIT(3)
					 BIT(4)   BIT(5)   0        0       >;
			#pinmux-cells = <2>;
			gpio-group;
		};

		pinctrlk: pinctrl@f016b0 {
			compatible = "ite,it8xxx2-pinctrl-func";
			reg = <0x00f016b0 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 =      <0xf01652 0xf01652 0xf01652 0xf01652
					 0xf01652 0xf01652 0xf01652 0xf01652>;
			volt-sel-mask = <BIT(0)   BIT(1)   BIT(2)   BIT(3)
					 BIT(4)   BIT(5)   BIT(6)   BIT(7)  >;
			#pinmux-cells = <2>;
			gpio-group;
		};

		pinctrll: pinctrl@f016b8 {
			compatible = "ite,it8xxx2-pinctrl-func";
			reg = <0x00f016b8 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 =      <0xf01653 0xf01653 0xf01653 0xf01653
					 0xf01653 0xf01653 0xf01653 0xf01653>;
			volt-sel-mask = <BIT(0)   BIT(1)   BIT(2)   BIT(3)
					 BIT(4)   BIT(5)   BIT(6)   BIT(7)  >;
			#pinmux-cells = <2>;
			gpio-group;
		};

		pinctrlm: pinctrl@f016c0 {
			compatible = "ite,it8xxx2-pinctrl-func";
			reg = <0x00f016c0 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 =      <0xf03e2d 0xf03e2d 0xf03e2d 0xf03e2d
					 0xf03e2d 0xf03e2d 0xf03e2d NO_FUNC >;
			volt-sel-mask = <BIT(4)   BIT(4)   BIT(4)   BIT(4)
					 BIT(4)   BIT(4)   BIT(4)   0       >;
			#pinmux-cells = <2>;
			gpio-group;
		};

		pinctrlksi: pinctrl@f01d40 {
			compatible = "ite,it8xxx2-pinctrl-func";
			reg = <0x00f01d40 8   /* KSIGCTRL */
			       0x00f01d05 1>; /* KSICTRL */
			pp-od-mask = <NO_FUNC>;
			pullup-mask = <BIT(2)>;
			#pinmux-cells = <2>;
		};

		pinctrlksol: pinctrl@f01d48 {
			compatible = "ite,it8xxx2-pinctrl-func";
			reg = <0x00f01d48 8   /* KSOLGCTRL */
			       0x00f01d02 1>; /* KSOCTRL */
			pp-od-mask = <BIT(0)>;
			pullup-mask = <BIT(2)>;
			#pinmux-cells = <2>;
		};

		pinctrlksoh: pinctrl@f01d50 {
			compatible = "ite,it8xxx2-pinctrl-func";
			reg = <0x00f01d50 8   /* KSOHGCTRL */
			       0x00f01d02 1>; /* KSOCTRL */
			pp-od-mask = <BIT(0)>;
			pullup-mask = <BIT(2)>;
			#pinmux-cells = <2>;
		};

		wuc1: wakeup-controller@f01b00 {
			compatible = "ite,it8xxx2-wuc";
			reg = <0x00f01b00 1   /* WUEMR1 */
			       0x00f01b01 1   /* WUESR1 */
			       0x00f01b02 1   /* WUENR1 */
			       0x00f01b03 1>; /* WUBEMR1 */
			wakeup-controller;
			#wuc-cells = <1>;
		};

		wuc2: wakeup-controller@f01b04 {
			compatible = "ite,it8xxx2-wuc";
			reg = <0x00f01b04             1   /* WUEMR2 */
			       0x00f01b05             1   /* WUESR2 */
			       IT8XXX2_WUC_UNUSED_REG 1   /* WUENR2 */
			       0x00f01b07             1>; /* WUBEMR2 */
			wakeup-controller;
			#wuc-cells = <1>;
		};

		wuc3: wakeup-controller@f01b08 {
			compatible = "ite,it8xxx2-wuc";
			reg = <0x00f01b08 1   /* WUEMR3 */
			       0x00f01b09 1   /* WUESR3 */
			       0x00f01b0a 1   /* WUENR3 */
			       0x00f01b0b 1>; /* WUBEMR3 */
			wakeup-controller;
			#wuc-cells = <1>;
		};

		wuc4: wakeup-controller@f01b0c {
			compatible = "ite,it8xxx2-wuc";
			reg = <0x00f01b0c 1   /* WUEMR4 */
			       0x00f01b0d 1   /* WUESR4 */
			       0x00f01b0e 1   /* WUENR4 */
			       0x00f01b0f 1>; /* WUBEMR4 */
			wakeup-controller;
			#wuc-cells = <1>;
		};

		wuc5: wakeup-controller@f01b10 {
			compatible = "ite,it8xxx2-wuc";
			reg = <0x00f01b10             1   /* WUEMR5 */
			       0x00f01b11             1   /* WUESR5 */
			       IT8XXX2_WUC_UNUSED_REG 1   /* WUENR5 */
			       0x00f01b13             1>; /* WUBEMR5 */
			wakeup-controller;
			#wuc-cells = <1>;
		};

		wuc6: wakeup-controller@f01b14 {
			compatible = "ite,it8xxx2-wuc";
			reg = <0x00f01b14             1   /* WUEMR6 */
			       0x00f01b15             1   /* WUESR6 */
			       IT8XXX2_WUC_UNUSED_REG 1   /* WUENR6 */
			       0x00f01b17             1>; /* WUBEMR6 */
			wakeup-controller;
			#wuc-cells = <1>;
		};

		wuc7: wakeup-controller@f01b18 {
			compatible = "ite,it8xxx2-wuc";
			reg = <0x00f01b18             1   /* WUEMR7 */
			       0x00f01b19             1   /* WUESR7 */
			       IT8XXX2_WUC_UNUSED_REG 1   /* WUENR7 */
			       0x00f01b1b             1>; /* WUBEMR7 */
			wakeup-controller;
			#wuc-cells = <1>;
		};

		wuc8: wakeup-controller@f01b1c {
			compatible = "ite,it8xxx2-wuc";
			reg = <0x00f01b1c             1   /* WUEMR8 */
			       0x00f01b1d             1   /* WUESR8 */
			       IT8XXX2_WUC_UNUSED_REG 1   /* WUENR8 */
			       0x00f01b1f             1>; /* WUBEMR8 */
			wakeup-controller;
			#wuc-cells = <1>;
		};

		wuc9: wakeup-controller@f01b20 {
			compatible = "ite,it8xxx2-wuc";
			reg = <0x00f01b20             1   /* WUEMR9 */
			       0x00f01b21             1   /* WUESR9 */
			       IT8XXX2_WUC_UNUSED_REG 1   /* WUENR9 */
			       0x00f01b23             1>; /* WUBEMR9 */
			wakeup-controller;
			#wuc-cells = <1>;
		};

		wuc10: wakeup-controller@f01b24 {
			compatible = "ite,it8xxx2-wuc";
			reg = <0x00f01b24             1   /* WUEMR10 */
			       0x00f01b25             1   /* WUESR10 */
			       IT8XXX2_WUC_UNUSED_REG 1   /* WUENR10 */
			       0x00f01b27             1>; /* WUBEMR10 */
			wakeup-controller;
			#wuc-cells = <1>;
		};

		wuc11: wakeup-controller@f01b28 {
			compatible = "ite,it8xxx2-wuc";
			reg = <0x00f01b28             1   /* WUEMR11 */
			       0x00f01b29             1   /* WUESR11 */
			       IT8XXX2_WUC_UNUSED_REG 1   /* WUENR11 */
			       0x00f01b2b             1>; /* WUBEMR11 */
			wakeup-controller;
			#wuc-cells = <1>;
		};

		wuc12: wakeup-controller@f01b2c {
			compatible = "ite,it8xxx2-wuc";
			reg = <0x00f01b2c             1   /* WUEMR12 */
			       0x00f01b2d             1   /* WUESR12 */
			       IT8XXX2_WUC_UNUSED_REG 1   /* WUENR12 */
			       0x00f01b2f             1>; /* WUBEMR12 */
			wakeup-controller;
			#wuc-cells = <1>;
		};

		wuc13: wakeup-controller@f01b30 {
			compatible = "ite,it8xxx2-wuc";
			reg = <0x00f01b30             1   /* WUEMR13 */
			       0x00f01b31             1   /* WUESR13 */
			       IT8XXX2_WUC_UNUSED_REG 1   /* WUENR13 */
			       0x00f01b33             1>; /* WUBEMR13 */
			wakeup-controller;
			#wuc-cells = <1>;
		};

		wuc14: wakeup-controller@f01b34 {
			compatible = "ite,it8xxx2-wuc";
			reg = <0x00f01b34             1   /* WUEMR14 */
			       0x00f01b35             1   /* WUESR14 */
			       IT8XXX2_WUC_UNUSED_REG 1   /* WUENR14 */
			       0x00f01b37             1>; /* WUBEMR14 */
			wakeup-controller;
			#wuc-cells = <1>;
		};

		wuc15: wakeup-controller@f01b38 {
			compatible = "ite,it8xxx2-wuc";
			reg = <0x00f01b38             1   /* WUEMR15 */
			       0x00f01b39             1   /* WUESR15 */
			       IT8XXX2_WUC_UNUSED_REG 1   /* WUENR15 */
			       0x00f01b3b             1>; /* WUBEMR15 */
			wakeup-controller;
			#wuc-cells = <1>;
		};

		wuc16: wakeup-controller@f01b3c {
			compatible = "ite,it8xxx2-wuc";
			reg = <0x00f01b3c             1   /* WUEMR16 */
			       0x00f01b3d             1   /* WUESR16 */
			       IT8XXX2_WUC_UNUSED_REG 1   /* WUENR16 */
			       0x00f01b3f             1>; /* WUBEMR16 */
			wakeup-controller;
			#wuc-cells = <1>;
		};

		i2c0: i2c@f04300 {
			compatible = "ite,enhance-i2c";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x00f04300 0x0080>;
			interrupts = <IT8XXX2_IRQ_SMB_A IRQ_TYPE_LEVEL_HIGH>;
			interrupt-parent = <&intc>;
			status = "disabled";
			port-num = <SMB_CHANNEL_A>;
			channel-switch-sel = <I2C_CHA_LOCATE>;
			scl-gpios = <&gpiob 3 0>;
			sda-gpios = <&gpiob 4 0>;
			clock-gate-offset = <CGC_OFFSET_SMBA>;
		};

		i2c1: i2c@f04380 {
			compatible = "ite,enhance-i2c";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x00f04380 0x0080>;
			interrupts = <IT8XXX2_IRQ_SMB_B IRQ_TYPE_LEVEL_HIGH>;
			interrupt-parent = <&intc>;
			status = "disabled";
			port-num = <SMB_CHANNEL_B>;
			channel-switch-sel = <I2C_CHB_LOCATE>;
			scl-gpios = <&gpioc 1 0>;
			sda-gpios = <&gpioc 2 0>;
			clock-gate-offset = <CGC_OFFSET_SMBB>;
		};

		i2c2: i2c@f04400 {
			compatible = "ite,enhance-i2c";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x00f04400 0x0080>;
			interrupts = <IT8XXX2_IRQ_SMB_C IRQ_TYPE_LEVEL_HIGH>;
			interrupt-parent = <&intc>;
			status = "disabled";
			port-num = <SMB_CHANNEL_C>;
			channel-switch-sel = <I2C_CHC_LOCATE>;
			scl-gpios = <&gpiof 6 0>;
			sda-gpios = <&gpiof 7 0>;
			clock-gate-offset = <CGC_OFFSET_SMBC>;
		};

		i2c3: i2c@f04480 {
			compatible = "ite,enhance-i2c";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x00f04480 0x0080>;
			interrupts = <IT8XXX2_IRQ_SMB_D IRQ_TYPE_LEVEL_HIGH>;
			interrupt-parent = <&intc>;
			status = "disabled";
			port-num = <I2C_CHANNEL_D>;
			channel-switch-sel = <I2C_CHD_LOCATE>;
			scl-gpios = <&gpioh 1 0>;
			sda-gpios = <&gpioh 2 0>;
			clock-gate-offset = <CGC_OFFSET_SMBD>;
		};

		i2c4: i2c@f04500 {
			compatible = "ite,enhance-i2c";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x00f04500 0x0080>;
			interrupts = <IT8XXX2_IRQ_SMB_E IRQ_TYPE_LEVEL_HIGH>;
			interrupt-parent = <&intc>;
			status = "disabled";
			port-num = <I2C_CHANNEL_E>;
			channel-switch-sel = <I2C_CHE_LOCATE>;
			scl-gpios = <&gpioe 0 0>;
			sda-gpios = <&gpioe 7 0>;
			clock-gate-offset = <CGC_OFFSET_SMBE>;
		};

		i2c5: i2c@f04580 {
			compatible = "ite,enhance-i2c";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x00f04580 0x0080>;
			interrupts = <IT8XXX2_IRQ_SMB_F IRQ_TYPE_LEVEL_HIGH>;
			interrupt-parent = <&intc>;
			status = "disabled";
			port-num = <I2C_CHANNEL_F>;
			channel-switch-sel = <I2C_CHF_LOCATE>;
			scl-gpios = <&gpioa 4 0>;
			sda-gpios = <&gpioa 5 0>;
			clock-gate-offset = <CGC_OFFSET_SMBF>;
		};

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

		usb0: usbd@f02f00 {
			compatible = "ite,it82xx2-usb";
			interrupts = <IT8XXX2_IRQ_USB IRQ_TYPE_LEVEL_HIGH
				      IT8XXX2_IRQ_WU90 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-parent = <&intc>;
			wucctrl = <&wuc_wu90>;
			reg = <0x00f02f00 256>;
			status = "disabled";
			num-bidir-endpoints = <1>;
			num-in-endpoints = <10>;
			num-out-endpoints = <5>;
		};
	};
};
