bump ifxmips to .30
[10.03/openwrt.git] / target / linux / ifxmips / files / arch / mips / include / asm / ifxmips / ifxmips_mei_app.h
1 /******************************************************************************
2 **
3 ** FILE NAME    : ifxmips_mei_app.h
4 ** PROJECT      : Danube
5 ** MODULES      : MEI
6 **
7 ** DATE         : 1 Jan 2006
8 ** AUTHOR       : TC Chen
9 ** DESCRIPTION  : MEI Driver
10 ** COPYRIGHT    :       Copyright (c) 2006
11 **                      Infineon Technologies AG
12 **                      Am Campeon 1-12, 85579 Neubiberg, Germany
13 **
14 **    This program is free software; you can redistribute it and/or modify
15 **    it under the terms of the GNU General Public License as published by
16 **    the Free Software Foundation; either version 2 of the License, or
17 **    (at your option) any later version.
18 **
19 ** HISTORY
20 ** $Version $Date      $Author     $Comment
21 *******************************************************************************/
22 #ifndef         _IFXMIPS_MEI_APP_H
23 #define         _IFXMIPS_MEI_APP_H
24                 //  ioctl control
25 #define IFXMIPS_MEI_START                               300
26 #define IFXMIPS_MEI_REPLY                               301
27 #define IFXMIPS_MEI_NOREPLY                             302
28
29 #define IFXMIPS_MEI_RESET                               303
30 #define IFXMIPS_MEI_REBOOT                              304
31 #define IFXMIPS_MEI_HALT                                        305
32 #define IFXMIPS_MEI_CMV_WINHOST                         306
33 #define IFXMIPS_MEI_CMV_READ                            307
34 #define IFXMIPS_MEI_CMV_WRITE                           308
35 #define IFXMIPS_MEI_MIB_DAEMON                          309
36 #define IFXMIPS_MEI_SHOWTIME                            310
37 #define IFXMIPS_MEI_REMOTE                              311
38 #define IFXMIPS_MEI_READDEBUG                           312
39 #define IFXMIPS_MEI_WRITEDEBUG                          313
40 #define IFXMIPS_MEI_LOP                                 314
41
42 #define IFXMIPS_MEI_PCM_SETUP                           315
43 #define IFXMIPS_MEI_PCM_START_TIMER                     316
44 #define IFXMIPS_MEI_PCM_STOP_TIMER                      317
45 #define IFXMIPS_MEI_PCM_CHECK                           318
46 #define IFXMIPS_MEI_GET_EOC_LEN                         319
47 #define IFXMIPS_MEI_GET_EOC_DATA                                320
48 #define IFXMIPS_MEI_PCM_GETDATA                         321
49 #define IFXMIPS_MEI_PCM_GPIO                            322
50 #define IFXMIPS_MEI_EOC_SEND                            323
51 #define IFXMIPS_MEI_DOWNLOAD                            326
52 #define IFXMIPS_MEI_JTAG_ENABLE                         327
53 #define IFXMIPS_MEI_RUN                                 328
54 #define IFXMIPS_MEI_DEBUG_MODE                          329
55
56 /* Loop diagnostics mode of the ADSL line related constants */
57 #define SET_ADSL_LOOP_DIAGNOSTICS_MODE                  330
58 #define GET_ADSL_LOOP_DIAGNOSTICS_MODE                  331
59 #define LOOP_DIAGNOSTIC_MODE_COMPLETE                   332
60 #define IS_ADSL_LOOP_DIAGNOSTICS_MODE_COMPLETE          333
61
62 /* L3 Power Mode */
63 /* Get current Power Moaagement Mode Status*/
64 #define GET_POWER_MANAGEMENT_MODE                       334
65 /* Set L3 Power Mode /disable L3 power mode */
66 #define SET_L3_POWER_MODE                               335
67
68 /* get current dual latency configuration */
69 #define GET_ADSL_DUAL_LATENCY                           336
70 /* enable/disable dual latency path */
71 #define SET_ADSL_DUAL_LATENCY                           337
72
73 /* Enable/Disable autoboot mode. */
74 /* When the autoboot mode is disabled, the driver will excute some cmv 
75    commands for led control and dual latency when DSL startup.*/
76 #define AUTOBOOT_ENABLE_SET                             338
77
78 /* Enable/Disable Quiet Mode*/
79 /* Quiet mode is used for firmware debug. if the quiet mode enable, the autoboot daemon will not reset arc when the arc need to reboot */
80 #define QUIET_MODE_GET                                  339
81 #define QUIET_MODE_SET                                  340
82
83 /* Enable/Disable showtime lock*/
84 /* showtime lock is used for firmware debug. if the showtime lock enable, the autoboot daemon will not reset arc when the arc reach showtime and need to reboot */
85 #define SHOWTIME_LOCK_GET                               341
86 #define SHOWTIME_LOCK_SET                               342
87
88 #define L0_POWER_MODE 0
89 #define L2_POWER_MODE 2
90 #define L3_POWER_MODE 3
91
92 #define DUAL_LATENCY_US_DS_DISABLE                      0
93 #define DUAL_LATENCY_US_ENABLE                          (1<<0)
94 #define DUAL_LATENCY_DS_ENABLE                          (1<<1)
95 #define DUAL_LATENCY_US_DS_ENABLE                       (DUAL_LATENCY_US_ENABLE|DUAL_LATENCY_DS_ENABLE)
96
97 #define ME_HDLC_IDLE 0
98 #define ME_HDLC_INVALID_MSG 1
99 #define ME_HDLC_MSG_QUEUED 2
100 #define ME_HDLC_MSG_SENT 3
101 #define ME_HDLC_RESP_RCVD 4
102 #define ME_HDLC_RESP_TIMEOUT 5
103 #define ME_HDLC_RX_BUF_OVERFLOW 6
104 #define ME_HDLC_UNRESOLVED 1
105 #define ME_HDLC_RESOLVED 2
106
107 /***    Enums    ***/
108 typedef enum mei_error {
109         MEI_SUCCESS = 0,
110         MEI_FAILURE = -1,
111         MEI_MAILBOX_FULL = -2,
112         MEI_MAILBOX_EMPTY = -3,
113         MEI_MAILBOX_TIMEOUT = -4,
114 } MEI_ERROR;
115
116 #endif