ARM: rockchip: rk3228: add grf definition
[firefly-linux-kernel-4.4.55.git] / include / linux / board-id.h
1 #ifndef __BOARD_ID_H\r
2 #define __BOARD_ID_H\r
3 #include <linux/miscdevice.h>\r
4 #include <linux/board-id-hw.h>\r
5 \r
6 enum type_devices{\r
7         DEVICE_TYPE_NULL = 0x0, \r
8 \r
9         DEVICE_TYPE_SUM = 0x20, \r
10         DEVICE_TYPE_AREA = 0x24,        //\r
11         DEVICE_TYPE_OPERATOR = 0x25,    \r
12         DEVICE_TYPE_OPERATOR2 = 0x26,\r
13         DEVICE_TYPE_RESERVE = 0x27,     \r
14         DEVICE_TYPE_STATUS = 0x28,\r
15 \r
16         DEVICE_TYPE_TP = 0x29,          //one byte size\r
17         DEVICE_TYPE_LCD,        \r
18         DEVICE_TYPE_KEY,        \r
19         DEVICE_TYPE_CODEC,\r
20         DEVICE_TYPE_WIFI,\r
21         DEVICE_TYPE_BT, \r
22         DEVICE_TYPE_GPS,        \r
23         DEVICE_TYPE_FM, \r
24         DEVICE_TYPE_MODEM,      \r
25         DEVICE_TYPE_DDR,\r
26         DEVICE_TYPE_FLASH,\r
27         DEVICE_TYPE_HDMI,\r
28         DEVICE_TYPE_BATTERY,\r
29         DEVICE_TYPE_CHARGE,     \r
30         DEVICE_TYPE_BACKLIGHT,\r
31         DEVICE_TYPE_HEADSET,\r
32         DEVICE_TYPE_MICPHONE,\r
33         DEVICE_TYPE_SPEAKER,\r
34         DEVICE_TYPE_VIBRATOR,\r
35         DEVICE_TYPE_TV, \r
36         DEVICE_TYPE_ECHIP,      //30\r
37         DEVICE_TYPE_HUB,\r
38         DEVICE_TYPE_TPAD,\r
39         \r
40         DEVICE_TYPE_PMIC,\r
41         DEVICE_TYPE_REGULATOR,\r
42         DEVICE_TYPE_RTC,\r
43         DEVICE_TYPE_CAMERA_FRONT,\r
44         DEVICE_TYPE_CAMERA_BACK,        //35\r
45         DEVICE_TYPE_ANGLE,\r
46         DEVICE_TYPE_ACCEL,\r
47         DEVICE_TYPE_COMPASS,\r
48         DEVICE_TYPE_GYRO,\r
49         DEVICE_TYPE_LIGHT,\r
50         DEVICE_TYPE_PROXIMITY,\r
51         DEVICE_TYPE_TEMPERATURE,        \r
52         DEVICE_TYPE_PRESSURE,\r
53         \r
54         DEVICE_NUM_TYPES,\r
55 };\r
56 \r
57 \r
58 #if 0\r
59 enum id_language{\r
60         LANGUAGE_ID_NULL = 0,\r
61         LANGUAGE_ID_EN,// Ó¢ÎÄ \r
62         LANGUAGE_ID_EN_US,// Ó¢ÎÄ (ÃÀ¹ú) \r
63         LANGUAGE_ID_AR,// °¢À­²®ÎÄ \r
64         LANGUAGE_ID_AR_AE,// °¢À­²®ÎÄ (°¢À­²®ÁªºÏÇõ³¤¹ú) \r
65         LANGUAGE_ID_AR_BH,// °¢À­²®ÎÄ (°ÍÁÖ) \r
66         LANGUAGE_ID_AR_DZ,// °¢À­²®ÎÄ (°¢¶û¼°ÀûÑÇ) \r
67         LANGUAGE_ID_AR_EG,// °¢À­²®ÎÄ (°£¼°) \r
68         LANGUAGE_ID_AR_IQ,// °¢À­²®ÎÄ (ÒÁÀ­¿Ë) \r
69         LANGUAGE_ID_AR_JO,// °¢À­²®ÎÄ (Ô¼µ©) \r
70         LANGUAGE_ID_AR_KW,// °¢À­²®ÎÄ (¿ÆÍþÌØ) \r
71         LANGUAGE_ID_AR_LB,// °¢À­²®ÎÄ (Àè°ÍÄÛ) \r
72         LANGUAGE_ID_AR_LY,// °¢À­²®ÎÄ (Àû±ÈÑÇ) \r
73         LANGUAGE_ID_AR_MA,// °¢À­²®ÎÄ (ĦÂå¸ç) \r
74         LANGUAGE_ID_AR_OM,// °¢À­²®ÎÄ (°¢Âü) \r
75         LANGUAGE_ID_AR_QA,// °¢À­²®ÎÄ (¿¨Ëþ¶û) \r
76         LANGUAGE_ID_AR_SA,// °¢À­²®ÎÄ (ɳÌØ°¢À­²®) \r
77         LANGUAGE_ID_AR_SD,// °¢À­²®ÎÄ (ËÕµ¤) \r
78         LANGUAGE_ID_AR_SY,// °¢À­²®ÎÄ (ÐðÀûÑÇ) \r
79         LANGUAGE_ID_AR_TN,// °¢À­²®ÎÄ (Í»Äá˹) \r
80         LANGUAGE_ID_AR_YE,// °¢À­²®ÎÄ (Ò²ÃÅ) \r
81         LANGUAGE_ID_BE,// °×¶íÂÞ˹ÎÄ \r
82         LANGUAGE_ID_BE_BY,// °×¶íÂÞ˹ÎÄ (°×¶íÂÞ˹) \r
83         LANGUAGE_ID_BG,// ±£¼ÓÀûÑÇÎÄ \r
84         LANGUAGE_ID_BG_BG,// ±£¼ÓÀûÑÇÎÄ (±£¼ÓÀûÑÇ) \r
85         LANGUAGE_ID_CA,// ¼ÓÌ©ÂÞÄáÑÇÎÄ \r
86         LANGUAGE_ID_CA_ES,// ¼ÓÌ©ÂÞÄáÑÇÎÄ (Î÷°àÑÀ) \r
87         LANGUAGE_ID_CA_ES_EURO,// ¼ÓÌ©ÂÞÄáÑÇÎÄ (Î÷°àÑÀ,EURO) \r
88         LANGUAGE_ID_CS,// ½Ý¿ËÎÄ \r
89         LANGUAGE_ID_CS_CZ,// ½Ý¿ËÎÄ (½Ý¿Ë¹²ºÍ¹ú) \r
90         LANGUAGE_ID_DA,// µ¤ÂóÎÄ \r
91         LANGUAGE_ID_DA_DK,// µ¤ÂóÎÄ (µ¤Âó) \r
92         LANGUAGE_ID_DE,// µÂÎÄ \r
93         LANGUAGE_ID_DE_AT,// µÂÎÄ (°ÂµØÀû) \r
94         LANGUAGE_ID_DE_AT_EURO,// µÂÎÄ (°ÂµØÀû,EURO) \r
95         LANGUAGE_ID_DE_CH,// µÂÎÄ (ÈðÊ¿) \r
96         LANGUAGE_ID_DE_DE,// µÂÎÄ (µÂ¹ú) \r
97         LANGUAGE_ID_DE_DE_EURO,// µÂÎÄ (µÂ¹ú,EURO) \r
98         LANGUAGE_ID_DE_LU,// µÂÎÄ (¬ɭ±¤) \r
99         LANGUAGE_ID_DE_LU_EURO,// µÂÎÄ (¬ɭ±¤,EURO) \r
100         LANGUAGE_ID_EL,// Ï£À°ÎÄ \r
101         LANGUAGE_ID_EL_GR,// Ï£À°ÎÄ (Ï£À°) \r
102         LANGUAGE_ID_EN_AU,// Ó¢ÎÄ (°Ä´óÀûÑÇ) \r
103         LANGUAGE_ID_EN_CA,// Ó¢ÎÄ (¼ÓÄôó) \r
104         LANGUAGE_ID_EN_GB,// Ó¢ÎÄ (Ó¢¹ú) \r
105         LANGUAGE_ID_EN_IE,// Ó¢ÎÄ (°®¶ûÀ¼) \r
106         LANGUAGE_ID_EN_IE_EURO,// Ó¢ÎÄ (°®¶ûÀ¼,EURO) \r
107         LANGUAGE_ID_EN_NZ,// Ó¢ÎÄ (ÐÂÎ÷À¼) \r
108         LANGUAGE_ID_EN_ZA,// Ó¢ÎÄ (ÄÏ·Ç) \r
109         LANGUAGE_ID_ES,// Î÷°àÑÀÎÄ \r
110         LANGUAGE_ID_ES_BO,// Î÷°àÑÀÎÄ (²£ÀûάÑÇ) \r
111         LANGUAGE_ID_ES_AR,// Î÷°àÑÀÎÄ (°¢¸ùÍ¢) \r
112         LANGUAGE_ID_ES_CL,// Î÷°àÑÀÎÄ (ÖÇÀû) \r
113         LANGUAGE_ID_ES_CO,// Î÷°àÑÀÎÄ (¸çÂ×±ÈÑÇ) \r
114         LANGUAGE_ID_ES_CR,// Î÷°àÑÀÎÄ (¸ç˹´ïÀè¼Ó) \r
115         LANGUAGE_ID_ES_DO,// Î÷°àÑÀÎÄ (¶àÃ×Äá¼Ó¹²ºÍ¹ú) \r
116         LANGUAGE_ID_ES_EC,// Î÷°àÑÀÎÄ (¶ò¹Ï¶à¶û) \r
117         LANGUAGE_ID_ES_ES,// Î÷°àÑÀÎÄ (Î÷°àÑÀ) \r
118         LANGUAGE_ID_ES_ES_EURO,// Î÷°àÑÀÎÄ (Î÷°àÑÀ,EURO) \r
119         LANGUAGE_ID_ES_GT,// Î÷°àÑÀÎÄ (ΣµØÂíÀ­) \r
120         LANGUAGE_ID_ES_HN,// Î÷°àÑÀÎÄ (ºé¶¼À­Ë¹) \r
121         LANGUAGE_ID_ES_MX,// Î÷°àÑÀÎÄ (Ä«Î÷¸ç) \r
122         LANGUAGE_ID_ES_NI,// Î÷°àÑÀÎÄ (Äá¼ÓÀ­¹Ï) \r
123         LANGUAGE_ID_ET,// °®É³ÄáÑÇÎÄ \r
124         LANGUAGE_ID_ES_PA,// Î÷°àÑÀÎÄ (°ÍÄÃÂí) \r
125         LANGUAGE_ID_ES_PE,// Î÷°àÑÀÎÄ (Ãس) \r
126         LANGUAGE_ID_ES_PR,// Î÷°àÑÀÎÄ (²¨¶àÀè¸ç) \r
127         LANGUAGE_ID_ES_PY,// Î÷°àÑÀÎÄ (°ÍÀ­¹ç) \r
128         LANGUAGE_ID_ES_SV,// Î÷°àÑÀÎÄ (Èø¶ûÍ߶à) \r
129         LANGUAGE_ID_ES_UY,// Î÷°àÑÀÎÄ (ÎÚÀ­¹ç) \r
130         LANGUAGE_ID_ES_VE,// Î÷°àÑÀÎÄ (ίÄÚÈðÀ­) \r
131         LANGUAGE_ID_ET_EE,// °®É³ÄáÑÇÎÄ (°®É³ÄáÑÇ) \r
132         LANGUAGE_ID_FI,// ·ÒÀ¼ÎÄ \r
133         LANGUAGE_ID_FI_FI,// ·ÒÀ¼ÎÄ (·ÒÀ¼) \r
134         LANGUAGE_ID_FI_FI_EURO,// ·ÒÀ¼ÎÄ (·ÒÀ¼,EURO) \r
135         LANGUAGE_ID_FR,// ·¨ÎÄ \r
136         LANGUAGE_ID_FR_BE,// ·¨ÎÄ (±ÈÀûʱ) \r
137         LANGUAGE_ID_FR_BE_EURO,// ·¨ÎÄ (±ÈÀûʱ,EURO) \r
138         LANGUAGE_ID_FR_CA,// ·¨ÎÄ (¼ÓÄôó) \r
139         LANGUAGE_ID_FR_CH,// ·¨ÎÄ (ÈðÊ¿) \r
140         LANGUAGE_ID_FR_FR,// ·¨ÎÄ (·¨¹ú) \r
141         LANGUAGE_ID_FR_FR_EURO,// ·¨ÎÄ (·¨¹ú,EURO) \r
142         LANGUAGE_ID_FR_LU,// ·¨ÎÄ (¬ɭ±¤) \r
143         LANGUAGE_ID_FR_LU_EURO,// ·¨ÎÄ (¬ɭ±¤,EURO) \r
144         LANGUAGE_ID_HR,// ¿ËÂÞµØÑÇÎÄ \r
145         LANGUAGE_ID_HR_HR,// ¿ËÂÞµØÑÇÎÄ (¿ËÂÞµØÑÇ) \r
146         LANGUAGE_ID_HU,// ÐÙÑÀÀûÎÄ \r
147         LANGUAGE_ID_HU_HU,// ÐÙÑÀÀûÎÄ (ÐÙÑÀÀû) \r
148         LANGUAGE_ID_IS,// ±ùµºÎÄ \r
149         LANGUAGE_ID_IS_IS,// ±ùµºÎÄ (±ùµº) \r
150         LANGUAGE_ID_IT,// Òâ´óÀûÎÄ \r
151         LANGUAGE_ID_IT_CH,// Òâ´óÀûÎÄ (ÈðÊ¿) \r
152         LANGUAGE_ID_IT_IT,// Òâ´óÀûÎÄ (Òâ´óÀû) \r
153         LANGUAGE_ID_IT_IT_EURO,// Òâ´óÀûÎÄ (Òâ´óÀû,EURO) \r
154         LANGUAGE_ID_IW,// Ï£²®À´ÎÄ \r
155         LANGUAGE_ID_IW_IL,// Ï£²®À´ÎÄ (ÒÔÉ«ÁÐ) \r
156         LANGUAGE_ID_JA,// ÈÕÎÄ \r
157         LANGUAGE_ID_JA_JP,// ÈÕÎÄ (ÈÕ±¾) \r
158         LANGUAGE_ID_KO,// ³¯ÏÊÎÄ \r
159         LANGUAGE_ID_KO_KR,// ³¯ÏÊÎÄ (Äϳ¯ÏÊ) \r
160         LANGUAGE_ID_LT,// Á¢ÌÕÍðÎÄ \r
161         LANGUAGE_ID_LT_LT,// Á¢ÌÕÍðÎÄ (Á¢ÌÕÍð) \r
162         LANGUAGE_ID_LV,// À­ÍÐάÑÇÎÄ(ÁÐÍÐ) \r
163         LANGUAGE_ID_LV_LV,// À­ÍÐάÑÇÎÄ(ÁÐÍÐ) (À­ÍÑάÑÇ) \r
164         LANGUAGE_ID_MK,// ÂíÆä¶ÙÎÄ \r
165         LANGUAGE_ID_MK_MK,// ÂíÆä¶ÙÎÄ (ÂíÆä¶ÙÍõ¹ú) \r
166         LANGUAGE_ID_NL,// ºÉÀ¼ÎÄ \r
167         LANGUAGE_ID_NL_BE,// ºÉÀ¼ÎÄ (±ÈÀûʱ) \r
168         LANGUAGE_ID_NL_BE_EURO,// ºÉÀ¼ÎÄ (±ÈÀûʱ,EURO) \r
169         LANGUAGE_ID_NL_NL,// ºÉÀ¼ÎÄ (ºÉÀ¼) \r
170         LANGUAGE_ID_NL_NL_EURO,// ºÉÀ¼ÎÄ (ºÉÀ¼,EURO) \r
171         LANGUAGE_ID_NO,// Å²ÍþÎÄ \r
172         LANGUAGE_ID_NO_NO,// Å²ÍþÎÄ (ŲÍþ) \r
173         LANGUAGE_ID_NO_NO_NY,// Å²ÍþÎÄ (ŲÍþ,NYNORSK) \r
174         LANGUAGE_ID_PL,// ²¨À¼ÎÄ \r
175         LANGUAGE_ID_PL_PL,// ²¨À¼ÎÄ (²¨À¼) \r
176         LANGUAGE_ID_PT,// ÆÏÌÑÑÀÎÄ \r
177         LANGUAGE_ID_PT_BR,// ÆÏÌÑÑÀÎÄ (°ÍÎ÷) \r
178         LANGUAGE_ID_PT_PT,// ÆÏÌÑÑÀÎÄ (ÆÏÌÑÑÀ) \r
179         LANGUAGE_ID_PT_PT_EURO,// ÆÏÌÑÑÀÎÄ (ÆÏÌÑÑÀ,EURO) \r
180         LANGUAGE_ID_RO,// ÂÞÂíÄáÑÇÎÄ \r
181         LANGUAGE_ID_RO_RO,// ÂÞÂíÄáÑÇÎÄ (ÂÞÂíÄáÑÇ) \r
182         LANGUAGE_ID_RU,// ¶íÎÄ \r
183         LANGUAGE_ID_RU_RU,// ¶íÎÄ (¶íÂÞ˹) \r
184         LANGUAGE_ID_SH,// Èû²¨Äá˹-¿ËÂÞµØÑÇÎÄ \r
185         LANGUAGE_ID_SH_YU,// Èû²¨Äá˹-¿ËÂÞµØÑÇÎÄ (ÄÏ˹À­·ò) \r
186         LANGUAGE_ID_SK,// Ë¹Âå·¥¿ËÎÄ \r
187         LANGUAGE_ID_SK_SK,// Ë¹Âå·¥¿ËÎÄ (˹Âå·¥¿Ë) \r
188         LANGUAGE_ID_SL,// Ë¹ÂåÎÄÄáÑÇÎÄ \r
189         LANGUAGE_ID_SL_SI,// Ë¹ÂåÎÄÄáÑÇÎÄ (˹ÂåÎÄÄáÑÇ) \r
190         LANGUAGE_ID_SQ,// °¢¶û°ÍÄáÑÇÎÄ \r
191         LANGUAGE_ID_SQ_AL,// °¢¶û°ÍÄáÑÇÎÄ (°¢¶û°ÍÄáÑÇ) \r
192         LANGUAGE_ID_SR,// Èû¶ûάÑÇÎÄ \r
193         LANGUAGE_ID_SR_YU,// Èû¶ûάÑÇÎÄ (ÄÏ˹À­·ò) \r
194         LANGUAGE_ID_SV,// ÈðµäÎÄ \r
195         LANGUAGE_ID_SV_SE,// ÈðµäÎÄ (Èðµä) \r
196         LANGUAGE_ID_TH,// Ì©ÎÄ \r
197         LANGUAGE_ID_TH_TH,// Ì©ÎÄ (Ì©¹ú) \r
198         LANGUAGE_ID_TR,// ÍÁ¶úÆäÎÄ \r
199         LANGUAGE_ID_TR_TR,// ÍÁ¶úÆäÎÄ (ÍÁ¶úÆä) \r
200         LANGUAGE_ID_UK,// ÎÚ¿ËÀ¼ÎÄ \r
201         LANGUAGE_ID_UK_UA,// ÎÚ¿ËÀ¼ÎÄ (ÎÚ¿ËÀ¼) \r
202         LANGUAGE_ID_ZH,// ÖÐÎÄ \r
203         LANGUAGE_ID_ZH_CN,// ÖÐÎÄ (Öйú) \r
204         LANGUAGE_ID_ZH_HK,// ÖÐÎÄ (Ïã¸Û) \r
205         LANGUAGE_ID_ZH_TW,// ÖÐÎÄ (̨Íå) ¡¡¡¡ \r
206         AREA_ID_NUMS,\r
207 };\r
208 #endif\r
209 \r
210 \r
211 \r
212 enum area_id{\r
213         AREA_ID_NULL,\r
214         AREA_ID_ALBANIA,\r
215         AREA_ID_ALGERIA,\r
216         AREA_ID_ANGOLA,\r
217         AREA_ID_ARGENTINA,\r
218         AREA_ID_AUSTRALIA,\r
219         AREA_ID_AUSTRIA,\r
220         AREA_ID_AZERBAIJAN,\r
221         AREA_ID_BAHRAIN,\r
222         AREA_ID_BANGLADESH,\r
223         AREA_ID_BARBADOS,\r
224         AREA_ID_BELARUS,\r
225         AREA_ID_BELGIUM,\r
226         AREA_ID_BOLIVIA,\r
227         AREA_ID_BOSNIA_AND_HERZEGOVINA,\r
228         AREA_ID_BOTSWANA,\r
229         AREA_ID_BRAZIL,\r
230         AREA_ID_BULGARIA,\r
231         AREA_ID_CANADA,\r
232         AREA_ID_CHILE,\r
233         AREA_ID_CHINA,\r
234         AREA_ID_COLOMBIA,\r
235         AREA_ID_COTE_D_IVOIRE,\r
236         AREA_ID_CROATIA,\r
237         AREA_ID_CYPRUS,\r
238         AREA_ID_CZECH_REPUBLIC,\r
239         AREA_ID_DENMARK,\r
240         AREA_ID_ECUADOR,\r
241         AREA_ID_EGYPT,\r
242         AREA_ID_ESTONIA,\r
243         AREA_ID_FINLAND,\r
244         AREA_ID_FRANCE_INC_GUADELOUPE,\r
245         AREA_ID_GEORGIA,\r
246         AREA_ID_GERMANY,\r
247         AREA_ID_GREECE,\r
248         AREA_ID_HAITI,\r
249         AREA_ID_HONDURAS,\r
250         AREA_ID_HONG_KONG,\r
251         AREA_ID_HUNGARY,\r
252         AREA_ID_ICELAND,\r
253         AREA_ID_INDIA,\r
254         AREA_ID_INDONESIA,\r
255         AREA_ID_IRELAND,\r
256         AREA_ID_ISRAEL,\r
257         AREA_ID_ITALY,\r
258         AREA_ID_JAMAICA,\r
259         AREA_ID_JAPAN,\r
260         AREA_ID_JORDAN,\r
261         AREA_ID_KAZAKHSTAN,\r
262         AREA_ID_KENYA,\r
263         AREA_ID_KOREA_SOUTH,\r
264         AREA_ID_KUWAIT,\r
265         AREA_ID_LATVIA,\r
266         AREA_ID_LEBANON,\r
267         AREA_ID_LITHUANIA,\r
268         AREA_ID_LUXEMBOURG,\r
269         AREA_ID_MACEDONIA,\r
270         AREA_ID_MALAYSIA,\r
271         AREA_ID_MEXICO,\r
272         AREA_ID_MOLDOVA,\r
273         AREA_ID_MOROCCO,\r
274         AREA_ID_NEPAL,\r
275         AREA_ID_NETHERLAND_ANTILLES,\r
276         AREA_ID_NETHERLANDS_INC_BONAIRE,\r
277         AREA_ID_NEW_ZEALAND,\r
278         AREA_ID_NIGERIA,\r
279         AREA_ID_NORWAY,\r
280         AREA_ID_OMAN,\r
281         AREA_ID_PAKISTAN,\r
282         AREA_ID_PARAGUAY,\r
283         AREA_ID_PERU,\r
284         AREA_ID_PHILIPPINES,\r
285         AREA_ID_POLAND,\r
286         AREA_ID_PORTUGAL,\r
287         AREA_ID_QATAR,\r
288         AREA_ID_ROMANIA,\r
289         AREA_ID_RUSSIA,\r
290         AREA_ID_SAUDI_ARABIA,\r
291         AREA_ID_SERBIA,\r
292         AREA_ID_SINGAPORE,\r
293         AREA_ID_SLOVAKIA,\r
294         AREA_ID_SLOVENIA,\r
295         AREA_ID_SOUTH_AFRICA,\r
296         AREA_ID_SPAIN,\r
297         AREA_ID_SRI_LANKA,\r
298         AREA_ID_SWEDEN,\r
299         AREA_ID_SWITZERLAND,\r
300         AREA_ID_TAIWAN,\r
301         AREA_ID_THAILAND,\r
302         AREA_ID_TRINIDAD_TOBAGO,\r
303         AREA_ID_TUNISIA,\r
304         AREA_ID_TURKEY,\r
305         AREA_ID_TURKMENISTAN,\r
306         AREA_ID_UGANDA,\r
307         AREA_ID_UKRAINE,\r
308         AREA_ID_UNITED_KINGDOM,\r
309         AREA_ID_UNITED_STATES,\r
310         AREA_ID_URUGUAY,\r
311         AREA_ID_UZBEKISTAN,\r
312         AREA_ID_VENEZUELA,\r
313         AREA_ID_VIETNAM,\r
314         AREA_ID_NORDICS,\r
315         AREA_ID_BALTIC,\r
316         AREA_ID_CZECH_SLOVAKIA,\r
317         AREA_ID_CROATIA_SLOVENIA,\r
318         AREA_ID_LA_GROUP,\r
319         AREA_ID_UNITED_ARAB_EMIRATES,\r
320         AREA_ID_EMAT_UK,\r
321         AREA_ID_EMAT_FR,\r
322         AREA_ID_EMAT_PO,\r
323         AREA_ID_INDIA_HI,\r
324         AREA_ID_UAE_EN,\r
325         AREA_ID_ISRAEL_AR,\r
326         AREA_ID_NETHERLANDS_INC_BONAIRE_ENUS,\r
327         AREA_ID_NUMS,\r
328 };\r
329 \r
330 #define DEVICE_TYPE_VALID       0xff\r
331 #define DEVICE_TYPE_INVALID     -1\r
332 \r
333 #define DEVICE_ID_VALID         0xff\r
334 #define DEVICE_ID_INVALID       -1\r
335 \r
336 #define DEVICE_ID_NULL          0\r
337 \r
338 enum id_mm_type{\r
339         BID_MM_IOMEM,\r
340         BID_MM_IOREMAP,\r
341 };\r
342 \r
343 \r
344 enum id_tp{     \r
345         TP_ID_NULL = 0,\r
346         TP_ID_GT813,\r
347         TP_ID_EKTF2K,\r
348         TP_ID_NUMS,\r
349 };\r
350 \r
351 enum id_lcd{\r
352         LCD_ID_NULL = 0,\r
353         LCD_ID_IVO_M101_NWN8,   \r
354         LCD_ID_EDID_I2C,\r
355         LCD_ID_NUMS,\r
356 };\r
357 \r
358 enum id_key{\r
359         KEY_ID_NULL = 0,\r
360         KEY_ID_SHUTTLE,\r
361         KEY_ID_BITLAND,\r
362         KEY_ID_MALATA,\r
363         KEY_ID_CAPSENSE,\r
364         KEY_ID_ENGLISH_US,\r
365         KEY_ID_ENGLISH_UK,\r
366         KEY_ID_TURKISH,\r
367         KEY_ID_SLOVENIAN,\r
368         KEY_ID_RUSSIAN,\r
369         KEY_ID_CZECH,\r
370         KEY_ID_HUNGARIAN,\r
371         KEY_ID_HINDI,\r
372         KEY_ID_THAI,\r
373         KEY_ID_PORTUGUESE,\r
374         KEY_ID_ARABIC,\r
375         KEY_ID_GREEK,\r
376         KEY_ID_SWEDISH,\r
377         KEY_ID_NORWEGIAN,\r
378         KEY_ID_FINNISH,\r
379         KEY_ID_DANISH,\r
380         KEY_ID_ESTONIAN,\r
381         KEY_ID_FRENCH,\r
382         KEY_ID_GERMAN,\r
383         KEY_ID_HEBREW,\r
384         KEY_ID_ITALIAN,\r
385         KEY_ID_SPANISH,\r
386         KEY_ID_SWISS,\r
387         KEY_ID_DUTCH,\r
388         KEY_ID_BELGIAN,\r
389         KEY_ID_NORDIC,\r
390         KEY_ID_NUMS,\r
391 };\r
392 \r
393 enum id_codec{\r
394         CODEC_ID_NULL = 0,\r
395         CODEC_ID_WM8994,\r
396         CODEC_ID_WM8900,\r
397         CODEC_ID_WM8988,\r
398         CODEC_ID_RT5616,        \r
399         CODEC_ID_RT5621,\r
400         CODEC_ID_RT5623,\r
401         CODEC_ID_RT3224,        \r
402         CODEC_ID_RT5625,        \r
403         CODEC_ID_RT5631,\r
404         CODEC_ID_RT5639,        \r
405         CODEC_ID_RT5640,\r
406         CODEC_ID_RT5642,        \r
407         CODEC_ID_RT3261,\r
408         CODEC_ID_AIC3262,\r
409         CODEC_ID_RK610,\r
410         CODEC_ID_RK616, \r
411         CODEC_ID_RK1000,\r
412         CODEC_ID_CS42L52,\r
413         CODEC_ID_ES8323,\r
414         CODEC_ID_NUMS,\r
415 };\r
416 \r
417 \r
418 enum id_wifi{\r
419         WIFI_ID_NULL = 0,\r
420                 \r
421         //brcm wifi\r
422         WIFI_ID_BCM,\r
423         WIFI_ID_BCM4319,\r
424         WIFI_ID_BCM4330,\r
425         WIFI_ID_RK903_26M,\r
426         WIFI_ID_RK903_37M,\r
427         WIFI_ID_BCM4329,\r
428         WIFI_ID_RK901,\r
429         WIFI_ID_AP6181,\r
430         WIFI_ID_AP6210,\r
431         WIFI_ID_AP6330,\r
432         WIFI_ID_AP6476,\r
433         WIFI_ID_AP6493,\r
434         WIFI_ID_GB86302I,\r
435 \r
436         //RealTek wifi\r
437         WIFI_ID_RTL8192CU,\r
438         WIFI_ID_RTL8188EU,\r
439         WIFI_ID_RTL8723AU,\r
440 \r
441         //Mediatek wifi\r
442         WIFI_ID_COMBO,\r
443         WIFI_ID_MT5931,\r
444         WIFI_ID_RT5370,\r
445         WIFI_ID_NUMS,\r
446 };\r
447 \r
448 \r
449 enum id_bt{\r
450         BT_ID_NULL = 0,\r
451                 \r
452         //brcm bluetooth\r
453         BT_ID_NH660,\r
454         BT_ID_BCM4330,\r
455         BT_ID_RK903_26M,\r
456         BT_ID_RK903,\r
457         BT_ID_BCM4329,\r
458         BT_ID_MV8787,\r
459         BT_ID_AP6210,\r
460         BT_ID_AP6330,\r
461         BT_ID_AP6476,\r
462         BT_ID_AP6493,\r
463         BT_ID_RFKILL,\r
464         \r
465         //REALTEK bluetooth\r
466         BT_ID_RTL8723,\r
467 \r
468         //MTK bluetooth\r
469         BT_ID_MT6622,\r
470 \r
471         //RDA bluetooth\r
472 \r
473         BT_ID_NUMS,\r
474 };\r
475 \r
476 \r
477 enum id_gps{\r
478         GPS_ID_NULL = 0,\r
479         GPS_ID_RK_HV5820,\r
480         GPS_ID_BCM4751,\r
481         GPS_ID_GNS7560, \r
482         GPS_ID_MT3326,\r
483         GPS_ID_NUMS,\r
484 };\r
485 \r
486 enum id_fm{\r
487         FM_ID_NULL = 0,\r
488         FM_ID_NUMS,\r
489 };\r
490 \r
491 //include/linux/bp-auto.h\r
492 enum id_modem\r
493 {\r
494         MODEM_ID_NULL = 0,\r
495         MODEM_ID_MT6229,        //USI MT6229 WCDMA\r
496         MODEM_ID_MU509,         //huawei MU509 WCDMA\r
497         MODEM_ID_MI700,         //thinkwill MI700 WCDMA\r
498         MODEM_ID_MW100,         //thinkwill MW100 WCDMA\r
499         MODEM_ID_TD8801,        //spreadtrum SC8803 TD-SCDMA\r
500         MODEM_ID_SC6610,        //spreadtrum SC6610 GSM\r
501         MODEM_ID_M50,           //spreadtrum RDA GSM\r
502         MODEM_ID_MT6250,        //ZINN M50  EDGE\r
503         MODEM_ID_C66A,          //zhongben\r
504         MODEM_ID_NUMS,\r
505 };\r
506 \r
507         \r
508 enum id_ddr{\r
509         DDR_ID_NULL = 0,\r
510         DDR_ID_NUMS,\r
511 };\r
512 \r
513 enum id_flash{\r
514         FLASH_ID_NULL = 0,\r
515         FLASH_ID_NUMS,\r
516 };\r
517 \r
518 enum id_hdmi{\r
519         HDMI_ID_NULL = 0,\r
520         HDMI_ID_RK30,\r
521         HDMI_ID_CAT66121,\r
522         HDMI_ID_RK610,\r
523         HDMI_ID_NUMS,\r
524 };\r
525 \r
526 enum id_battery{\r
527         BATTERY_ID_NULL = 0,\r
528         BATTERY_ID_3300MAH,     \r
529         BATTERY_ID_3600MAH,     \r
530         BATTERY_ID_4700MAH,     \r
531         BATTERY_ID_7000MAH,     \r
532         BATTERY_ID_7700MAH,\r
533         BATTERY_ID_9000MAH,\r
534         BATTERY_ID_BLUEBERRY,\r
535         BATTERY_ID_NUMS,\r
536 };\r
537 \r
538 enum id_charge{\r
539         CHARGE_ID_NULL = 0,\r
540         CHARGE_ID_CW2015,       \r
541         CHARGE_ID_BQ24193,\r
542         CHARGE_ID_BQ27541,\r
543         CHARGE_ID_OZ8806,\r
544         CHARGE_ID_NUMS,\r
545 };\r
546         \r
547 enum id_backlight{\r
548         BACKLIGHT_ID_NULL = 0,\r
549         BACKLIGHT_ID_RK29,\r
550         BACKLIGHT_ID_WM831X,\r
551         BACKLIGHT_ID_NUMS,\r
552 };\r
553 \r
554 enum id_headset{\r
555         HEADSET_ID_NULL = 0,\r
556         HEADSET_ID_RK29,\r
557         HEADSET_ID_NUMS,\r
558 };\r
559 \r
560 enum id_micphone{\r
561         MICPHONE_ID_NULL = 0,\r
562         MICPHONE_ID_ANALOGIC,\r
563         MICPHONE_ID_DIGITAL,\r
564         MICPHONE_ID_NUMS,\r
565 };\r
566 \r
567 enum id_speaker{\r
568         SPEAKER_ID_NULL = 0,\r
569         SPEAKER_ID_0W8,\r
570         SPEAKER_ID_1W0,\r
571         SPEAKER_ID_1W5,\r
572         SPEAKER_ID_NUMS,\r
573 };\r
574 \r
575 enum id_vibrator{\r
576         VIBRATOR_ID_NULL = 0,\r
577         VIBRATOR_ID_RK29,\r
578         VIBRATOR_ID_NUMS,\r
579 };\r
580 \r
581 enum id_tv{\r
582         TV_ID_NULL = 0,\r
583         TV_ID_RK610,\r
584         TV_ID_NUMS,\r
585 };\r
586         \r
587 enum id_echip{\r
588         ECHIP_ID_NULL = 0,\r
589         ECHIP_ID_IT8561,        \r
590         ECHIP_ID_ITE,\r
591         ECHIP_ID_NUMS,\r
592 };\r
593 \r
594 enum id_hub{\r
595         HUB_ID_NULL = 0,\r
596         HUB_ID_USB4604, \r
597         HUB_ID_NUMS,\r
598 };\r
599 \r
600 enum id_tpad{\r
601         TPAD_ID_NULL = 0,\r
602         TPAD_ID_ELAN,   \r
603         TPAD_ID_SYNS,\r
604         TPAD_ID_NUMS,\r
605 };      \r
606         \r
607 enum id_pmic{\r
608         PMIC_ID_NULL = 0,\r
609         PMIC_ID_WM831X,\r
610         PMIC_ID_WM8326,\r
611         PMIC_ID_TPS65910,\r
612         PMIC_ID_ACT8846,\r
613         PMIC_ID_NUMS,\r
614 };\r
615 \r
616 enum id_regulator{\r
617         REGULATOR_ID_NULL = 0,\r
618         REGULATOR_ID_PWM3,\r
619         REGULATOR_ID_NUMS,\r
620 };\r
621 \r
622 enum id_rtc{\r
623         RTC_ID_NULL = 0,\r
624         RTC_ID_HYM8563,\r
625         RTC_ID_PCF8563,\r
626         RTC_ID_TPS65910,\r
627         RTC_ID_WM8326,\r
628         RTC_ID_RK,\r
629         RTC_ID_NUMS,\r
630 };\r
631 \r
632 enum id_camera_front{\r
633         CAMERA_FRONT_ID_NULL = 0,\r
634         CAMERA_FRONT_ID_NUMS,\r
635 };\r
636 \r
637 enum id_camera_back{\r
638         CAMERA_BACK_ID_NULL = 0,\r
639         CAMERA_BACK_ID_NUMS,\r
640 };\r
641         \r
642 enum id_sensor_angle{\r
643         ANGLE_ID_NULL = 0,\r
644         ANGLE_ID_NUMS,\r
645 };\r
646 \r
647 enum id_sensor_accel{\r
648         ACCEL_ID_NULL = 0,\r
649         ACCEL_ID_NUMS,\r
650 };\r
651 \r
652 enum id_sensor_compass{\r
653         COMPASS_ID_NULL = 0,\r
654         COMPASS_ID_NUMS,\r
655 };\r
656 \r
657 enum id_sensor_gyro{\r
658         GYRO_ID_NULL = 0,\r
659         GYRO_ID_NUMS,\r
660 };\r
661 \r
662 enum id_sensor_light{\r
663         LIGHT_ID_NULL = 0,\r
664         LIGHT_ID_NUMS,\r
665 };\r
666 \r
667 enum id_sensor_proximity{\r
668         PROXIMITY_ID_NULL = 0,\r
669         PROXIMITY_ID_NUMS,\r
670 };\r
671 \r
672 enum id_sensor_temperature{\r
673         TEMPERATURE_ID_NULL = 0,\r
674         TEMPERATURE_ID_NUMS,\r
675 };\r
676         \r
677 enum id_sensor_pressure{\r
678         PRESSURE_ID_NULL = 0,\r
679         PRESSURE_ID_NUMS,\r
680 };\r
681 \r
682 enum id_led{\r
683         LED_ID_NULL = 0,\r
684         LED_ID_NUMS,\r
685 };\r
686 \r
687 \r
688 #define COUNTRY_AREA_NULL               "no"\r
689 #define LOCALE_LANGUAGE_NULL    "no"\r
690 #define LOCALE_REGION_NULL              "no"\r
691 #define COUNTRY_GEO_NULL                "no"\r
692 #define TIME_ZONE_NULL                  "no"\r
693 #define USER_DEFINE_NULL                "no"\r
694 \r
695 \r
696 #define LOCALE_LANGUAGE_AR        "ar" //°¢À­²®ÎÄ\r
697 #define LOCALE_LANGUAGE_BE        "be" //°×¶íÂÞ˹ÎÄ\r
698 #define LOCALE_LANGUAGE_BG        "bg" //±£¼ÓÀûÑÇÎÄ\r
699 #define LOCALE_LANGUAGE_CA        "ca" //¼ÓÌ©ÂÞÄáÑÇÎÄ\r
700 #define LOCALE_LANGUAGE_CS        "cs" //½Ý¿ËÎÄ\r
701 #define LOCALE_LANGUAGE_DA        "da" //µ¤ÂóÎÄ\r
702 #define LOCALE_LANGUAGE_DE        "de" //µÂÎÄ\r
703 #define LOCALE_LANGUAGE_EL        "el" //Ï£À°ÎÄ\r
704 #define LOCALE_LANGUAGE_EN        "en" //Ó¢ÎÄ\r
705 #define LOCALE_LANGUAGE_ES        "es" //Î÷°àÑÀÎÄ\r
706 #define LOCALE_LANGUAGE_ET        "et" //°®É³ÄáÑÇÎÄ\r
707 #define LOCALE_LANGUAGE_FI        "fi" //·ÒÀ¼ÎÄ\r
708 #define LOCALE_LANGUAGE_FR        "fr" //·¨ÎÄ\r
709 #define LOCALE_LANGUAGE_HR        "hr" //¿ËÂÞµØÑÇÎÄ\r
710 #define LOCALE_LANGUAGE_HU        "hu" //ÐÙÑÀÀûÎÄ\r
711 #define LOCALE_LANGUAGE_IN        "in" //Ó¡¶ÈÄáÎ÷ÑÇÎÄ(Ó¡¶ÈÄáÎ÷ÑÇ)\r
712 #define LOCALE_LANGUAGE_IS        "is" //±ùµºÎÄ\r
713 #define LOCALE_LANGUAGE_IT        "it" //Òâ´óÀûÎÄ\r
714 #define LOCALE_LANGUAGE_IW        "iw" //Ï£²®À´ÎÄ\r
715 #define LOCALE_LANGUAGE_JA        "ja" //ÈÕÎÄ\r
716 #define LOCALE_LANGUAGE_KO        "ko" //³¯ÏÊÎÄ\r
717 #define LOCALE_LANGUAGE_LT        "lt" //Á¢ÌÕÍðÎÄ\r
718 #define LOCALE_LANGUAGE_LV        "lv" //À­ÍÐάÑÇÎÄ(ÁÐÍÐ)\r
719 #define LOCALE_LANGUAGE_MK        "mk" //ÂíÆä¶ÙÎÄ\r
720 #define LOCALE_LANGUAGE_MS        "ms" //ÂíÀ´Î÷ÑÇÓï(ÂíÀ´Î÷ÑÇ)\r
721 #define LOCALE_LANGUAGE_NL        "nl" //ºÉÀ¼ÎÄ\r
722 #define LOCALE_LANGUAGE_NO        "no" //ŲÍþÎÄ\r
723 #define LOCALE_LANGUAGE_PL        "pl" //²¨À¼ÎÄ\r
724 #define LOCALE_LANGUAGE_PT        "pt" //ÆÏÌÑÑÀÎÄ\r
725 #define LOCALE_LANGUAGE_RO        "ro" //ÂÞÂíÄáÑÇÎÄ\r
726 #define LOCALE_LANGUAGE_RU        "ru" //¶íÎÄ\r
727 #define LOCALE_LANGUAGE_SH        "sh" //Èû²¨Äá˹-¿ËÂÞµØÑÇÎÄ\r
728 #define LOCALE_LANGUAGE_SK        "sk" //˹Âå·¥¿ËÎÄ\r
729 #define LOCALE_LANGUAGE_SL        "sl" //˹ÂåÎÄÄáÑÇÎÄ\r
730 #define LOCALE_LANGUAGE_SQ        "sq" //°¢¶û°ÍÄáÑÇÎÄ\r
731 #define LOCALE_LANGUAGE_SR        "sr" //Èû¶ûάÑÇÎÄ\r
732 #define LOCALE_LANGUAGE_SV        "sv" //ÈðµäÎÄ\r
733 #define LOCALE_LANGUAGE_SW        "sw" //˹ÍßÏ£ÀïÓï(¿ÏÄáÑÇ)\r
734 #define LOCALE_LANGUAGE_TH        "th" //Ì©ÎÄ\r
735 #define LOCALE_LANGUAGE_TL        "tl" //·ÆÂɱöÓï(·ÆÂɱö)\r
736 #define LOCALE_LANGUAGE_TR        "tr" //ÍÁ¶úÆäÎÄ\r
737 #define LOCALE_LANGUAGE_UK        "uk" //ÎÚ¿ËÀ¼ÎÄ\r
738 #define LOCALE_LANGUAGE_VI        "vi" //Ô½ÄÏÓï(Ô½ÄÏ)\r
739 #define LOCALE_LANGUAGE_ZH        "zh" //ÖÐÎÄ \r
740 \r
741 \r
742 #define LOCALE_REGION_AE        "AE" // °¢À­²®ÎÄ (°¢À­²®ÁªºÏÇõ³¤¹ú) \r
743 #define LOCALE_REGION_AL        "AL" // °¢¶û°ÍÄáÑÇÎÄ (°¢¶û°ÍÄáÑÇ)\r
744 #define LOCALE_REGION_AN        "AN" //Netherland Antilles\r
745 #define LOCALE_REGION_AO        "AO" //Angola\r
746 #define LOCALE_REGION_AR        "AR" // Î÷°àÑÀÎÄ (°¢¸ùÍ¢) \r
747 #define LOCALE_REGION_AT        "AT" // µÂÎÄ (°ÂµØÀû) \r
748 #define LOCALE_REGION_AT_EURO   "AT_EURO" // µÂÎÄ (°ÂµØÀû EURO) \r
749 #define LOCALE_REGION_AU        "AU" // Ó¢ÎÄ (°Ä´óÀûÑÇ) \r
750 #define LOCALE_REGION_AZ        "AZ" //Azerbaijan\r
751 #define LOCALE_REGION_BA        "BA" //Bosnia and Herzegovina\r
752 #define LOCALE_REGION_BB        "BB" //Barbados\r
753 #define LOCALE_REGION_BD        "BD" //Bangladesh\r
754 #define LOCALE_REGION_BE        "BE" // ·¨ÎÄ (±ÈÀûʱ) \r
755 #define LOCALE_REGION_BE_EURO   "BE_EURO" // ·¨ÎÄ (±ÈÀûʱ EURO) \r
756 #define LOCALE_REGION_BG        "BG" // ±£¼ÓÀûÑÇÎÄ (±£¼ÓÀûÑÇ)\r
757 #define LOCALE_REGION_BH        "BH" // °¢À­²®ÎÄ (°ÍÁÖ) \r
758 #define LOCALE_REGION_BO        "BO" // Î÷°àÑÀÎÄ (²£ÀûάÑÇ) \r
759 #define LOCALE_REGION_BR        "BR" // ÆÏÌÑÑÀÎÄ (°ÍÎ÷) \r
760 #define LOCALE_REGION_BW        "BW" //Botswana\r
761 #define LOCALE_REGION_BY        "BY" // °×¶íÂÞ˹ÎÄ (°×¶íÂÞ˹)\r
762 #define LOCALE_REGION_CA        "CA" // Ó¢ÎÄ (¼ÓÄôó) \r
763 #define LOCALE_REGION_CH        "CH" // µÂÎÄ (ÈðÊ¿) \r
764 #define LOCALE_REGION_CI        "CI" //Cote d'Ivoire\r
765 #define LOCALE_REGION_CL        "CL" // Î÷°àÑÀÎÄ (ÖÇÀû) \r
766 #define LOCALE_REGION_CN        "CN" // ÖÐÎÄ (Öйú) \r
767 #define LOCALE_REGION_CO        "CO" // Î÷°àÑÀÎÄ (¸çÂ×±ÈÑÇ) \r
768 #define LOCALE_REGION_CR        "CR" // Î÷°àÑÀÎÄ (¸ç˹´ïÀè¼Ó) \r
769 #define LOCALE_REGION_CS        "CS" //Serbia\r
770 #define LOCALE_REGION_CY        "CY" //Cyprus\r
771 #define LOCALE_REGION_CZ        "CZ" // ½Ý¿ËÎÄ (½Ý¿Ë¹²ºÍ¹ú)\r
772 #define LOCALE_REGION_DE        "DE" // µÂÎÄ (µÂ¹ú) \r
773 #define LOCALE_REGION_DE_EURO   "DE_EURO" // µÂÎÄ (µÂ¹ú EURO) \r
774 #define LOCALE_REGION_DK        "DK" // µ¤ÂóÎÄ (µ¤Âó)\r
775 #define LOCALE_REGION_DO        "DO" // Î÷°àÑÀÎÄ (¶àÃ×Äá¼Ó¹²ºÍ¹ú) \r
776 #define LOCALE_REGION_DZ        "DZ" // °¢À­²®ÎÄ (°¢¶û¼°ÀûÑÇ) \r
777 #define LOCALE_REGION_EC        "EC" // Î÷°àÑÀÎÄ (¶ò¹Ï¶à¶û) \r
778 #define LOCALE_REGION_EE        "EE" // °®É³ÄáÑÇÎÄ (°®É³ÄáÑÇ)\r
779 #define LOCALE_REGION_EG        "EG" // °¢À­²®ÎÄ (°£¼°) \r
780 #define LOCALE_REGION_ES        "ES" // Î÷°àÑÀÎÄ (Î÷°àÑÀ) \r
781 #define LOCALE_REGION_ES_EURO   "ES_EURO" // Î÷°àÑÀÎÄ (Î÷°àÑÀ EURO) \r
782 #define LOCALE_REGION_FI        "FI" // ·ÒÀ¼ÎÄ (·ÒÀ¼) \r
783 #define LOCALE_REGION_FI_EURO   "FI_EURO" // ·ÒÀ¼ÎÄ (·ÒÀ¼ EURO)\r
784 #define LOCALE_REGION_FR        "FR" // ·¨ÎÄ (·¨¹ú) \r
785 #define LOCALE_REGION_FR_EURO   "FR_EURO" // ·¨ÎÄ (·¨¹ú EURO) \r
786 #define LOCALE_REGION_GB        "GB" // Ó¢ÎÄ (Ó¢¹ú) \r
787 #define LOCALE_REGION_GE        "GE" //Georgia\r
788 #define LOCALE_REGION_GR        "GR" // Ï£À°ÎÄ (Ï£À°) \r
789 #define LOCALE_REGION_GT        "GT" // Î÷°àÑÀÎÄ (ΣµØÂíÀ­) \r
790 #define LOCALE_REGION_HK        "HK" // ÖÐÎÄ (Ïã¸Û) \r
791 #define LOCALE_REGION_HN        "HN" // Î÷°àÑÀÎÄ (ºé¶¼À­Ë¹) \r
792 #define LOCALE_REGION_HR        "HR" // ¿ËÂÞµØÑÇÎÄ (¿ËÂÞµØÑÇ)\r
793 #define LOCALE_REGION_HT        "HT" //Haiti\r
794 #define LOCALE_REGION_HU        "HU" // ÐÙÑÀÀûÎÄ (ÐÙÑÀÀû)\r
795 #define LOCALE_REGION_ID        "ID" //Indonesia\r
796 #define LOCALE_REGION_IE        "IE" // Ó¢ÎÄ (°®¶ûÀ¼) \r
797 #define LOCALE_REGION_IE_EURO   "IE_EURO" // Ó¢ÎÄ (°®¶ûÀ¼ EURO) \r
798 #define LOCALE_REGION_IL        "IL" // Ï£²®À´ÎÄ (ÒÔÉ«ÁÐ)\r
799 #define LOCALE_REGION_IN        "IN" //India\r
800 #define LOCALE_REGION_IQ        "IQ" // °¢À­²®ÎÄ (ÒÁÀ­¿Ë) \r
801 #define LOCALE_REGION_IS        "IS" // ±ùµºÎÄ (±ùµº)\r
802 #define LOCALE_REGION_IT        "IT" // Òâ´óÀûÎÄ (Òâ´óÀû) \r
803 #define LOCALE_REGION_IT_EURO   "IT_EURO" // Òâ´óÀûÎÄ (Òâ´óÀû EURO)\r
804 #define LOCALE_REGION_JM        "JM" //Jamaica\r
805 #define LOCALE_REGION_JO        "JO" // °¢À­²®ÎÄ (Ô¼µ©) \r
806 #define LOCALE_REGION_JP        "JP" // ÈÕÎÄ (ÈÕ±¾)\r
807 #define LOCALE_REGION_KE        "KE" //Kenya\r
808 #define LOCALE_REGION_KR        "KR" // ³¯ÏÊÎÄ (Äϳ¯ÏÊ)\r
809 #define LOCALE_REGION_KW        "KW" // °¢À­²®ÎÄ (¿ÆÍþÌØ) \r
810 #define LOCALE_REGION_KZ        "KZ" //Kazakhstan\r
811 #define LOCALE_REGION_LB        "LB" // °¢À­²®ÎÄ (Àè°ÍÄÛ) \r
812 #define LOCALE_REGION_LK        "LK" //Sri Lanka\r
813 #define LOCALE_REGION_LT        "LT" // Á¢ÌÕÍðÎÄ (Á¢ÌÕÍð)\r
814 #define LOCALE_REGION_LU        "LU" // µÂÎÄ (¬ɭ±¤) \r
815 #define LOCALE_REGION_LU_EURO   "LU_EURO" // µÂÎÄ (¬ɭ±¤ EURO)\r
816 #define LOCALE_REGION_LV        "LV" // À­ÍÐάÑÇÎÄ(ÁÐÍÐ) (À­ÍÑάÑÇ)\r
817 #define LOCALE_REGION_LY        "LY" // °¢À­²®ÎÄ (Àû±ÈÑÇ) \r
818 #define LOCALE_REGION_MA        "MA" // °¢À­²®ÎÄ (ĦÂå¸ç) \r
819 #define LOCALE_REGION_MD        "MD" //Moldova\r
820 #define LOCALE_REGION_MK        "MK" // ÂíÆä¶ÙÎÄ (ÂíÆä¶ÙÍõ¹ú)\r
821 #define LOCALE_REGION_MX        "MX" // Î÷°àÑÀÎÄ (Ä«Î÷¸ç) \r
822 #define LOCALE_REGION_MY        "MY" //Malaysia\r
823 #define LOCALE_REGION_NG        "NG" //Nigeria\r
824 #define LOCALE_REGION_NI        "NI" // Î÷°àÑÀÎÄ (Äá¼ÓÀ­¹Ï) \r
825 #define LOCALE_REGION_NL        "NL" // ºÉÀ¼ÎÄ (ºÉÀ¼) \r
826 #define LOCALE_REGION_NL_EURO   "NL_EURO " // ºÉÀ¼ÎÄ (ºÉÀ¼ EURO)\r
827 #define LOCALE_REGION_NO        "NO" // Å²ÍþÎÄ (ŲÍþ) \r
828 #define LOCALE_REGION_NP        "NP" //Nepal\r
829 #define LOCALE_REGION_NY        "NO_NY" // Å²ÍþÎÄ (ŲÍþ NYNORSK)\r
830 #define LOCALE_REGION_NZ        "NZ" // Ó¢ÎÄ (ÐÂÎ÷À¼) \r
831 #define LOCALE_REGION_OM        "QM" // °¢À­²®ÎÄ (°¢Âü) \r
832 #define LOCALE_REGION_PA        "PA" // Î÷°àÑÀÎÄ (°ÍÄÃÂí) \r
833 #define LOCALE_REGION_PE        "PE" // Î÷°àÑÀÎÄ (Ãس) \r
834 #define LOCALE_REGION_PH        "PH" //Philippines\r
835 #define LOCALE_REGION_PK        "PK" //Pakistan\r
836 #define LOCALE_REGION_PL        "PL" // ²¨À¼ÎÄ (²¨À¼) \r
837 #define LOCALE_REGION_PR        "PR" // Î÷°àÑÀÎÄ (²¨¶àÀè¸ç) \r
838 #define LOCALE_REGION_PT        "PT" // ÆÏÌÑÑÀÎÄ (ÆÏÌÑÑÀ) \r
839 #define LOCALE_REGION_PT_EURO   "PT_EURO" // ÆÏÌÑÑÀÎÄ (ÆÏÌÑÑÀ EURO)\r
840 #define LOCALE_REGION_PY        "PY" // Î÷°àÑÀÎÄ (°ÍÀ­¹ç) \r
841 #define LOCALE_REGION_QA        "QA" // °¢À­²®ÎÄ (¿¨Ëþ¶û) \r
842 #define LOCALE_REGION_RO        "RO" // ÂÞÂíÄáÑÇÎÄ (ÂÞÂíÄáÑÇ) \r
843 #define LOCALE_REGION_RU        "RU" // ¶íÎÄ (¶íÂÞ˹)\r
844 #define LOCALE_REGION_SA        "SA" // °¢À­²®ÎÄ (ɳÌØ°¢À­²®) \r
845 #define LOCALE_REGION_SD        "SD" // °¢À­²®ÎÄ (ËÕµ¤) \r
846 #define LOCALE_REGION_SE        "SE" // ÈðµäÎÄ (Èðµä)\r
847 #define LOCALE_REGION_SG        "SG" //Singapore\r
848 #define LOCALE_REGION_SI        "SI" // Ë¹ÂåÎÄÄáÑÇÎÄ (˹ÂåÎÄÄáÑÇ)\r
849 #define LOCALE_REGION_SK        "SK" // Ë¹Âå·¥¿ËÎÄ (˹Âå·¥¿Ë)\r
850 #define LOCALE_REGION_SV        "SV" // Î÷°àÑÀÎÄ (Èø¶ûÍ߶à) \r
851 #define LOCALE_REGION_SY        "SY" // °¢À­²®ÎÄ (ÐðÀûÑÇ) \r
852 #define LOCALE_REGION_TH        "TH" // Ì©ÎÄ (Ì©¹ú)\r
853 #define LOCALE_REGION_TM        "TM" //Turkmenistan\r
854 #define LOCALE_REGION_TN        "TN" // °¢À­²®ÎÄ (Í»Äá˹) \r
855 #define LOCALE_REGION_TR        "TR" // ÍÁ¶úÆäÎÄ (ÍÁ¶úÆä) \r
856 #define LOCALE_REGION_TT        "TT" //Trinidad Tobago\r
857 #define LOCALE_REGION_TW        "TW" // ÖÐÎÄ (̨Íå)\r
858 #define LOCALE_REGION_UA        "UA" // ÎÚ¿ËÀ¼ÎÄ (ÎÚ¿ËÀ¼)\r
859 #define LOCALE_REGION_UG        "UG" //Uganda\r
860 #define LOCALE_REGION_US        "US" // Ó¢ÎÄ (ÃÀ¹ú)\r
861 #define LOCALE_REGION_UY        "UY" // Î÷°àÑÀÎÄ (ÎÚÀ­¹ç) \r
862 #define LOCALE_REGION_UZ        "UZ" //Uzbekistan\r
863 #define LOCALE_REGION_VE        "VE" // Î÷°àÑÀÎÄ (ίÄÚÈðÀ­) \r
864 #define LOCALE_REGION_VN        "VN" //Vietnam\r
865 #define LOCALE_REGION_YE        "YE" // °¢À­²®ÎÄ (Ò²ÃÅ)\r
866 #define LOCALE_REGION_YU        "YU" // Èû¶ûάÑÇÎÄ (ÄÏ˹À­·ò)\r
867 #define LOCALE_REGION_ZA        "ZA" // Ó¢ÎÄ (ÄÏ·Ç)\r
868 \r
869 \r
870 #define TIME_ZONE_MARSHALL_ISLANDS              "Pacific/Majuro"\r
871 #define TIME_ZONE_MIDWAY_ISLAND                 "Pacific/Midway"\r
872 #define TIME_ZONE_HAWAII                        "Pacific/Honolulu"\r
873 #define TIME_ZONE_ALASKA                        "America/Anchorage"\r
874 #define TIME_ZONE_PACIFIC_TIME                  "America/Los_Angeles"\r
875 #define TIME_ZONE_TIJUANA                       "America/Tijuana" \r
876 #define TIME_ZONE_ARIZONA                       "America/Phoenix" \r
877 #define TIME_ZONE_CHIHUAHUA                     "America/Chihuahua" \r
878 #define TIME_ZONE_MOUNTAIN_TIME                 "America/Denver" \r
879 #define TIME_ZONE_CENTRAL_AMERICA               "America/Costa_Rica" \r
880 #define TIME_ZONE_CENTRAL_TIME                  "America/Chicago" \r
881 #define TIME_ZONE_MEXICO_CITY                   "America/Mexico_City" \r
882 #define TIME_ZONE_SASKATCHEWAN                  "America/Regina" \r
883 #define TIME_ZONE_BOGOTA                        "America/Bogota" \r
884 #define TIME_ZONE_EASTERN_TIME                  "America/New_York" \r
885 #define TIME_ZONE_VENEZUELA                     "America/Caracas" \r
886 #define TIME_ZONE_ATLANTIC_TIME_BARBADOS        "America/Barbados" \r
887 #define TIME_ZONE_ATLANTIC_TIME_CANADA          "America/Halifax"\r
888 #define TIME_ZONE_MANAUS                        "America/Manaus"\r
889 #define TIME_ZONE_SANTIAGO                      "America/Santiago"\r
890 #define TIME_ZONE_NEWFOUNDLAND                  "America/St_Johns"\r
891 #define TIME_ZONE_BRASILIA                      "America/Sao_Paulo"\r
892 #define TIME_ZONE_BUENOS_AIRES                  "America/Argentina/Buenos_Aires"\r
893 #define TIME_ZONE_GREENLAND                     "America/Godthab"\r
894 #define TIME_ZONE_MONTEVIDEO                    "America/Montevideo"\r
895 #define TIME_ZONE_MID_ATLANTIC                  "Atlantic/South_Georgia"\r
896 #define TIME_ZONE_AZORES                        "Atlantic/Azores"\r
897 #define TIME_ZONE_CAPE_VERDE_ISLANDS            "Atlantic/Cape_Verde"\r
898 #define TIME_ZONE_CASABLANCA                    "Africa/Casablanca"\r
899 #define TIME_ZONE_LONDON_DUBLIN                 "Europe/London"\r
900 #define TIME_ZONE_AMSTERDAM_BERLIN              "Europe/Amsterdam" \r
901 #define TIME_ZONE_BELGRADE                      "Europe/Belgrade"\r
902 #define TIME_ZONE_BRUSSELS                      "Europe/Brussels"\r
903 #define TIME_ZONE_SARAJEVO                      "Europe/Sarajevo"\r
904 #define TIME_ZONE_WINDHOEK                      "Africa/Windhoek"\r
905 #define TIME_ZONE_W_AFRICA_TIME                 "Africa/Brazzaville"\r
906 #define TIME_ZONE_AMMAN_JORDAN                  "Asia/Amman"\r
907 #define TIME_ZONE_ATHENS_ISTANBUL               "Europe/Athens"\r
908 #define TIME_ZONE_BEIRUT_LEBANON                "Asia/Beirut"\r
909 #define TIME_ZONE_CAIRO                         "Africa/Cairo"\r
910 #define TIME_ZONE_HELSINKI                      "Europe/Helsinki"\r
911 #define TIME_ZONE_JERUSALEM                     "Asia/Jerusalem"\r
912 #define TIME_ZONE_MINSK                         "Europe/Minsk"\r
913 #define TIME_ZONE_HARARE                        "Africa/Harare"\r
914 #define TIME_ZONE_BAGHDAD                       "Asia/Baghdad"\r
915 #define TIME_ZONE_MOSCOW                        "Europe/Moscow"\r
916 #define TIME_ZONE_KUWAIT                        "Asia/Kuwait"\r
917 #define TIME_ZONE_NAIROBI                       "Africa/Nairobi"\r
918 #define TIME_ZONE_TEHRAN                        "Asia/Tehran"\r
919 #define TIME_ZONE_BAKU                          "Asia/Baku"\r
920 #define TIME_ZONE_TBILISI                       "Asia/Tbilisi"\r
921 #define TIME_ZONE_YEREVAN                       "Asia/Yerevan"\r
922 #define TIME_ZONE_DUBAI                         "Asia/Dubai"\r
923 #define TIME_ZONE_KABUL                         "Asia/Kabul"\r
924 #define TIME_ZONE_ISLAMABAD_KARACHI             "Asia/Karachi"\r
925 #define TIME_ZONE_URAL_SK                       "Asia/Oral"\r
926 #define TIME_ZONE_YEKATERINBURG                 "Asia/Yekaterinburg"\r
927 #define TIME_ZONE_KOLKATA                       "Asia/Calcutta"\r
928 #define TIME_ZONE_SRI_LANKA                     "Asia/Colombo"\r
929 #define TIME_ZONE_KATHMANDU                     "Asia/Katmandu"\r
930 #define TIME_ZONE_ASTANA                        "Asia/Almaty"\r
931 #define TIME_ZONE_YANGON                        "Asia/Rangoon"\r
932 #define TIME_ZONE_KRASNOYARSK                   "Asia/Krasnoyarsk"\r
933 #define TIME_ZONE_BANGKOK                       "Asia/Bangkok"\r
934 #define TIME_ZONE_BEIJING                       "Asia/Shanghai"\r
935 #define TIME_ZONE_HONG_KONG                     "Asia/Hong_Kong"\r
936 #define TIME_ZONE_IRKUTSK                       "Asia/Irkutsk"\r
937 #define TIME_ZONE_KUALA_LUMPUR                  "Asia/Kuala_Lumpur"\r
938 #define TIME_ZONE_PERTH                         "Australia/Perth"\r
939 #define TIME_ZONE_TAIPEI                        "Asia/Taipei"\r
940 #define TIME_ZONE_SEOUL                         "Asia/Seoul"\r
941 #define TIME_ZONE_TOKYO_OSAKA                   "Asia/Tokyo"\r
942 #define TIME_ZONE_YAKUTSK                       "Asia/Yakutsk"\r
943 #define TIME_ZONE_ADELAIDE                      "Australia/Adelaide"\r
944 #define TIME_ZONE_DARWIN                        "Australia/Darwin"\r
945 #define TIME_ZONE_BRISBANE                      "Australia/Brisbane"\r
946 #define TIME_ZONE_HOBART                        "Australia/Hobart"\r
947 #define TIME_ZONE_SYDNEY_CANBERRA               "Australia/Sydney"\r
948 #define TIME_ZONE_VLADIVOSTOK                   "Asia/Vladivostok"\r
949 #define TIME_ZONE_GUAM                          "Pacific/Guam"\r
950 #define TIME_ZONE_MAGADAN                       "Asia/Magadan"\r
951 #define TIME_ZONE_AUCKLAND                      "Pacific/Auckland"\r
952 #define TIME_ZONE_FIJI                          "Pacific/Fiji"\r
953 #define TIME_ZONE_TONGA                         "Pacific/Tongatapu"\r
954 \r
955 \r
956 enum xml_gms_id{\r
957         GMS_ID_SEARCH,\r
958         GMS_ID_SEARCH_BY_VOICE,\r
959         GMS_ID_GMAIL,\r
960         GMS_ID_CONTACT_SYNC,\r
961         GMS_ID_CALENDAR_SYNC,\r
962         GMS_ID_TALK,\r
963         GMS_ID_CHROME,\r
964         GMS_ID_GOOGLES,\r
965         GMS_ID_MAPS,\r
966         GMS_ID_STREET_VIEW,\r
967         GMS_ID_YOUTUBE,\r
968         GMS_ID_GOOGLE_PLAY_STORE,\r
969         GMS_ID_GOOGLE_PLAY_BOOKS,\r
970         GMS_ID_GOOGLE_PLAY_MOVIES,\r
971         GMS_ID_GOOGLE_PLAY_MAGAZINES,\r
972         GMS_ID_GOOGLE_PLAY_MUSIC,\r
973         //GMS_ID_WIDEVINE,\r
974         GMS_ID_FACELOCK,\r
975         GMS_ID_GOOGLE_TTS,\r
976         //GMS_ID_GOOGLE_VOICE,\r
977         //GMS_ID_GOGGLES,\r
978         //GMS_ID_EARTH,\r
979         //GMS_ID_ORKUT,\r
980         //GMS_ID_DOCS_DRIVE,\r
981         GMS_ID_NEWS_WEATHER,\r
982         //GMS_ID_SHOPPER,\r
983         //GMS_ID_BLOGGER,\r
984         //GMS_ID_CURRENTS,\r
985         //GMS_ID_KEEP,\r
986         //GMS_ID_TRANSLATE,\r
987         //GMS_ID_KOREAN_IME,\r
988         //GMS_ID_PINYIN_IME,\r
989         GMS_ID_NUMS,\r
990 };\r
991 \r
992 \r
993 struct xml_gms_name{\r
994         int gms_id;\r
995         char gms_name[48];\r
996 };\r
997 \r
998 \r
999 static struct xml_gms_name gms_name[GMS_ID_NUMS] = \r
1000 {\r
1001         {GMS_ID_SEARCH, "QuickSearchBox.apk"},\r
1002         {GMS_ID_SEARCH_BY_VOICE, "VoiceSearchStub.apk"},\r
1003         {GMS_ID_GMAIL, "Gmail2.apk"},\r
1004         {GMS_ID_CONTACT_SYNC, "GoogleContactsSyncAdapter.apk"},\r
1005         {GMS_ID_CALENDAR_SYNC, "GoogleCalendarSyncAdapter.apk"},\r
1006         {GMS_ID_TALK, "Talk.apk"},\r
1007         {GMS_ID_CHROME, "Chrome.apk"},\r
1008         {GMS_ID_GOOGLES, "PlusOne.apk"},\r
1009         {GMS_ID_MAPS, "GMS_Maps.apk"},\r
1010         {GMS_ID_STREET_VIEW, "Street.apk"},\r
1011         {GMS_ID_YOUTUBE, "YouTube.apk"},\r
1012         {GMS_ID_GOOGLE_PLAY_STORE, "Phonesky.apk"},\r
1013         {GMS_ID_GOOGLE_PLAY_BOOKS, "Books.apk"},\r
1014         {GMS_ID_GOOGLE_PLAY_MOVIES, "Videos.apk"},\r
1015         {GMS_ID_GOOGLE_PLAY_MAGAZINES, "Magazines.apk"},\r
1016         {GMS_ID_GOOGLE_PLAY_MUSIC, "Music.apk"},\r
1017         //{GMS_ID_WIDEVINE, ""},\r
1018         {GMS_ID_FACELOCK, "FaceLock.apk"},\r
1019         {GMS_ID_GOOGLE_TTS, "PicoTts.apk"},\r
1020         //{GMS_ID_GOOGLE_VOICE, "Velvet.apk"},//?\r
1021         //{GMS_ID_GOGGLES, "Velvet.apk"},//?\r
1022         //{GMS_ID_EARTH, "Velvet.apk"},\r
1023         //{GMS_ID_ORKUT, "Velvet.apk"},\r
1024         //{GMS_ID_DOCS_DRIVE, "Velvet.apk"},\r
1025         {GMS_ID_NEWS_WEATHER, "GenieWidget.apk"},\r
1026         //{GMS_ID_SHOPPER, "Velvet.apk"},\r
1027         //{GMS_ID_BLOGGER, "Velvet.apk"},\r
1028         //{GMS_ID_CURRENTS, "Velvet.apk"},\r
1029         //{GMS_ID_KEEP, "Velvet.apk"},\r
1030         //{GMS_ID_TRANSLATE, "Velvet.apk"},\r
1031         //{GMS_ID_KOREAN_IME, "Velvet.apk"},\r
1032         //{GMS_ID_PINYIN_IME, "PinyinIME.apk"},\r
1033 };\r
1034 \r
1035 \r
1036 \r
1037 struct auto_xml_config{\r
1038         int area_id;\r
1039         int gms_flag[GMS_ID_NUMS];\r
1040 };\r
1041 \r
1042 \r
1043 static struct auto_xml_config xml_config[AREA_ID_NUMS] = {\r
1044         {AREA_ID_NULL, {1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}},\r
1045         {AREA_ID_ALBANIA,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,1}},\r
1046         {AREA_ID_ALGERIA,{0,1,0,0,0,0,0,1,0,1,0,1,1,1,1,1,0,1,1}},\r
1047         {AREA_ID_ANGOLA,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,1}},\r
1048         {AREA_ID_ARGENTINA,{0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0}},\r
1049         {AREA_ID_AUSTRALIA,{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}},\r
1050         {AREA_ID_AUSTRIA,{0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,0,0,0,0}},\r
1051         {AREA_ID_AZERBAIJAN,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1}},\r
1052         {AREA_ID_BAHRAIN,{0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,0,1,1}},\r
1053         {AREA_ID_BANGLADESH,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1}},\r
1054         {AREA_ID_BARBADOS,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1}},\r
1055         {AREA_ID_BELARUS,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1}},\r
1056         {AREA_ID_BELGIUM,{0,1,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0}},\r
1057         {AREA_ID_BOLIVIA,{0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,1}},\r
1058         {AREA_ID_BOSNIA_AND_HERZEGOVINA,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,1}},\r
1059         {AREA_ID_BOTSWANA,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0}},\r
1060         {AREA_ID_BRAZIL,{0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0}},\r
1061         {AREA_ID_BULGARIA,{0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1}},\r
1062         {AREA_ID_CANADA,{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0}},\r
1063         {AREA_ID_CHILE,{0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,0,0,0}},\r
1064         {AREA_ID_CHINA,{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1}},\r
1065         {AREA_ID_COLOMBIA,{0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,1,0,0,0}},\r
1066         {AREA_ID_COTE_D_IVOIRE,{0,1,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,0,1}},\r
1067         {AREA_ID_CROATIA,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1}},\r
1068         {AREA_ID_CYPRUS,{0,1,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,0,1}},\r
1069         {AREA_ID_CZECH_REPUBLIC,{0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0}},\r
1070         {AREA_ID_DENMARK,{0,1,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0,0,1}},\r
1071         {AREA_ID_ECUADOR,{0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,1}},\r
1072         {AREA_ID_EGYPT,{0,0,0,0,0,0,0,1,0,1,0,1,1,1,1,1,0,1,1}},\r
1073         {AREA_ID_ESTONIA,{0,1,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1}},\r
1074         {AREA_ID_FINLAND,{0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0,0,1}},\r
1075         {AREA_ID_FRANCE_INC_GUADELOUPE,{0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0}},\r
1076         {AREA_ID_GEORGIA,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1}},\r
1077         {AREA_ID_GERMANY,{0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0}},\r
1078         {AREA_ID_GREECE,{0,1,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,0,0}},\r
1079         {AREA_ID_HAITI,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,1}},\r
1080         {AREA_ID_HONDURAS,{0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,1}},\r
1081         {AREA_ID_HONG_KONG,{0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0}},\r
1082         {AREA_ID_HUNGARY,{0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0,0,0}},\r
1083         {AREA_ID_ICELAND,{0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1}},\r
1084         {AREA_ID_INDIA,{0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0}},\r
1085         {AREA_ID_INDONESIA,{0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,0}},\r
1086         {AREA_ID_IRELAND,{0,1,0,0,0,0,0,0,1,1,0,0,1,1,1,0,0,0,0}},\r
1087         {AREA_ID_ISRAEL,{0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,0,1,0}},\r
1088         {AREA_ID_ITALY,{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0}},\r
1089         {AREA_ID_JAMAICA,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,1}},\r
1090         {AREA_ID_JAPAN,{0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0}},\r
1091         {AREA_ID_JORDAN,{0,0,0,0,0,0,0,1,0,1,0,1,1,1,1,1,0,1,1}},\r
1092         {AREA_ID_KAZAKHSTAN,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1}},\r
1093         {AREA_ID_KENYA,{0,1,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0,0,0}},\r
1094         {AREA_ID_KOREA_SOUTH,{0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0}},\r
1095         {AREA_ID_KUWAIT,{0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,0,1,1}},\r
1096         {AREA_ID_LATVIA,{0,1,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,0,1}},\r
1097         {AREA_ID_LEBANON,{0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,0,1,0}},\r
1098         {AREA_ID_LITHUANIA,{0,1,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1}},\r
1099         {AREA_ID_LUXEMBOURG,{0,1,0,0,0,0,0,0,1,1,1,0,1,1,1,0,0,0,1}},\r
1100         {AREA_ID_MACEDONIA,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1}},\r
1101         {AREA_ID_MALAYSIA,{0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,0,1,0}},\r
1102         {AREA_ID_MEXICO,{0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,0,0}},\r
1103         {AREA_ID_MOLDOVA,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1}},\r
1104         {AREA_ID_MOROCCO,{0,1,0,0,0,0,0,1,1,1,0,1,1,1,1,1,0,1,1}},\r
1105         {AREA_ID_NEPAL,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1}},\r
1106         {AREA_ID_NETHERLAND_ANTILLES,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1}},\r
1107         {AREA_ID_NETHERLANDS_INC_BONAIRE,{0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0}},\r
1108         {AREA_ID_NEW_ZEALAND,{0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0}},\r
1109         {AREA_ID_NIGERIA,{0,1,0,0,0,0,0,1,1,1,0,1,1,1,1,1,0,0,0}},\r
1110         {AREA_ID_NORWAY,{0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0,0,0}},\r
1111         {AREA_ID_OMAN,{0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,0,1,1}},\r
1112         {AREA_ID_PAKISTAN,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,1}},\r
1113         {AREA_ID_PARAGUAY,{0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,1}},\r
1114         {AREA_ID_PERU,{0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0}},\r
1115         {AREA_ID_PHILIPPINES,{0,1,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,0,0}},\r
1116         {AREA_ID_POLAND,{0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0}},\r
1117         {AREA_ID_PORTUGAL,{0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,0,0,0,0}},\r
1118         {AREA_ID_QATAR,{0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,0,1,1}},\r
1119         {AREA_ID_ROMANIA,{0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,0,1}},\r
1120         {AREA_ID_RUSSIA,{0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0}},\r
1121         {AREA_ID_SAUDI_ARABIA,{0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,1,0}},\r
1122         {AREA_ID_SERBIA,{0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,1}},\r
1123         {AREA_ID_SINGAPORE,{0,1,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0,0,0}},\r
1124         {AREA_ID_SLOVAKIA,{0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,0,1}},\r
1125         {AREA_ID_SLOVENIA,{0,1,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1}},\r
1126         {AREA_ID_SOUTH_AFRICA,{0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0}},\r
1127         {AREA_ID_SPAIN,{0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0}},\r
1128         {AREA_ID_SRI_LANKA,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1}},\r
1129         {AREA_ID_SWEDEN,{0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0}},\r
1130         {AREA_ID_SWITZERLAND,{0,1,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,0}},\r
1131         {AREA_ID_TAIWAN,{0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0}},\r
1132         {AREA_ID_THAILAND,{0,1,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0,1,1}},\r
1133         {AREA_ID_TRINIDAD_TOBAGO,{0,1,0,0,0,0,0,1,0,1,1,1,1,1,1,1,0,0,1}},\r
1134         {AREA_ID_TUNISIA,{0,1,0,0,0,0,0,0,1,1,0,1,1,1,1,1,0,1,1}},\r
1135         {AREA_ID_TURKEY,{0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0}},\r
1136         {AREA_ID_TURKMENISTAN,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1}},\r
1137         {AREA_ID_UGANDA,{0,1,0,0,0,0,0,1,1,1,0,1,1,1,1,1,0,0,0}},\r
1138         {AREA_ID_UKRAINE,{0,1,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0,1,0}},\r
1139         {AREA_ID_UNITED_KINGDOM,{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}},\r
1140         {AREA_ID_UNITED_STATES,{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}},\r
1141         {AREA_ID_URUGUAY,{0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,1}},\r
1142         {AREA_ID_UZBEKISTAN,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1}},\r
1143         {AREA_ID_VENEZUELA,{0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0}},\r
1144         {AREA_ID_VIETNAM,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,0}},\r
1145         {AREA_ID_NORDICS,{0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0}},\r
1146         {AREA_ID_BALTIC,{0,1,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,0,1}},\r
1147         {AREA_ID_CZECH_SLOVAKIA,{0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0}},\r
1148         {AREA_ID_CROATIA_SLOVENIA,{0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,0,1}},\r
1149         {AREA_ID_LA_GROUP,{0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,1,0,0,0}},\r
1150         {AREA_ID_UNITED_ARAB_EMIRATES,{0,0,0,0,0,0,0,1,0,1,0,1,1,1,1,1,0,0,0}},\r
1151         {AREA_ID_EMAT_UK,{0,1,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0}},\r
1152         {AREA_ID_EMAT_FR,{0,1,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,1}},\r
1153         {AREA_ID_EMAT_PO,{0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,1}},\r
1154         {AREA_ID_INDIA_HI,{0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0}},\r
1155         {AREA_ID_UAE_EN,{0,0,0,0,0,0,0,1,0,1,0,1,1,1,1,1,0,0,0}},\r
1156         {AREA_ID_ISRAEL_AR,{0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,0,1,0}},\r
1157         {AREA_ID_NETHERLANDS_INC_BONAIRE_ENUS,{0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0}},\r
1158 };\r
1159 \r
1160 \r
1161 struct area_id_name{\r
1162         int type;\r
1163         int id;\r
1164         char country_area[32];          //country or area name such as china\r
1165         char locale_language[4];        //locale language name such as zh\r
1166         char locale_region[8];          //locale region name such as CN\r
1167         char country_geo[20];           //country geographical position such as asia            \r
1168         char timezone[32];              //time zone such as Asia/Shanghai\r
1169         char user_define[20];           //user-defined name such as A10,A12,A13 \r
1170 };\r
1171 \r
1172 \r
1173 struct operator_id_name{\r
1174         int type;               //type\r
1175         int id; \r
1176         char operator_name[20]; //operator name such as CHINA MOBILE\r
1177         char locale_region[8];  //area name such as CN\r
1178 };\r
1179 \r
1180 struct reserve_id_name{\r
1181         int type;               //type\r
1182         int id;                 \r
1183         char reserve_name[20];  //reserve name  \r
1184         char locale_region[20]; \r
1185 };\r
1186 \r
1187 \r
1188 struct device_id_name{\r
1189         char type;      //device type\r
1190         char id;        //board id\r
1191         char type_name[14];\r
1192         char driver_name[16];\r
1193         char dev_name[16];      //name\r
1194         char description[30];   // description\r
1195         unsigned short device_id;//device_id and only one\r
1196         //short select; // 1:device is selected 0:not\r
1197 };\r
1198 \r
1199 struct board_id_flag{   \r
1200         atomic_t debug_flag;    \r
1201 };\r
1202 \r
1203 \r
1204 \r
1205 enum I2C_BUS_NUM{\r
1206         BUS_NUM_I2C_0,\r
1207         BUS_NUM_I2C_1,\r
1208         BUS_NUM_I2C_2,\r
1209         BUS_NUM_I2C_3,\r
1210         BUS_NUM_I2C_4,\r
1211         BUS_NUM_I2C_GPIO,\r
1212         BUS_NUM_I2C_MAX,\r
1213 };\r
1214 \r
1215 \r
1216 enum {\r
1217         BUS_NUM_SPI_0,\r
1218         BUS_NUM_SPI_1,\r
1219         BUS_NUM_SPI_MAX,\r
1220 };\r
1221 \r
1222 \r
1223 enum board_device_type{\r
1224         BOARD_DEVICE_TYPE_VALID,\r
1225         BOARD_DEVICE_TYPE_INVALID,\r
1226         BOARD_DEVICE_TYPE_I2C,  \r
1227         BOARD_DEVICE_TYPE_SPI,\r
1228         BOARD_DEVICE_TYPE_PLATFORM,     \r
1229         BOARD_DEVICE_TYPE_NUMS,\r
1230 };\r
1231 \r
1232 struct valid_invalid_name{\r
1233         char name[32];\r
1234 };\r
1235 \r
1236 \r
1237 struct board_device_table{\r
1238         void *addr;\r
1239         int size;\r
1240         int type;\r
1241         int bus;\r
1242 };\r
1243 \r
1244 \r
1245 #include <linux/board-id-operator.h>\r
1246 \r
1247 struct board_id_private_data{           \r
1248         struct device *dev;     \r
1249         struct mutex operation_mutex;\r
1250         struct area_id_name  area_area_id_name[AREA_ID_NUMS];\r
1251         struct operator_id_name  area_operator_id_name[OPERATOR_ID_NUMS];\r
1252         struct reserve_id_name  area_reserve_id_name[RESERVE_ID_NUMS];\r
1253         struct area_id_name  area_select;       \r
1254         struct operator_id_name  operator_select;       \r
1255         struct reserve_id_name  reserve_select;\r
1256         \r
1257         struct device_id_name  tp_id_name[TP_ID_NUMS];\r
1258         struct device_id_name  lcd_id_name[LCD_ID_NUMS];\r
1259         struct device_id_name  key_id_name[KEY_ID_NUMS];\r
1260         struct device_id_name  codec_id_name[CODEC_ID_NUMS];\r
1261         struct device_id_name  wifi_id_name[WIFI_ID_NUMS];\r
1262         struct device_id_name  bt_id_name[BT_ID_NUMS];\r
1263         struct device_id_name  gps_id_name[GPS_ID_NUMS];\r
1264         struct device_id_name  fm_id_name[FM_ID_NUMS];\r
1265         struct device_id_name  modem_id_name[MODEM_ID_NUMS];    \r
1266         struct device_id_name  ddr_id_name[DDR_ID_NUMS];\r
1267         struct device_id_name  flash_id_name[FLASH_ID_NUMS];\r
1268         struct device_id_name  hdmi_id_name[HDMI_ID_NUMS];\r
1269         struct device_id_name  battery_id_name[BATTERY_ID_NUMS];\r
1270         struct device_id_name  charge_id_name[CHARGE_ID_NUMS];\r
1271         struct device_id_name  backlight_id_name[BACKLIGHT_ID_NUMS];\r
1272         struct device_id_name  headset_id_name[HEADSET_ID_NUMS];\r
1273         struct device_id_name  micphone_id_name[MICPHONE_ID_NUMS];\r
1274         struct device_id_name  speaker_id_name[SPEAKER_ID_NUMS];\r
1275         struct device_id_name  vibrator_id_name[VIBRATOR_ID_NUMS];\r
1276         struct device_id_name  tv_id_name[TV_ID_NUMS];\r
1277         struct device_id_name  echip_id_name[ECHIP_ID_NUMS];    \r
1278         struct device_id_name  hub_id_name[HUB_ID_NUMS];        \r
1279         struct device_id_name  tpad_id_name[TPAD_ID_NUMS];\r
1280         \r
1281         struct device_id_name  pmic_id_name[PMIC_ID_NUMS];\r
1282         struct device_id_name  regulator_id_name[REGULATOR_ID_NUMS];\r
1283         struct device_id_name  rtc_id_name[RTC_ID_NUMS];\r
1284         struct device_id_name  camera_front_id_name[CAMERA_FRONT_ID_NUMS];\r
1285         struct device_id_name  camera_back_id_name[CAMERA_BACK_ID_NUMS];        \r
1286         struct device_id_name  sensor_angle_id_name[ANGLE_ID_NUMS];\r
1287         struct device_id_name  sensor_accel_id_name[ACCEL_ID_NUMS];\r
1288         struct device_id_name  sensor_compass_id_name[COMPASS_ID_NUMS];\r
1289         struct device_id_name  sensor_gyroscope_id_name[GYRO_ID_NUMS];\r
1290         struct device_id_name  sensor_light_id_name[LIGHT_ID_NUMS];\r
1291         struct device_id_name  sensor_proximity_id_name[PROXIMITY_ID_NUMS];\r
1292         struct device_id_name  sensor_temperature_id_name[TEMPERATURE_ID_NUMS]; \r
1293         struct device_id_name  sensor_pressure_id_name[PRESSURE_ID_NUMS];\r
1294         struct device_id_name  device_selected[DEVICE_NUM_TYPES];\r
1295 \r
1296         \r
1297         struct device_id_name  *device_start_addr[DEVICE_NUM_TYPES];    \r
1298         char  device_num_max[DEVICE_NUM_TYPES];\r
1299         \r
1300         struct board_id_flag flags;\r
1301         struct file_operations id_fops;\r
1302         struct miscdevice id_miscdev;\r
1303         struct board_id_platform_data *pdata;\r
1304         \r
1305         //for debug\r
1306         struct file* board_id_data_filp;\r
1307         mm_segment_t board_id_data_fs;\r
1308         struct file* board_id_area_filp;\r
1309         mm_segment_t board_id_area_fs;\r
1310         struct file* board_id_device_filp;\r
1311         mm_segment_t board_id_device_fs;\r
1312 \r
1313         char vendor_data[DEVICE_NUM_TYPES];\r
1314         \r
1315 };\r
1316 \r
1317 \r
1318 extern char board_id_get(enum type_devices type);\r
1319 extern int board_id_get_from_flash(char *pbuf, int type);\r
1320 \r
1321 \r
1322 #if 1\r
1323 #define DBG_ID(x...) if(g_board_id && (atomic_read(&g_board_id->flags.debug_flag) == 1)) printk(x)\r
1324 #else\r
1325 #define DBG_ID(x...)\r
1326 #endif\r
1327 \r
1328 \r
1329 #define BOARD_ID_IOCTL_BASE 'b'\r
1330 \r
1331 //#define BOARD_ID_IOCTL_READ_ALL                       _IOWR(BOARD_ID_IOCTL_BASE, 0x00, struct board_id_private_data)\r
1332 //#define BOARD_ID_IOCTL_WRITE_ALL                      _IOWR(BOARD_ID_IOCTL_BASE, 0x30, struct board_id_private_data)\r
1333 \r
1334 \r
1335 #define BOARD_ID_IOCTL_READ_AREA_ID                     _IOR(BOARD_ID_IOCTL_BASE, 0x80, struct area_id_name)\r
1336 #define BOARD_ID_IOCTL_READ_OPERATOR_ID                 _IOR(BOARD_ID_IOCTL_BASE, 0x81, struct operator_id_name)\r
1337 #define BOARD_ID_IOCTL_READ_RESERVE_ID                  _IOR(BOARD_ID_IOCTL_BASE, 0x82, struct reserve_id_name)\r
1338 \r
1339 #define BOARD_ID_IOCTL_READ_AREA_NAME_BY_ID             _IOWR(BOARD_ID_IOCTL_BASE, 0x70, struct area_id_name)\r
1340 #define BOARD_ID_IOCTL_READ_OPERATOR_NAME_BY_ID         _IOWR(BOARD_ID_IOCTL_BASE, 0x71, struct operator_id_name)\r
1341 #define BOARD_ID_IOCTL_READ_RESERVE_NAME_BY_ID          _IOWR(BOARD_ID_IOCTL_BASE, 0x72, struct reserve_id_name)\r
1342 #define BOARD_ID_IOCTL_READ_DEVICE_NAME_BY_ID           _IOWR(BOARD_ID_IOCTL_BASE, 0x73, struct device_id_name)\r
1343 \r
1344 \r
1345 \r
1346 #define BOARD_ID_IOCTL_READ_TP_ID                       _IOR(BOARD_ID_IOCTL_BASE, 0x01, struct device_id_name)\r
1347 #define BOARD_ID_IOCTL_READ_LCD_ID                      _IOR(BOARD_ID_IOCTL_BASE, 0x02, struct device_id_name)\r
1348 #define BOARD_ID_IOCTL_READ_KEY_ID                      _IOR(BOARD_ID_IOCTL_BASE, 0x03, struct device_id_name)\r
1349 #define BOARD_ID_IOCTL_READ_CODEC_ID                    _IOR(BOARD_ID_IOCTL_BASE, 0x04, struct device_id_name)\r
1350 #define BOARD_ID_IOCTL_READ_WIFI_ID                     _IOR(BOARD_ID_IOCTL_BASE, 0x05, struct device_id_name)\r
1351 #define BOARD_ID_IOCTL_READ_BT_ID                       _IOR(BOARD_ID_IOCTL_BASE, 0x06, struct device_id_name)  \r
1352 #define BOARD_ID_IOCTL_READ_GPS_ID                      _IOR(BOARD_ID_IOCTL_BASE, 0x07, struct device_id_name)\r
1353 #define BOARD_ID_IOCTL_READ_FM_ID                       _IOR(BOARD_ID_IOCTL_BASE, 0x08, struct device_id_name)\r
1354 #define BOARD_ID_IOCTL_READ_MODEM_ID                    _IOR(BOARD_ID_IOCTL_BASE, 0x09, struct device_id_name)  \r
1355 #define BOARD_ID_IOCTL_READ_DDR_ID                      _IOR(BOARD_ID_IOCTL_BASE, 0x0a, struct device_id_name)\r
1356 #define BOARD_ID_IOCTL_READ_FLASH_ID                    _IOR(BOARD_ID_IOCTL_BASE, 0x0b, struct device_id_name)\r
1357 #define BOARD_ID_IOCTL_READ_HDMI_ID                     _IOR(BOARD_ID_IOCTL_BASE, 0x0c, struct device_id_name)\r
1358 #define BOARD_ID_IOCTL_READ_BATTERY_ID                  _IOR(BOARD_ID_IOCTL_BASE, 0x0d, struct device_id_name)\r
1359 #define BOARD_ID_IOCTL_READ_CHARGE_ID                   _IOR(BOARD_ID_IOCTL_BASE, 0x0e, struct device_id_name)  \r
1360 #define BOARD_ID_IOCTL_READ_BACKLIGHT_ID                _IOR(BOARD_ID_IOCTL_BASE, 0x0f, struct device_id_name)\r
1361 #define BOARD_ID_IOCTL_READ_HEADSET_ID                  _IOR(BOARD_ID_IOCTL_BASE, 0x10, struct device_id_name)\r
1362 #define BOARD_ID_IOCTL_READ_MICPHONE_ID                 _IOR(BOARD_ID_IOCTL_BASE, 0x11, struct device_id_name)\r
1363 #define BOARD_ID_IOCTL_READ_SPEAKER_ID                  _IOR(BOARD_ID_IOCTL_BASE, 0x12, struct device_id_name)\r
1364 #define BOARD_ID_IOCTL_READ_VIBRATOR_ID                 _IOR(BOARD_ID_IOCTL_BASE, 0x13, struct device_id_name)\r
1365 #define BOARD_ID_IOCTL_READ_TV_ID                       _IOR(BOARD_ID_IOCTL_BASE, 0x14, struct device_id_name)\r
1366 #define BOARD_ID_IOCTL_READ_ECHIP_ID                    _IOR(BOARD_ID_IOCTL_BASE, 0x15, struct device_id_name)          \r
1367 #define BOARD_ID_IOCTL_READ_HUB_ID                      _IOR(BOARD_ID_IOCTL_BASE, 0x16, struct device_id_name)\r
1368 #define BOARD_ID_IOCTL_READ_TPAD_ID                     _IOR(BOARD_ID_IOCTL_BASE, 0x17, struct device_id_name)\r
1369 \r
1370 \r
1371 #define BOARD_ID_IOCTL_READ_PMIC_ID                     _IOR(BOARD_ID_IOCTL_BASE, 0x20, struct device_id_name)\r
1372 #define BOARD_ID_IOCTL_READ_REGULATOR_ID                _IOR(BOARD_ID_IOCTL_BASE, 0x21, struct device_id_name)\r
1373 #define BOARD_ID_IOCTL_READ_RTC_ID                      _IOR(BOARD_ID_IOCTL_BASE, 0x22, struct device_id_name)\r
1374 #define BOARD_ID_IOCTL_READ_CAMERA_FRONT_ID             _IOR(BOARD_ID_IOCTL_BASE, 0x23, struct device_id_name)\r
1375 #define BOARD_ID_IOCTL_READ_CAMERA_BACK_ID              _IOR(BOARD_ID_IOCTL_BASE, 0x24, struct device_id_name)  \r
1376 #define BOARD_ID_IOCTL_READ_SENSOR_ANGLE_ID             _IOR(BOARD_ID_IOCTL_BASE, 0x25, struct device_id_name)\r
1377 #define BOARD_ID_IOCTL_READ_SENSOR_ACCEL_ID             _IOR(BOARD_ID_IOCTL_BASE, 0x26, struct device_id_name)\r
1378 #define BOARD_ID_IOCTL_READ_SENSOR_COMPASS_ID           _IOR(BOARD_ID_IOCTL_BASE, 0x27, struct device_id_name)\r
1379 #define BOARD_ID_IOCTL_READ_SENSOR_GYRO_ID              _IOR(BOARD_ID_IOCTL_BASE, 0x28, struct device_id_name)\r
1380 #define BOARD_ID_IOCTL_READ_SENSOR_LIGHT_ID             _IOR(BOARD_ID_IOCTL_BASE, 0x29, struct device_id_name)\r
1381 #define BOARD_ID_IOCTL_READ_SENSOR_PROXIMITY_ID         _IOR(BOARD_ID_IOCTL_BASE, 0x2A, struct device_id_name)\r
1382 #define BOARD_ID_IOCTL_READ_SENSOR_TEMPERATURE_ID       _IOR(BOARD_ID_IOCTL_BASE, 0x2B, struct device_id_name)  \r
1383 #define BOARD_ID_IOCTL_READ_SENSOR_PRESSURE_ID          _IOR(BOARD_ID_IOCTL_BASE, 0x2C, struct device_id_name)\r
1384 \r
1385 \r
1386 #define BOARD_ID_IOCTL_WRITE_AREA_ID            _IOW(BOARD_ID_IOCTL_BASE, 0x90, struct area_id_name)\r
1387 #define BOARD_ID_IOCTL_WRITE_OPERATOR_ID                _IOW(BOARD_ID_IOCTL_BASE, 0x91, struct operator_id_name)\r
1388 #define BOARD_ID_IOCTL_WRITE_RESERVE_ID                 _IOW(BOARD_ID_IOCTL_BASE, 0x92, struct reserve_id_name)\r
1389 \r
1390 \r
1391 #define BOARD_ID_IOCTL_WRITE_TP_ID                      _IOW(BOARD_ID_IOCTL_BASE, 0x31, struct device_id_name)\r
1392 #define BOARD_ID_IOCTL_WRITE_LCD_ID                     _IOW(BOARD_ID_IOCTL_BASE, 0x32, struct device_id_name)\r
1393 #define BOARD_ID_IOCTL_WRITE_KEY_ID                     _IOW(BOARD_ID_IOCTL_BASE, 0x33, struct device_id_name)\r
1394 #define BOARD_ID_IOCTL_WRITE_CODEC_ID                   _IOW(BOARD_ID_IOCTL_BASE, 0x34, struct device_id_name)\r
1395 #define BOARD_ID_IOCTL_WRITE_WIFI_ID                    _IOW(BOARD_ID_IOCTL_BASE, 0x35, struct device_id_name)\r
1396 #define BOARD_ID_IOCTL_WRITE_BT_ID                      _IOW(BOARD_ID_IOCTL_BASE, 0x36, struct device_id_name)  \r
1397 #define BOARD_ID_IOCTL_WRITE_GPS_ID                     _IOW(BOARD_ID_IOCTL_BASE, 0x37, struct device_id_name)\r
1398 #define BOARD_ID_IOCTL_WRITE_FM_ID                      _IOW(BOARD_ID_IOCTL_BASE, 0x38, struct device_id_name)\r
1399 #define BOARD_ID_IOCTL_WRITE_MODEM_ID                   _IOW(BOARD_ID_IOCTL_BASE, 0x39, struct device_id_name)  \r
1400 #define BOARD_ID_IOCTL_WRITE_DDR_ID                     _IOW(BOARD_ID_IOCTL_BASE, 0x3a, struct device_id_name)\r
1401 #define BOARD_ID_IOCTL_WRITE_FLASH_ID                   _IOW(BOARD_ID_IOCTL_BASE, 0x3b, struct device_id_name)\r
1402 #define BOARD_ID_IOCTL_WRITE_HDMI_ID                    _IOW(BOARD_ID_IOCTL_BASE, 0x3c, struct device_id_name)\r
1403 #define BOARD_ID_IOCTL_WRITE_BATTERY_ID                 _IOW(BOARD_ID_IOCTL_BASE, 0x3d, struct device_id_name)\r
1404 #define BOARD_ID_IOCTL_WRITE_CHARGE_ID                  _IOW(BOARD_ID_IOCTL_BASE, 0x3e, struct device_id_name)  \r
1405 #define BOARD_ID_IOCTL_WRITE_BACKLIGHT_ID               _IOW(BOARD_ID_IOCTL_BASE, 0x3f, struct device_id_name)\r
1406 #define BOARD_ID_IOCTL_WRITE_HEADSET_ID                 _IOW(BOARD_ID_IOCTL_BASE, 0x40, struct device_id_name)\r
1407 #define BOARD_ID_IOCTL_WRITE_MICPHONE_ID                _IOW(BOARD_ID_IOCTL_BASE, 0x41, struct device_id_name)\r
1408 #define BOARD_ID_IOCTL_WRITE_SPEAKER_ID                 _IOW(BOARD_ID_IOCTL_BASE, 0x42, struct device_id_name)\r
1409 #define BOARD_ID_IOCTL_WRITE_VIBRATOR_ID                _IOW(BOARD_ID_IOCTL_BASE, 0x43, struct device_id_name)\r
1410 #define BOARD_ID_IOCTL_WRITE_TV_ID                      _IOW(BOARD_ID_IOCTL_BASE, 0x44, struct device_id_name)\r
1411 #define BOARD_ID_IOCTL_WRITE_ECHIP_ID                   _IOW(BOARD_ID_IOCTL_BASE, 0x45, struct device_id_name)          \r
1412 #define BOARD_ID_IOCTL_WRITE_HUB_ID                     _IOW(BOARD_ID_IOCTL_BASE, 0x46, struct device_id_name)\r
1413 #define BOARD_ID_IOCTL_WRITE_TPAD_ID                    _IOW(BOARD_ID_IOCTL_BASE, 0x47, struct device_id_name)\r
1414 \r
1415 #define BOARD_ID_IOCTL_WRITE_PMIC_ID                    _IOW(BOARD_ID_IOCTL_BASE, 0x50, struct device_id_name)\r
1416 #define BOARD_ID_IOCTL_WRITE_REGULATOR_ID               _IOW(BOARD_ID_IOCTL_BASE, 0x51, struct device_id_name)\r
1417 #define BOARD_ID_IOCTL_WRITE_RTC_ID                     _IOW(BOARD_ID_IOCTL_BASE, 0x52, struct device_id_name)\r
1418 #define BOARD_ID_IOCTL_WRITE_CAMERA_FRONT_ID            _IOW(BOARD_ID_IOCTL_BASE, 0x53, struct device_id_name)\r
1419 #define BOARD_ID_IOCTL_WRITE_CAMERA_BACK_ID             _IOW(BOARD_ID_IOCTL_BASE, 0x54, struct device_id_name)  \r
1420 #define BOARD_ID_IOCTL_WRITE_SENSOR_ANGLE_ID            _IOW(BOARD_ID_IOCTL_BASE, 0x55, struct device_id_name)\r
1421 #define BOARD_ID_IOCTL_WRITE_SENSOR_ACCEL_ID            _IOW(BOARD_ID_IOCTL_BASE, 0x56, struct device_id_name)\r
1422 #define BOARD_ID_IOCTL_WRITE_SENSOR_COMPASS_ID          _IOW(BOARD_ID_IOCTL_BASE, 0x57, struct device_id_name)\r
1423 #define BOARD_ID_IOCTL_WRITE_SENSOR_GYRO_ID             _IOW(BOARD_ID_IOCTL_BASE, 0x58, struct device_id_name)\r
1424 #define BOARD_ID_IOCTL_WRITE_SENSOR_LIGHT_ID            _IOW(BOARD_ID_IOCTL_BASE, 0x59, struct device_id_name)\r
1425 #define BOARD_ID_IOCTL_WRITE_SENSOR_PROXIMITY_ID        _IOW(BOARD_ID_IOCTL_BASE, 0x5A, struct device_id_name)\r
1426 #define BOARD_ID_IOCTL_WRITE_SENSOR_TEMPERATURE_ID      _IOW(BOARD_ID_IOCTL_BASE, 0x5B, struct device_id_name)  \r
1427 #define BOARD_ID_IOCTL_WRITE_SENSOR_PRESSURE_ID         _IOW(BOARD_ID_IOCTL_BASE, 0x5C, struct device_id_name)\r
1428 \r
1429 #define BOARD_ID_IOCTL_WRITE_AREA_FLASH                 _IOW(BOARD_ID_IOCTL_BASE, 0x60, struct area_id_name)\r
1430 #define BOARD_ID_IOCTL_WRITE_DEVICE_FLASH               _IOW(BOARD_ID_IOCTL_BASE, 0x61, struct device_id_name)\r
1431 #define BOARD_ID_IOCTL_READ_STATUS                      _IOR(BOARD_ID_IOCTL_BASE, 0x62, char)\r
1432 #define BOARD_ID_IOCTL_READ_VENDOR_DATA                 _IOR(BOARD_ID_IOCTL_BASE, 0x63, char[DEVICE_NUM_TYPES])\r
1433 \r
1434 #endif\r
1435 \r