1 /****************************************************************************** 2 * 3 * Copyright 2009-2012 Broadcom Corporation 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at: 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 ******************************************************************************/ 18 19 /****************************************************************************** 20 * 21 * This contains constants definitions and other information from the MCAP 22 * specification. 23 * 24 ******************************************************************************/ 25 #ifndef MCA_DEFS_H 26 #define MCA_DEFS_H 27 28 /***************************************************************************** 29 * constants 30 ****************************************************************************/ 31 #define MCA_MIN_MTU 48 32 33 /* standard op codes */ 34 /* invalid opcode response */ 35 #define MCA_OP_ERROR_RSP 0x00 36 /* create an MDL, wait for an associated data channel connection */ 37 #define MCA_OP_MDL_CREATE_REQ 0x01 38 /* response to above request */ 39 #define MCA_OP_MDL_CREATE_RSP 0x02 40 /* req to prepare to rvc a data channel conn associated with a prev MDL */ 41 #define MCA_OP_MDL_RECONNECT_REQ 0x03 42 /* response to above request */ 43 #define MCA_OP_MDL_RECONNECT_RSP 0x04 44 /* stop waiting for a data channel connection */ 45 #define MCA_OP_MDL_ABORT_REQ 0x05 46 /* response to above request */ 47 #define MCA_OP_MDL_ABORT_RSP 0x06 48 /* delete an MDL */ 49 #define MCA_OP_MDL_DELETE_REQ 0x07 50 /* response to above request */ 51 #define MCA_OP_MDL_DELETE_RSP 0x08 52 #define MCA_NUM_STANDARD_OPCODE (1 + MCA_OP_MDL_DELETE_RSP) 53 54 /* clock synchronization op codes */ 55 /* request sync capabilities & requirements */ 56 #define MCA_OP_SYNC_CAP_REQ 0x11 57 /* indicate completion */ 58 #define MCA_OP_SYNC_CAP_RSP 0x12 59 /* request to set the time-stamp clock */ 60 #define MCA_OP_SYNC_SET_REQ 0x13 61 /* indicate completion */ 62 #define MCA_OP_SYNC_SET_RSP 0x14 63 /* update of the actual time-stamp clock instant from the sync slave */ 64 #define MCA_OP_SYNC_INFO_IND 0x15 65 66 #define MCA_FIRST_SYNC_OP MCA_OP_SYNC_CAP_REQ 67 #define MCA_LAST_SYNC_OP MCA_OP_SYNC_INFO_IND 68 69 /* response code */ 70 /* The corresponding request was received and processed successfully. */ 71 #define MCA_RSP_SUCCESS 0x00 72 /* The Op Code received is not valid (i.e. neither a Standard Op Code nor a 73 * Clock Synchronization Protocol Op Code). */ 74 #define MCA_RSP_BAD_OPCODE 0x01 75 /* One or more of the values in the received request is invalid. */ 76 #define MCA_RSP_BAD_PARAM 0x02 77 /* MCA_RSP_BAD_PARAM shall be used when: 78 - The request length is invalid 79 - Some of the parameters have invalid values and none of the other defined 80 Response Codes are more appropriate. 81 */ 82 /* The MDEP ID referenced does not exist on this device. */ 83 #define MCA_RSP_BAD_MDEP 0x03 84 /* The requested MDEP currently has as many active MDLs as it can manage 85 * simultaneously. */ 86 #define MCA_RSP_MDEP_BUSY 0x04 87 /* The MDL ID referenced is invalid. */ 88 #define MCA_RSP_BAD_MDL 0x05 89 /* MCA_RSP_BAD_MDL shall be used when: 90 - A reserved or invalid value for MDL ID was used. 91 - The MDL ID referenced is not available (was never created, has been deleted, 92 or was otherwise lost), 93 - The MDL ID referenced in the Abort request is not the same value that was used 94 to initiate the PENDING state 95 */ 96 /* The device is temporarily unable to complete the request. This is intended 97 * for reasons not related to the physical sensor (e.g. communication resources 98 * unavailable). */ 99 #define MCA_RSP_MDL_BUSY 0x06 100 /* The received request is invalid in the current state. */ 101 #define MCA_RSP_BAD_OP 0x07 102 /* MCA_RSP_BAD_OP is used when 103 - Abort request was received while not in the PENDING state. 104 - Create, Reconnect, or Delete request was received while in the PENDING state. 105 - A response is received when a request is expected 106 */ 107 /* The device is temporarily unable to complete the request. This is intended 108 * for reasons relating to the physical sensor (e.g. hardware fault, low 109 * battery), or when processing resources are temporarily committed to other 110 * processes. */ 111 #define MCA_RSP_NO_RESOURCE 0x08 112 /* An internal error other than those listed in this table was encountered while 113 * processing the request. */ 114 #define MCA_RSP_ERROR 0x09 115 /* The Op Code that was used in this request is not supported. */ 116 #define MCA_RSP_NO_SUPPORT 0x0A 117 /* A configuration required by a MD_CREATE_MDL or MD_RECONNECT_MDL operation has 118 * been rejected. */ 119 #define MCA_RSP_CFG_REJ 0x0B 120 121 /* the valid range for MDEP ID is 1-0x7F */ 122 #define MCA_MAX_MDEP_ID 0x7F 123 #define MCA_IS_VALID_MDL_ID(xxx) (((xxx) > 0) && ((xxx) <= 0xFEFF)) 124 #define MCA_ALL_MDL_ID 0xFFFF 125 126 #endif /* MCA_DEFS_H */ 127