| /* |
| * Copyright (c) 2025 ITE Corporation. All Rights Reserved. |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #include <ite/it51xxx-wuc-map.dtsi> |
| #include <mem.h> |
| #include <zephyr/dt-bindings/adc/adc.h> |
| #include <zephyr/dt-bindings/clock/ite-it51xxx-clock.h> |
| #include <zephyr/dt-bindings/comparator/it51xxx-vcmp.h> |
| #include <zephyr/dt-bindings/dt-util.h> |
| #include <zephyr/dt-bindings/gpio/gpio.h> |
| #include <zephyr/dt-bindings/i2c/i2c.h> |
| #include <zephyr/dt-bindings/i2c/it51xxx-i2c.h> |
| #include <zephyr/dt-bindings/interrupt-controller/ite-it51xxx-intc.h> |
| #include <zephyr/dt-bindings/interrupt-controller/ite-it51xxx-wuc.h> |
| #include <zephyr/dt-bindings/pinctrl/it8xxx2-pinctrl.h> |
| #include <zephyr/dt-bindings/pwm/it51xxx_pwm.h> |
| #include <zephyr/dt-bindings/pwm/pwm.h> |
| #include <zephyr/dt-bindings/sensor/it51xxx_tach.h> |
| |
| / { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| cpus { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| cpu0: cpu@0 { |
| compatible = "ite,riscv-ite", "riscv"; |
| riscv,isa = "rv32imcb_zifencei"; |
| device_type = "cpu"; |
| reg = <0>; |
| clock-frequency = <32768>; |
| cpu-power-states = <&standby>; |
| }; |
| |
| power-states { |
| standby: standby { |
| compatible = "zephyr,power-state"; |
| power-state-name = "standby"; |
| min-residency-us = <500>; |
| }; |
| }; |
| }; |
| |
| soc { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges; |
| |
| flashctrl: flash-controller@f01000 { |
| compatible = "ite,it8xxx2-flash-controller"; |
| reg = <0x00f01000 0x100>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| flash0: flash@0 { |
| compatible = "soc-nv-flash"; |
| reg = <0 DT_SIZE_M(1)>; |
| erase-block-size = <4096>; |
| write-block-size = <4>; |
| }; |
| }; |
| |
| manual_flash_1k: manual-flash-1k@f010a6 { |
| compatible = "ite,it51xxx-manual-flash-1k"; |
| reg = <0x00f010a6 0x5a |
| 0x00f01000 0xa6>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| status = "disabled"; |
| }; |
| |
| sram0: memory@800000 { |
| compatible = "mmio-sram"; |
| reg = <0x800000 DT_SIZE_K(128)>; |
| }; |
| |
| ilm: ilm@f01040 { |
| compatible = "ite,it8xxx2-ilm"; |
| reg = <0xf01040 3>; /* SCAR0 */ |
| }; |
| |
| adc0: adc@f04500 { |
| compatible = "ite,it51xxx-adc"; |
| reg = <0xf04500 0xc1>; |
| channel-count = <8>; |
| interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| status = "disabled"; |
| #io-channel-cells = <1>; |
| }; |
| |
| vcmp0: vcmp@f04520 { |
| compatible = "ite,it51xxx-vcmp"; |
| interrupt-parent = <&intc>; |
| interrupts = <IT51XXX_IRQ_V_CMP IRQ_TYPE_LEVEL_HIGH>; |
| reg = <0xf04520 0x08 |
| 0xf04500 0xc1>; /* vcmp base address */ |
| vcmp-ch = <VCMP_CHANNEL_0>; |
| status = "disabled"; |
| }; |
| |
| vcmp1: vcmp@f04528 { |
| compatible = "ite,it51xxx-vcmp"; |
| interrupt-parent = <&intc>; |
| interrupts = <IT51XXX_IRQ_V_CMP IRQ_TYPE_LEVEL_HIGH>; |
| reg = <0xf04528 0x08 |
| 0xf04500 0xc1>; /* vcmp base address */ |
| vcmp-ch = <VCMP_CHANNEL_1>; |
| status = "disabled"; |
| }; |
| |
| vcmp2: vcmp@f0452c { |
| compatible = "ite,it51xxx-vcmp"; |
| interrupt-parent = <&intc>; |
| interrupts = <IT51XXX_IRQ_V_CMP IRQ_TYPE_LEVEL_HIGH>; |
| reg = <0xf0452c 0x08 |
| 0xf04500 0xc1>; /* vcmp base address */ |
| vcmp-ch = <VCMP_CHANNEL_2>; |
| status = "disabled"; |
| }; |
| |
| gpiogcr: gpio-gcr@f01600 { |
| compatible = "ite,it51xxx-gpiogcr"; |
| reg = <0x00f01600 0x100>; |
| }; |
| |
| gpioa: gpio@f01601 { |
| compatible = "ite,it51xxx-gpio"; |
| reg = <0x00f01601 1 /* GPDR (set) */ |
| 0x00f01661 1 /* GPDMR (get) */ |
| 0x00f01671 1 /* GPOTR */ |
| 0x00f05001 1 /* GPxyCR1 */ |
| 0x00f01610 8 /* GPCR */ |
| NO_FUNC 1>; |
| ngpios = <8>; |
| gpio-controller; |
| interrupts = <IT51XXX_IRQ_WU91 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU92 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU93 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU80 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU81 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU82 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU83 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU100 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| wucctrl = <&wuc_wu91 /* GPA0 */ |
| &wuc_wu92 /* GPA1 */ |
| &wuc_wu93 /* GPA2 */ |
| &wuc_wu80 /* GPA3 */ |
| &wuc_wu81 /* GPA4 */ |
| &wuc_wu82 /* GPA5 */ |
| &wuc_wu83 /* GPA6 */ |
| &wuc_wu100>; /* GPA7 */ |
| has-volt-sel = <1 1 1 1 1 1 1 1>; |
| #gpio-cells = <2>; |
| }; |
| |
| gpiob: gpio@f01602 { |
| compatible = "ite,it51xxx-gpio"; |
| reg = <0x00f01602 1 /* GPDR (set) */ |
| 0x00f01662 1 /* GPDMR (get) */ |
| 0x00f01672 1 /* GPOTR */ |
| 0x00f05011 1 /* GPxyCR1 */ |
| 0x00f01618 7 /* GPCR */ |
| NO_FUNC 1>; |
| ngpios = <7>; |
| gpio-controller; |
| interrupts = <IT51XXX_IRQ_WU101 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU102 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU84 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU103 IRQ_TYPE_LEVEL_HIGH |
| NO_FUNC 0 |
| IT51XXX_IRQ_WU104 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU105 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| wucctrl = <&wuc_wu101 /* GPB0 */ |
| &wuc_wu102 /* GPB1 */ |
| &wuc_wu84 /* GPB2 */ |
| &wuc_wu103 /* GPB3 */ |
| &wuc_no_func /* NO_FUNC */ |
| &wuc_wu104 /* GPB5 */ |
| &wuc_wu105>; /* GPB6 */ |
| has-volt-sel = <0 0 1 0 0 1 1 0>; |
| #gpio-cells = <2>; |
| }; |
| |
| gpioc: gpio@f01603 { |
| compatible = "ite,it51xxx-gpio"; |
| reg = <0x00f01603 1 /* GPDR (set) */ |
| 0x00f01663 1 /* GPDMR (get) */ |
| 0x00f01673 1 /* GPOTR */ |
| 0x00f05021 1 /* GPxyCR1 */ |
| 0x00f01620 8 /* GPCR */ |
| NO_FUNC 1>; |
| ngpios = <8>; |
| gpio-controller; |
| interrupts = <IT51XXX_IRQ_WU85 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU107 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU95 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU108 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU22 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU109 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU23 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU86 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| wucctrl = <&wuc_wu85 /* GPC0 */ |
| &wuc_wu107 /* GPC1 */ |
| &wuc_wu95 /* GPC2 */ |
| &wuc_wu108 /* GPC3 */ |
| &wuc_wu22 /* GPC4 */ |
| &wuc_wu109 /* GPC5 */ |
| &wuc_wu23 /* GPC6 */ |
| &wuc_wu86>; /* GPC7 */ |
| has-volt-sel = <1 1 1 1 1 1 1 1>; |
| #gpio-cells = <2>; |
| }; |
| |
| gpiod: gpio@f01604 { |
| compatible = "ite,it51xxx-gpio"; |
| reg = <0x00f01604 1 /* GPDR (set) */ |
| 0x00f01664 1 /* GPDMR (get) */ |
| 0x00f01674 1 /* GPOTR */ |
| 0x00f05031 1 /* GPxyCR1 */ |
| 0x00f01628 8 /* GPCR */ |
| NO_FUNC 1>; |
| ngpios = <8>; |
| gpio-controller; |
| interrupts = <IT51XXX_IRQ_WU20 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU21 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU24 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU110 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU111 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU112 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU113 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU87 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| wucctrl = <&wuc_wu20 /* GPD0 */ |
| &wuc_wu21 /* GPD1 */ |
| &wuc_wu24 /* GPD2 */ |
| &wuc_wu110 /* GPD3 */ |
| &wuc_wu111 /* GPD4 */ |
| &wuc_wu112 /* GPD5 */ |
| &wuc_wu113 /* GPD6 */ |
| &wuc_wu87>; /* GPD7 */ |
| has-volt-sel = <1 1 1 1 1 1 1 1>; |
| #gpio-cells = <2>; |
| }; |
| |
| gpioe: gpio@f01605 { |
| compatible = "ite,it51xxx-gpio"; |
| reg = <0x00f01605 1 /* GPDR (set) */ |
| 0x00f01665 1 /* GPDMR (get) */ |
| 0x00f01675 1 /* GPOTR */ |
| 0x00f05041 1 /* GPxyCR1 */ |
| 0x00f01630 8 /* GPCR */ |
| NO_FUNC 1>; |
| ngpios = <8>; |
| gpio-controller; |
| interrupts = <IT51XXX_IRQ_WU70 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU71 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU72 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU73 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU114 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU40 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU45 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU46 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| wucctrl = <&wuc_wu70 /* GPE0 */ |
| &wuc_wu71 /* GPE1 */ |
| &wuc_wu72 /* GPE2 */ |
| &wuc_wu73 /* GPE3 */ |
| &wuc_wu114 /* GPE4 */ |
| &wuc_wu40 /* GPE5 */ |
| &wuc_wu45 /* GPE6 */ |
| &wuc_wu46>; /* GPE7 */ |
| has-volt-sel = <1 1 1 1 0 1 1 1>; |
| #gpio-cells = <2>; |
| }; |
| |
| gpiof: gpio@f01606 { |
| compatible = "ite,it51xxx-gpio"; |
| reg = <0x00f01606 1 /* GPDR (set) */ |
| 0x00f01666 1 /* GPDMR (get) */ |
| 0x00f01676 1 /* GPOTR */ |
| 0x00f05051 1 /* GPxyCR1 */ |
| 0x00f01638 8 /* GPCR */ |
| NO_FUNC 1>; |
| ngpios = <8>; |
| gpio-controller; |
| interrupts = <IT51XXX_IRQ_WU96 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU97 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU98 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU99 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU64 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU65 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU66 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU67 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| wucctrl = <&wuc_wu96 /* GPF0 */ |
| &wuc_wu97 /* GPF1 */ |
| &wuc_wu98 /* GPF2 */ |
| &wuc_wu99 /* GPF3 */ |
| &wuc_wu64 /* GPF4 */ |
| &wuc_wu65 /* GPF5 */ |
| &wuc_wu66 /* GPF6 */ |
| &wuc_wu67>; /* GPF7 */ |
| has-volt-sel = <1 1 1 1 1 1 1 1>; |
| #gpio-cells = <2>; |
| }; |
| |
| gpiog: gpio@f01607 { |
| compatible = "ite,it51xxx-gpio"; |
| reg = <0x00f01607 1 /* GPDR (set) */ |
| 0x00f01667 1 /* GPDMR (get) */ |
| 0x00f01677 1 /* GPOTR */ |
| 0x00f05061 1 /* GPxyCR1 */ |
| 0x00f01640 8 /* GPCR */ |
| NO_FUNC 1>; |
| ngpios = <8>; |
| gpio-controller; |
| interrupts = <IT51XXX_IRQ_WU115 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU116 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU117 IRQ_TYPE_LEVEL_HIGH |
| NO_FUNC 0 |
| NO_FUNC 0 |
| NO_FUNC 0 |
| IT51XXX_IRQ_WU118 IRQ_TYPE_LEVEL_HIGH |
| NO_FUNC 0>; |
| interrupt-parent = <&intc>; |
| wucctrl = <&wuc_wu115 /* GPG0 */ |
| &wuc_wu116 /* GPG1 */ |
| &wuc_wu117 /* GPG2 */ |
| &wuc_no_func /* NO_FUNC */ |
| &wuc_no_func /* NO_FUNC */ |
| &wuc_no_func /* NO_FUNC */ |
| &wuc_wu118 /* GPG6 */ |
| &wuc_no_func>; /* NO_FUNC */ |
| has-volt-sel = <1 1 1 0 0 0 1 0>; |
| #gpio-cells = <2>; |
| }; |
| |
| gpioh: gpio@f01608 { |
| compatible = "ite,it51xxx-gpio"; |
| reg = <0x00f01608 1 /* GPDR (set) */ |
| 0x00f01668 1 /* GPDMR (get) */ |
| 0x00f01678 1 /* GPOTR */ |
| 0x00f05071 1 /* GPxyCR1 */ |
| 0x00f01648 8 /* GPCR */ |
| NO_FUNC 1>; |
| ngpios = <8>; |
| gpio-controller; |
| interrupts = <IT51XXX_IRQ_WU60 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU61 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU62 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU63 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU88 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU89 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU90 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU127 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| wucctrl = <&wuc_wu60 /* GPH0 */ |
| &wuc_wu61 /* GPH1 */ |
| &wuc_wu62 /* GPH2 */ |
| &wuc_wu63 /* GPH3 */ |
| &wuc_wu88 /* GPH4 */ |
| &wuc_wu89 /* GPH5 */ |
| &wuc_wu90 /* GPH6 */ |
| &wuc_wu127>; /* GPH7 */ |
| has-volt-sel = <1 1 1 1 1 0 0 1>; |
| #gpio-cells = <2>; |
| }; |
| |
| gpioi: gpio@f01609 { |
| compatible = "ite,it51xxx-gpio"; |
| reg = <0x00f01609 1 /* GPDR (set) */ |
| 0x00f01669 1 /* GPDMR (get) */ |
| 0x00f01679 1 /* GPOTR */ |
| 0x00f05081 1 /* GPxyCR1 */ |
| 0x00f01650 8 /* GPCR */ |
| NO_FUNC 1>; |
| ngpios = <8>; |
| gpio-controller; |
| interrupts = <IT51XXX_IRQ_WU119 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU120 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU121 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU122 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU74 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU75 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU76 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU77 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| wucctrl = <&wuc_wu119 /* GPI0 */ |
| &wuc_wu120 /* GPI1 */ |
| &wuc_wu121 /* GPI2 */ |
| &wuc_wu122 /* GPI3 */ |
| &wuc_wu74 /* GPI4 */ |
| &wuc_wu75 /* GPI5 */ |
| &wuc_wu76 /* GPI6 */ |
| &wuc_wu77>; /* GPI7 */ |
| has-volt-sel = <1 1 1 1 1 1 1 1>; |
| #gpio-cells = <2>; |
| }; |
| |
| gpioj: gpio@f0160a { |
| compatible = "ite,it51xxx-gpio"; |
| reg = <0x00f0160a 1 /* GPDR (set) */ |
| 0x00f0166a 1 /* GPDMR (get) */ |
| 0x00f0167a 1 /* GPOTR */ |
| 0x00f05091 1 /* GPxyCR1 */ |
| 0x00f01658 8 /* GPCR */ |
| NO_FUNC 1>; |
| ngpios = <8>; |
| gpio-controller; |
| interrupts = <IT51XXX_IRQ_WU128 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU129 IRQ_TYPE_LEVEL_HIGH |
| NO_FUNC 0 |
| IT51XXX_IRQ_WU131 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU132 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU133 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU134 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU135 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| wucctrl = <&wuc_wu128 /* GPJ0 */ |
| &wuc_wu129 /* GPJ1 */ |
| &wuc_no_func /* NO_FUNC */ |
| &wuc_wu131 /* GPJ3 */ |
| &wuc_wu132 /* GPJ4 */ |
| &wuc_wu133 /* GPJ5 */ |
| &wuc_wu134 /* GPJ6 */ |
| &wuc_wu135>; /* GPJ7 */ |
| has-volt-sel = <1 1 0 1 1 1 1 1>; |
| #gpio-cells = <2>; |
| }; |
| |
| gpiok: gpio@f0160b { |
| compatible = "ite,it51xxx-gpio"; |
| reg = <0x00f0160b 1 /* GPDR (set) */ |
| 0x00f0166b 1 /* GPDMR (get) */ |
| 0x00f0167b 1 /* GPOTR */ |
| NO_FUNC 1 /* GPxyCR1 */ |
| 0x00f01690 8 /* GPCR */ |
| 0x00f01d2d 1>; /* KSOLFSELR */ |
| 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>; |
| wucctrl = <&wuc_no_func /* NO_FUNC */ |
| &wuc_no_func |
| &wuc_no_func |
| &wuc_no_func |
| &wuc_no_func |
| &wuc_no_func |
| &wuc_no_func |
| &wuc_no_func>; |
| #gpio-cells = <2>; |
| }; |
| |
| gpiol: gpio@f0160c { |
| compatible = "ite,it51xxx-gpio"; |
| reg = <0x00f0160c 1 /* GPDR (set) */ |
| 0x00f0166c 1 /* GPDMR (get) */ |
| 0x00f0167c 1 /* GPOTR */ |
| NO_FUNC 1 /* GPxyCR1 */ |
| 0x00f01698 8 /* GPCR */ |
| 0x00f01d2e 1>; /* KSOHFSELR */ |
| ngpios = <8>; |
| gpio-controller; |
| interrupts = <IT51XXX_IRQ_WU136 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU137 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU138 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU139 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU140 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU141 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU142 IRQ_TYPE_LEVEL_HIGH |
| NO_FUNC 0>; |
| interrupt-parent = <&intc>; |
| wucctrl = <&wuc_wu136 /* GPL0 */ |
| &wuc_wu137 /* GPL1 */ |
| &wuc_wu138 /* GPL2 */ |
| &wuc_wu139 /* GPL3 */ |
| &wuc_wu140 /* GPL4 */ |
| &wuc_wu141 /* GPL5 */ |
| &wuc_wu142 /* GPL6 */ |
| &wuc_no_func>; /* NO_FUNC */ |
| #gpio-cells = <2>; |
| }; |
| |
| gpiom: gpio@f0160d { |
| compatible = "ite,it51xxx-gpio"; |
| reg = <0x00f0160d 1 /* GPDR (set) */ |
| 0x00f0166d 1 /* GPDMR (get) */ |
| NO_FUNC 1 /* GPOTR */ |
| NO_FUNC 1 /* GPxyCR1 */ |
| 0x00f016a0 7 /* GPCR */ |
| NO_FUNC 1>; |
| ngpios = <7>; |
| gpio-controller; |
| interrupts = <IT51XXX_IRQ_WU144 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU145 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU146 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU147 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU148 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU149 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WU150 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| wucctrl = <&wuc_wu144 /* GPM0 */ |
| &wuc_wu145 /* GPM1 */ |
| &wuc_wu146 /* GPM2 */ |
| &wuc_wu147 /* GPM3 */ |
| &wuc_wu148 /* GPM4 */ |
| &wuc_wu149 /* GPM5 */ |
| &wuc_wu150>; /* GPM6 */ |
| #gpio-cells = <2>; |
| }; |
| |
| gpion: gpio@f0160e { |
| compatible = "ite,it51xxx-gpio"; |
| reg = <0x00f0160e 1 /* GPDR (set) */ |
| 0x00f0166e 1 /* GPDMR (get) */ |
| 0x00f0167e 1 /* GPOTR */ |
| NO_FUNC 1 /* GPxyCR1 */ |
| 0x00f016a8 8 /* GPCR */ |
| 0x00f01d2c 1>; /* KSIFSELR */ |
| ngpios = <8>; |
| gpio-controller; |
| interrupts = <IT51XXX_IRQ_WKINTC IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WKINTC IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WKINTC IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WKINTC IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WKINTC IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WKINTC IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WKINTC IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WKINTC IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| wucctrl = <&wuc_wu30 /* GPN0 */ |
| &wuc_wu31 /* GPN1 */ |
| &wuc_wu32 /* GPN2 */ |
| &wuc_wu33 /* GPN3 */ |
| &wuc_wu34 /* GPN4 */ |
| &wuc_wu35 /* GPN5 */ |
| &wuc_wu36 /* GPN6 */ |
| &wuc_wu37>; /* GPN7 */ |
| #gpio-cells = <2>; |
| }; |
| |
| 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 */ |
| NO_FUNC 1>; |
| func3-gcr = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC |
| 0xf016fe 0xf016fe 0xf016f0 0xf016f0>; |
| func3-en-mask = <0 0 0 0 |
| BIT(5) BIT(5) BIT(4) BIT(3)>; |
| 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 = <0xf05001 0xf05003 0xf05005 0xf05007 |
| 0xf05009 0xf0500b 0xf0500d 0xf0500f>; |
| volt-sel-mask = <BIT(3) BIT(3) BIT(3) BIT(3) |
| BIT(3) BIT(3) BIT(3) BIT(3)>; |
| #pinmux-cells = <2>; |
| gpio-group; |
| }; |
| |
| pinctrlb: pinctrl@f01618 { |
| compatible = "ite,it8xxx2-pinctrl-func"; |
| reg = <0x00f01618 8 /* GPCR */ |
| NO_FUNC 1>; |
| func3-gcr = <NO_FUNC NO_FUNC 0xf016f0 NO_FUNC |
| NO_FUNC 0xf016f7 NO_FUNC NO_FUNC>; |
| func3-en-mask = <0 0 BIT(1) 0 |
| 0 BIT(5) 0 0>; |
| func4-gcr = <NO_FUNC NO_FUNC 0xf016ed NO_FUNC |
| NO_FUNC 0xf016ed NO_FUNC NO_FUNC>; |
| func4-en-mask = <0 0 BIT(2) 0 |
| 0 BIT(3) 0 0>; |
| volt-sel = <NO_FUNC NO_FUNC 0xf05015 NO_FUNC |
| NO_FUNC 0xf0501b 0xf0501d NO_FUNC>; |
| volt-sel-mask = <0 0 BIT(3) 0 |
| 0 BIT(3) BIT(3) 0>; |
| #pinmux-cells = <2>; |
| gpio-group; |
| }; |
| |
| pinctrlc: pinctrl@f01620 { |
| compatible = "ite,it8xxx2-pinctrl-func"; |
| reg = <0x00f01620 8 /* GPCR */ |
| NO_FUNC 1>; |
| func3-gcr = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC |
| 0xf016f0 NO_FUNC 0xf016f0 0xf016f6>; |
| func3-en-mask = <0 0 0 0 |
| BIT(4) 0 BIT(4) BIT(7)>; |
| func4-gcr = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC |
| NO_FUNC NO_FUNC 0xf016f4 0xf016f5>; |
| func4-en-mask = <0 0 0 0 |
| 0 0 BIT(0) BIT(0)>; |
| volt-sel = <0xf05021 0xf05023 0xf05025 0xf05027 |
| 0xf05029 0xf0502b 0xf0502d 0xf0502f>; |
| volt-sel-mask = <BIT(3) BIT(3) BIT(3) BIT(3) |
| BIT(3) BIT(3) BIT(3) BIT(3)>; |
| #pinmux-cells = <2>; |
| gpio-group; |
| }; |
| |
| pinctrld: pinctrl@f01628 { |
| compatible = "ite,it8xxx2-pinctrl-func"; |
| reg = <0x00f01628 8 /* GPCR */ |
| NO_FUNC 1>; |
| func3-gcr = <0xf016ed 0xf016ed NO_FUNC NO_FUNC |
| 0xf03292 0xf016f0 NO_FUNC NO_FUNC>; |
| func3-en-mask = <BIT(1) BIT(1) 0 0 |
| BIT(5) BIT(1) 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 = <0xf05031 0xf05033 0xf05035 0xf05037 |
| 0xf05039 0xf0503b 0xf0503d 0xf0503f>; |
| volt-sel-mask = <BIT(3) BIT(3) BIT(3) BIT(3) |
| BIT(3) BIT(3) BIT(3) BIT(3)>; |
| #pinmux-cells = <2>; |
| gpio-group; |
| }; |
| |
| pinctrle: pinctrl@f01630 { |
| compatible = "ite,it8xxx2-pinctrl-func"; |
| reg = <0x00f01630 8 /* GPCR */ |
| NO_FUNC 1>; |
| func3-gcr = <0xf016f3 0xf016ed 0xf016ed 0xf016ed |
| NO_FUNC 0xf016f0 0xf016fe 0xf016fe>; |
| func3-en-mask = <BIT(0) BIT(5) BIT(6) BIT(6) |
| 0 BIT(3) BIT(7) BIT(4)>; |
| func4-gcr = <0xf016fe NO_FUNC NO_FUNC NO_FUNC |
| NO_FUNC NO_FUNC 0xf016f5 NO_FUNC>; |
| func4-en-mask = <BIT(4) 0 0 0 |
| 0 0 BIT(1) 0>; |
| volt-sel = <0xf05041 0xf05043 0xf05045 0xf05047 |
| NO_FUNC 0xf0504b 0xf0504d 0xf0504f>; |
| volt-sel-mask = <BIT(3) BIT(3) BIT(3) BIT(3) |
| 0 BIT(3) BIT(3) BIT(3)>; |
| #pinmux-cells = <2>; |
| gpio-group; |
| }; |
| |
| pinctrlf: pinctrl@f01638 { |
| compatible = "ite,it8xxx2-pinctrl-func"; |
| reg = <0x00f01638 8 /* GPCR */ |
| NO_FUNC 1>; |
| func3-gcr = <0xf016d1 0xf016d1 NO_FUNC NO_FUNC |
| NO_FUNC NO_FUNC 0xf016f1 NO_FUNC>; |
| func3-en-mask = <BIT(2) BIT(2) 0 0 |
| 0 0 BIT(4) 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 = <0xf05051 0xf05053 0xf05055 0xf05057 |
| 0xf05059 0xf0505b 0xf0505d 0xf0505f>; |
| volt-sel-mask = <BIT(3) BIT(3) BIT(3) BIT(3) |
| BIT(3) BIT(3) BIT(3) BIT(3)>; |
| #pinmux-cells = <2>; |
| gpio-group; |
| }; |
| |
| pinctrlg: pinctrl@f01640 { |
| compatible = "ite,it8xxx2-pinctrl-func"; |
| reg = <0x00f01640 8 /* GPCR */ |
| NO_FUNC 1>; |
| func3-gcr = <NO_FUNC 0xf016f0 NO_FUNC NO_FUNC |
| NO_FUNC NO_FUNC 0xf016f0 NO_FUNC>; |
| func3-en-mask = <0 BIT(3) 0 0 |
| 0 0 BIT(1) 0>; |
| func4-gcr = <NO_FUNC 0xf016f0 NO_FUNC NO_FUNC |
| NO_FUNC NO_FUNC NO_FUNC NO_FUNC>; |
| func4-en-mask = <0 BIT(6) 0 0 |
| 0 0 0 0>; |
| volt-sel = <0xf05061 0xf05063 0xf05065 NO_FUNC |
| NO_FUNC NO_FUNC 0xf0506d NO_FUNC>; |
| volt-sel-mask = <BIT(3) BIT(3) BIT(3) 0 |
| 0 0 BIT(3) 0>; |
| #pinmux-cells = <2>; |
| gpio-group; |
| }; |
| |
| pinctrlh: pinctrl@f01648 { |
| compatible = "ite,it8xxx2-pinctrl-func"; |
| reg = <0x00f01648 8 /* GPCR */ |
| NO_FUNC 1>; |
| func3-gcr = <0xf016f0 0xf016f5 0xf016f5 0xf016f0 |
| 0xf016f0 NO_FUNC NO_FUNC 0xf016f0>; |
| func3-en-mask = <BIT(1) BIT(2) BIT(3) BIT(1) |
| BIT(1) 0 0 BIT(5)>; |
| func4-gcr = <0xf016ed 0xf016f1 0xf016f1 NO_FUNC |
| NO_FUNC NO_FUNC NO_FUNC 0xf016f5>; |
| func4-en-mask = <BIT(2) BIT(5) BIT(5) 0 |
| 0 0 0 BIT(7)>; |
| volt-sel = <0xf05071 0xf05073 0xf05075 0xf05077 |
| 0xf05079 NO_FUNC NO_FUNC 0xf0507f>; |
| volt-sel-mask = <BIT(3) BIT(3) BIT(3) BIT(3) |
| BIT(3) 0 0 BIT(3)>; |
| #pinmux-cells = <2>; |
| gpio-group; |
| }; |
| |
| pinctrli: pinctrl@f01650 { |
| compatible = "ite,it8xxx2-pinctrl-func"; |
| reg = <0x00f01650 8 /* GPCR */ |
| NO_FUNC 1>; |
| func3-gcr = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC |
| NO_FUNC 0xf016f0 0xf016f0 0xf016f0>; |
| func3-en-mask = <0 0 0 0 |
| 0 BIT(3) BIT(3) BIT(3)>; |
| 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 = <0xf05081 0xf05083 0xf05085 0xf05087 |
| 0xf05089 0xf0508b 0xf0508d 0xf0508f>; |
| volt-sel-mask = <BIT(3) BIT(3) BIT(3) BIT(3) |
| BIT(3) BIT(3) BIT(3) BIT(3)>; |
| #pinmux-cells = <2>; |
| gpio-group; |
| }; |
| |
| pinctrlj: pinctrl@f01658 { |
| compatible = "ite,it8xxx2-pinctrl-func"; |
| reg = <0x00f01658 8 /* GPCR */ |
| NO_FUNC 1>; |
| func3-gcr = <0xf016f1 0xf016fe NO_FUNC 0xf016ed |
| 0xf016ed 0xf016ed 0xf016f4 0xf016d1>; |
| func3-en-mask = <BIT(7) BIT(3) 0 BIT(4) |
| BIT(4) BIT(5) BIT(1) BIT(3)>; |
| func4-gcr = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC |
| NO_FUNC NO_FUNC 0xf016ed 0xf016f0>; |
| func4-en-mask = <0 0 0 0 |
| 0 0 BIT(3) BIT(4)>; |
| volt-sel = <0xf05091 0xf05093 NO_FUNC 0xf05097 |
| 0xf05099 0xf0509b 0xf0509d 0xf0509f>; |
| volt-sel-mask = <BIT(3) BIT(3) 0 BIT(3) |
| BIT(3) BIT(3) BIT(3) BIT(3)>; |
| #pinmux-cells = <2>; |
| gpio-group; |
| }; |
| |
| pinctrlk: pinctrl@f01d2d { |
| compatible = "ite,it8xxx2-pinctrl-func"; |
| reg = <0x00f01d2d 1 /* KSOLGCTRL */ |
| 0x00f01d02 1>; /* KSOCTRL */ |
| pp-od-mask = <BIT(0)>; |
| pullup-mask = <BIT(2)>; |
| #pinmux-cells = <2>; |
| }; |
| |
| pinctrll: pinctrl@f01d2e { |
| compatible = "ite,it8xxx2-pinctrl-func"; |
| reg = <0x00f01d2e 1 /* KSOHGCTRL */ |
| 0x00f01d02 1>; /* KSOCTRL */ |
| pp-od-mask = <BIT(0)>; |
| pullup-mask = <BIT(2)>; |
| #pinmux-cells = <2>; |
| }; |
| |
| pinctrlm: pinctrl@f016a0 { |
| compatible = "ite,it8xxx2-pinctrl-func"; |
| reg = <0x00f016a0 8 /* GPCR */ |
| NO_FUNC 1>; |
| 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 = <NO_FUNC NO_FUNC NO_FUNC NO_FUNC |
| NO_FUNC NO_FUNC NO_FUNC NO_FUNC>; |
| volt-sel-mask = <0 0 0 0 |
| 0 0 0 0>; |
| #pinmux-cells = <2>; |
| gpio-group; |
| }; |
| |
| pinctrln: pinctrl@f01d2c { |
| compatible = "ite,it8xxx2-pinctrl-func"; |
| reg = <0x00f01d2c 1 /* KSIGCTRL */ |
| 0x00f01d05 1>; /* KSICTRL */ |
| pp-od-mask = <NO_FUNC>; |
| pullup-mask = <BIT(2)>; |
| #pinmux-cells = <2>; |
| }; |
| |
| wuc1: wakeup-controller@f01b00 { |
| compatible = "ite,it51xxx-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,it51xxx-wuc"; |
| reg = <0x00f01b01 1 /* WUEMR2 */ |
| 0x00f01b05 1 /* WUESR2 */ |
| IT51XXX_WUC_UNUSED_REG 1 /* WUENR2 */ |
| 0x00f01b3d 1>; /* WUBEMR2 */ |
| wakeup-controller; |
| #wuc-cells = <1>; |
| }; |
| |
| wuc3: wakeup-controller@f01b02 { |
| compatible = "ite,it51xxx-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,it51xxx-wuc"; |
| reg = <0x00f01b03 1 /* WUEMR4 */ |
| 0x00f01b07 1 /* WUESR4 */ |
| 0x00f01b0b 1 /* WUENR4 */ |
| 0x00f01b3f 1>; /* WUBEMR4 */ |
| wakeup-controller; |
| #wuc-cells = <1>; |
| }; |
| |
| wuc6: wakeup-controller@f01b10 { |
| compatible = "ite,it51xxx-wuc"; |
| reg = <0x00f01b10 1 /* WUEMR6 */ |
| 0x00f01b11 1 /* WUESR6 */ |
| IT51XXX_WUC_UNUSED_REG 1 /* WUENR6 */ |
| 0x00f01b13 1>; /* WUBEMR6 */ |
| wakeup-controller; |
| #wuc-cells = <1>; |
| }; |
| |
| wuc7: wakeup-controller@f01b14 { |
| compatible = "ite,it51xxx-wuc"; |
| reg = <0x00f01b14 1 /* WUEMR7 */ |
| 0x00f01b15 1 /* WUESR7 */ |
| IT51XXX_WUC_UNUSED_REG 1 /* WUENR7 */ |
| 0x00f01b17 1>; /* WUBEMR7 */ |
| wakeup-controller; |
| both-edge-trigger; |
| #wuc-cells = <1>; |
| }; |
| |
| wuc8: wakeup-controller@f01b18 { |
| compatible = "ite,it51xxx-wuc"; |
| reg = <0x00f01b18 1 /* WUEMR8 */ |
| 0x00f01b19 1 /* WUESR8 */ |
| IT51XXX_WUC_UNUSED_REG 1 /* WUENR8 */ |
| 0x00f01b1b 1>; /* WUBEMR8 */ |
| wakeup-controller; |
| #wuc-cells = <1>; |
| }; |
| |
| wuc9: wakeup-controller@f01b1c { |
| compatible = "ite,it51xxx-wuc"; |
| reg = <0x00f01b1c 1 /* WUEMR9 */ |
| 0x00f01b1d 1 /* WUESR9 */ |
| IT51XXX_WUC_UNUSED_REG 1 /* WUENR9 */ |
| 0x00f01b1f 1>; /* WUBEMR9 */ |
| wakeup-controller; |
| #wuc-cells = <1>; |
| }; |
| |
| wuc10: wakeup-controller@f01b20 { |
| compatible = "ite,it51xxx-wuc"; |
| reg = <0x00f01b20 1 /* WUEMR10 */ |
| 0x00f01b21 1 /* WUESR10 */ |
| IT51XXX_WUC_UNUSED_REG 1 /* WUENR10 */ |
| 0x00f01b23 1>; /* WUBEMR10 */ |
| wakeup-controller; |
| both-edge-trigger; |
| #wuc-cells = <1>; |
| }; |
| |
| wuc11: wakeup-controller@f01b24 { |
| compatible = "ite,it51xxx-wuc"; |
| reg = <0x00f01b24 1 /* WUEMR11 */ |
| 0x00f01b25 1 /* WUESR11 */ |
| IT51XXX_WUC_UNUSED_REG 1 /* WUENR11 */ |
| 0x00f01b27 1>; /* WUBEMR11 */ |
| wakeup-controller; |
| #wuc-cells = <1>; |
| }; |
| |
| wuc12: wakeup-controller@f01b28 { |
| compatible = "ite,it51xxx-wuc"; |
| reg = <0x00f01b28 1 /* WUEMR12 */ |
| 0x00f01b29 1 /* WUESR12 */ |
| IT51XXX_WUC_UNUSED_REG 1 /* WUENR12 */ |
| 0x00f01b2b 1>; /* WUBEMR12 */ |
| wakeup-controller; |
| both-edge-trigger; |
| #wuc-cells = <1>; |
| }; |
| |
| wuc13: wakeup-controller@f01b2c { |
| compatible = "ite,it51xxx-wuc"; |
| reg = <0x00f01b2c 1 /* WUEMR13 */ |
| 0x00f01b2d 1 /* WUESR13 */ |
| IT51XXX_WUC_UNUSED_REG 1 /* WUENR13 */ |
| 0x00f01b2f 1>; /* WUBEMR13 */ |
| wakeup-controller; |
| #wuc-cells = <1>; |
| }; |
| |
| wuc14: wakeup-controller@f01b30 { |
| compatible = "ite,it51xxx-wuc"; |
| reg = <0x00f01b30 1 /* WUEMR14 */ |
| 0x00f01b31 1 /* WUESR14 */ |
| IT51XXX_WUC_UNUSED_REG 1 /* WUENR14 */ |
| 0x00f01b33 1>; /* WUBEMR14 */ |
| wakeup-controller; |
| #wuc-cells = <1>; |
| }; |
| |
| wuc15: wakeup-controller@f01b34 { |
| compatible = "ite,it51xxx-wuc"; |
| reg = <0x00f01b34 1 /* WUEMR15 */ |
| 0x00f01b35 1 /* WUESR15 */ |
| IT51XXX_WUC_UNUSED_REG 1 /* WUENR15 */ |
| 0x00f01b37 1>; /* WUBEMR15 */ |
| wakeup-controller; |
| #wuc-cells = <1>; |
| }; |
| |
| wuc16: wakeup-controller@f01b38 { |
| compatible = "ite,it51xxx-wuc"; |
| reg = <0x00f01b38 1 /* WUEMR16 */ |
| 0x00f01b39 1 /* WUESR16 */ |
| IT51XXX_WUC_UNUSED_REG 1 /* WUENR16 */ |
| 0x00f01b3b 1>; /* WUBEMR16 */ |
| wakeup-controller; |
| #wuc-cells = <1>; |
| }; |
| |
| wuc_fake: wakeup-controller@0 { |
| compatible = "ite,it51xxx-wuc"; |
| reg = <0 1 |
| 0 1 |
| 0 1 |
| 0 1>; |
| #wuc-cells = <1>; |
| }; |
| |
| bbram: bb-ram@f02200 { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| compatible = "ite,it8xxx2-bbram"; |
| status = "okay"; |
| reg = <0x00f02200 0x80>; |
| }; |
| |
| i2cbase: i2cbase@f04100 { |
| compatible = "ite,it51xxx-i2cbase"; |
| reg = <0x00f04100 1 |
| 0x00f01c00 1>; |
| }; |
| |
| i2c0: i2c@f04100 { |
| compatible = "ite,it51xxx-i2c"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| status = "disabled"; |
| reg = <0x00f04100 0x0028 |
| 0x00f04200 0x0020>; |
| interrupts = <IT51XXX_IRQ_SMB_A IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_SMB_SA IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| scl-gpios = <&gpiof 2 0>; |
| sda-gpios = <&gpiof 3 0>; |
| port-num = <SMB_CHANNEL_A>; |
| channel-switch-sel = <SMB_SWITCH_INTERFACE0>; |
| fifo-enable; /* FIFO1 */ |
| }; |
| |
| i2c1: i2c@f04128 { |
| compatible = "ite,it51xxx-i2c"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| status = "disabled"; |
| reg = <0x00f04128 0x0028 |
| 0x00f04220 0x0020>; |
| interrupts = <IT51XXX_IRQ_SMB_B IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_SMB_SB IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| scl-gpios = <&gpioc 1 0>; |
| sda-gpios = <&gpioc 2 0>; |
| port-num = <SMB_CHANNEL_B>; |
| channel-switch-sel = <SMB_SWITCH_INTERFACE1>; |
| fifo-enable; /* FIFO2 */ |
| }; |
| |
| i2c2: i2c@f04150 { |
| compatible = "ite,it51xxx-i2c"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| status = "disabled"; |
| reg = <0x00f04150 0x0028 |
| 0x00f04240 0x0020>; |
| interrupts = <IT51XXX_IRQ_SMB_C IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_SMB_SC IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| scl-gpios = <&gpiof 6 0>; |
| sda-gpios = <&gpiof 7 0>; |
| port-num = <SMB_CHANNEL_C>; |
| channel-switch-sel = <SMB_SWITCH_INTERFACE2>; |
| /delete-property/ fifo-enable; /* FIFO2 */ |
| }; |
| |
| i2c3: i2c@f04178 { |
| compatible = "ite,it51xxx-i2c"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| status = "disabled"; |
| reg = <0x00f04178 0x0028 |
| 0 1>; |
| interrupts = <IT51XXX_IRQ_SMB_D IRQ_TYPE_LEVEL_HIGH |
| 0 0>; |
| interrupt-parent = <&intc>; |
| scl-gpios = <&gpioh 1 0>; |
| sda-gpios = <&gpioh 2 0>; |
| port-num = <SMB_CHANNEL_D>; |
| channel-switch-sel = <SMB_SWITCH_INTERFACE3>; |
| /delete-property/ fifo-enable; /* FIFO2 */ |
| }; |
| |
| i2c4: i2c@f041a0 { |
| compatible = "ite,it51xxx-i2c"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| status = "disabled"; |
| reg = <0x00f041a0 0x0028 |
| 0 1>; |
| interrupts = <IT51XXX_IRQ_SMB_E IRQ_TYPE_LEVEL_HIGH |
| 0 0>; |
| interrupt-parent = <&intc>; |
| scl-gpios = <&gpioe 0 0>; |
| sda-gpios = <&gpioe 7 0>; |
| port-num = <SMB_CHANNEL_E>; |
| channel-switch-sel = <SMB_SWITCH_INTERFACE4>; |
| /delete-property/ fifo-enable; /* FIFO2 */ |
| }; |
| |
| i2c5: i2c@f041c8 { |
| compatible = "ite,it51xxx-i2c"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| status = "disabled"; |
| reg = <0x00f041c8 0x0028 |
| 0 1>; |
| interrupts = <IT51XXX_IRQ_SMB_F IRQ_TYPE_LEVEL_HIGH |
| 0 0>; |
| interrupt-parent = <&intc>; |
| scl-gpios = <&gpioa 4 0>; |
| sda-gpios = <&gpioa 5 0>; |
| port-num = <SMB_CHANNEL_F>; |
| channel-switch-sel = <SMB_SWITCH_INTERFACE5>; |
| /delete-property/ fifo-enable; /* FIFO2 */ |
| }; |
| |
| i2c6: i2c@f04260 { |
| compatible = "ite,it51xxx-i2c"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| status = "disabled"; |
| reg = <0x00f04260 0x0028 |
| 0 1>; |
| interrupts = <IT51XXX_IRQ_SMB_G IRQ_TYPE_LEVEL_HIGH |
| 0 0>; |
| interrupt-parent = <&intc>; |
| scl-gpios = <&gpiod 0 0>; |
| sda-gpios = <&gpiod 1 0>; |
| port-num = <SMB_CHANNEL_G>; |
| channel-switch-sel = <SMB_SWITCH_INTERFACE6>; |
| /delete-property/ fifo-enable; /* FIFO2 */ |
| }; |
| |
| i2c7: i2c@f04288 { |
| compatible = "ite,it51xxx-i2c"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| status = "disabled"; |
| reg = <0x00f04288 0x0028 |
| 0 1>; |
| interrupts = <IT51XXX_IRQ_SMB_H IRQ_TYPE_LEVEL_HIGH |
| 0 0>; |
| interrupt-parent = <&intc>; |
| scl-gpios = <&gpiob 2 0>; |
| sda-gpios = <&gpioh 0 0>; |
| port-num = <SMB_CHANNEL_H>; |
| channel-switch-sel = <SMB_SWITCH_INTERFACE7>; |
| /delete-property/ fifo-enable; /* FIFO2 */ |
| }; |
| |
| i2c8: i2c@f042b0 { |
| compatible = "ite,it51xxx-i2c"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| status = "disabled"; |
| reg = <0x00f042b0 0x0028 |
| 0 1>; |
| interrupts = <IT51XXX_IRQ_SMB_I IRQ_TYPE_LEVEL_HIGH |
| 0 0>; |
| interrupt-parent = <&intc>; |
| scl-gpios = <&gpiob 5 0>; |
| sda-gpios = <&gpioj 6 0>; |
| port-num = <SMB_CHANNEL_I>; |
| channel-switch-sel = <SMB_SWITCH_INTERFACE8>; |
| /delete-property/ fifo-enable; /* FIFO2 */ |
| }; |
| |
| ecpm: clock-controller@f01e00 { |
| compatible = "ite,it51xxx-ecpm"; |
| reg = <0x00f01e00 0x0a>; |
| pll-frequency = <PLL_48000_KHZ>; |
| #clock-cells = <2>; |
| }; |
| |
| gctrl: general-control@f02000 { |
| compatible = "ite,it51xxx-gctrl"; |
| reg = <0x00f02000 0x100>; |
| }; |
| |
| uart1: uart@f02700 { |
| compatible = "ns16550"; |
| reg = <0x00f02700 0x0020>; |
| status = "disabled"; |
| current-speed = <115200>; |
| clock-frequency = <1843200>; |
| interrupts = <38 IRQ_TYPE_EDGE_RISING>; |
| interrupt-parent = <&intc>; |
| reg-shift = <0>; |
| }; |
| |
| ite_uart1_wrapper: uartwrapper@f02720 { |
| compatible = "ite,it51xxx-uart"; |
| reg = <0x00f02720 0x0020>; |
| status = "disabled"; |
| wucctrl = <&wuc_wu86>; /* GPC7 */ |
| interrupts = <IT51XXX_IRQ_WU86 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| clocks = <&ecpm IT51XXX_ECPM_CGCTRL3R_OFF BIT(2)>; |
| }; |
| |
| uart2: uart@f02800 { |
| compatible = "ns16550"; |
| reg = <0x00f02800 0x0020>; |
| status = "disabled"; |
| current-speed = <460800>; |
| clock-frequency = <1843200>; |
| interrupts = <39 IRQ_TYPE_EDGE_RISING>; |
| interrupt-parent = <&intc>; |
| reg-shift = <0>; |
| }; |
| |
| ite_uart2_wrapper: uartwrapper@f02820 { |
| compatible = "ite,it51xxx-uart"; |
| reg = <0x00f02820 0x0020>; |
| status = "disabled"; |
| wucctrl = <&wuc_wu61>; /* GPH1 */ |
| interrupts = <IT51XXX_IRQ_WU61 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| clocks = <&ecpm IT51XXX_ECPM_CGCTRL3R_OFF BIT(2)>; |
| }; |
| |
| intc: interrupt-controller@f04300 { |
| compatible = "ite,it51xxx-intc"; |
| #address-cells = <0>; |
| #interrupt-cells = <2>; |
| interrupt-controller; |
| reg = <0x00f04300 0x0100>; |
| }; |
| |
| timer: timer@f04700 { |
| compatible = "ite,it51xxx-timer"; |
| reg = <0x00f04700 0xff>; |
| interrupts = <IT51XXX_IRQ_TIMER3_DW IRQ_TYPE_EDGE_RISING /* Event timer */ |
| IT51XXX_IRQ_TIMER4_DW IRQ_TYPE_EDGE_RISING /* Free run */ |
| IT51XXX_IRQ_TIMER5_DW IRQ_TYPE_EDGE_RISING /* Busy wait */ |
| IT51XXX_IRQ_TIMER6_DW IRQ_TYPE_EDGE_RISING>; /* Busy wait */ |
| interrupt-parent = <&intc>; |
| }; |
| |
| counter0: counter@f04730 { |
| compatible = "ite,it51xxx-counter"; |
| reg = <0x00f04730 0xcf>; |
| interrupts = <IT51XXX_IRQ_TIMER7_DW IRQ_TYPE_EDGE_RISING /* Alarm timer */ |
| IT51XXX_IRQ_TIMER8_DW IRQ_TYPE_EDGE_RISING>; /* Top timer */ |
| interrupt-parent = <&intc>; |
| status = "disabled"; |
| }; |
| |
| kbd: kbd@f01d00 { |
| compatible = "ite,it51xxx-kbd"; |
| reg = <0x00f01d00 0x29>; |
| interrupt-parent = <&intc>; |
| interrupts = <IT51XXX_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)>; |
| }; |
| |
| 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 = <IT51XXX_IRQ_ESPI IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_ESPI_VW IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_KBC_IBF IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_KBC_OBE IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_PMC1_IBF IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_PCH_P80 IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_PMC2_IBF IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_WKINTD IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_PMC3_IBF IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_PMC4_IBF IRQ_TYPE_LEVEL_HIGH |
| IT51XXX_IRQ_PMC5_IBF IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| wucctrl = <&wuc_wu42>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| status = "disabled"; |
| }; |
| |
| twd0: watchdog@f04780 { |
| compatible = "ite,it51xxx-watchdog"; |
| reg = <0x00f04780 0x20>; |
| interrupts = <IT51XXX_IRQ_TIMER1_DW IRQ_TYPE_EDGE_RISING>; /* Warn timer */ |
| interrupt-parent = <&intc>; |
| }; |
| |
| pwm0: pwm@f04600 { |
| compatible = "ite,it51xxx-pwm"; |
| reg = <0x00f04600 0xf |
| 0x00f04680 0x80>; |
| status = "disabled"; |
| #pwm-cells = <3>; |
| }; |
| |
| pwm1: pwm@f04610 { |
| compatible = "ite,it51xxx-pwm"; |
| reg = <0x00f04610 0xf |
| 0x00f04680 0x80>; |
| status = "disabled"; |
| #pwm-cells = <3>; |
| }; |
| |
| pwm2: pwm@f04620 { |
| compatible = "ite,it51xxx-pwm"; |
| reg = <0x00f04620 0xf |
| 0x00f04680 0x80>; |
| status = "disabled"; |
| #pwm-cells = <3>; |
| }; |
| |
| pwm3: pwm@f04630 { |
| compatible = "ite,it51xxx-pwm"; |
| reg = <0x00f04630 0xf |
| 0x00f04680 0x80>; |
| status = "disabled"; |
| #pwm-cells = <3>; |
| }; |
| |
| pwm4: pwm@f04640 { |
| compatible = "ite,it51xxx-pwm"; |
| reg = <0x00f04640 0xf |
| 0x00f04680 0x80>; |
| status = "disabled"; |
| #pwm-cells = <3>; |
| }; |
| |
| pwm5: pwm@f04650 { |
| compatible = "ite,it51xxx-pwm"; |
| reg = <0x00f04650 0xf |
| 0x00f04680 0x80>; |
| status = "disabled"; |
| #pwm-cells = <3>; |
| }; |
| |
| pwm6: pwm@f04660 { |
| compatible = "ite,it51xxx-pwm"; |
| reg = <0x00f04660 0xf |
| 0x00f04680 0x80>; |
| status = "disabled"; |
| #pwm-cells = <3>; |
| }; |
| |
| pwm7: pwm@f04670 { |
| compatible = "ite,it51xxx-pwm"; |
| reg = <0x00f04670 0xf |
| 0x00f04680 0x80>; |
| status = "disabled"; |
| #pwm-cells = <3>; |
| }; |
| |
| tach0: tach@f046c0 { |
| compatible = "ite,it51xxx-tach"; |
| reg = <0x00f046c0 0xf>; |
| status = "disabled"; |
| }; |
| |
| tach1: tach@f046d0 { |
| compatible = "ite,it51xxx-tach"; |
| reg = <0x00f046d0 0xf>; |
| status = "disabled"; |
| }; |
| |
| tach2: tach@f046e0 { |
| compatible = "ite,it51xxx-tach"; |
| reg = <0x00f046e0 0xf>; |
| status = "disabled"; |
| }; |
| |
| i3c0: i3c@f03c00 { |
| compatible = "ite,it51xxx-i3cm"; |
| reg = <0x00f03c00 0x0053>; |
| status = "disabled"; |
| interrupts = <IT51XXX_IRQ_I3C_M0 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| #address-cells = <3>; |
| #size-cells = <0>; |
| io-channel = <0>; |
| }; |
| |
| i3c1: i3c@f03c80 { |
| compatible = "ite,it51xxx-i3cm"; |
| reg = <0x00f03c80 0x0053>; |
| status = "disabled"; |
| interrupts = <IT51XXX_IRQ_I3C_M1 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| #address-cells = <3>; |
| #size-cells = <0>; |
| io-channel = <1>; |
| }; |
| |
| i3c2: i3c@f03d00 { |
| compatible = "ite,it51xxx-i3cs"; |
| reg = <0x00f03d00 0x007a>; |
| status = "disabled"; |
| interrupts = <IT51XXX_IRQ_I3C_S0 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| io-channel = <2>; |
| extern-enable = <0xf016de 0>; |
| }; |
| |
| i3c3: i3c@f03d80 { |
| compatible = "ite,it51xxx-i3cs"; |
| reg = <0x00f03d80 0x007a>; |
| status = "disabled"; |
| interrupts = <IT51XXX_IRQ_I3C_S1 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&intc>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| io-channel = <3>; |
| extern-enable = <0xf016de 1>; |
| }; |
| |
| sha256: crypto@f03b00 { |
| compatible = "ite,it51xxx-sha"; |
| reg = <0x00f03b00 0x6>; |
| status = "disabled"; |
| }; |
| |
| spi0: spi@f02600 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| compatible = "ite,it51xxx-spi"; |
| reg = <0x00f02600 0x24>; |
| interrupt-parent = <&intc>; |
| interrupts = <IT51XXX_IRQ_SPI IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&ecpm IT51XXX_ECPM_CGCTRL3R_OFF BIT(1)>; |
| status = "disabled"; |
| }; |
| }; |
| }; |