<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `/home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rp2040-pac-0.6.0/src/syscfg.rs`."><title>syscfg.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-42caa33d.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="rp2040_pac" data-themes="" data-resource-suffix="" data-rustdoc-version="1.84.0 (9fc6b4312 2025-01-07)" data-channel="1.84.0" data-search-js="search-92e6798f.js" data-settings-js="settings-0f613d39.js" ><script src="../../static.files/storage-59e33391.js"></script><script defer src="../../static.files/src-script-56102188.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-5f194d8c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-893ab5e7.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-6580c154.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">rp2040_pac/</div>syscfg.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"> <a href="#1" id="1">1</a> <a href="#2" id="2">2</a> <a href="#3" id="3">3</a> <a href="#4" id="4">4</a> <a href="#5" id="5">5</a> <a href="#6" id="6">6</a> <a href="#7" id="7">7</a> <a href="#8" id="8">8</a> <a href="#9" id="9">9</a> <a href="#10" id="10">10</a> <a href="#11" id="11">11</a> <a href="#12" id="12">12</a> <a href="#13" id="13">13</a> <a href="#14" id="14">14</a> <a href="#15" id="15">15</a> <a href="#16" id="16">16</a> <a href="#17" id="17">17</a> <a href="#18" id="18">18</a> <a href="#19" id="19">19</a> <a href="#20" id="20">20</a> <a href="#21" id="21">21</a> <a href="#22" id="22">22</a> <a href="#23" id="23">23</a> <a href="#24" id="24">24</a> <a href="#25" id="25">25</a> <a href="#26" id="26">26</a> <a href="#27" id="27">27</a> <a href="#28" id="28">28</a> <a href="#29" id="29">29</a> <a href="#30" id="30">30</a> <a href="#31" id="31">31</a> <a href="#32" id="32">32</a> <a href="#33" id="33">33</a> <a href="#34" id="34">34</a> <a href="#35" id="35">35</a> <a href="#36" id="36">36</a> <a href="#37" id="37">37</a> <a href="#38" id="38">38</a> <a href="#39" id="39">39</a> <a href="#40" id="40">40</a> <a href="#41" id="41">41</a> <a href="#42" id="42">42</a> <a href="#43" id="43">43</a> <a href="#44" id="44">44</a> <a href="#45" id="45">45</a> <a href="#46" id="46">46</a> <a href="#47" id="47">47</a> <a href="#48" id="48">48</a> <a href="#49" id="49">49</a> <a href="#50" id="50">50</a> <a href="#51" id="51">51</a> <a href="#52" id="52">52</a> <a href="#53" id="53">53</a> <a href="#54" id="54">54</a> <a href="#55" id="55">55</a> <a href="#56" id="56">56</a> <a href="#57" id="57">57</a> <a href="#58" id="58">58</a> <a href="#59" id="59">59</a> <a href="#60" id="60">60</a> <a href="#61" id="61">61</a> <a href="#62" id="62">62</a> <a href="#63" id="63">63</a> <a href="#64" id="64">64</a> <a href="#65" id="65">65</a> <a href="#66" id="66">66</a> <a href="#67" id="67">67</a> <a href="#68" id="68">68</a> <a href="#69" id="69">69</a> <a href="#70" id="70">70</a> <a href="#71" id="71">71</a> <a href="#72" id="72">72</a> <a href="#73" id="73">73</a> <a href="#74" id="74">74</a> <a href="#75" id="75">75</a> <a href="#76" id="76">76</a> <a href="#77" id="77">77</a> <a href="#78" id="78">78</a> <a href="#79" id="79">79</a> <a href="#80" id="80">80</a> <a href="#81" id="81">81</a> <a href="#82" id="82">82</a> <a href="#83" id="83">83</a> <a href="#84" id="84">84</a> <a href="#85" id="85">85</a> <a href="#86" id="86">86</a> <a href="#87" id="87">87</a> <a href="#88" id="88">88</a> <a href="#89" id="89">89</a> <a href="#90" id="90">90</a> <a href="#91" id="91">91</a> <a href="#92" id="92">92</a> <a href="#93" id="93">93</a> <a href="#94" id="94">94</a> <a href="#95" id="95">95</a> <a href="#96" id="96">96</a> <a href="#97" id="97">97</a> <a href="#98" id="98">98</a> <a href="#99" id="99">99</a> <a href="#100" id="100">100</a> <a href="#101" id="101">101</a> <a href="#102" id="102">102</a> <a href="#103" id="103">103</a> <a href="#104" id="104">104</a> <a href="#105" id="105">105</a> <a href="#106" id="106">106</a> <a href="#107" id="107">107</a> <a href="#108" id="108">108</a> <a href="#109" id="109">109</a> <a href="#110" id="110">110</a> <a href="#111" id="111">111</a> <a href="#112" id="112">112</a> <a href="#113" id="113">113</a> <a href="#114" id="114">114</a> <a href="#115" id="115">115</a> <a href="#116" id="116">116</a> <a href="#117" id="117">117</a> <a href="#118" id="118">118</a> <a href="#119" id="119">119</a> <a href="#120" id="120">120</a> <a href="#121" id="121">121</a> <a href="#122" id="122">122</a> <a href="#123" id="123">123</a> <a href="#124" id="124">124</a> <a href="#125" id="125">125</a> <a href="#126" id="126">126</a> <a href="#127" id="127">127</a> <a href="#128" id="128">128</a> <a href="#129" id="129">129</a> <a href="#130" id="130">130</a> <a href="#131" id="131">131</a> <a href="#132" id="132">132</a> <a href="#133" id="133">133</a> <a href="#134" id="134">134</a> <a href="#135" id="135">135</a> <a href="#136" id="136">136</a> <a href="#137" id="137">137</a> <a href="#138" id="138">138</a> <a href="#139" id="139">139</a> <a href="#140" id="140">140</a> <a href="#141" id="141">141</a> <a href="#142" id="142">142</a> <a href="#143" id="143">143</a> <a href="#144" id="144">144</a></pre></div><pre class="rust"><code><span class="attr">#[doc = <span class="string">r"Register block"</span>] #[repr(C)] </span><span class="kw">pub struct </span>RegisterBlock { proc0_nmi_mask: PROC0_NMI_MASK, proc1_nmi_mask: PROC1_NMI_MASK, proc_config: PROC_CONFIG, proc_in_sync_bypass: PROC_IN_SYNC_BYPASS, proc_in_sync_bypass_hi: PROC_IN_SYNC_BYPASS_HI, dbgforce: DBGFORCE, mempowerdown: MEMPOWERDOWN, } <span class="kw">impl </span>RegisterBlock { <span class="attr">#[doc = <span class="string">"0x00 - Processor core 0 NMI source mask Set a bit high to enable NMI from that IRQ"</span>] #[inline(always)] </span><span class="kw">pub const fn </span>proc0_nmi_mask(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="kw-2">&</span>PROC0_NMI_MASK { <span class="kw-2">&</span><span class="self">self</span>.proc0_nmi_mask } <span class="attr">#[doc = <span class="string">"0x04 - Processor core 1 NMI source mask Set a bit high to enable NMI from that IRQ"</span>] #[inline(always)] </span><span class="kw">pub const fn </span>proc1_nmi_mask(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="kw-2">&</span>PROC1_NMI_MASK { <span class="kw-2">&</span><span class="self">self</span>.proc1_nmi_mask } <span class="attr">#[doc = <span class="string">"0x08 - Configuration for processors"</span>] #[inline(always)] </span><span class="kw">pub const fn </span>proc_config(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="kw-2">&</span>PROC_CONFIG { <span class="kw-2">&</span><span class="self">self</span>.proc_config } <span class="attr">#[doc = <span class="string">"0x0c - For each bit, if 1, bypass the input synchronizer between that GPIO and the GPIO input register in the SIO. The input synchronizers should generally be unbypassed, to avoid injecting metastabilities into processors. If you're feeling brave, you can bypass to save two cycles of input latency. This register applies to GPIO 0...29."</span>] #[inline(always)] </span><span class="kw">pub const fn </span>proc_in_sync_bypass(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="kw-2">&</span>PROC_IN_SYNC_BYPASS { <span class="kw-2">&</span><span class="self">self</span>.proc_in_sync_bypass } <span class="attr">#[doc = <span class="string">"0x10 - For each bit, if 1, bypass the input synchronizer between that GPIO and the GPIO input register in the SIO. The input synchronizers should generally be unbypassed, to avoid injecting metastabilities into processors. If you're feeling brave, you can bypass to save two cycles of input latency. This register applies to GPIO 30...35 (the QSPI IOs)."</span>] #[inline(always)] </span><span class="kw">pub const fn </span>proc_in_sync_bypass_hi(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="kw-2">&</span>PROC_IN_SYNC_BYPASS_HI { <span class="kw-2">&</span><span class="self">self</span>.proc_in_sync_bypass_hi } <span class="attr">#[doc = <span class="string">"0x14 - Directly control the SWD debug port of either processor"</span>] #[inline(always)] </span><span class="kw">pub const fn </span>dbgforce(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="kw-2">&</span>DBGFORCE { <span class="kw-2">&</span><span class="self">self</span>.dbgforce } <span class="attr">#[doc = <span class="string">"0x18 - Control power downs to memories. Set high to power down memories. Use with extreme caution"</span>] #[inline(always)] </span><span class="kw">pub const fn </span>mempowerdown(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="kw-2">&</span>MEMPOWERDOWN { <span class="kw-2">&</span><span class="self">self</span>.mempowerdown } } <span class="attr">#[doc = <span class="string">"PROC0_NMI_MASK (rw) register accessor: Processor core 0 NMI source mask Set a bit high to enable NMI from that IRQ You can [`read`](crate::generic::Reg::read) this register and get [`proc0_nmi_mask::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`proc0_nmi_mask::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api). For information about available fields see [`mod@proc0_nmi_mask`] module"</span>] </span><span class="kw">pub type </span>PROC0_NMI_MASK = <span class="kw">crate</span>::Reg<proc0_nmi_mask::PROC0_NMI_MASK_SPEC>; <span class="attr">#[doc = <span class="string">"Processor core 0 NMI source mask Set a bit high to enable NMI from that IRQ"</span>] </span><span class="kw">pub mod </span>proc0_nmi_mask; <span class="attr">#[doc = <span class="string">"PROC1_NMI_MASK (rw) register accessor: Processor core 1 NMI source mask Set a bit high to enable NMI from that IRQ You can [`read`](crate::generic::Reg::read) this register and get [`proc1_nmi_mask::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`proc1_nmi_mask::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api). For information about available fields see [`mod@proc1_nmi_mask`] module"</span>] </span><span class="kw">pub type </span>PROC1_NMI_MASK = <span class="kw">crate</span>::Reg<proc1_nmi_mask::PROC1_NMI_MASK_SPEC>; <span class="attr">#[doc = <span class="string">"Processor core 1 NMI source mask Set a bit high to enable NMI from that IRQ"</span>] </span><span class="kw">pub mod </span>proc1_nmi_mask; <span class="attr">#[doc = <span class="string">"PROC_CONFIG (rw) register accessor: Configuration for processors You can [`read`](crate::generic::Reg::read) this register and get [`proc_config::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`proc_config::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api). For information about available fields see [`mod@proc_config`] module"</span>] </span><span class="kw">pub type </span>PROC_CONFIG = <span class="kw">crate</span>::Reg<proc_config::PROC_CONFIG_SPEC>; <span class="attr">#[doc = <span class="string">"Configuration for processors"</span>] </span><span class="kw">pub mod </span>proc_config; <span class="attr">#[doc = <span class="string">"PROC_IN_SYNC_BYPASS (rw) register accessor: For each bit, if 1, bypass the input synchronizer between that GPIO and the GPIO input register in the SIO. The input synchronizers should generally be unbypassed, to avoid injecting metastabilities into processors. If you're feeling brave, you can bypass to save two cycles of input latency. This register applies to GPIO 0...29. You can [`read`](crate::generic::Reg::read) this register and get [`proc_in_sync_bypass::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`proc_in_sync_bypass::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api). For information about available fields see [`mod@proc_in_sync_bypass`] module"</span>] </span><span class="kw">pub type </span>PROC_IN_SYNC_BYPASS = <span class="kw">crate</span>::Reg<proc_in_sync_bypass::PROC_IN_SYNC_BYPASS_SPEC>; <span class="attr">#[doc = <span class="string">"For each bit, if 1, bypass the input synchronizer between that GPIO and the GPIO input register in the SIO. The input synchronizers should generally be unbypassed, to avoid injecting metastabilities into processors. If you're feeling brave, you can bypass to save two cycles of input latency. This register applies to GPIO 0...29."</span>] </span><span class="kw">pub mod </span>proc_in_sync_bypass; <span class="attr">#[doc = <span class="string">"PROC_IN_SYNC_BYPASS_HI (rw) register accessor: For each bit, if 1, bypass the input synchronizer between that GPIO and the GPIO input register in the SIO. The input synchronizers should generally be unbypassed, to avoid injecting metastabilities into processors. If you're feeling brave, you can bypass to save two cycles of input latency. This register applies to GPIO 30...35 (the QSPI IOs). You can [`read`](crate::generic::Reg::read) this register and get [`proc_in_sync_bypass_hi::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`proc_in_sync_bypass_hi::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api). For information about available fields see [`mod@proc_in_sync_bypass_hi`] module"</span>] </span><span class="kw">pub type </span>PROC_IN_SYNC_BYPASS_HI = <span class="kw">crate</span>::Reg<proc_in_sync_bypass_hi::PROC_IN_SYNC_BYPASS_HI_SPEC>; <span class="attr">#[doc = <span class="string">"For each bit, if 1, bypass the input synchronizer between that GPIO and the GPIO input register in the SIO. The input synchronizers should generally be unbypassed, to avoid injecting metastabilities into processors. If you're feeling brave, you can bypass to save two cycles of input latency. This register applies to GPIO 30...35 (the QSPI IOs)."</span>] </span><span class="kw">pub mod </span>proc_in_sync_bypass_hi; <span class="attr">#[doc = <span class="string">"DBGFORCE (rw) register accessor: Directly control the SWD debug port of either processor You can [`read`](crate::generic::Reg::read) this register and get [`dbgforce::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dbgforce::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api). For information about available fields see [`mod@dbgforce`] module"</span>] </span><span class="kw">pub type </span>DBGFORCE = <span class="kw">crate</span>::Reg<dbgforce::DBGFORCE_SPEC>; <span class="attr">#[doc = <span class="string">"Directly control the SWD debug port of either processor"</span>] </span><span class="kw">pub mod </span>dbgforce; <span class="attr">#[doc = <span class="string">"MEMPOWERDOWN (rw) register accessor: Control power downs to memories. Set high to power down memories. Use with extreme caution You can [`read`](crate::generic::Reg::read) this register and get [`mempowerdown::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`mempowerdown::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api). For information about available fields see [`mod@mempowerdown`] module"</span>] </span><span class="kw">pub type </span>MEMPOWERDOWN = <span class="kw">crate</span>::Reg<mempowerdown::MEMPOWERDOWN_SPEC>; <span class="attr">#[doc = <span class="string">"Control power downs to memories. Set high to power down memories. Use with extreme caution"</span>] </span><span class="kw">pub mod </span>mempowerdown; </code></pre></div></section></main></body></html>