]> Git Repo - pico-vscode.git/blob - web/docs/group__hardware__pll.html
Merge branch 'main' into main
[pico-vscode.git] / web / docs / group__hardware__pll.html
1 <!-- HTML header for doxygen 1.8.20-->
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml">
4 <head>
5         <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6         <meta http-equiv="X-UA-Compatible" content="IE=9"/>
7         <meta name="generator" content="Doxygen 1.9.4"/>
8         <meta name="viewport" content="width=device-width, initial-scale=1"/>
9         <title>Raspberry Pi Pico SDK: hardware_pll</title>
10         <!-- <link href="tabs.css" rel="stylesheet" type="text/css"/> -->
11         <script type="text/javascript" src="jquery.js"></script>
12         <script type="text/javascript" src="dynsections.js"></script>
13         <link href="navtree.css" rel="stylesheet" type="text/css"/>
14 <script type="text/javascript" src="resize.js"></script>
15 <script type="text/javascript" src="navtreedata.js"></script>
16 <script type="text/javascript" src="navtree.js"></script>
17         <link href="search/search.css" rel="stylesheet" type="text/css"/>
18 <script type="text/javascript" src="search/searchdata.js"></script>
19 <script type="text/javascript" src="search/search.js"></script>
20     <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap" rel="stylesheet">
21         <link href="doxygen.css" rel="stylesheet" type="text/css" />
22         <link href="normalise.css" rel="stylesheet" type="text/css"/>
23 <link href="main.css" rel="stylesheet" type="text/css"/>
24 <link href="styles.css" rel="stylesheet" type="text/css"/>
25 </head>
26 <body>
27         <div class="navigation-mobile">
28                 <div class="logo--mobile">
29                         <a href="/"><img src="logo-mobile.svg" alt="Raspberry Pi"></a>
30                 </div>
31                 <div class="navigation-toggle">
32                         <span class="line-1"></span>
33                         <span class="line-2">
34                                 <p>Menu Toggle</p>
35                         </span>
36                         <span class="line-3"></span>
37                 </div>
38         </div>
39         <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
40                 <div class="logo">
41                         <a href="index.html"> <img src="logo.svg" alt="Raspberry Pi"></a>
42                         <span style="display: inline-block; margin-top: 10px;">
43                                 v2.0.0
44                         </span>
45                 </div>
46                 <div class="navigation-footer">
47                         <img src="logo-mobile.svg" alt="Raspberry Pi">
48                         <a href="https://www.raspberrypi.com/" target="_blank">By Raspberry Pi Ltd</a>
49                 </div>
50 <!--            <div class="search">
51                         <form>
52                                 <input type="search" name="search" id="search" placeholder="Search">
53                                 <input type="submit" value="Search">
54                         </form>
55                 </div> -->
56 <!-- Generated by Doxygen 1.9.4 -->
57 <script type="text/javascript">
58 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
59 var searchBox = new SearchBox("searchBox", "search",'Search','.html');
60 /* @license-end */
61 </script>
62 <script type="text/javascript" src="menudata.js"></script>
63 <script type="text/javascript" src="menu.js"></script>
64 <script type="text/javascript">
65 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
66 $(function() {
67   initMenu('',true,false,'search.php','Search');
68   $(document).ready(function() { init_search(); });
69 });
70 /* @license-end */
71 </script>
72 <div id="main-nav"></div>
73 </div><!-- top -->
74 <div id="side-nav" class="ui-resizable side-nav-resizable">
75   <div id="nav-tree">
76     <div id="nav-tree-contents">
77       <div id="nav-sync" class="sync"></div>
78     </div>
79   </div>
80   <div id="splitbar" style="-moz-user-select:none;" 
81        class="ui-resizable-handle">
82   </div>
83 </div>
84 <script type="text/javascript">
85 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
86 $(document).ready(function(){initNavTree('group__hardware__pll.html',''); initResizable(); });
87 /* @license-end */
88 </script>
89 <div id="doc-content">
90 <!-- window showing the filter options -->
91 <div id="MSearchSelectWindow"
92      onmouseover="return searchBox.OnSearchSelectShow()"
93      onmouseout="return searchBox.OnSearchSelectHide()"
94      onkeydown="return searchBox.OnSearchSelectKey(event)">
95 </div>
96
97 <!-- iframe showing the search results (closed by default) -->
98 <div id="MSearchResultsWindow">
99 <iframe src="javascript:void(0)" frameborder="0" 
100         name="MSearchResults" id="MSearchResults">
101 </iframe>
102 </div>
103
104 <div class="header">
105   <div class="summary">
106 <a href="#define-members">Macros</a> &#124;
107 <a href="#func-members">Functions</a>  </div>
108   <div class="headertitle"><div class="title">hardware_pll<div class="ingroups"><a class="el" href="group__hardware.html">Hardware APIs</a></div></div></div>
109 </div><!--header-->
110 <div class="contents">
111
112 <p>Phase Locked Loop control APIs.  
113 <a href="#details">More...</a></p>
114 <table class="memberdecls">
115 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
116 Macros</h2></td></tr>
117 <tr class="memitem:gab0c11a480c3c39d63505a8f0d9f5f1ee"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__pll.html#gab0c11a480c3c39d63505a8f0d9f5f1ee">PLL_RESET_NUM</a>(pll)</td></tr>
118 <tr class="memdesc:gab0c11a480c3c39d63505a8f0d9f5f1ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <a class="el" href="group__hardware__resets.html#ga53804b75cce5eb3090d482b0af2a7ce0">reset_num_t</a> used to reset a given PLL instance.  <a href="group__hardware__pll.html#gab0c11a480c3c39d63505a8f0d9f5f1ee">More...</a><br /></td></tr>
119 <tr class="separator:gab0c11a480c3c39d63505a8f0d9f5f1ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
120 </table><table class="memberdecls">
121 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
122 Functions</h2></td></tr>
123 <tr class="memitem:ga67cfd74241b25d891f761af9b40d1ac8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__pll.html#ga67cfd74241b25d891f761af9b40d1ac8">pll_init</a> (<a class="el" href="structpll__hw__t.html">PLL</a> pll, uint ref_div, uint vco_freq, uint post_div1, uint post_div2)</td></tr>
124 <tr class="memdesc:ga67cfd74241b25d891f761af9b40d1ac8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialise specified PLL.  <a href="group__hardware__pll.html#ga67cfd74241b25d891f761af9b40d1ac8">More...</a><br /></td></tr>
125 <tr class="separator:ga67cfd74241b25d891f761af9b40d1ac8"><td class="memSeparator" colspan="2">&#160;</td></tr>
126 <tr class="memitem:ga4529ac07cbd8575938245850d20aba29"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__pll.html#ga4529ac07cbd8575938245850d20aba29">pll_deinit</a> (<a class="el" href="structpll__hw__t.html">PLL</a> pll)</td></tr>
127 <tr class="memdesc:ga4529ac07cbd8575938245850d20aba29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release/uninitialise specified PLL.  <a href="group__hardware__pll.html#ga4529ac07cbd8575938245850d20aba29">More...</a><br /></td></tr>
128 <tr class="separator:ga4529ac07cbd8575938245850d20aba29"><td class="memSeparator" colspan="2">&#160;</td></tr>
129 </table>
130 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
131 <p >Phase Locked Loop control APIs. </p>
132 <p >There are two PLLs in RP2040. They are:</p><ul>
133 <li>pll_sys - Used to generate up to a 133MHz system clock</li>
134 <li>pll_usb - Used to generate a 48MHz USB reference clock</li>
135 </ul>
136 <p >For details on how the PLLs are calculated, please refer to the RP2040 datasheet. </p>
137 <h2 class="groupheader">Macro Definition Documentation</h2>
138 <a id="gab0c11a480c3c39d63505a8f0d9f5f1ee" name="gab0c11a480c3c39d63505a8f0d9f5f1ee"></a>
139 <h2 class="memtitle"><span class="permalink"><a href="#gab0c11a480c3c39d63505a8f0d9f5f1ee">&#9670;&nbsp;</a></span>PLL_RESET_NUM</h2>
140
141 <div class="memitem">
142 <div class="memproto">
143       <table class="memname">
144         <tr>
145           <td class="memname">#define PLL_RESET_NUM</td>
146           <td>(</td>
147           <td class="paramtype">&#160;</td>
148           <td class="paramname">pll</td><td>)</td>
149           <td></td>
150         </tr>
151       </table>
152 </div><div class="memdoc">
153
154 <p>Returns the <a class="el" href="group__hardware__resets.html#ga53804b75cce5eb3090d482b0af2a7ce0">reset_num_t</a> used to reset a given PLL instance. </p>
155 <p >Note this macro is intended to resolve at compile time, and does no parameter checking </p>
156
157 </div>
158 </div>
159 <h2 class="groupheader">Function Documentation</h2>
160 <a id="ga4529ac07cbd8575938245850d20aba29" name="ga4529ac07cbd8575938245850d20aba29"></a>
161 <h2 class="memtitle"><span class="permalink"><a href="#ga4529ac07cbd8575938245850d20aba29">&#9670;&nbsp;</a></span>pll_deinit()</h2>
162
163 <div class="memitem">
164 <div class="memproto">
165       <table class="memname">
166         <tr>
167           <td class="memname">void pll_deinit </td>
168           <td>(</td>
169           <td class="paramtype"><a class="el" href="structpll__hw__t.html">PLL</a>&#160;</td>
170           <td class="paramname"><em>pll</em></td><td>)</td>
171           <td></td>
172         </tr>
173       </table>
174 </div><div class="memdoc">
175
176 <p>Release/uninitialise specified PLL. </p>
177 <p >This will turn off the power to the specified PLL. Note this function does not currently check if the PLL is in use before powering it off so should be used with care.</p>
178 <dl class="params"><dt>Parameters</dt><dd>
179   <table class="params">
180     <tr><td class="paramname">pll</td><td>pll_sys or pll_usb </td></tr>
181   </table>
182   </dd>
183 </dl>
184
185 </div>
186 </div>
187 <a id="ga67cfd74241b25d891f761af9b40d1ac8" name="ga67cfd74241b25d891f761af9b40d1ac8"></a>
188 <h2 class="memtitle"><span class="permalink"><a href="#ga67cfd74241b25d891f761af9b40d1ac8">&#9670;&nbsp;</a></span>pll_init()</h2>
189
190 <div class="memitem">
191 <div class="memproto">
192       <table class="memname">
193         <tr>
194           <td class="memname">void pll_init </td>
195           <td>(</td>
196           <td class="paramtype"><a class="el" href="structpll__hw__t.html">PLL</a>&#160;</td>
197           <td class="paramname"><em>pll</em>, </td>
198         </tr>
199         <tr>
200           <td class="paramkey"></td>
201           <td></td>
202           <td class="paramtype">uint&#160;</td>
203           <td class="paramname"><em>ref_div</em>, </td>
204         </tr>
205         <tr>
206           <td class="paramkey"></td>
207           <td></td>
208           <td class="paramtype">uint&#160;</td>
209           <td class="paramname"><em>vco_freq</em>, </td>
210         </tr>
211         <tr>
212           <td class="paramkey"></td>
213           <td></td>
214           <td class="paramtype">uint&#160;</td>
215           <td class="paramname"><em>post_div1</em>, </td>
216         </tr>
217         <tr>
218           <td class="paramkey"></td>
219           <td></td>
220           <td class="paramtype">uint&#160;</td>
221           <td class="paramname"><em>post_div2</em>&#160;</td>
222         </tr>
223         <tr>
224           <td></td>
225           <td>)</td>
226           <td></td><td></td>
227         </tr>
228       </table>
229 </div><div class="memdoc">
230
231 <p>Initialise specified PLL. </p>
232 <dl class="params"><dt>Parameters</dt><dd>
233   <table class="params">
234     <tr><td class="paramname">pll</td><td>pll_sys or pll_usb </td></tr>
235     <tr><td class="paramname">ref_div</td><td>Input clock divider. </td></tr>
236     <tr><td class="paramname">vco_freq</td><td>Requested output from the VCO (voltage controlled oscillator) </td></tr>
237     <tr><td class="paramname">post_div1</td><td>Post Divider 1 - range 1-7. Must be &gt;= post_div2 </td></tr>
238     <tr><td class="paramname">post_div2</td><td>Post Divider 2 - range 1-7 </td></tr>
239   </table>
240   </dd>
241 </dl>
242
243 </div>
244 </div>
245 </div><!-- contents -->
246 </div><!-- doc-content -->
247
248         <script src="main.js"></script>
249 </body>
250 </html>
This page took 0.041353 seconds and 4 git commands to generate.