Azure Sphere MT3620 M4 API Reference Manual
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
mhal_eint.h
1 /*
2  * (C) 2005-2020 MediaTek Inc. All rights reserved.
3  *
4  * Copyright Statement:
5  *
6  * This MT3620 driver software/firmware and related documentation
7  * ("MediaTek Software") are protected under relevant copyright laws.
8  * The information contained herein is confidential and proprietary to
9  * MediaTek Inc. ("MediaTek"). You may only use, reproduce, modify, or
10  * distribute (as applicable) MediaTek Software if you have agreed to and been
11  * bound by this Statement and the applicable license agreement with MediaTek
12  * ("License Agreement") and been granted explicit permission to do so within
13  * the License Agreement ("Permitted User"). If you are not a Permitted User,
14  * please cease any access or use of MediaTek Software immediately.
15  *
16  * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
17  * THAT MEDIATEK SOFTWARE RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE
18  * PROVIDED TO RECEIVER ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS
19  * ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
21  * NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH
22  * RESPECT TO THE SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY,
23  * INCORPORATED IN, OR SUPPLIED WITH MEDIATEK SOFTWARE, AND RECEIVER AGREES TO
24  * LOOK ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO.
25  * RECEIVER EXPRESSLY ACKNOWLEDGES THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO
26  * OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES CONTAINED IN MEDIATEK
27  * SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE
28  * RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
29  * STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S
30  * ENTIRE AND CUMULATIVE LIABILITY WITH RESPECT TO MEDIATEK SOFTWARE RELEASED
31  * HEREUNDER WILL BE ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY
32  * RECEIVER TO MEDIATEK DURING THE PRECEDING TWELVE (12) MONTHS FOR SUCH
33  * MEDIATEK SOFTWARE AT ISSUE.
34  */
35 
36 #ifndef __MHAL_EINT_H__
37 #define __MHAL_EINT_H__
38 
39 #include "mhal_osai.h"
40 
117 #define EINT_EFAULT 1
118 
119 #define EINT_EINVAL 2
120 
133 typedef enum {
134  HAL_EINT_NUMBER_0 = 0,
135  HAL_EINT_NUMBER_1 = 1,
136  HAL_EINT_NUMBER_2 = 2,
137  HAL_EINT_NUMBER_3 = 3,
138  HAL_EINT_NUMBER_4 = 4,
139  HAL_EINT_NUMBER_5 = 5,
140  HAL_EINT_NUMBER_6 = 6,
141  HAL_EINT_NUMBER_7 = 7,
142  HAL_EINT_NUMBER_8 = 8,
143  HAL_EINT_NUMBER_9 = 9,
144  HAL_EINT_NUMBER_10 = 10,
145  HAL_EINT_NUMBER_11 = 11,
146  HAL_EINT_NUMBER_12 = 12,
147  HAL_EINT_NUMBER_13 = 13,
148  HAL_EINT_NUMBER_14 = 14,
149  HAL_EINT_NUMBER_15 = 15,
150  HAL_EINT_NUMBER_16 = 16,
151  HAL_EINT_NUMBER_17 = 17,
152  HAL_EINT_NUMBER_18 = 18,
153  HAL_EINT_NUMBER_19 = 19,
154  HAL_EINT_NUMBER_20 = 20,
155  HAL_EINT_NUMBER_21 = 21,
156  HAL_EINT_NUMBER_22 = 22,
157  HAL_EINT_NUMBER_23 = 23,
158  HAL_EINT_NUMBER_MAX
159 } eint_number;
160 
166 typedef enum {
188 #ifdef __cplusplus
189 extern "C" {
190 #endif
191 
206  eint_number eint_num, void __iomem *eint_base);
221  eint_number eint_num, void __iomem *eint_base);
222 
237 extern int mtk_mhal_eint_set_polarity(eint_number eint_num,
238  u32 pol, void __iomem *eint_base);
239 
255 extern int mtk_mhal_eint_set_dual(eint_number eint_num,
256  u32 dual, void __iomem *eint_base);
257 
273 extern int mtk_mhal_eint_set_debounce(eint_number eint_num,
274  u32 debounce_time, void __iomem *eint_base);
275 
276 #ifdef __cplusplus
277 }
278 #endif
279 
288 #endif
int mtk_mhal_eint_enable_debounce(eint_number eint_num, void __iomem *eint_base)
This function is used to enable EINT debounce.
int mtk_mhal_eint_set_debounce(eint_number eint_num, u32 debounce_time, void __iomem *eint_base)
This function is used to set EINT debounce time.
EINT trigger mode is dual-edge.
Definition: mhal_eint.h:176
EINT trigger mode is high level.
Definition: mhal_eint.h:170
int mtk_mhal_eint_set_polarity(eint_number eint_num, u32 pol, void __iomem *eint_base)
This function is used to set EINT polarity.
int mtk_mhal_eint_set_dual(eint_number eint_num, u32 dual, void __iomem *eint_base)
This function is used to set EINT dual-edge.
EINT trigger mode is falling edge.
Definition: mhal_eint.h:172
int mtk_mhal_eint_disable_debounce(eint_number eint_num, void __iomem *eint_base)
This function is used to disable EINT debounce.
EINT trigger mode is rising edge.
Definition: mhal_eint.h:174
EINT trigger mode is low level.
Definition: mhal_eint.h:168
eint_number
This enum defines the range of EINT number .
Definition: mhal_eint.h:133
eint_trigger_mode
This enum defines the EINT trigger mode.
Definition: mhal_eint.h:166