430 lines
24 KiB
HTML
430 lines
24 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.5"/>
|
|
<title>MCUXpresso SDK API Reference Manual: casper_driver</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="resize.js"></script>
|
|
<script type="text/javascript" src="navtree.js"></script>
|
|
<script type="text/javascript">
|
|
$(document).ready(initResizable);
|
|
$(window).load(resizeHeight);
|
|
</script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<script type="text/javascript">
|
|
$(document).ready(function() { searchBox.OnSelectItem(0); });
|
|
</script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectlogo"><img alt="Logo" src="fs_logo.gif"/></td>
|
|
<td style="padding-left: 0.5em;">
|
|
<div id="projectname">MCUXpresso SDK API Reference Manual
|
|
 <span id="projectnumber">Rev 2.15.000</span>
|
|
</div>
|
|
<div id="projectbrief">NXP Semiconductors</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.5 -->
|
|
<script type="text/javascript">
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
</script>
|
|
<div id="navrow1" class="tabs">
|
|
<ul class="tablist">
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
|
<li><a href="modules.html"><span>API Reference</span></a></li>
|
|
<li>
|
|
<div id="MSearchBox" class="MSearchBoxInactive">
|
|
<span class="left">
|
|
<img id="MSearchSelect" src="search/mag_sel.png"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
alt=""/>
|
|
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
|
onfocus="searchBox.OnSearchFieldFocus(true)"
|
|
onblur="searchBox.OnSearchFieldFocus(false)"
|
|
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
|
</span><span class="right">
|
|
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
|
</span>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
$(document).ready(function(){initNavTree('a00240.html','');});
|
|
</script>
|
|
<div id="doc-content">
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Pages</a></div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#typedef-members">Typedefs</a> |
|
|
<a href="#enum-members">Enumerations</a> |
|
|
<a href="#func-members">Functions</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">casper_driver<div class="ingroups"><a class="el" href="a00239.html">CASPER: The Cryptographic Accelerator and Signal Processing Engine with RAM sharing</a></div></div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
|
|
Typedefs</h2></td></tr>
|
|
<tr class="memitem:ga70e0187aa8acac29294311518b8bc3fb"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00240.html#gad58a4d789b7a583e7793b2ab3cf698ba">_casper_operation</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00240.html#ga70e0187aa8acac29294311518b8bc3fb">casper_operation_t</a></td></tr>
|
|
<tr class="memdesc:ga70e0187aa8acac29294311518b8bc3fb"><td class="mdescLeft"> </td><td class="mdescRight">CASPER operation. <a href="#ga70e0187aa8acac29294311518b8bc3fb">More...</a><br/></td></tr>
|
|
<tr class="separator:ga70e0187aa8acac29294311518b8bc3fb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaeb3f0a23391e5fed42912a2775e12d44"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaeb3f0a23391e5fed42912a2775e12d44"></a>
|
|
typedef enum <a class="el" href="a00240.html#ga4ce07816cd7f6acdead0b975579144e0">_casper_algo_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00240.html#gaeb3f0a23391e5fed42912a2775e12d44">casper_algo_t</a></td></tr>
|
|
<tr class="memdesc:gaeb3f0a23391e5fed42912a2775e12d44"><td class="mdescLeft"> </td><td class="mdescRight">Algorithm used for CASPER operation. <br/></td></tr>
|
|
<tr class="separator:gaeb3f0a23391e5fed42912a2775e12d44"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
|
|
Enumerations</h2></td></tr>
|
|
<tr class="memitem:gad58a4d789b7a583e7793b2ab3cf698ba"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00240.html#gad58a4d789b7a583e7793b2ab3cf698ba">_casper_operation</a> { , <br/>
|
|
  <a class="el" href="a00240.html#ggad58a4d789b7a583e7793b2ab3cf698baab5a78d5173f379c5149add08650f14c5">kCASPER_OpMul6464Sum</a>,
|
|
<br/>
|
|
  <a class="el" href="a00240.html#ggad58a4d789b7a583e7793b2ab3cf698baad04571c7b185686fd776a80806d6524d">kCASPER_OpMul6464FullSum</a>,
