1 /******************************************************************************
2  *
3  *  Copyright (C) 2009-2014 Broadcom Corporation
4  *
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  *  Internal NFC HAL API functions.
22  *
23  ******************************************************************************/
24 #ifndef NFC_HAL_INT_API_H
25 #define NFC_HAL_INT_API_H
26 
27 /****************************************************************************
28 ** Device Configuration definitions
29 ****************************************************************************/
30 
31 /* Broadcom specific device initialization before sending NCI reset */
32 
33 typedef struct {
34   uint32_t brcm_hw_id;
35   uint16_t xtal_freq;
36   uint8_t xtal_index;
37 } tNFC_HAL_DEV_INIT_XTAL_CFG;
38 
39 #define NFC_HAL_DEV_INIT_MAX_XTAL_CFG 5
40 
41 /*****************************************************************************
42 **  Patch RAM Constants
43 *****************************************************************************/
44 
45 /* patch format type */
46 typedef uint8_t tNFC_HAL_PRM_FORMAT;
47 
48 /*****************************************************************************
49 **  Patch RAM Callback for event notificaton
50 *****************************************************************************/
51 
52 typedef uint8_t tNFC_HAL_NCI_EVT; /* MT + Opcode */
53 
54 /*******************************************************************************
55 **
56 ** Function         HAL_NfcPrmSetSpdNciCmdPayloadSize
57 **
58 ** Description      Set Host-to-NFCC NCI message size for secure patch download
59 **
60 **                  This API must be called before calling
61 **                  HAL_NfcPrmDownloadStart. If the API is not called, then PRM
62 **                  will use the default message size.
63 **
64 **                  Typically, this API is only called for platforms that have
65 **                  message-size limitations in the transport/driver.
66 **
67 **                  Valid message size range:
68 **                  NFC_HAL_PRM_MIN_NCI_CMD_PAYLOAD_SIZE to 255.
69 **
70 ** Returns          HAL_NFC_STATUS_OK if successful
71 **                  HAL_NFC_STATUS_FAILED otherwise
72 **
73 **
74 *******************************************************************************/
75 tHAL_NFC_STATUS HAL_NfcPrmSetSpdNciCmdPayloadSize(uint8_t max_payload_size);
76 
77 #endif /* NFC_HAL_INT_API_H */
78