📄 pm_8c.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>AVR321000 Communication with the AVR32 USART: testsuite/bravo_validation/power_manager/pm.c File Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.1 --><div class="tabs"> <ul> <li><a href="main.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul></div><div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul></div><div class="nav"><a class="el" href="dir_ed041fa8052270846d9a0dab17b0d151.html">testsuite</a> » <a class="el" href="dir_18e6971fa792d4606dff45a531675719.html">bravo_validation</a> » <a class="el" href="dir_ccff2bf392818c53411e9baf433c1483.html">power_manager</a></div><h1>pm.c File Reference</h1><p><code>#include "<a class="el" href="pm_8h-source.html">pm.h</a>"</code><br><p>Include dependency graph for pm.c:<p><a href="pm_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#c36fb27df09040fa236cf2a9b2c13684">pm_generic_clock_control</a> (struct <a class="el" href="structgen__clk__opt__t.html">gen_clk_opt_t</a> *opt)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#afabed3d352c08a31e65299bf82c6f14">pm_interrupt_clear</a> (unsigned int source)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#722e55d44f9cbb606970a6c99f52a6f4">pm_interrupt_disable</a> (unsigned int source)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#0f8568eb40d8a9599ebde49ab0bda278">pm_interrupt_enable</a> (unsigned int source)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#80c6af2ba13603d8940b9ac054df89b8">pm_interrupt_mask</a> (unsigned int source)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#20b28e164b7c9bb79db19ad3c824ccfe">pm_interrupt_status</a> (unsigned int source)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#aa4fa6d81997d76edd9f0fa07ba7ddb8">pm_mask_all_module_clocks</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#6dcc904e4f90e35995f911bea6dc7f84">pm_mask_module_clock</a> (unsigned int clock)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#555db77a9952c4b3b3622a5552fce61e">pm_rc_errors</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#0f2a943733b661e4eaf234349224886c">pm_read_clock_domain_scaler</a> (unsigned int clock_domain)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#14bd8bcf2023d7eef7fa2575fe369900">pm_read_mclk</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#e8ea9de644b71bb92ab7d384f298d1d7">pm_read_mclk_source</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#9eeb911aac8a1d1e6bd05e3ad80f90d8">pm_read_module_frequency</a> (int module)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#ec52b76e10f4f99b5acb6cf2d8be6cba">pm_read_osc</a> (unsigned int osc)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#54166687179ae6231608317171b8d62e">pm_read_pll_frequency</a> (unsigned int pll)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#bc44409660aa80132fb1f45546fbc5da">pm_read_scaling_register</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#f4866c8d515de18a7e6438de6721af48">pm_reset</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#c98e7a8b718e6eba0c220fbedfc4ce9e">pm_set_clock_domain_scaler</a> (volatile struct <a class="el" href="structclk__sel__opt__t.html">clk_sel_opt_t</a> *opt)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#5ee9297ef8a710f6f1c7b3f60d6f7369">pm_set_mclk_source</a> (unsigned int source)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#7fc09cb1d5ede1dea772f8b03ee154be">pm_set_pll</a> (volatile struct <a class="el" href="structpll__opt__t.html">pll_opt_t</a> *opt)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#90f52d7e0db672c11076d656b9f351f3">pm_unmask_all_module_clocks</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#2f081788f7a9e4fa5f5c7f25e4de4e5f">pm_unmask_module_clock</a> (unsigned int clock)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pm_8c.html#88dfe542f765ac33d0eeee7d0eff486c">pm_wait_for_lock</a> (unsigned int lockbit)</td></tr></table><hr><h2>Function Documentation</h2><a class="anchor" name="c36fb27df09040fa236cf2a9b2c13684"></a><!-- doxytag: member="pm.c::pm_generic_clock_control" ref="c36fb27df09040fa236cf2a9b2c13684" args="(struct gen_clk_opt_t *opt)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">int pm_generic_clock_control </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structgen__clk__opt__t.html">gen_clk_opt_t</a> * </td> <td class="paramname"> <em>opt</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p><p>Definition at line <a class="el" href="pm_8c-source.html#l00492">492</a> of file <a class="el" href="pm_8c-source.html">pm.c</a>.<p>References <a class="el" href="pm_8h-source.html#l00113">gen_clk_opt_t::cen</a>, <a class="el" href="pm_8h-source.html#l00111">gen_clk_opt_t::div</a>, <a class="el" href="pm_8h-source.html#l00112">gen_clk_opt_t::diven</a>, <a class="el" href="pm_8h-source.html#l00115">gen_clk_opt_t::oscsel</a>, <a class="el" href="pm_8h-source.html#l00114">gen_clk_opt_t::pllsel</a>, and <a class="el" href="pm_8h-source.html#l00018">PM_INVALID_ARGUMENT</a>.<div class="fragment"><pre class="fragment"><a name="l00493"></a>00493 {<a name="l00494"></a>00494 avr32_sm_t *sm = (<span class="keywordtype">void</span> *)AVR32_SM_ADDRESS;<a name="l00495"></a>00495 <a name="l00496"></a>00496 <span class="comment">/* Check whether div-field is larger than 8 bits */</span><a name="l00497"></a>00497 <span class="keywordflow">if</span>( opt-><a class="code" href="structgen__clk__opt__t.html#1c0f4c520fa0778b49d0f3a7217d2bc7">div</a> > 0xFF)<a name="l00498"></a>00498 <span class="keywordflow">return</span> <a class="code" href="pm_8h.html#fb0c09824dd7de95fd1557e20c731400">PM_INVALID_ARGUMENT</a>;<a name="l00499"></a>00499 <span class="comment">/* Check for valid single bits */</span><a name="l00500"></a>00500 <span class="keywordflow">if</span> ( ((opt-><a class="code" href="structgen__clk__opt__t.html#87c4374f358f08b475f338cbce4e6d8b">diven</a>)|(opt-><a class="code" href="structgen__clk__opt__t.html#d5fb42c07bde892e2f63099bdaca2ec0">cen</a>)|(opt-><a class="code" href="structgen__clk__opt__t.html#12ed7146381730f8cfea4ae246b00d26">pllsel</a>)|(opt-><a class="code" href="structgen__clk__opt__t.html#4d4b4915b1f64cc52d68d63ca425c2eb">oscsel</a>)) > 1)<a name="l00501"></a>00501 <span class="keywordflow">return</span> <a class="code" href="pm_8h.html#fb0c09824dd7de95fd1557e20c731400">PM_INVALID_ARGUMENT</a>;<a name="l00502"></a>00502 <span class="keywordflow">else</span><a name="l00503"></a>00503 sm->pm_gcctrl = (opt-><a class="code" href="structgen__clk__opt__t.html#1c0f4c520fa0778b49d0f3a7217d2bc7">div</a> << AVR32_SM_PM_GCCTRL_DIV_OFFSET)| \<a name="l00504"></a>00504 (opt-><a class="code" href="structgen__clk__opt__t.html#87c4374f358f08b475f338cbce4e6d8b">diven</a> << AVR32_SM_PM_GCCTRL_DIVEN_OFFSET)|\<a name="l00505"></a>00505 (opt-><a class="code" href="structgen__clk__opt__t.html#d5fb42c07bde892e2f63099bdaca2ec0">cen</a> << AVR32_SM_PM_GCCTRL_CEN_OFFSET)|\<a name="l00506"></a>00506 (opt-><a class="code" href="structgen__clk__opt__t.html#12ed7146381730f8cfea4ae246b00d26">pllsel</a> << AVR32_SM_PM_GCCTRL_PLLSEL_OFFSET)|\<a name="l00507"></a>00507 (opt-><a class="code" href="structgen__clk__opt__t.html#4d4b4915b1f64cc52d68d63ca425c2eb">oscsel</a> << AVR32_SM_PM_GCCTRL_OSCSEL_OFFSET);<a name="l00508"></a>00508 <a name="l00509"></a>00509 <span class="keywordflow">return</span> 0;<a name="l00510"></a>00510 } <span class="comment">/* End pm_generic_clock_control() */</span></pre></div><p></div></div><p><a class="anchor" name="afabed3d352c08a31e65299bf82c6f14"></a><!-- doxytag: member="pm.c::pm_interrupt_clear" ref="afabed3d352c08a31e65299bf82c6f14" args="(unsigned int source)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">int pm_interrupt_clear </td> <td>(</td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>source</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p><p>Definition at line <a class="el" href="pm_8c-source.html#l00463">463</a> of file <a class="el" href="pm_8c-source.html">pm.c</a>.<p>References <a class="el" href="pm_8h-source.html#l00026">PM_INT_SOURCES</a>, and <a class="el" href="pm_8h-source.html#l00018">PM_INVALID_ARGUMENT</a>.<p>Referenced by <a class="el" href="pm_8c-source.html#l00033">pm_wait_for_lock()</a>.<div class="fragment"><pre class="fragment"><a name="l00464"></a>00464 {<a name="l00465"></a>00465 avr32_sm_t *sm = (<span class="keywordtype">void</span> *)AVR32_SM_ADDRESS;<a name="l00466"></a>00466 <a name="l00467"></a>00467 <span class="keywordflow">if</span>( source > (<a class="code" href="pm_8h.html#5dcfcaccba3bf44f55edb3551c022f04">PM_INT_SOURCES</a>-1) )<a name="l00468"></a>00468 <span class="keywordflow">return</span> <a class="code" href="pm_8h.html#fb0c09824dd7de95fd1557e20c731400">PM_INVALID_ARGUMENT</a>;<a name="l00469"></a>00469 <span class="keywordflow">else</span>{<a name="l00470"></a>00470 sm->pm_icr |= (1 << source);<a name="l00471"></a>00471 <span class="keywordflow">return</span> 0;<a name="l00472"></a>00472 }<a name="l00473"></a>00473 }</pre></div><p></div></div><p><a class="anchor" name="722e55d44f9cbb606970a6c99f52a6f4"></a><!-- doxytag: member="pm.c::pm_interrupt_disable" ref="722e55d44f9cbb606970a6c99f52a6f4" args="(unsigned int source)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">int pm_interrupt_disable </td> <td>(</td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>source</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p><p>Definition at line <a class="el" href="pm_8c-source.html#l00435">435</a> of file <a class="el" href="pm_8c-source.html">pm.c</a>.<p>References <a class="el" href="pm_8h-source.html#l00026">PM_INT_SOURCES</a>, and <a class="el" href="pm_8h-source.html#l00018">PM_INVALID_ARGUMENT</a>.<div class="fragment"><pre class="fragment"><a name="l00436"></a>00436 {<a name="l00437"></a>00437 avr32_sm_t *sm = (<span class="keywordtype">void</span> *)AVR32_SM_ADDRESS;<a name="l00438"></a>00438 <a name="l00439"></a>00439 <span class="keywordflow">if</span>( source > (<a class="code" href="pm_8h.html#5dcfcaccba3bf44f55edb3551c022f04">PM_INT_SOURCES</a>-1) )<a name="l00440"></a>00440 <span class="keywordflow">return</span> <a class="code" href="pm_8h.html#fb0c09824dd7de95fd1557e20c731400">PM_INVALID_ARGUMENT</a>;<a name="l00441"></a>00441 <span class="keywordflow">else</span>{<a name="l00442"></a>00442 sm->pm_idr |= (1 << source);<a name="l00443"></a>00443 <span class="keywordflow">return</span> 0;<a name="l00444"></a>00444 }<a name="l00445"></a>00445 }</pre></div><p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -