• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2012-2014 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 #ifndef _PHNXPNCIHAL_SELFTEST_H_
17 #define _PHNXPNCIHAL_SELFTEST_H_
18 
19 #ifdef NXP_HW_SELF_TEST
20 
21 #include <phNfcStatus.h>
22 #include <phNxpNciHal.h>
23 #include <phTmlNfc.h>
24 
25 /* PRBS Generation type  */
26 typedef enum
27 {
28     NFC_FW_PRBS, /* FW software would generate the PRBS */
29     NFC_HW_PRBS /* Hardware would generate the PRBS */
30 } phNxpNfc_PrbsType_t;
31 
32 /* Different HW PRBS types */
33 typedef enum
34 {
35     NFC_HW_PRBS9,
36     NFC_HW_PRBS15
37 } phNxpNfc_PrbsHwType_t;
38 /* RF Technology */
39 typedef enum
40 {
41     NFC_RF_TECHNOLOGY_A,
42     NFC_RF_TECHNOLOGY_B,
43     NFC_RF_TECHNOLOGY_F,
44 } phNxpNfc_Tech_t;
45 
46 /* Bit rates */
47 typedef enum
48 {
49     NFC_BIT_RATE_106,
50     NFC_BIT_RATE_212,
51     NFC_BIT_RATE_424,
52     NFC_BIT_RATE_848,
53 } phNxpNfc_Bitrate_t;
54 
55 typedef struct phAntenna_St_Resp
56 {
57      /* Txdo Raw Value*/
58     uint16_t            wTxdoRawValue;
59     uint16_t            wTxdoMeasuredRangeMin;    /*Txdo Measured Range Max */
60     uint16_t            wTxdoMeasuredRangeMax;    /*Txdo Measured Range Min */
61     uint16_t            wTxdoMeasuredTolerance;    /*Txdo Measured Range Tolerance */
62      /* Agc Values */
63     uint16_t            wAgcValue;    /*Agc Min Value*/
64     uint16_t            wAgcValueTolerance;    /*Txdo Measured Range*/
65      /* Agc value with NFCLD */
66     uint16_t            wAgcValuewithfixedNFCLD;    /*Agc Value with Fixed NFCLD Max */
67     uint16_t            wAgcValuewithfixedNFCLDTolerance;    /*Agc Value with Fixed NFCLD Tolerance */
68      /* Agc Differential Values With Open/Short RM */
69     uint16_t            wAgcDifferentialWithOpen1;    /*Agc Differential With Open 1*/
70     uint16_t            wAgcDifferentialWithOpenTolerance1;    /*Agc Differential With Open Tolerance 1*/
71     uint16_t            wAgcDifferentialWithOpen2;    /*Agc Differential With Open 2*/
72     uint16_t            wAgcDifferentialWithOpenTolerance2;    /*Agc Differential With Open Tolerance 2*/
73 }phAntenna_St_Resp_t;           /* Instance of Transaction structure */
74 
75 
76 /*******************************************************************************
77  **
78  ** Function         phNxpNciHal_TestMode_open
79  **
80  ** Description      It opens the physical connection with NFCC (pn547) and
81  **                  creates required client thread for operation.
82  **
83  ** Returns          NFCSTATUS_SUCCESS if successful,otherwise NFCSTATUS_FAILED.
84  **
85  *******************************************************************************/
86 
87 NFCSTATUS phNxpNciHal_TestMode_open (void);
88 
89 /*******************************************************************************
90  **
91  ** Function         phNxpNciHal_TestMode_close
92  **
93  ** Description      This function close the NFCC interface and free all
94  **                  resources.
95  **
96  ** Returns          None.
97  **
98  *******************************************************************************/
99 
100 void phNxpNciHal_TestMode_close (void);
101 
102 /*******************************************************************************
103  **
104  ** Function         phNxpNciHal_SwpTest
105  **
106  ** Description      Test function to validate the SWP line. SWP line number is
107  **                  is sent as parameter to the API.
108  **
109  ** Returns          NFCSTATUS_SUCCESS if successful,otherwise NFCSTATUS_FAILED.
110  **
111  *******************************************************************************/
112 
113 NFCSTATUS phNxpNciHal_SwpTest (uint8_t swp_line);
114 
115 /*******************************************************************************
116  **
117  ** Function         phNxpNciHal_PrbsTestStart
118  **
119  ** Description      Test function start RF generation for RF technology and bit
120  **                  rate. RF technology and bit rate are sent as parameter to
121  **                  the API.
122  **
123  ** Returns          NFCSTATUS_SUCCESS if RF generation successful,
124  **                  otherwise NFCSTATUS_FAILED.
125  **
126  *******************************************************************************/
127 #if(NFC_NXP_CHIP_TYPE != PN547C2)
128 NFCSTATUS phNxpNciHal_PrbsTestStart (phNxpNfc_PrbsType_t prbs_type, phNxpNfc_PrbsHwType_t hw_prbs_type,
129         phNxpNfc_Tech_t tech, phNxpNfc_Bitrate_t bitrate);
130 #else
131 NFCSTATUS phNxpNciHal_PrbsTestStart (phNxpNfc_Tech_t tech, phNxpNfc_Bitrate_t bitrate);
132 #endif
133 /*******************************************************************************
134  **
135  ** Function         phNxpNciHal_PrbsTestStop
136  **
137  ** Description      Test function stop RF generation for RF technology started
138  **                  by phNxpNciHal_PrbsTestStart.
139  **
140  ** Returns          NFCSTATUS_SUCCESS if operation successful,
141  **                  otherwise NFCSTATUS_FAILED.
142  **
143  *******************************************************************************/
144 
145 NFCSTATUS phNxpNciHal_PrbsTestStop ();
146 
147 /*******************************************************************************
148 **
149 ** Function         phNxpNciHal_AntennaSelfTest
150 **
151 ** Description      Test function to validate the Antenna's discrete
152 **                  components connection.
153 **
154 ** Returns          NFCSTATUS_SUCCESS if successful,otherwise NFCSTATUS_FAILED.
155 **
156 *******************************************************************************/
157 
158 NFCSTATUS phNxpNciHal_AntennaSelfTest(phAntenna_St_Resp_t * phAntenna_St_Resp );
159 
160 /*******************************************************************************
161 **
162 ** Function         phNxpNciHal_RfFieldTest
163 **
164 ** Description      Test function performs RF filed test.
165 **
166 ** Returns          NFCSTATUS_SUCCESS if successful,otherwise NFCSTATUS_FAILED.
167 **
168 *******************************************************************************/
169 
170 NFCSTATUS phNxpNciHal_RfFieldTest (uint8_t on);
171 
172 /*******************************************************************************
173  **
174  ** Function         phNxpNciHal_DownloadPinTest
175  **
176  ** Description      Test function to validate the FW download pin connection.
177  **
178  ** Returns          NFCSTATUS_SUCCESS if successful,otherwise NFCSTATUS_FAILED.
179  **
180  *******************************************************************************/
181 
182 NFCSTATUS phNxpNciHal_DownloadPinTest (void);
183 
184 #endif /* _NXP_HW_SELF_TEST_H_ */
185 #endif /* _PHNXPNCIHAL_SELFTEST_H_ */
186