|
|
<br/>
|
|
  <a class="el" href="a00240.html#ggad58a4d789b7a583e7793b2ab3cf698baad0fbf9a74a2cb155f031bc3c2caa251f">kCASPER_OpMul6464Reduce</a>,
|
|
<br/>
|
|
  <a class="el" href="a00240.html#ggad58a4d789b7a583e7793b2ab3cf698baac73be9788e2abbbf2b011b7a3ad0ee25">kCASPER_OpAdd64</a> = 0x08,
|
|
<br/>
|
|
  <a class="el" href="a00240.html#ggad58a4d789b7a583e7793b2ab3cf698baa46c350d401f6bb4c3fac8b5ca7df66b1">kCASPER_OpSub64</a> = 0x09,
|
|
<br/>
|
|
  <a class="el" href="a00240.html#ggad58a4d789b7a583e7793b2ab3cf698baac6ffac25f046cb6c565ce7ffa543dbe0">kCASPER_OpDouble64</a> = 0x0A,
|
|
<br/>
|
|
  <a class="el" href="a00240.html#ggad58a4d789b7a583e7793b2ab3cf698baa80db615b18d5ed2319c85a4fe6caa2eb">kCASPER_OpXor64</a> = 0x0B,
|
|
<br/>
|
|
  <a class="el" href="a00240.html#ggad58a4d789b7a583e7793b2ab3cf698baa007fe02bbaf6b290d2024beaf9618e33">kCASPER_OpRSub64</a> = 0x0C,
|
|
<br/>
|
|
  <a class="el" href="a00240.html#ggad58a4d789b7a583e7793b2ab3cf698baa405a717b5a196ce6f0c5167d43f6e08e">kCASPER_OpShiftLeft32</a>,
|
|
<br/>
|
|
  <a class="el" href="a00240.html#ggad58a4d789b7a583e7793b2ab3cf698baa61a1a07e6c0adc7b367ef5dc195adc22">kCASPER_OpShiftRight32</a> = 0x11,
|
|
<br/>
|
|
  <a class="el" href="a00240.html#ggad58a4d789b7a583e7793b2ab3cf698baa5b64b93e087ab8b9002440b264cad30d">kCASPER_OpCopy</a> = 0x14,
|
|
<br/>
|
|
  <a class="el" href="a00240.html#ggad58a4d789b7a583e7793b2ab3cf698baa8e860749586cc0a33405334a931f291e">kCASPER_OpRemask</a> = 0x15,
|
|
<br/>
|
|
  <a class="el" href="a00240.html#ggad58a4d789b7a583e7793b2ab3cf698baabdc1e3361e8415354fac33b3993b1491">kCASPER_OpFill</a> = 0x16,
|
|
<br/>
|
|
  <a class="el" href="a00240.html#ggad58a4d789b7a583e7793b2ab3cf698baa34940e0777601a076a1715f859228f88">kCASPER_OpZero</a> = 0x17,
|
|
<br/>
|
|
  <a class="el" href="a00240.html#ggad58a4d789b7a583e7793b2ab3cf698baa9507d1f5ad0b8219f9bd461eeb27752e">kCASPER_OpCompare</a> = 0x18,
