blob: 16a3e20e1fbc18d36dc7d88f4083b2b343653706 [file] [log] [blame]
The Android Open Source Projecte9df6ba2012-12-13 14:55:37 -08001/******************************************************************************
2 *
Evan Chue9629ba2014-01-31 11:18:47 -05003 * Copyright (C) 2012-2014 Broadcom Corporation
The Android Open Source Projecte9df6ba2012-12-13 14:55:37 -08004 *
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 Broadcom-specific defintions that are shared
22 * between HAL, nfc stack, adaptation layer and applications.
23 *
24 ******************************************************************************/
25
26#ifndef NFC_BRCM_DEFS_H
27#define NFC_BRCM_DEFS_H
28
The Android Open Source Projecte9df6ba2012-12-13 14:55:37 -080029/**********************************************
30 * NCI Message Proprietary Group - F
31 **********************************************/
Ruchi Kandoi6fca02d2017-01-30 14:28:16 -080032#define NCI_MSG_GET_BUILD_INFO 0x04
33#define NCI_MSG_HCI_NETWK 0x05
Ruchi Kandoi6fca02d2017-01-30 14:28:16 -080034#define NCI_MSG_POWER_LEVEL 0x08
Ruchi Kandoi6fca02d2017-01-30 14:28:16 -080035#define NCI_MSG_UICC_READER_ACTION 0x0A
Ruchi Kandoi46e6e282017-01-30 14:26:10 -080036/* reset HCI network/close all pipes (S,D) register */
Ruchi Kandoi6fca02d2017-01-30 14:28:16 -080037#define NCI_MSG_GET_NV_DEVICE 0x24
38#define NCI_MSG_LPTD 0x25
Ruchi Kandoi6fca02d2017-01-30 14:28:16 -080039#define NCI_MSG_EEPROM_RW 0x29
Ruchi Kandoi6fca02d2017-01-30 14:28:16 -080040#define NCI_MSG_GET_PATCH_VERSION 0x2D
41#define NCI_MSG_SECURE_PATCH_DOWNLOAD 0x2E
The Android Open Source Projecte9df6ba2012-12-13 14:55:37 -080042
43/* Secure Patch Download definitions (patch type definitions) */
Ruchi Kandoi6fca02d2017-01-30 14:28:16 -080044#define NCI_SPD_TYPE_HEADER 0x00
The Android Open Source Projecte9df6ba2012-12-13 14:55:37 -080045
46/**********************************************
47 * NCI Interface Types
48 **********************************************/
Ruchi Kandoi6fca02d2017-01-30 14:28:16 -080049#define NCI_INTERFACE_VS_MIFARE 0x80
Ruchi Kandoi6fca02d2017-01-30 14:28:16 -080050#define NCI_INTERFACE_VS_T2T_CE 0x82 /* for Card Emulation side */
The Android Open Source Projecte9df6ba2012-12-13 14:55:37 -080051
52/**********************************************
53 * NCI Proprietary Parameter IDs
54 **********************************************/
Ruchi Kandoi6fca02d2017-01-30 14:28:16 -080055#define NCI_PARAM_ID_HOST_LISTEN_MASK 0xA2
Ruchi Kandoi6fca02d2017-01-30 14:28:16 -080056#define NCI_PARAM_ID_TAGSNIFF_CFG 0xB9
Ruchi Kandoi6fca02d2017-01-30 14:28:16 -080057#define NCI_PARAM_ID_ACT_ORDER 0xC5
The Android Open Source Projecte9df6ba2012-12-13 14:55:37 -080058
Ruchi Kandoi6fca02d2017-01-30 14:28:16 -080059#define NFC_SNOOZE_MODE_UART 0x01 /* Snooze mode for UART */
The Android Open Source Projecte9df6ba2012-12-13 14:55:37 -080060
Ruchi Kandoi6fca02d2017-01-30 14:28:16 -080061#define NFC_SNOOZE_ACTIVE_LOW 0x00 /* high to low voltage is asserting */
Evan Chua24be4f2013-11-13 15:30:16 -050062
63/**********************************************
64 * HCI definitions
65 **********************************************/
Ruchi Kandoi6fca02d2017-01-30 14:28:16 -080066#define NFC_HAL_HCI_SESSION_ID_LEN 8
67#define NFC_HAL_HCI_SYNC_ID_LEN 2
Evan Chua24be4f2013-11-13 15:30:16 -050068
Evan Chua24be4f2013-11-13 15:30:16 -050069/* Card emulation RF Gate A definitions */
Ruchi Kandoi6fca02d2017-01-30 14:28:16 -080070#define NFC_HAL_HCI_CE_RF_A_UID_REG_LEN 10
71#define NFC_HAL_HCI_CE_RF_A_ATQA_RSP_CODE_LEN 2
72#define NFC_HAL_HCI_CE_RF_A_MAX_HIST_DATA_LEN 15
73#define NFC_HAL_HCI_CE_RF_A_MAX_DATA_RATE_LEN 3
Evan Chua24be4f2013-11-13 15:30:16 -050074
75/* Card emulation RF Gate B definitions */
Ruchi Kandoi6fca02d2017-01-30 14:28:16 -080076#define NFC_HAL_HCI_CE_RF_B_PUPI_LEN 4
77#define NFC_HAL_HCI_CE_RF_B_ATQB_LEN 4
78#define NFC_HAL_HCI_CE_RF_B_HIGHER_LAYER_RSP_LEN 61
79#define NFC_HAL_HCI_CE_RF_B_MAX_DATA_RATE_LEN 3
Evan Chua24be4f2013-11-13 15:30:16 -050080
81/* Card emulation RF Gate BP definitions */
Ruchi Kandoi6fca02d2017-01-30 14:28:16 -080082#define NFC_HAL_HCI_CE_RF_BP_MAX_PAT_IN_LEN 8
83#define NFC_HAL_HCI_CE_RF_BP_DATA_OUT_LEN 40
Evan Chua24be4f2013-11-13 15:30:16 -050084
85/* Reader RF Gate A definitions */
Ruchi Kandoi6fca02d2017-01-30 14:28:16 -080086#define NFC_HAL_HCI_RD_RF_B_HIGHER_LAYER_DATA_LEN 61
Evan Chua24be4f2013-11-13 15:30:16 -050087
88/* DH HCI Network command definitions */
Ruchi Kandoi6fca02d2017-01-30 14:28:16 -080089#define NFC_HAL_HCI_DH_MAX_DYN_PIPES 20
Evan Chua24be4f2013-11-13 15:30:16 -050090
Ruchi Kandoi6fca02d2017-01-30 14:28:16 -080091#endif /* NFC_BRCM_DEFS_H */