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