Home | History | Annotate | Download | only in include
      1 /******************************************************************************
      2  *
      3  *  Copyright (C) 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 file contains the NFA HCI related definitions from the
     22  *  specification.
     23  *
     24  ******************************************************************************/
     25 
     26 #ifndef NFA_HCI_DEFS_H
     27 #define NFA_HCI_DEFS_H
     28 
     29 /* Static gates */
     30 #define NFA_HCI_LOOP_BACK_GATE              0x04
     31 #define NFA_HCI_IDENTITY_MANAGEMENT_GATE    0x05
     32 
     33 #define NFA_HCI_FIRST_HOST_SPECIFIC_GENERIC_GATE    0x10
     34 #define NFA_HCI_LAST_HOST_SPECIFIC_GENERIC_GATE     0xEF
     35 #define NFA_HCI_LAST_PROP_GATE                      0xFF
     36 
     37 /* Generic Gates */
     38 #define NFA_HCI_CONNECTIVITY_GATE           0x41
     39 
     40 /* Static pipes */
     41 #define NFA_HCI_LINK_MANAGEMENT_PIPE        0x00
     42 #define NFA_HCI_ADMIN_PIPE                  0x01
     43 
     44 /* Dynamic pipe range */
     45 #define NFA_HCI_FIRST_DYNAMIC_PIPE          0x02
     46 #define NFA_HCI_LAST_DYNAMIC_PIPE           0x6F
     47 
     48 /* host_table */
     49 #define NFA_HCI_HOST_CONTROLLER             0x00
     50 #define NFA_HCI_DH_HOST                     0x01
     51 #define NFA_HCI_UICC_HOST                   0x02
     52 
     53 /* Type of instruction */
     54 #define NFA_HCI_COMMAND_TYPE                0x00
     55 #define NFA_HCI_EVENT_TYPE                  0x01
     56 #define NFA_HCI_RESPONSE_TYPE               0x02
     57 
     58 /* Chaining bit value */
     59 #define NFA_HCI_MESSAGE_FRAGMENTATION       0x00
     60 #define NFA_HCI_NO_MESSAGE_FRAGMENTATION    0x01
     61 
     62 /* NFA HCI commands */
     63 
     64 /* Commands for all gates */
     65 #define NFA_HCI_ANY_SET_PARAMETER           0x01
     66 #define NFA_HCI_ANY_GET_PARAMETER           0x02
     67 #define NFA_HCI_ANY_OPEN_PIPE               0x03
     68 #define NFA_HCI_ANY_CLOSE_PIPE              0x04
     69 
     70 /* Admin gate commands */
     71 #define NFA_HCI_ADM_CREATE_PIPE             0x10
     72 #define NFA_HCI_ADM_DELETE_PIPE             0x11
     73 #define NFA_HCI_ADM_NOTIFY_PIPE_CREATED     0x12
     74 #define NFA_HCI_ADM_NOTIFY_PIPE_DELETED     0x13
     75 #define NFA_HCI_ADM_CLEAR_ALL_PIPE          0x14
     76 #define NFA_HCI_ADM_NOTIFY_ALL_PIPE_CLEARED 0x15
     77 
     78 /* Connectivity gate command */
     79 #define NFA_HCI_CON_PRO_HOST_REQUEST        0x10
     80 
     81 
     82 /* NFA HCI responses */
     83 #define NFA_HCI_ANY_OK                      0x00
     84 #define NFA_HCI_ANY_E_NOT_CONNECTED         0x01
     85 #define NFA_HCI_ANY_E_CMD_PAR_UNKNOWN       0x02
     86 #define NFA_HCI_ANY_E_NOK                   0x03
     87 #define NFA_HCI_ADM_E_NO_PIPES_AVAILABLE    0x04
     88 #define NFA_HCI_ANY_E_REG_PAR_UNKNOWN       0x05
     89 #define NFA_HCI_ANY_E_PIPE_NOT_OPENED       0x06
     90 #define NFA_HCI_ANY_E_CMD_NOT_SUPPORTED     0x07
     91 #define NFA_HCI_ANY_E_INHIBITED             0x08
     92 #define NFA_HCI_ANY_E_TIMEOUT               0x09
     93 #define NFA_HCI_ANY_E_REG_ACCESS_DENIED     0x0A
     94 #define NFA_HCI_ANY_E_PIPE_ACCESS_DENIED    0x0B
     95 
     96 /* NFA HCI Events */
     97 #define NFA_HCI_EVT_HCI_END_OF_OPERATION    0x01
     98 #define NFA_HCI_EVT_POST_DATA               0x02
     99 #define NFA_HCI_EVT_HOT_PLUG                0x03
    100 
    101 
    102 /* NFA HCI Connectivity gate Events */
    103 #define NFA_HCI_EVT_CONNECTIVITY            0x10
    104 #define NFA_HCI_EVT_TRANSACTION             0x12
    105 #define NFA_HCI_EVT_OPERATION_ENDED         0x13
    106 
    107 /* Host controller Admin gate registry identifiers */
    108 #define NFA_HCI_SESSION_IDENTITY_INDEX      0x01
    109 #define NFA_HCI_MAX_PIPE_INDEX              0x02
    110 #define NFA_HCI_WHITELIST_INDEX             0x03
    111 #define NFA_HCI_HOST_LIST_INDEX             0x04
    112 
    113 /* Host controller and DH Link management gate registry identifier */
    114 #define NFA_HCI_REC_ERROR_INDEX             0x02
    115 
    116 /* DH Identity management gate registry identifier */
    117 #define NFA_HCI_VERSION_SW_INDEX            0x01
    118 #define NFA_HCI_VERSION_HW_INDEX            0x03
    119 #define NFA_HCI_VENDOR_NAME_INDEX           0x04
    120 #define NFA_HCI_MODEL_ID_INDEX              0x05
    121 #define NFA_HCI_HCI_VERSION_INDEX           0x02
    122 #define NFA_HCI_GATES_LIST_INDEX            0x06
    123 
    124 
    125 #endif /* NFA_HCI_DEFS_H */
    126