android13/hardware/nxp/nfc/snxxx/halimpl/libnxpparser/parser/inc/NCIBase.h

187 lines
6.7 KiB
C++

/*
* Copyright 2017-2018,2021 NXP
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef NCIBASE_H_
#define NCIBASE_H_
#ifdef __cplusplus
extern "C" {
#endif
class NCI_Base {
public:
typedef enum {
NCI_STATUS_OK = 0x00, /**< NCI common status code */
NCI_STATUS_REJECTED,
NCI_STATUS_RF_FRAME_CORRUPTED,
NCI_STATUS_FAILED,
NCI_STATUS_NOT_INITIALIZED,
NCI_STATUS_SYNTAX_ERROR,
NCI_STATUS_SEMANTIC_ERROR,
NCI_STATUS_UNKNOWN_GID,
NCI_STATUS_UNKNOWN_OID,
NCI_STATUS_INVALID_PARAM,
NCI_STATUS_MESSAGE_SIZE_EXCEEDED,
NCI_STATUS_OK_1BIT = 0x11, //!< NCI 1.1 : NCI_STATUS_OK_1BIT to
NCI_STATUS_OK_2BIT,
NCI_STATUS_OK_3BIT,
NCI_STATUS_OK_4BIT,
NCI_STATUS_OK_5BIT,
NCI_STATUS_OK_6BIT,
NCI_STATUS_OK_7BIT, //!< NCI 1.1 : NCI_STATUS_OK_7BIT
NCI_STATUS_DISCOVERY_ALREADY_STARTED = 0xA0,
NCI_STATUS_DISCOVERY_TARGET_ACTIVATION_FAILED,
NCI_STATUS_DISCOVERY_TEAR_DOWN,
NCI_STATUS_DISCOVERY_DETUNING_DETECTED,
NCI_STATUS_RF_TRANSMISSION_ERROR = 0xB0,
NCI_STATUS_RF_PROTOCOL_ERROR,
NCI_STATUS_RF_TIMEOUT_ERROR,
NCI_STATUS_RF_UNEXPECTED_DATA,
NCI_STATUS_NFCEE_INTERFACE_ACTIVATION_FAILED = 0xC0,
NCI_STATUS_NFCEE_TRANSMISSION_ERROR,
NCI_STATUS_NFCEE_PROTOCOL_ERROR,
NCI_STATUS_NFCEE_TIMEOUT_ERROR,
NCI_STATUS_DO_NOT_REPLY = 0xE0, // Status to not reply on wrong packet
NCI_STATUS_BOOT_TRIM_CORRUPTED,
NCI_STATUS_PMU_TXLDO_OVERCURRENT = 0xE3,
NCI_STATUS_EMVCO_PCD_COLLISION,
NCI_STATUS_WIRED_SESSION_ABORTED,
NCI_STATUS_WIRED_SESSION_ABORT_TO,
NCI_STATUS_END_PARAMETER = 0xF1
} eNciStatusCodes_t;
typedef enum {
NCI_MT_DATA_PKT, /*000b*/
NCI_MT_CONTROL_PKT_CMD, /*001b*/
NCI_MT_CONTROL_PKT_RSP, /*010b*/
NCI_MT_CONTROL_PKT_NTF, /*011b*/
NCI_MT_RFU /*100b to 111b*/
} eNciMsgType_t;
typedef enum {
NCI_CONN_STATIC_FR_ID = 0x00, // RFU due to Static
NCI_CONN_NFCC_LOOP_BACK_ID,
NCI_CONN_REMOTE_NFC_END_POINT_ID,
NCI_CONN_NFCEE_ID,
NCI_CONN_NFCEE_NDEF_ID = 0x05
} eNciConnIdentifier_t;
typedef enum {
NCI_GID_CORE,
NCI_GID_RF_MNGT,
NCI_GID_NFCEE_MNGT,
NCI_GID_PROPRIETARY = 0xF,
NCI_NUMBER_OF_GID
} eNciGroupIdentifier_t;
typedef enum {
NCI_OID_CORE_RESET, /* 000000b */
NCI_OID_CORE_INIT, /* 000001b */
NCI_OID_CORE_SET_CONFIG, /* 000010b */
NCI_OID_CORE_GET_CONFIG, /* 000011b */
NCI_OID_CORE_CONN_CREATE, /* 000100b */
NCI_OID_CORE_CONN_CLOSE, /* 000101b */
NCI_OID_CORE_CONN_CREDITS, /* 000110b */
NCI_OID_CORE_GENERIC_ERROR, /* 000111b */
NCI_OID_CORE_INTERFACE_ERROR, /* 001000b */
NCI_OID_CORE_SET_POWER_SUB_STATE, /* 001001b */
NCI_NUMBER_OF_CORE_OID
} eNciCoreOpcodeIdentifier_t;
typedef enum {
NCI_OID_RF_DISCOVER_MAP = 0x00, /* 000000b */
NCI_OID_RF_SET_LISTEN_MODE_ROUTING, /* 000001b */
NCI_OID_RF_GET_LISTEN_MODE_ROUTING, /* 000010b */
NCI_OID_RF_DISCOVER, /* 000011b */
NCI_OID_RF_DISCOVER_SELECT, /* 000100b */
NCI_OID_RF_INTF_ACTIVATE, /* 000101b */
NCI_OID_RF_DEACTIVATE, /* 000110b */
NCI_OID_RF_FIELD_INFO, /* 000111b */
NCI_OID_RF_T3T_POLLING, /* 001000b */
NCI_OID_RF_NFCEE_ACTION, /* 001001b */
NCI_OID_RF_NFCEE_DISCOVERY_REQ, /* 001010b */
NCI_OID_RF_PARAMETER_UPDATE, /* 001011b */
NCI_OID_RF_INTF_EXT_START, /* 001100b */
NCI_OID_RF_INTF_EXT_STOP, /* 001101b */
NCI_OID_RF_EXT_AGG_ABORT, /* 001110b */
NCI_OID_RF_NDEF_ABORT, /* 001111b */
NCI_OID_RF_ISO_DEP_NAK_PRESENCE_CMD, /* 010000b */
NCI_OID_RF_SET_FORCED_NFCEE_ROUTING_CMD, /* 010001b */
NCI_OID_RF_VAS_NTF = 0x20, /* 010000b */
NCI_OID_RF_PLL_UNLOCKED_NTF = 0x21, /* 010001b */
NCI_OID_RF_RAPDU_SENT_NTF = 0x22, /* 010010b */
NCI_OID_RF_TXLDO_ERROR_NTF = 0x23
} eNciRfMgmtOpcodeIdentifier_t;
typedef enum {
NCI_OID_NFCEE_DISCOVER, /* 000000b */
NCI_OID_NFCEE_MODE_SET, /* 000001b */
NCI_OID_NFCEE_STATUS, /* 000010b */
NCI_OID_NFCEE_POWER_AND_LINK_CNTRL, /* 000011b */
NCI_OID_NFCEE_MODE_SET_SINGLE = 0x3C, /* 111100b */
NCI_OID_NFCEE_MODE_SET_HCI_NWK_ENABLE, /* 111101b */
NCI_OID_NFCEE_MODE_SET_DISABLE, /* 111110b */
NCI_OID_NFCEE_END_PARAMETER /* 111111b */
} eNciNfceeOpcodeIdentifier_t;
NCI_Base();
virtual ~NCI_Base();
private:
typedef enum {
NCI_OID_SYSTEM_SET_POWERMGT,
NCI_OID_SYSTEM_GET_POWERMGT,
NCI_OID_SYSTEM_PROPRIETARY_ACT = 0x02,
NCI_OID_SYSTEM_CHANGE_HSU_BAUDRATE = 0x03,
NCI_OID_SYSTEM_FW_DEBUG = 0x04,
NCI_OID_SYSTEM_RF_ISO_DEP_PRES_CHECK = 0x11,
NCI_OID_SYSTEM_RF_MF_PLUS_PROX_CHECK = 0x12,
NCI_OID_SYSTEM_RF_TAG_DETECTOR = 0x13,
NCI_OID_SYSTEM_RF_GET_RF_TRANSITION = 0x14,
NCI_OID_SYSTEM_PHONE_SCREEN_STATE = 0x15,
NCI_OID_SYSTEM_RFU1 = 0x16,
NCI_OID_SYSTEM_WTX = 0x17,
NCI_OID_SYSTEM_NFCEE_MODESET_DISABLE_NTF = 0x18,
NCI_OID_SYSTEM_EOOP = 0x20,
NCI_OID_SYSTEM_TEST_FAKE_WAKE_ON_RF_FIELD = 0x28,
NCI_OID_SYSTEM_KEEP_NFCEE_POWERED_ON = 0x29,
NCI_OID_SYSTEM_TEST_PRBS = 0x30,
NCI_OID_SYSTEM_TEST_TESTBUS_CONFIG = 0x31,
NCI_OID_SYSTEM_SVDD_PWRREQ_CONTROL = 0x31,
NCI_OID_SYSTEM_TEST_READ_RF_INTERNAL_REGISTER = 0x32,
NCI_OID_SYSTEM_MANUFACTURING_BUILD_TESTS_API = 0x33,
NCI_OID_SYSTEM_ENABLE_READER_MODE_LM_DECODING_NTF = 0x34,
NCI_OID_SYSTEM_DEBUG_STATE_L1_MESSAGE = 0x35,
NCI_OID_SYSTEM_DEBUG_STATE_L2_MESSAGE,
NCI_OID_SYSTEM_DEBUG_STATE_L3_MESSAGE,
NCI_OID_SYSTEM_TEST_CORE_DUMP = 0x3B, /* NFCC6872 */
NCI_OID_SYSTEM_STAG_GET_RFSTATUS = 0x39,
NCI_OID_SYSTEM_STAG_STOP_AUTH = 0x3A,
NCI_OID_SYSTEM_STAG_START_AUTH_XCHG = 0x3B,
NCI_OID_SYSTEM_STAG_START_AUTH = 0x3C,
NCI_OID_SYSTEM_TEST_ANTENNA = 0x3D,
NCI_OID_SYSTEM_TEST_SWP_INTERFACE = 0x3E,
NCI_OID_SYSTEM_RF_DEBUG = 0x3F,
NCI_OID_SYSTEM_END_PARAMETER = 0x40
} eNciSystemPropOpcodeIdentifier_t;
};
#ifdef __cplusplus
} // extern
#endif
#endif /* NCIBASE_H_ */