|
|
<br/>
|
|
  <a class="el" href="a00240.html#ggad58a4d789b7a583e7793b2ab3cf698baa10df9918e9754e22740900ecc145c43d">kCASPER_OpCompareFast</a> = 0x19
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="memdesc:gad58a4d789b7a583e7793b2ab3cf698ba"><td class="mdescLeft"> </td><td class="mdescRight">CASPER operation. <a href="a00240.html#gad58a4d789b7a583e7793b2ab3cf698ba">More...</a><br/></td></tr>
|
|
<tr class="separator:gad58a4d789b7a583e7793b2ab3cf698ba"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga4ce07816cd7f6acdead0b975579144e0"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00240.html#ga4ce07816cd7f6acdead0b975579144e0">_casper_algo_t</a> { <br/>
|
|
  <a class="el" href="a00240.html#gga4ce07816cd7f6acdead0b975579144e0a8e86050a24be31a0c3e4c7f0fc801045">kCASPER_ECC_P256</a> = 0x01,
|
|
<br/>
|
|
  <a class="el" href="a00240.html#gga4ce07816cd7f6acdead0b975579144e0a3fbcdf27711f1c8c8271899ac4aaab89">kCASPER_ECC_P384</a> = 0x02,
|
|
<br/>
|
|
  <a class="el" href="a00240.html#gga4ce07816cd7f6acdead0b975579144e0a4a45988d4ca3b926783296346a862ad2">kCASPER_ECC_P521</a> = 0x03
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="memdesc:ga4ce07816cd7f6acdead0b975579144e0"><td class="mdescLeft"> </td><td class="mdescRight">Algorithm used for CASPER operation. <a href="a00240.html#ga4ce07816cd7f6acdead0b975579144e0">More...</a><br/></td></tr>
|
|
<tr class="separator:ga4ce07816cd7f6acdead0b975579144e0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
|
Functions</h2></td></tr>
|
|
<tr class="memitem:gaa1948fcf9c7301808a765341b4fa72a8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00240.html#gaa1948fcf9c7301808a765341b4fa72a8">CASPER_Init</a> (CASPER_Type *base)</td></tr>
|
|
<tr class="memdesc:gaa1948fcf9c7301808a765341b4fa72a8"><td class="mdescLeft"> </td><td class="mdescRight">Enables clock and disables reset for CASPER peripheral. <a href="#gaa1948fcf9c7301808a765341b4fa72a8">More...</a><br/></td></tr>
|
|
<tr class="separator:gaa1948fcf9c7301808a765341b4fa72a8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga44e39a60b2116a93d89fb2d06ec8c290"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00240.html#ga44e39a60b2116a93d89fb2d06ec8c290">CASPER_Deinit</a> (CASPER_Type *base)</td></tr>
|
|
<tr class="memdesc:ga44e39a60b2116a93d89fb2d06ec8c290"><td class="mdescLeft"> </td><td class="mdescRight">Disables clock for CASPER peripheral. <a href="#ga44e39a60b2116a93d89fb2d06ec8c290">More...</a><br/></td></tr>
|
|
<tr class="separator:ga44e39a60b2116a93d89fb2d06ec8c290"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
|
|
Driver version</h2></td></tr>
|
|
<tr class="memitem:ga38fa16be20cbb761a11dea0791a186fe"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00240.html#ga38fa16be20cbb761a11dea0791a186fe">FSL_CASPER_DRIVER_VERSION</a>   (<a class="el" href="a00242.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 2, 4))</td></tr>
|
|
<tr class="memdesc:ga38fa16be20cbb761a11dea0791a186fe"><td class="mdescLeft"> </td><td class="mdescRight">CASPER driver version. <a href="#ga38fa16be20cbb761a11dea0791a186fe">More...</a><br/></td></tr>
|
|
<tr class="separator:ga38fa16be20cbb761a11dea0791a186fe"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h2 class="groupheader">Macro Definition Documentation</h2>
|
|
<a class="anchor" id="ga38fa16be20cbb761a11dea0791a186fe"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define FSL_CASPER_DRIVER_VERSION   (<a class="el" href="a00242.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 2, 4))</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Version 2.2.4.</p>
|
|
<p>Current version: 2.2.4</p>
|
|
<p>Change log:</p>
|
|
<ul>
|
|
<li>Version 2.0.0<ul>
|
|
<li>Initial version</li>
|
|
</ul>
|
|
</li>
|
|
<li>Version 2.0.1<ul>
|
|
<li>Bug fix KPSDK-24531 double_scalar_multiplication() result may be all zeroes for some specific input</li>
|
|
</ul>
|
|
</li>
|
|
<li>Version 2.0.2<ul>
|
|
<li>Bug fix KPSDK-25015 CASPER_MEMCPY hard-fault on LPC55xx when both source and destination buffers are outside of CASPER_RAM</li>
|
|
</ul>
|
|
</li>
|
|
<li>Version 2.0.3<ul>
|
|
<li>Bug fix KPSDK-28107 RSUB, FILL and ZERO operations not implemented in enum _casper_operation.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Version 2.0.4<ul>
|
|
<li>For GCC compiler, enforce O1 optimize level, specifically to remove strict-aliasing option. This driver is very specific and requires -fno-strict-aliasing.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Version 2.0.5<ul>
|
|
<li>Fix sign-compare warning.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Version 2.0.6<ul>
|
|
<li>Fix IAR Pa082 warning.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Version 2.0.7<ul>
|
|
<li>Fix MISRA-C 2012 issue.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Version 2.0.8<ul>
|
|
<li>Add feature macro for CASPER_RAM_OFFSET.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Version 2.0.9<ul>
|
|
<li>Remove unused function Jac_oncurve().</li>
|
|
<li>Fix ECC384 build.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Version 2.0.10<ul>
|
|
<li>Fix MISRA-C 2012 issue.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Version 2.1.0<ul>
|
|
<li>Add ECC NIST P-521 elliptic curve.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Version 2.2.0<ul>
|
|
<li>Rework driver to support multiple curves at once.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Version 2.2.1<ul>
|
|
<li>Fix MISRA-C 2012 issue.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Version 2.2.2<ul>
|
|
<li>Enable hardware interleaving to RAMX0 and RAMX1 for CASPER by feature macro FSL_FEATURE_CASPER_RAM_HW_INTERLEAVE</li>
|
|
</ul>
|
|
</li>
|
|
<li>Version 2.2.3<ul>
|
|
<li>Added macro into CASPER_Init and CASPER_Deinit to support devices without clock and reset control.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Version 2.2.4<ul>
|
|
<li>Fix MISRA-C 2012 issue. </li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Typedef Documentation</h2>
|
|
<a class="anchor" id="ga70e0187aa8acac29294311518b8bc3fb"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef enum <a class="el" href="a00240.html#gad58a4d789b7a583e7793b2ab3cf698ba">_casper_operation</a> <a class="el" href="a00240.html#ga70e0187aa8acac29294311518b8bc3fb">casper_operation_t</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Enumeration Type Documentation</h2>
|
|
<a class="anchor" id="gad58a4d789b7a583e7793b2ab3cf698ba"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="a00240.html#gad58a4d789b7a583e7793b2ab3cf698ba">_casper_operation</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggad58a4d789b7a583e7793b2ab3cf698baab5a78d5173f379c5149add08650f14c5"></a>kCASPER_OpMul6464Sum</em> </td><td class="fielddoc">
|
|
<p>Walking 1 or more of J loop, doing r=a*b using 64x64=128. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggad58a4d789b7a583e7793b2ab3cf698baad04571c7b185686fd776a80806d6524d"></a>kCASPER_OpMul6464FullSum</em> </td><td class="fielddoc">
|
|
<p>Walking 1 or more of J loop, doing c,r=r+a*b using 64x64=128, but assume inner j loop. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggad58a4d789b7a583e7793b2ab3cf698baad0fbf9a74a2cb155f031bc3c2caa251f"></a>kCASPER_OpMul6464Reduce</em> </td><td class="fielddoc">
|
|
<p>Walking 1 or more of J loop, doing c,r=r+a*b using 64x64=128, but sum all of w. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggad58a4d789b7a583e7793b2ab3cf698baac73be9788e2abbbf2b011b7a3ad0ee25"></a>kCASPER_OpAdd64</em> </td><td class="fielddoc">
|
|
<p>Walking 1 or more of J loop, doing c,r[-1]=r+a*b using 64x64=128, but skip 1st write. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggad58a4d789b7a583e7793b2ab3cf698baa46c350d401f6bb4c3fac8b5ca7df66b1"></a>kCASPER_OpSub64</em> </td><td class="fielddoc">
|
|
<p>Walking add with off_AB, and in/out off_RES doing c,r=r+a+c using 64+64=65. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggad58a4d789b7a583e7793b2ab3cf698baac6ffac25f046cb6c565ce7ffa543dbe0"></a>kCASPER_OpDouble64</em> </td><td class="fielddoc">
|
|
<p>Walking subtract with off_AB, and in/out off_RES doing r=r-a using 64-64=64, with last borrow implicit if any. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggad58a4d789b7a583e7793b2ab3cf698baa80db615b18d5ed2319c85a4fe6caa2eb"></a>kCASPER_OpXor64</em> </td><td class="fielddoc">
|
|
<p>Walking add to self with off_RES doing c,r=r+r+c using 64+64=65. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggad58a4d789b7a583e7793b2ab3cf698baa007fe02bbaf6b290d2024beaf9618e33"></a>kCASPER_OpRSub64</em> </td><td class="fielddoc">
|
|
<p>Walking XOR with off_AB, and in/out off_RES doing r=r^a using 64^64=64. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggad58a4d789b7a583e7793b2ab3cf698baa405a717b5a196ce6f0c5167d43f6e08e"></a>kCASPER_OpShiftLeft32</em> </td><td class="fielddoc">
|
|
<p>Walking subtract with off_AB, and in/out off_RES using r=a-r. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggad58a4d789b7a583e7793b2ab3cf698baa61a1a07e6c0adc7b367ef5dc195adc22"></a>kCASPER_OpShiftRight32</em> </td><td class="fielddoc">
|
|
<p>Walking shift left doing r1,r=(b*D)|r1, where D is 2^amt and is loaded by app (off_CD not used) </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggad58a4d789b7a583e7793b2ab3cf698baa5b64b93e087ab8b9002440b264cad30d"></a>kCASPER_OpCopy</em> </td><td class="fielddoc">
|
|
<p>Walking shift right doing r,r1=(b*D)|r1, where D is 2^(32-amt) and is loaded by app (off_CD not used) and off_RES starts at MSW. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggad58a4d789b7a583e7793b2ab3cf698baa8e860749586cc0a33405334a931f291e"></a>kCASPER_OpRemask</em> </td><td class="fielddoc">
|
|
<p>Copy from ABoff to resoff, 64b at a time. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggad58a4d789b7a583e7793b2ab3cf698baabdc1e3361e8415354fac33b3993b1491"></a>kCASPER_OpFill</em> </td><td class="fielddoc">
|
|
<p>Copy and mask from ABoff to resoff, 64b at a time. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggad58a4d789b7a583e7793b2ab3cf698baa34940e0777601a076a1715f859228f88"></a>kCASPER_OpZero</em> </td><td class="fielddoc">
|
|
<p>Fill RESOFF using 64 bits at a time with value in A and B. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggad58a4d789b7a583e7793b2ab3cf698baa9507d1f5ad0b8219f9bd461eeb27752e"></a>kCASPER_OpCompare</em> </td><td class="fielddoc">
|
|
<p>Fill RESOFF using 64 bits at a time of 0s. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggad58a4d789b7a583e7793b2ab3cf698baa10df9918e9754e22740900ecc145c43d"></a>kCASPER_OpCompareFast</em> </td><td class="fielddoc">
|
|
<p>Compare two arrays, running all the way to the end. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga4ce07816cd7f6acdead0b975579144e0"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="a00240.html#ga4ce07816cd7f6acdead0b975579144e0">_casper_algo_t</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga4ce07816cd7f6acdead0b975579144e0a8e86050a24be31a0c3e4c7f0fc801045"></a>kCASPER_ECC_P256</em> </td><td class="fielddoc">
|
|
<p>ECC_P256. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga4ce07816cd7f6acdead0b975579144e0a3fbcdf27711f1c8c8271899ac4aaab89"></a>kCASPER_ECC_P384</em> </td><td class="fielddoc">
|
|
<p>ECC_P384. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga4ce07816cd7f6acdead0b975579144e0a4a45988d4ca3b926783296346a862ad2"></a>kCASPER_ECC_P521</em> </td><td class="fielddoc">
|
|
<p>ECC_P521. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Function Documentation</h2>
|
|
<a class="anchor" id="gaa1948fcf9c7301808a765341b4fa72a8"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void CASPER_Init </td>
|
|
<td>(</td>
|
|
<td class="paramtype">CASPER_Type * </td>
|
|
<td class="paramname"><em>base</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Enable clock and disable reset for CASPER.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>CASPER base address </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga44e39a60b2116a93d89fb2d06ec8c290"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void CASPER_Deinit </td>
|
|
<td>(</td>
|
|
<td class="paramtype">CASPER_Type * </td>
|
|
<td class="paramname"><em>base</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Disable clock and enable reset.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>CASPER base address </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
</div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<!-- HTML footer for doxygen 1.8.5-->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul class="foot">
|
|
<li class="footer">© 2016 NXP Semiconductors. All rights reserved.
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|