1 /*
2  * Copyright (C) 2010 NXP Semiconductors
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 *                                                                             *
20 *                                                                             *
21 * \file  phDnldNfc.h                                                          *
22 * \brief Download Mgmt Header for the Generic Download Management.            *
23 *                                                                             *
24 *                                                                             *
25 * Project: NFC-FRI-1.1                                                        *
26 *                                                                             *
27 * $Date: Thu Aug 26 15:39:56 2010 $                                           *
28 * $Author: ing04880 $                                                         *
29 * $Revision: 1.7 $                                                           *
30 * $Aliases:  $
31 *                                                                             *
32 * =========================================================================== *
33 */
34 
35 
36 /*@{*/
37 
38 #ifndef PHDNLDNFC_H
39 #define PHDNLDNFC_H
40 
41 /*@}*/
42 /**
43  *  \name Download Mgmt
44  *
45  * File: \ref phDnldNfc.h
46  *
47  */
48 /*@{*/
49 #define PH_DNLDNFC_FILEREVISION "$Revision: 1.7 $" /**< \ingroup grp_file_attributes */
50 #define PH_DNLDNFC_FILEALIASES  "$Aliases:  $"     /**< \ingroup grp_file_attributes */
51 /*@}*/
52 
53 /*
54 ################################################################################
55 ***************************** Header File Inclusion ****************************
56 ################################################################################
57 */
58 
59 #include <phNfcStatus.h>
60 #include <phNfcInterface.h>
61 
62 /*
63 ################################################################################
64 ****************************** Macro Definitions *******************************
65 ################################################################################
66 */
67 
68 
69 /*
70 ################################################################################
71 ******************** Enumeration and Structure Definition **********************
72 ################################################################################
73 */
74 
75 #ifndef NXP_FW_PARAM
76 extern const uint8_t *nxp_nfc_fw;
77 #endif /* NXP_FW_PARAM */
78 
79 
80 
81 
82 /*
83 ################################################################################
84 *********************** Function Prototype Declaration *************************
85 ################################################################################
86 */
87 
88 /**
89  * \ingroup grp_hci_nfc
90  *
91  *  The phDnldNfc_Upgrade function Upgrades the firmware of
92  *  connected NFC Device with the data provided.
93  *
94  *  \param[in]  pHwRef                  pHwRef is the Information of
95  *                                      the Device Interface Link .
96  *  \param[in]  pHalNotify              Upper layer Notification function
97  *                                      pointer.
98  *  \param[in]  psContext               psContext is the context of
99  *                                      the Upper Layer.
100  *
101  *  \retval NFCSTATUS_PENDING           Upgrade of Download Layer is in Progress.
102  *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
103  *                                      could not be interpreted properly.
104  *  \retval Other errors                Errors related to the other layers
105  *
106  */
107 
108  extern
109  NFCSTATUS
110  phDnldNfc_Upgrade (
111                         phHal_sHwReference_t            *pHwRef,
112 #ifdef NXP_FW_PARAM
113                         uint8_t                         *nxp_nfc_fw,
114                         uint32_t                         fw_length,
115 #endif
116                         pphNfcIF_Notification_CB_t      upgrade_complete,
117                         void                            *context
118                  );
119 
120 
121 #if  !defined (NXP_FW_INTEGRITY_VERIFY)
122 
123 extern
124 NFCSTATUS
125 phDnldNfc_Run_Check(
126                         phHal_sHwReference_t    *pHwRef
127 #ifdef NXP_FW_PARAM
128                         ,uint8_t                 *nxp_nfc_fw
129                         uint32_t                  fw_length
130 #endif
131                    );
132 #endif /* #if  !defined (NXP_FW_INTEGRITY_VERIFY) */
133 
134 
135 #endif /* PHDNLDNFC_H */
136 
137 
138