1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
/* ************ MICROSEMI SOC CORP. DIRECTC LICENSE AGREEMENT ************* */
/* ------------------------------------------------------------------------
PLEASE READ: BEFORE INSTALLING THIS SOFTWARE, CAREFULLY READ THE FOLLOWING
MICROSEMI SOC CORP LICENSE AGREEMENT REGARDING THE USE OF THIS SOFTWARE.
INSTALLING THIS SOFTWARE INDICATES THAT YOU ACCEPT AND UNDERSTAND THIS AGREEMENT
AND WILL ABIDE BY IT.
Note: This license agreement (“License”) only includes the following software:
DirectC. DirectC is licensed under the following terms and conditions.
Hereinafter, Microsemi SoC Corp. shall be referred to as “Licensor” or “Author,”
whereas the other party to this License shall be referred to as “Licensee.” Each
party to this License shall be referred to, singularly, as a “Party,” or,
collectively, as the “Parties.”
Permission to use, copy, modify, and/or distribute DirectC for any purpose, with
or without fee, is hereby granted by Licensor to Licensee, provided that the
above Copyright notice and this permission notice appear in all copies,
modifications and/or distributions of DirectC.
DIRECTC IS PROVIDED "AS IS" AND THE AUTHOR/LICENSOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO DIRECTC INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS. IN NO EVENT SHALL AUTHOR/LICENSOR BE LIABLE TO LICENSEE FOR ANY DAMAGES,
INCLUDING SPECIAL, DIRECT,INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
WITH THE USE OR PERFORMANCE OF DIRECTC.
Export Control: Information furnished to Licensee may include United States
origin technical data. Accordingly, Licensee is responsible for complying with,
and warrants to Licensor that it will comply with, all U.S. export control laws
and regulations, including the provisions of the Export Administration Act of
1979 and the Export Administration Regulations promulgated thereunder, the Arms
Export Control Act, and the sanctions laws administered by the Office of Foreign
Assets Control including any other U.S. Government regulation applicable to the
export, re-export, or disclosure of such controlled technical data (or the
products thereof) to Foreign Nationals, whether within or without the U.S.,
including those employed by, or otherwise associated with, Licensee. Licensee
shall obtain Licensor’s written consent prior to submitting any request for
authority to export any such technical data.
ADR: Any dispute between the Parties arising from or related to this License or
the subject matter hereof, including its validity, construction or performance
thereunder, shall be exclusively resolved through arbitration by a mutually
acceptable impartial and neutral arbitrator appointed by the Judicial
Arbitration and Mediation Services (JAMS) in accordance with its rules and
procedures. If the Parties are not able to agree on an arbitrator within 10 days
of the date of request for mediation is served, then JAMS shall appoint an
arbitrator. Notice of arbitration shall be served and filed with the JAMS main
offices in Irvine, California. Each Party shall be responsible for all costs
associated with the preparation and representation by attorneys, or any other
persons retained thereby, to assist in connection with any such Arbitration.
However, all costs charged by the mutually agreed upon Arbitration entity shall
be equally shared by the Parties. The Party seeking Mediation and/or Arbitration
as provided herein agrees that the venue for any such Mediation and Arbitration
shall be selected by the other Party and that such venue must be Los Angeles,
California; New York, New York; or Chicago, Illinois; whereby the applicable law
and provisions of the Evidence Code of the State selected thereby shall be
applicable and shall govern the validity, construction and performance of this
License.
Governing Law: This license will be governed by the laws of the State of
California, without regard to its conflict of law provisions.
Entire Agreement: This document constitutes the entire agreement between the
Parties with respect to the subject matter herein and supersedes all other
communications whether written or oral. */
/* ************************************************************************ */
/* */
/* JTAG_DirectC Copyright (C) Microsemi Corporation */
/* Version 4.1 Release date January 29, 2018 */
/* */
/* ************************************************************************ */
/* */
/* Module: dpnvm.h */
/* */
/* Description: Contains the function prototypes. */
/* */
/* ************************************************************************ */
#ifndef INC_DPNVM_H
#define INC_DPNVM_H
#ifdef NVM_SUPPORT
#define PRIVATE_CLIENT_PHANTOM_BLOCK 5u
/****************************************************************************/
/* NVM Opcodes */
/****************************************************************************/
#define NVM_ADDRESS_SHIFT 0xB8u
#define NVM_DATA_SHIFT 0xB9u
#define NVM_PROGRAM 0xBAu
#define NVM_READ 0xB7u
#define ACCESS_NVM 0xB6u
#define NVM_DATA_SHIFT_ENC 0xCu
#define NVM_PROGRAM_ENC 0xDu
/****************************************************************************/
/* NVM Register length and parameters */
/****************************************************************************/
#define MAX_LOAD_NVM_ADDRESS_POLL 10000u
#define MAX_NVM_READ_POLL 10000u
#define NVM_ADDRESS_LENGTH 35u
#define NVM_DATA_LENGTH 32u
#define ACCESS_NVM_BIT_LENGTH 5u
#define MAX_ATTEMPT_NVM_ACCESS 100u
/****************************************************************************/
/* NVM Calibration Tag Address and data */
/****************************************************************************/
#define NVM_TAG_ADDRESS_BYTE0 0x00u
#define NVM_TAG_ADDRESS_BYTE1 0x10u
#define NVM_TAG_ADDRESS_BYTE2 0x40u
#define NVM_TAG_ADDRESS_BYTE3 0x06u
#define NVM_TAG_ADDRESS_BYTE4 0x01u
#define NVM_TAG_DATA1_BYTE0 0x43u
#define NVM_TAG_DATA1_BYTE1 0x41u
#define NVM_TAG_DATA2_BYTE0 0x43u
#define NVM_TAG_DATA2_BYTE1 0x42u
/* NVM delay and cycle parameters */
#define ACCESS_NVM_CYCLES 3u
#define ACCESS_NVM_DELAY 3u
#define ACCESS_NVM_POLL_DELAY 100u
#define NVM_ADDRESS_SHIFT_CYCLES 3u
#define NVM_ADDRESS_SHIFT_DELAY 20u
#define NVM_ADDRESS_SHIFT_POLL_CYCLES 3u
#define NVM_ADDRESS_SHIFT_POLL_DELAY 100u
#define NVM_DATA_SHIFT_CYCLES 3u
#define NVM_DATA_SHIFT_DELAY 6u
#define NVM_PROGRAM_CYCLES 3u
#define NVM_PROGRAM_POLL_DELAY 100u
#define NVM_READ_CYCLES 3u
#define NVM_READ_DELAY 30u
#define NVM_DATA_SHIFT_ENC_CYCLES 3u
#define NVM_DATA_SHIFT_ENC_DELAY 46u
#define NVM_PROGRAM_ENC_CYCLES 3u
#define NVM_PROGRAM_ENC_DELAY 11535u
/****************************************************************************/
/* Function prototypes */
/****************************************************************************/
void dp_program_nvm_block(DPUCHAR BlockNum);
void dp_verify_nvm_block(DPUCHAR BlockNum);
void dp_enc_program_nvm_block(DPUCHAR BlockNum);
void dp_verify_nvm_action(void);
void dp_verify_nvm_private_clients_action(void);
void dp_program_nvm_action(void);
void dp_program_nvm_private_clients_action(void);
void dp_verify_calibration(void);
void dp_check_device_and_rev(void);
void dp_initialize_access_nvm(void);
void dp_exit_access_nvm(void);
#endif
#endif /* INC_DPNVM_H */
/* *************** End of File *************** */
|