nfa_hci_defs.h revision a24be4f06674b2707b57904deaa0dff5a95823bd
1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com/******************************************************************************
2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com *
3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com *  Copyright (C) 2009-2014 Broadcom Corporation
4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com *
5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com *  Licensed under the Apache License, Version 2.0 (the "License");
6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com *  you may not use this file except in compliance with the License.
7971d0c8049c6bfc7a58f0b41f8f59f9ec9ca077bbsalomon@google.com *  You may obtain a copy of the License at:
857f7abc8659f17e58fc2d1410117033ad524f9d3epoger@google.com *
957f7abc8659f17e58fc2d1410117033ad524f9d3epoger@google.com *  http://www.apache.org/licenses/LICENSE-2.0
1057f7abc8659f17e58fc2d1410117033ad524f9d3epoger@google.com *
1157f7abc8659f17e58fc2d1410117033ad524f9d3epoger@google.com *  Unless required by applicable law or agreed to in writing, software
1257f7abc8659f17e58fc2d1410117033ad524f9d3epoger@google.com *  distributed under the License is distributed on an "AS IS" BASIS,
1357f7abc8659f17e58fc2d1410117033ad524f9d3epoger@google.com *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1457f7abc8659f17e58fc2d1410117033ad524f9d3epoger@google.com *  See the License for the specific language governing permissions and
1557f7abc8659f17e58fc2d1410117033ad524f9d3epoger@google.com *  limitations under the License.
16b29c883fb46ac6099440d82ac57b86d25386daedbungeman@google.com *
176f6568b27eae62fea23ab8192c6da02ab892bb5eepoger@google.com ******************************************************************************/
1837269607334b99bf814c7dc6b426745d9b7c7e3fepoger@google.com
197bc13a62609149f0b535c2f3ff7210eb834d8b36epoger@google.com
205f6a00775511b5675607c2bfdbb096c0a815025depoger@google.com/******************************************************************************
21b9b9a18ab459c2616ac4a52c9f8cc0637d284229reed@android.com *
22d9ba9a05d6f5766fdb1378b6ed84c0659009a8dascroggo@google.com *  This file contains the NFA HCI related definitions from the
238a85d0c4938173476d037d7af0ee3b9436a1234ereed@google.com *  specification.
244370aedf7f55af74e9ebb4ad1c2e010c08236dfajunov@google.com *
25971d0c8049c6bfc7a58f0b41f8f59f9ec9ca077bbsalomon@google.com ******************************************************************************/
265e00989a283111cef05bed8102e45c16651e43e4commit-bot@chromium.org
27de96163a80167636d95837f9ee6a2e98baf9d350epoger@google.com#ifndef NFA_HCI_DEFS_H
28c41295d1223136da4f9e4c65b7145360684ede4bcommit-bot@chromium.org#define NFA_HCI_DEFS_H
295af9b2032b552516c9223d9fb22185b022b13c62scroggo@google.com
308015dd83ae37147bb630d4751030868051ad0caereed@android.com/* Static gates */
318015dd83ae37147bb630d4751030868051ad0caereed@android.com#define NFA_HCI_LOOP_BACK_GATE              0x04
328015dd83ae37147bb630d4751030868051ad0caereed@android.com#define NFA_HCI_IDENTITY_MANAGEMENT_GATE    0x05
33e3bb3bce3e9c1f3bc8ee779b1b3383c18e560bcecommit-bot@chromium.org
34e8ebeb1f8fde6525bbab988c6090a5d3ab19855bepoger@google.com#define NFA_HCI_FIRST_HOST_SPECIFIC_GENERIC_GATE    0x10
350dcbece326ce2fa1f9046aa69a21bb99de08714avandebo@chromium.org#define NFA_HCI_LAST_HOST_SPECIFIC_GENERIC_GATE     0xEF
369875dd14af6d768da8d1a4be58b98fc91ceca0ddtomhudson@google.com#define NFA_HCI_FIRST_PROP_GATE                     0xF0
37977b9c8af3ef1b9a2fa2a0037cf3734cf2ba13d9robertphillips@google.com#define NFA_HCI_LAST_PROP_GATE                      0xFF
385e00989a283111cef05bed8102e45c16651e43e4commit-bot@chromium.org
3972c9672ce274a3b6cb40800d66374edf25b157a3scroggo@google.com/* Generic Gates */
40f711f320a34216fc9f64839b90b99a1492c54e09epoger@google.com#define NFA_HCI_CONNECTIVITY_GATE           0x41
4111db6fa9b9fc30b1f504d9f53e0f6ae7149cc5c5reed@google.com
422a48c3adb7cf4fc754f99a41352210b4a99edf04bsalomon@google.com/* Static pipes */
43310478e72c63e639373465216271b81f1e4a9136epoger@google.com#define NFA_HCI_LINK_MANAGEMENT_PIPE        0x00
443cb834bd27a16cc60ff30adae96659558c2dc91fjunov@chromium.org#define NFA_HCI_ADMIN_PIPE                  0x01
4572c9672ce274a3b6cb40800d66374edf25b157a3scroggo@google.com
460770044da6d61dcbc8d9673fed8dd92460faa314reed@google.com/* Dynamic pipe range */
47515dcd36032997ce335daa0163c6d67e851bcad1commit-bot@chromium.org#define NFA_HCI_FIRST_DYNAMIC_PIPE          0x02
48515dcd36032997ce335daa0163c6d67e851bcad1commit-bot@chromium.org#define NFA_HCI_LAST_DYNAMIC_PIPE           0x6F
49515dcd36032997ce335daa0163c6d67e851bcad1commit-bot@chromium.org
50515dcd36032997ce335daa0163c6d67e851bcad1commit-bot@chromium.org/* host_table */
51515dcd36032997ce335daa0163c6d67e851bcad1commit-bot@chromium.org#define NFA_HCI_HOST_CONTROLLER             0x00
52515dcd36032997ce335daa0163c6d67e851bcad1commit-bot@chromium.org#define NFA_HCI_DH_HOST                     0x01
53ed5eb4ef2aa1d6c705bc3ed466f9caba2a230a2bepoger@google.com#define NFA_HCI_UICC_HOST                   0x02
54ed5eb4ef2aa1d6c705bc3ed466f9caba2a230a2bepoger@google.com
55cf8fb1f6f03fc77f9927564f9ef9abeeeec508d2bsalomon@google.com/* Type of instruction */
56cf8fb1f6f03fc77f9927564f9ef9abeeeec508d2bsalomon@google.com#define NFA_HCI_COMMAND_TYPE                0x00
57cf8fb1f6f03fc77f9927564f9ef9abeeeec508d2bsalomon@google.com#define NFA_HCI_EVENT_TYPE                  0x01
58cf8fb1f6f03fc77f9927564f9ef9abeeeec508d2bsalomon@google.com#define NFA_HCI_RESPONSE_TYPE               0x02
596f6568b27eae62fea23ab8192c6da02ab892bb5eepoger@google.com
606f6568b27eae62fea23ab8192c6da02ab892bb5eepoger@google.com/* Chaining bit value */
616f6568b27eae62fea23ab8192c6da02ab892bb5eepoger@google.com#define NFA_HCI_MESSAGE_FRAGMENTATION       0x00
62cf8fb1f6f03fc77f9927564f9ef9abeeeec508d2bsalomon@google.com#define NFA_HCI_NO_MESSAGE_FRAGMENTATION    0x01
6380724dfeb320d1152128cd33636c9024952432d3epoger@google.com
64cf8fb1f6f03fc77f9927564f9ef9abeeeec508d2bsalomon@google.com/* NFA HCI commands */
65123ac1d4eab757052407064623643fdc59f85363bsalomon@google.com
66cf8fb1f6f03fc77f9927564f9ef9abeeeec508d2bsalomon@google.com/* Commands for all gates */
67cf8fb1f6f03fc77f9927564f9ef9abeeeec508d2bsalomon@google.com#define NFA_HCI_ANY_SET_PARAMETER           0x01
68cf8fb1f6f03fc77f9927564f9ef9abeeeec508d2bsalomon@google.com#define NFA_HCI_ANY_GET_PARAMETER           0x02
6976c913db20de7ae1baa49ae66e943bf7f40781ccepoger@google.com#define NFA_HCI_ANY_OPEN_PIPE               0x03
7076c913db20de7ae1baa49ae66e943bf7f40781ccepoger@google.com#define NFA_HCI_ANY_CLOSE_PIPE              0x04
718923c6cfd580ac9accb11b909fa2a033d69553aareed@google.com
725e00989a283111cef05bed8102e45c16651e43e4commit-bot@chromium.org/* Admin gate commands */
738923c6cfd580ac9accb11b909fa2a033d69553aareed@google.com#define NFA_HCI_ADM_CREATE_PIPE             0x10
740770044da6d61dcbc8d9673fed8dd92460faa314reed@google.com#define NFA_HCI_ADM_DELETE_PIPE             0x11
759875dd14af6d768da8d1a4be58b98fc91ceca0ddtomhudson@google.com#define NFA_HCI_ADM_NOTIFY_PIPE_CREATED     0x12
769875dd14af6d768da8d1a4be58b98fc91ceca0ddtomhudson@google.com#define NFA_HCI_ADM_NOTIFY_PIPE_DELETED     0x13
770770044da6d61dcbc8d9673fed8dd92460faa314reed@google.com#define NFA_HCI_ADM_CLEAR_ALL_PIPE          0x14
7800dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com#define NFA_HCI_ADM_NOTIFY_ALL_PIPE_CLEARED 0x15
79e3cc2eb88fef9b2123c6ea2ed813ce53b6385926epoger@google.com
80e3cc2eb88fef9b2123c6ea2ed813ce53b6385926epoger@google.com/* Connectivity gate command */
81e3cc2eb88fef9b2123c6ea2ed813ce53b6385926epoger@google.com#define NFA_HCI_CON_PRO_HOST_REQUEST        0x10
82b29c883fb46ac6099440d82ac57b86d25386daedbungeman@google.com
83b29c883fb46ac6099440d82ac57b86d25386daedbungeman@google.com
84b29c883fb46ac6099440d82ac57b86d25386daedbungeman@google.com/* NFA HCI responses */
85b29c883fb46ac6099440d82ac57b86d25386daedbungeman@google.com#define NFA_HCI_ANY_OK                      0x00
8646cce91f4859b9c229938d4d649870c0a43b1806reed@google.com#define NFA_HCI_ANY_E_NOT_CONNECTED         0x01
8746cce91f4859b9c229938d4d649870c0a43b1806reed@google.com#define NFA_HCI_ANY_E_CMD_PAR_UNKNOWN       0x02
8846cce91f4859b9c229938d4d649870c0a43b1806reed@google.com#define NFA_HCI_ANY_E_NOK                   0x03
8946cce91f4859b9c229938d4d649870c0a43b1806reed@google.com#define NFA_HCI_ADM_E_NO_PIPES_AVAILABLE    0x04
9000dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com#define NFA_HCI_ANY_E_REG_PAR_UNKNOWN       0x05
9100dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com#define NFA_HCI_ANY_E_PIPE_NOT_OPENED       0x06
9200dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com#define NFA_HCI_ANY_E_CMD_NOT_SUPPORTED     0x07
9300dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com#define NFA_HCI_ANY_E_INHIBITED             0x08
9400dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com#define NFA_HCI_ANY_E_TIMEOUT               0x09
953914958a49ee089ddeb04acc16373aae8bc2eaf7bsalomon@google.com#define NFA_HCI_ANY_E_REG_ACCESS_DENIED     0x0A
963914958a49ee089ddeb04acc16373aae8bc2eaf7bsalomon@google.com#define NFA_HCI_ANY_E_PIPE_ACCESS_DENIED    0x0B
973914958a49ee089ddeb04acc16373aae8bc2eaf7bsalomon@google.com
983914958a49ee089ddeb04acc16373aae8bc2eaf7bsalomon@google.com/* NFA HCI Events */
99dd0ac281e920b01a63789893cc3e7422789658ddreed@android.com#define NFA_HCI_EVT_HCI_END_OF_OPERATION    0x01
10000dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com#define NFA_HCI_EVT_POST_DATA               0x02
101d4dfd10bb6f9bf3ac6e1ebc9bc3ae22c6d06321freed@google.com#define NFA_HCI_EVT_HOT_PLUG                0x03
102dd0ac281e920b01a63789893cc3e7422789658ddreed@android.com
10300dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com
104dd0ac281e920b01a63789893cc3e7422789658ddreed@android.com/* NFA HCI Connectivity gate Events */
10500dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com#define NFA_HCI_EVT_CONNECTIVITY            0x10
106dd0ac281e920b01a63789893cc3e7422789658ddreed@android.com#define NFA_HCI_EVT_TRANSACTION             0x12
10700dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com#define NFA_HCI_EVT_OPERATION_ENDED         0x13
10800dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com
10900dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com/* Host controller Admin gate registry identifiers */
110d4dfd10bb6f9bf3ac6e1ebc9bc3ae22c6d06321freed@google.com#define NFA_HCI_SESSION_IDENTITY_INDEX      0x01
11100dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com#define NFA_HCI_MAX_PIPE_INDEX              0x02
112dd0ac281e920b01a63789893cc3e7422789658ddreed@android.com#define NFA_HCI_WHITELIST_INDEX             0x03
11300dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com#define NFA_HCI_HOST_LIST_INDEX             0x04
11400dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com
11500dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com/* Host controller and DH Link management gate registry identifier */
11600dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com#define NFA_HCI_REC_ERROR_INDEX             0x02
11700dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com
11800dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com/* DH Identity management gate registry identifier */
11900dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com#define NFA_HCI_VERSION_SW_INDEX            0x01
120d4dfd10bb6f9bf3ac6e1ebc9bc3ae22c6d06321freed@google.com#define NFA_HCI_VERSION_HW_INDEX            0x03
12100dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com#define NFA_HCI_VENDOR_NAME_INDEX           0x04
12200dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com#define NFA_HCI_MODEL_ID_INDEX              0x05
12300dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com#define NFA_HCI_HCI_VERSION_INDEX           0x02
12400dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com#define NFA_HCI_GATES_LIST_INDEX            0x06
125ce057fec926f8ec1d60ed4722d1e51a0086e7976epoger@google.com
126ce057fec926f8ec1d60ed4722d1e51a0086e7976epoger@google.com
127ce057fec926f8ec1d60ed4722d1e51a0086e7976epoger@google.com#endif /* NFA_HCI_DEFS_H */
128ce057fec926f8ec1d60ed4722d1e51a0086e7976epoger@google.com