blob: c59222535bc986778c18fbba8312940b03f4475b [file] [log] [blame]
yu.dongc33b3072024-08-21 23:14:49 -07001/*****************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2005
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*****************************************************************************/
35
36/*****************************************************************************
37 *
38 * Filename:
39 * ---------
40 * keypad_hw.h
41 *
42 * Project:
43 * --------
44 * Maui_Software
45 *
46 * Description:
47 * ------------
48 * This file is intends for keypad driver.
49 *
50 * Author:
51 * -------
52 * -------
53 *
54 *============================================================================
55 * HISTORY
56 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
57 *------------------------------------------------------------------------------
58 * removed!
59 * removed!
60 * removed!
61 *
62 * removed!
63 * removed!
64 * removed!
65 *
66 * removed!
67 * removed!
68 * removed!
69 *
70 * removed!
71 * removed!
72 * removed!
73 * removed!
74 * removed!
75 * removed!
76 *
77 * removed!
78 * removed!
79 * removed!
80 * removed!
81 * removed!
82 *
83 * removed!
84 * removed!
85 * removed!
86 * removed!
87 *
88 * removed!
89 * removed!
90 * removed!
91 *
92 * removed!
93 * removed!
94 * removed!
95 *
96 * removed!
97 * removed!
98 * removed!
99 *
100 * removed!
101 * removed!
102 * removed!
103 *
104 * removed!
105 * removed!
106 * removed!
107 *
108 * removed!
109 * removed!
110 * removed!
111 *
112 * removed!
113 * removed!
114 * removed!
115 *
116 * removed!
117 * removed!
118 * removed!
119 *
120 * removed!
121 * removed!
122 * removed!
123 *
124 * removed!
125 * removed!
126 * removed!
127 *
128 * removed!
129 * removed!
130 * removed!
131 *
132 * removed!
133 * removed!
134 * removed!
135 *
136 * removed!
137 * removed!
138 * removed!
139 *
140 * removed!
141 * removed!
142 * removed!
143 * removed!
144 * removed!
145 * removed!
146 * removed!
147 * removed!
148 * removed!
149 * removed!
150 * removed!
151 * removed!
152 * removed!
153 * removed!
154 * removed!
155 * removed!
156 * removed!
157 * removed!
158 * removed!
159 * removed!
160 * removed!
161 * removed!
162 * removed!
163 * removed!
164 * removed!
165 * removed!
166 * removed!
167 * removed!
168 * removed!
169 * removed!
170 * removed!
171 * removed!
172 * removed!
173 * removed!
174 * removed!
175 * removed!
176 * removed!
177 * removed!
178 * removed!
179 * removed!
180 * removed!
181 *------------------------------------------------------------------------------
182 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
183 *============================================================================
184 ****************************************************************************/
185#ifndef KEYPAD_HW_H
186#define KEYPAD_HW_H
187#include "drv_features.h"
188#include "reg_base.h"
189#if defined(DRV_KBD_32KEYS_EQ_BELOW) || defined(FPGA)
190#ifndef DRV_KP_OFF
191 #define KP_STS (KP_base+0x00)
192 #define KP_LOW_KEY (KP_base+0x04)
193 #define KP_HI_KEY (KP_base+0x08)
194 #define KP_DEBOUNCE (KP_base+0x0C)
195 #define KP_SCAN (KP_base+0x10)
196#endif // DRV_KP_OFF
197
198 //kp_sts
199 #define KP_STS_KEYPRESS 0x0001
200 #define KP_STS_IDLE 0x0000
201 #define KP_STS_MASK 0x0001
202
203 //KP_LOW_KEY
204 #define KP_LOW_KEY_MASK 0xffff
205
206 //KP_HI_KEY
207 #define KP_HI_KEY_MASK 0x01ff
208
209 //KP_DEBOUNCE
210 #define KP_DEBOUNCE_TIME 0x0400
211
212 //KP_SCAN
213 #define KP_SCAN_4KHZ 0x0007
214#else /*DRV_KBD_32KEYS_EQ_BELOW,FPGA*/
215
216#ifndef DRV_KP_OFF
217 #define KP_STS (KP_base+0x00)
218 #define KP_LOW_KEY (KP_base+0x04)
219 #define KP_MID_KEY (KP_base+0x08)
220
221#if defined(DRV_KBD_32KEYS_ABOVE)
222 #define KP_HI_KEY (KP_base+0x0c)
223 #define KP_DEBOUNCE (KP_base+0x10)
224#elif defined(DRV_KBD_48KEYS_ABOVE)
225 #define KP_MID1_KEY (KP_base+0x0c)
226 #define KP_HI_KEY (KP_base+0x10)
227 #define KP_DEBOUNCE (KP_base+0x18)
228
229 #define KP_MID1_KEY_MASK 0xffff
230#elif defined(DRV_KBD_64KEYS_ABOVE)
231 #define KP_MID1_KEY (KP_base+0x0c)
232 #define KP_MID2_KEY (KP_base+0x10)
233 #define KP_HI_KEY (KP_base+0x14)
234 #define KP_DEBOUNCE (KP_base+0x18)
235
236 #define KP_MID1_KEY_MASK 0xffff
237 #define KP_MID2_KEY_MASK 0xffff
238#endif /*DRV_KBD_32KEYS_ABOVE*/
239#endif // DRV_KP_OFF
240
241 #define KP_STS_KEYPRESS 0x0001
242 #define KP_STS_IDLE 0x0000
243 #define KP_STS_MASK 0x0001
244
245 #define KP_LOW_KEY_MASK 0xffff
246 #define KP_MID_KEY_MASK 0xffff
247
248 #define KP_DEBOUNCE_TIME 0x0200
249#endif /*DRV_KBD_32KEYS_EQ_BELOW,FPGA*/
250
251#if defined(DRV_KBD_36_KEYS)
252 #define KP_HI_KEY_MASK 0x00ff
253#elif defined(DRV_KBD_42_KEYS)
254 #define KP_HI_KEY_MASK 0x07ff
255#elif defined(DRV_KBD_35_KEYS)
256 #define KP_HI_KEY_MASK 0x0007
257#elif defined(DRV_KBD_54_KEYS)
258 #define KP_HI_KEY_MASK 0x003F
259#elif defined(DRV_KBD_72_KEYS)
260 #define KP_HI_KEY_MASK 0x00ff
261#endif
262#endif /*KEYPAD_HW_H*/
263
264