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
76extern 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
123extern
124NFCSTATUS
125phDnldNfc_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