xref: /aosp_15_r20/system/nfc/src/include/vendor_cfg.h (revision 7eba2f3b06c51ae21384f6a4f14577b668a869b3)
1 /*
2  * Copyright (C) 2015 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 /******************************************************************************
18  *
19  *  This file contains compile-time configurable constants for vendor specific
20  *proprietary protocols
21  *
22  ******************************************************************************/
23 #ifndef __NFC_VENDOR_CFG_H__
24 #define __NFC_VENDOR_CFG_H__
25 
26 /* compile-time configuration structure for proprietary protocol and discovery
27  * value */
28 typedef struct {
29   uint8_t pro_protocol_18092_active;
30   uint8_t pro_protocol_b_prime;
31   uint8_t pro_protocol_dual;
32   uint8_t pro_protocol_15693;
33   uint8_t pro_protocol_kovio;
34   uint8_t pro_protocol_mfc;
35 
36   uint8_t pro_discovery_kovio_poll;
37   uint8_t pro_discovery_b_prime_poll;
38   uint8_t pro_discovery_b_prime_listen;
39   uint8_t pro_protocol_chinese_id;
40 } tNFA_PROPRIETARY_CFG;
41 
42 extern tNFA_PROPRIETARY_CFG* p_nfa_proprietary_cfg;
43 
44 /**********************************************
45  * Proprietary Protocols
46  **********************************************/
47 #ifndef NCI_PROTOCOL_18092_ACTIVE
48 #define NCI_PROTOCOL_18092_ACTIVE \
49   (p_nfa_proprietary_cfg->pro_protocol_18092_active)
50 #endif
51 #ifndef NCI_PROTOCOL_B_PRIME
52 #define NCI_PROTOCOL_B_PRIME (p_nfa_proprietary_cfg->pro_protocol_b_prime)
53 #endif
54 #ifndef NCI_PROTOCOL_DUAL
55 #define NCI_PROTOCOL_DUAL (p_nfa_proprietary_cfg->pro_protocol_dual)
56 #endif
57 #ifndef NCI_PROTOCOL_15693
58 #define NCI_PROTOCOL_15693 (p_nfa_proprietary_cfg->pro_protocol_15693)
59 #endif
60 #ifndef NCI_PROTOCOL_KOVIO
61 #define NCI_PROTOCOL_KOVIO (p_nfa_proprietary_cfg->pro_protocol_kovio)
62 #endif
63 #ifndef NCI_PROTOCOL_MIFARE
64 #define NCI_PROTOCOL_MIFARE (p_nfa_proprietary_cfg->pro_protocol_mfc)
65 #endif
66 #ifndef NCI_PROTOCOL_CI
67 #define NCI_PROTOCOL_CI (p_nfa_proprietary_cfg->pro_protocol_chinese_id)
68 #endif
69 
70 /**********************************************
71  * Proprietary Discovery technology and mode
72  **********************************************/
73 #ifndef NCI_DISCOVERY_TYPE_POLL_KOVIO
74 #define NCI_DISCOVERY_TYPE_POLL_KOVIO \
75   (p_nfa_proprietary_cfg->pro_discovery_kovio_poll)
76 #endif
77 
78 #ifndef NCI_DISCOVERY_TYPE_POLL_B_PRIME
79 #define NCI_DISCOVERY_TYPE_POLL_B_PRIME \
80   (p_nfa_proprietary_cfg->pro_discovery_b_prime_poll)
81 #endif
82 
83 #ifndef NCI_DISCOVERY_TYPE_LISTEN_B_PRIME
84 #define NCI_DISCOVERY_TYPE_LISTEN_B_PRIME \
85   (p_nfa_proprietary_cfg->pro_discovery_b_prime_listen)
86 #endif
87 
88 #endif /* __NFC_VENDOR_CFG_H__ */
89