1 /*
2  * Copyright (c) 2022 ITE Corporation. All Rights Reserved
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #ifndef ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_IT8XXX2_WUC_H_
8 #define ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_IT8XXX2_WUC_H_
9 
10 #include <zephyr/device.h>
11 #include <stdint.h>
12 
13 /**
14  * @brief A trigger condition on the corresponding input generates
15  *        a wake-up signal to the power management control of EC
16  *
17  * @param dev Pointer to the device structure for the driver instance
18  * @param mask Pin mask of WUC group
19  */
20 void it8xxx2_wuc_enable(const struct device *dev, uint8_t mask);
21 
22 /**
23  * @brief A trigger condition on the corresponding input doesn't
24  *        assert the wake-up signal (canceled not pending)
25  *
26  * @param dev Pointer to the device structure for the driver instance
27  * @param mask Pin mask of WUC group
28  */
29 void it8xxx2_wuc_disable(const struct device *dev, uint8_t mask);
30 
31 /**
32  * @brief Write-1-clear a trigger condition that occurs on the
33  *        corresponding input
34  *
35  * @param dev Pointer to the device structure for the driver instance
36  * @param mask Pin mask of WUC group
37  */
38 void it8xxx2_wuc_clear_status(const struct device *dev, uint8_t mask);
39 
40 /**
41  * @brief Select the trigger edge mode on the corresponding input
42  *
43  * @param dev Pointer to the device structure for the driver instance
44  * @param mask Pin mask of WUC group
45  * @param flags Select the trigger edge mode
46  */
47 void it8xxx2_wuc_set_polarity(const struct device *dev, uint8_t mask,
48 			      uint32_t flags);
49 
50 #endif /* ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_IT8XXX2_WUC_H_ */
51