xref: /aosp_15_r20/system/nfc/src/include/nfc_hal_target.h (revision 7eba2f3b06c51ae21384f6a4f14577b668a869b3)
1*7eba2f3bSAndroid Build Coastguard Worker /******************************************************************************
2*7eba2f3bSAndroid Build Coastguard Worker  *
3*7eba2f3bSAndroid Build Coastguard Worker  *  Copyright (C) 2012-2014 Broadcom Corporation
4*7eba2f3bSAndroid Build Coastguard Worker  *
5*7eba2f3bSAndroid Build Coastguard Worker  *  Licensed under the Apache License, Version 2.0 (the "License");
6*7eba2f3bSAndroid Build Coastguard Worker  *  you may not use this file except in compliance with the License.
7*7eba2f3bSAndroid Build Coastguard Worker  *  You may obtain a copy of the License at:
8*7eba2f3bSAndroid Build Coastguard Worker  *
9*7eba2f3bSAndroid Build Coastguard Worker  *  http://www.apache.org/licenses/LICENSE-2.0
10*7eba2f3bSAndroid Build Coastguard Worker  *
11*7eba2f3bSAndroid Build Coastguard Worker  *  Unless required by applicable law or agreed to in writing, software
12*7eba2f3bSAndroid Build Coastguard Worker  *  distributed under the License is distributed on an "AS IS" BASIS,
13*7eba2f3bSAndroid Build Coastguard Worker  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*7eba2f3bSAndroid Build Coastguard Worker  *  See the License for the specific language governing permissions and
15*7eba2f3bSAndroid Build Coastguard Worker  *  limitations under the License.
16*7eba2f3bSAndroid Build Coastguard Worker  *
17*7eba2f3bSAndroid Build Coastguard Worker  ******************************************************************************/
18*7eba2f3bSAndroid Build Coastguard Worker 
19*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_TARGET_H
20*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_TARGET_H
21*7eba2f3bSAndroid Build Coastguard Worker 
22*7eba2f3bSAndroid Build Coastguard Worker #include "data_types.h"
23*7eba2f3bSAndroid Build Coastguard Worker #include "gki.h"
24*7eba2f3bSAndroid Build Coastguard Worker 
25*7eba2f3bSAndroid Build Coastguard Worker /****************************************************************************
26*7eba2f3bSAndroid Build Coastguard Worker ** NCI related configuration
27*7eba2f3bSAndroid Build Coastguard Worker ****************************************************************************/
28*7eba2f3bSAndroid Build Coastguard Worker 
29*7eba2f3bSAndroid Build Coastguard Worker /* Initial Max Control Packet Payload Size (until receiving payload size in
30*7eba2f3bSAndroid Build Coastguard Worker  * INIT_CORE_RSP) */
31*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_NCI_INIT_CTRL_PAYLOAD_SIZE
32*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_NCI_INIT_CTRL_PAYLOAD_SIZE 0xFF
33*7eba2f3bSAndroid Build Coastguard Worker #endif
34*7eba2f3bSAndroid Build Coastguard Worker 
35*7eba2f3bSAndroid Build Coastguard Worker /* Number of bytes to reserve in front of NCI messages (e.g. for transport
36*7eba2f3bSAndroid Build Coastguard Worker  * header) */
37*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_NCI_MSG_OFFSET_SIZE
38*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_NCI_MSG_OFFSET_SIZE 1
39*7eba2f3bSAndroid Build Coastguard Worker #endif
40*7eba2f3bSAndroid Build Coastguard Worker 
41*7eba2f3bSAndroid Build Coastguard Worker /* NFC-WAKE */
42*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_LP_NFC_WAKE_GPIO
43*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_LP_NFC_WAKE_GPIO UPIO_GENERAL3
44*7eba2f3bSAndroid Build Coastguard Worker #endif
45*7eba2f3bSAndroid Build Coastguard Worker 
46*7eba2f3bSAndroid Build Coastguard Worker /* NFCC snooze mode idle timeout before deassert NFC_WAKE in ms */
47*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_LP_IDLE_TIMEOUT
48*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_LP_IDLE_TIMEOUT 100
49*7eba2f3bSAndroid Build Coastguard Worker #endif
50*7eba2f3bSAndroid Build Coastguard Worker 
51*7eba2f3bSAndroid Build Coastguard Worker /* NFC snooze mode */
52*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_LP_SNOOZE_MODE
53*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_LP_SNOOZE_MODE NFC_HAL_LP_SNOOZE_MODE_UART
54*7eba2f3bSAndroid Build Coastguard Worker #endif
55*7eba2f3bSAndroid Build Coastguard Worker 
56*7eba2f3bSAndroid Build Coastguard Worker /* Idle Threshold Host in 100ms unit */
57*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_LP_IDLE_THRESHOLD_HOST
58*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_LP_IDLE_THRESHOLD_HOST 0
59*7eba2f3bSAndroid Build Coastguard Worker #endif
60*7eba2f3bSAndroid Build Coastguard Worker 
61*7eba2f3bSAndroid Build Coastguard Worker /* Idle Threshold HC in 100ms unit */
62*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_LP_IDLE_THRESHOLD_HC
63*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_LP_IDLE_THRESHOLD_HC 0
64*7eba2f3bSAndroid Build Coastguard Worker #endif
65*7eba2f3bSAndroid Build Coastguard Worker 
66*7eba2f3bSAndroid Build Coastguard Worker /* Default NFCC power-up baud rate */
67*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_DEFAULT_BAUD
68*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_DEFAULT_BAUD USERIAL_BAUD_115200
69*7eba2f3bSAndroid Build Coastguard Worker #endif
70*7eba2f3bSAndroid Build Coastguard Worker 
71*7eba2f3bSAndroid Build Coastguard Worker /* time (in ms) between power off and on NFCC */
72*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_POWER_CYCLE_DELAY
73*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_POWER_CYCLE_DELAY 100
74*7eba2f3bSAndroid Build Coastguard Worker #endif
75*7eba2f3bSAndroid Build Coastguard Worker 
76*7eba2f3bSAndroid Build Coastguard Worker /* time (in ms) between power off and on NFCC */
77*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_NFCC_ENABLE_TIMEOUT
78*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_NFCC_ENABLE_TIMEOUT 1000
79*7eba2f3bSAndroid Build Coastguard Worker #endif
80*7eba2f3bSAndroid Build Coastguard Worker 
81*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_PRM_DEBUG
82*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_PRM_DEBUG TRUE
83*7eba2f3bSAndroid Build Coastguard Worker #endif
84*7eba2f3bSAndroid Build Coastguard Worker 
85*7eba2f3bSAndroid Build Coastguard Worker /* max patch data length (Can be overridden by platform for ACL HCI command
86*7eba2f3bSAndroid Build Coastguard Worker  * size) */
87*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_PRM_HCD_CMD_MAXLEN
88*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_PRM_HCD_CMD_MAXLEN 250
89*7eba2f3bSAndroid Build Coastguard Worker #endif
90*7eba2f3bSAndroid Build Coastguard Worker 
91*7eba2f3bSAndroid Build Coastguard Worker /* Require PreI2C patch by default */
92*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_PRE_I2C_PATCH_INCLUDED
93*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_PRE_I2C_PATCH_INCLUDED TRUE
94*7eba2f3bSAndroid Build Coastguard Worker #endif
95*7eba2f3bSAndroid Build Coastguard Worker 
96*7eba2f3bSAndroid Build Coastguard Worker /* over-riden for platforms that have transport packet limitations */
97*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_PRM_MIN_NCI_CMD_PAYLOAD_SIZE
98*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_PRM_MIN_NCI_CMD_PAYLOAD_SIZE (32)
99*7eba2f3bSAndroid Build Coastguard Worker #endif
100*7eba2f3bSAndroid Build Coastguard Worker 
101*7eba2f3bSAndroid Build Coastguard Worker /* amount of time to wait for authenticating/committing patch to NVM */
102*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_PRM_COMMIT_DELAY
103*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_PRM_COMMIT_DELAY (30000)
104*7eba2f3bSAndroid Build Coastguard Worker #endif
105*7eba2f3bSAndroid Build Coastguard Worker 
106*7eba2f3bSAndroid Build Coastguard Worker /* amount of time to wait after downloading preI2C patch before downloading
107*7eba2f3bSAndroid Build Coastguard Worker  * LPM/FPM patch */
108*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_PRM_POST_I2C_FIX_DELAY
109*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_PRM_POST_I2C_FIX_DELAY (200)
110*7eba2f3bSAndroid Build Coastguard Worker #endif
111*7eba2f3bSAndroid Build Coastguard Worker 
112*7eba2f3bSAndroid Build Coastguard Worker /* NFCC will respond to more than one technology during listen discovery  */
113*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_DM_MULTI_TECH_RESP
114*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_DM_MULTI_TECH_RESP TRUE
115*7eba2f3bSAndroid Build Coastguard Worker #endif
116*7eba2f3bSAndroid Build Coastguard Worker 
117*7eba2f3bSAndroid Build Coastguard Worker /* Data rate for 15693 command/response, it must be same as
118*7eba2f3bSAndroid Build Coastguard Worker  * RW_I93_FLAG_DATA_RATE in nfc_target.h */
119*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_I93_FLAG_DATA_RATE_HIGH 0x02
120*7eba2f3bSAndroid Build Coastguard Worker 
121*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_I93_FLAG_DATA_RATE
122*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_I93_FLAG_DATA_RATE NFC_HAL_I93_FLAG_DATA_RATE_HIGH
123*7eba2f3bSAndroid Build Coastguard Worker #endif
124*7eba2f3bSAndroid Build Coastguard Worker 
125*7eba2f3bSAndroid Build Coastguard Worker /* NFC HAL HCI */
126*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_HCI_INCLUDED
127*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_HCI_INCLUDED TRUE
128*7eba2f3bSAndroid Build Coastguard Worker #endif
129*7eba2f3bSAndroid Build Coastguard Worker 
130*7eba2f3bSAndroid Build Coastguard Worker /* Quick Timer */
131*7eba2f3bSAndroid Build Coastguard Worker #ifndef QUICK_TIMER_TICKS_PER_SEC
132*7eba2f3bSAndroid Build Coastguard Worker #define QUICK_TIMER_TICKS_PER_SEC 100 /* 10ms timer */
133*7eba2f3bSAndroid Build Coastguard Worker #endif
134*7eba2f3bSAndroid Build Coastguard Worker 
135*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_SHARED_TRANSPORT_ENABLED
136*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_SHARED_TRANSPORT_ENABLED FALSE
137*7eba2f3bSAndroid Build Coastguard Worker #endif
138*7eba2f3bSAndroid Build Coastguard Worker 
139*7eba2f3bSAndroid Build Coastguard Worker /* Enable verbose tracing by default */
140*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_TRACE_VERBOSE
141*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_TRACE_VERBOSE TRUE
142*7eba2f3bSAndroid Build Coastguard Worker #endif
143*7eba2f3bSAndroid Build Coastguard Worker 
144*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_INITIAL_TRACE_LEVEL
145*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_INITIAL_TRACE_LEVEL 5
146*7eba2f3bSAndroid Build Coastguard Worker #endif
147*7eba2f3bSAndroid Build Coastguard Worker 
148*7eba2f3bSAndroid Build Coastguard Worker /* Map NFC serial port to USERIAL_PORT_6 by default */
149*7eba2f3bSAndroid Build Coastguard Worker #ifndef USERIAL_NFC_PORT
150*7eba2f3bSAndroid Build Coastguard Worker #define USERIAL_NFC_PORT (USERIAL_PORT_6)
151*7eba2f3bSAndroid Build Coastguard Worker #endif
152*7eba2f3bSAndroid Build Coastguard Worker 
153*7eba2f3bSAndroid Build Coastguard Worker /* Restore NFCC baud rate to default on shutdown if baud rate was updated */
154*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_RESTORE_BAUD_ON_SHUTDOWN
155*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_RESTORE_BAUD_ON_SHUTDOWN TRUE
156*7eba2f3bSAndroid Build Coastguard Worker #endif
157*7eba2f3bSAndroid Build Coastguard Worker 
158*7eba2f3bSAndroid Build Coastguard Worker /* Enable protocol tracing by default */
159*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_TRACE_PROTOCOL
160*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_TRACE_PROTOCOL TRUE
161*7eba2f3bSAndroid Build Coastguard Worker #endif
162*7eba2f3bSAndroid Build Coastguard Worker 
163*7eba2f3bSAndroid Build Coastguard Worker #endif /* GKI_TARGET_H */
164