<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Cm4 on Ulis Notes</title>
    <link>https://wolf-u.li/en/tag/cm4/</link>
    <description>Recent content in Cm4 on Ulis Notes</description>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>Copyright 2006-CURRENTYEAR Uli Wolf - All rights reserved</copyright>
    <lastBuildDate>Sun, 17 Sep 2023 22:18:36 +1700</lastBuildDate>
    <atom:link href="https://wolf-u.li/en/tag/cm4/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Raspberry PI CM4 Disable PCIe after brcm-pcie link down message</title>
      
      
      <link>https://wolf-u.li/raspberry-pi-cm4-disable-pcie/</link>
      <pubDate>Sun, 17 Sep 2023 22:18:36 +1700</pubDate>
      <guid>https://wolf-u.li/raspberry-pi-cm4-disable-pcie/</guid>
      <description>&lt;p&gt;On my BIGTREETECH E3EZ i switched from the CB1 to the Raspberry PI CM4. Unfortunately on every boot the following message appeared:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plaintext&#34; data-lang=&#34;plaintext&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brcm-pcie fd500000.pcie: link down
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The issue is the missing PCIe Port, hence you have to disable the feature to get rid of this message.
&lt;ins class=&#34;adsbygoogle&#34; style=&#34;display:block; text-align:center;&#34; data-ad-layout=&#34;in-article&#34; data-ad-format=&#34;fluid&#34; data-ad-client=&#34;ca-pub-2322978122735420&#34; data-ad-slot=&#34;3161252284&#34;&gt;&lt;/ins&gt;
Create the file &lt;code&gt;disable-pcie-overlay.dts&lt;/code&gt; with the following command:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wget https://gist.githubusercontent.com/SirUli/de94ddb751b91adfa6809f286a18a382/raw/af010907360153f74edc8f65d415d717378bf037/gistfile1.txt -O /tmp/disable-pcie-overlay.dts
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;You must then convert the file using the following command:&lt;/p&gt;</description>
      
         <content:encoded><![CDATA[<p>On my BIGTREETECH E3EZ i switched from the CB1 to the Raspberry PI CM4. Unfortunately on every boot the following message appeared:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-plaintext" data-lang="plaintext"><span class="line"><span class="cl">brcm-pcie fd500000.pcie: link down
</span></span></code></pre></td></tr></table>
</div>
</div><p>The issue is the missing PCIe Port, hence you have to disable the feature to get rid of this message.
<ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-2322978122735420" data-ad-slot="3161252284"></ins>
Create the file <code>disable-pcie-overlay.dts</code> with the following command:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">wget https://gist.githubusercontent.com/SirUli/de94ddb751b91adfa6809f286a18a382/raw/af010907360153f74edc8f65d415d717378bf037/gistfile1.txt -O /tmp/disable-pcie-overlay.dts
</span></span></code></pre></td></tr></table>
</div>
</div><p>You must then convert the file using the following command:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo dtc -@ -I dts -O dtb -o /boot/overlays/disable-pcie-overlay.dtbo /tmp/disable-pcie-overlay.dts
</span></span></code></pre></td></tr></table>
</div>
</div><p>Then delete the file with the following command:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">rm /tmp/disable-pcie-overlay.dts
</span></span></code></pre></td></tr></table>
</div>
</div><p>Finally open the boot config file using the following command:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo nano /boot/config.txt
</span></span></code></pre></td></tr></table>
</div>
</div><p>And add the following line at the top:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-plaintext" data-lang="plaintext"><span class="line"><span class="cl">dtoverlay=disable-pcie-overlay
</span></span></code></pre></td></tr></table>
</div>
</div><p>Then save using <code>CTRL</code>+<code>X</code> which will ask you to save. Enter <code>Y</code> and <code>ENTER</code> to save. On the next reboot that message from above will be gone.</p>
]]></content:encoded>
    </item>
    <item>
      <title>BIGTREETECH 40-Pin GPIO - CM4 to CB1 mapping</title>
      
      
      <link>https://wolf-u.li/bigtreetech-40-pin-gpio-cm4-cb1-mapping/</link>
      <pubDate>Mon, 07 Aug 2023 12:30:34 +0700</pubDate>
      <guid>https://wolf-u.li/bigtreetech-40-pin-gpio-cm4-cb1-mapping/</guid>
      <description>&lt;p&gt;When i received the 
&lt;a href=&#34;https://shareasale.com/r.cfm?b=1890927&amp;u=3683758&amp;m=131011&amp;urllink=https%3a%2f%2fbiqu.equipment%2fcollections%2fcontrol-board%2fproducts%2fbigtreetech-manta-e3ez-v1-0-for-ender3-ender3pro-ender5%3fvariant%3d40286567727202&amp;afftrack=&#34;&gt;BIGTREETECH E3EZ*&lt;/a&gt;

 together with a 
&lt;a href=&#34;https://shareasale.com/r.cfm?b=1890927&amp;u=3683758&amp;m=131011&amp;urllink=https%3a%2f%2fbiqu.equipment%2fcollections%2fcontrol-board%2fproducts%2fpi4b-adapter-v1-0%3fvariant%3d40353646051426&amp;afftrack=&#34;&gt;CB1*&lt;/a&gt;

 i was wondering how the pinout / gpio on the board was setup. Unfortunately the picture in the User-Manual of the E3EZ was relatively blurry.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://wolf-u.li/upload/2023/08/bigtreetech-40-pin-gpio-cm4-cb1-mapping-1.webp&#34; alt=&#34;Manta E3EZ&#34; loading=&#34;lazy&#34;&gt;&lt;/p&gt;
&lt;ins class=&#34;adsbygoogle&#34; style=&#34;display:block; text-align:center;&#34; data-ad-layout=&#34;in-article&#34; data-ad-format=&#34;fluid&#34; data-ad-client=&#34;ca-pub-2322978122735420&#34; data-ad-slot=&#34;3161252284&#34;&gt;&lt;/ins&gt;
&lt;p&gt;GPIO stands for General-Purpose Input/Output. It refers to the pins on a microcontroller or single-board computer, like the Raspberry Pi, that can be programmed to serve as either inputs or outputs. These pins enable the device to interact with the external world by receiving or transmitting digital signals. Through software programming, developers can configure GPIO pins to read data from sensors (inputs) or send signals to actuators (outputs), facilitating versatile applications like the control of fans, lights or other 3D printing accessories.&lt;/p&gt;</description>
      
         <content:encoded><![CDATA[<p>When i received the 
<a href="https://shareasale.com/r.cfm?b=1890927&u=3683758&m=131011&urllink=https%3a%2f%2fbiqu.equipment%2fcollections%2fcontrol-board%2fproducts%2fbigtreetech-manta-e3ez-v1-0-for-ender3-ender3pro-ender5%3fvariant%3d40286567727202&afftrack=">BIGTREETECH E3EZ*</a>

 together with a 
<a href="https://shareasale.com/r.cfm?b=1890927&u=3683758&m=131011&urllink=https%3a%2f%2fbiqu.equipment%2fcollections%2fcontrol-board%2fproducts%2fpi4b-adapter-v1-0%3fvariant%3d40353646051426&afftrack=">CB1*</a>

 i was wondering how the pinout / gpio on the board was setup. Unfortunately the picture in the User-Manual of the E3EZ was relatively blurry.</p>
<p><img src="/upload/2023/08/bigtreetech-40-pin-gpio-cm4-cb1-mapping-1.webp" alt="Manta E3EZ" loading="lazy"></p>
<ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-2322978122735420" data-ad-slot="3161252284"></ins>
<p>GPIO stands for General-Purpose Input/Output. It refers to the pins on a microcontroller or single-board computer, like the Raspberry Pi, that can be programmed to serve as either inputs or outputs. These pins enable the device to interact with the external world by receiving or transmitting digital signals. Through software programming, developers can configure GPIO pins to read data from sensors (inputs) or send signals to actuators (outputs), facilitating versatile applications like the control of fans, lights or other 3D printing accessories.</p>
<p>Thankfully the pinout is the same on the Manta M4P which is why i was able to extract the data from <link rel=dns-prefetch href=//github.com /> <a href="https://github.com/bigtreetech/Manta-M4P/blob/master/BIGTREETECH_MANTA_M4P_User_Manual.pdf"
    title="there" 
     target="_blank" rel="nofollow noopener noreferrer" >
  there&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> (page 9):</p>
<p><img src="/upload/2023/08/bigtreetech-40-pin-gpio-cm4-cb1-mapping-2.webp" alt="Manta M4P" loading="lazy"></p>
<p>BIGTREETECH describes the pinout of the CM4 the same as the one of the Raspberry pi. However when being used with the CB1, the Pinout Changes. I extracted that information and then used various sources of research to find the corresponding GPIO port: This is the final result:</p>
<table>
  <thead>
      <tr>
          <th>Pin</th>
          <th>CM4</th>
          <th>CB1</th>
          <th>Comment</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>1</td>
          <td>3.3V</td>
          <td>3.3V</td>
          <td>Pin is the same on both boards</td>
      </tr>
      <tr>
          <td>2</td>
          <td>5V</td>
          <td>5V</td>
          <td>Pin is the same on both boards</td>
      </tr>
      <tr>
          <td>3</td>
          <td>GPIO2</td>
          <td>Not connected</td>
          <td>Not connected on the CB1</td>
      </tr>
      <tr>
          <td>4</td>
          <td>5V</td>
          <td>5V</td>
          <td>Pin is the same on both boards</td>
      </tr>
      <tr>
          <td>5</td>
          <td>GPIO3</td>
          <td>Not connected</td>
          <td>Not connected on the CB1</td>
      </tr>
      <tr>
          <td>6</td>
          <td>GND</td>
          <td>GND</td>
          <td>Pin is the same on both boards</td>
      </tr>
      <tr>
          <td>7</td>
          <td>GPIO4</td>
          <td>PC7 / GPIO71</td>
          <td>Different GPIO numbering</td>
      </tr>
      <tr>
          <td>8</td>
          <td>GPIO14</td>
          <td>TX</td>
          <td>Incompatible - different function!</td>
      </tr>
      <tr>
          <td>9</td>
          <td>GND</td>
          <td>GND</td>
          <td>Pin is the same on both boards</td>
      </tr>
      <tr>
          <td>10</td>
          <td>GPIO15</td>
          <td>RX</td>
          <td>Incompatible - different function!</td>
      </tr>
      <tr>
          <td>11</td>
          <td>GPIO17</td>
          <td>PC14 / GPIO78</td>
          <td>Different GPIO numbering</td>
      </tr>
      <tr>
          <td>12</td>
          <td>GPIO18</td>
          <td>PC13 / GPIO77</td>
          <td>Different GPIO numbering</td>
      </tr>
      <tr>
          <td>13</td>
          <td>GPIO27</td>
          <td>PC12 / GPIO76</td>
          <td>Different GPIO numbering</td>
      </tr>
      <tr>
          <td>14</td>
          <td>GND</td>
          <td>GND</td>
          <td>Pin is the same on both boards</td>
      </tr>
      <tr>
          <td>15</td>
          <td>GPIO22</td>
          <td>PC10 / GPIO74</td>
          <td>Different GPIO numbering</td>
      </tr>
      <tr>
          <td>16</td>
          <td>GPIO23</td>
          <td>PC11 / GPIO75</td>
          <td>Different GPIO numbering</td>
      </tr>
      <tr>
          <td>17</td>
          <td>3.3V</td>
          <td>3.3V</td>
          <td>Pin is the same on both boards</td>
      </tr>
      <tr>
          <td>18</td>
          <td>GPIO24</td>
          <td>PC9 / GPIO73</td>
          <td>Different GPIO numbering</td>
      </tr>
      <tr>
          <td>19</td>
          <td>GPIO10</td>
          <td>PH7 / GPIO231</td>
          <td>Different GPIO numbering</td>
      </tr>
      <tr>
          <td>20</td>
          <td>GND</td>
          <td>GND</td>
          <td>Pin is the same on both boards</td>
      </tr>
      <tr>
          <td>21</td>
          <td>GPIO9</td>
          <td>PH8 / GPIO232</td>
          <td>Different GPIO numbering</td>
      </tr>
      <tr>
          <td>22</td>
          <td>GPIO25</td>
          <td>Not connected</td>
          <td>Not connected on the CB1</td>
      </tr>
      <tr>
          <td>23</td>
          <td>GPIO11</td>
          <td>ph6 / GPIO230</td>
          <td>Different GPIO numbering</td>
      </tr>
      <tr>
          <td>24</td>
          <td>GPIO8</td>
          <td>Not connected</td>
          <td>Not connected on the CB1</td>
      </tr>
      <tr>
          <td>25</td>
          <td>GND</td>
          <td>GND</td>
          <td>Pin is the same on both boards</td>
      </tr>
      <tr>
          <td>26</td>
          <td>GPIO7</td>
          <td>PG8 / GPIO200</td>
          <td>Different GPIO numbering</td>
      </tr>
      <tr>
          <td>27</td>
          <td>ID_SD</td>
          <td>ID_SD</td>
          <td>Pin is the same on both boards</td>
      </tr>
      <tr>
          <td>28</td>
          <td>ID_SC</td>
          <td>PG7 / GPIO199</td>
          <td>Incompatible - different function!</td>
      </tr>
      <tr>
          <td>29</td>
          <td>GPIO5</td>
          <td>Not connected</td>
          <td>Not connected on the CB1</td>
      </tr>
      <tr>
          <td>30</td>
          <td>GND</td>
          <td>GND</td>
          <td>Pin is the same on both boards</td>
      </tr>
      <tr>
          <td>31</td>
          <td>GPIO6</td>
          <td>PG6 / GPIO198</td>
          <td>Different GPIO numbering</td>
      </tr>
      <tr>
          <td>32</td>
          <td>GPIO12</td>
          <td>PG9 / GPIO201</td>
          <td>Different GPIO numbering</td>
      </tr>
      <tr>
          <td>33</td>
          <td>GPIO13</td>
          <td>Not connected</td>
          <td>Not connected on the CB1</td>
      </tr>
      <tr>
          <td>34</td>
          <td>GND</td>
          <td>GND</td>
          <td>Pin is the same on both boards</td>
      </tr>
      <tr>
          <td>35</td>
          <td>GPIO19</td>
          <td>PC6 / GPIO70</td>
          <td>Different GPIO numbering</td>
      </tr>
      <tr>
          <td>36</td>
          <td>GPIO16</td>
          <td>Not connected</td>
          <td>Not connected on the CB1</td>
      </tr>
      <tr>
          <td>37</td>
          <td>GPIO26</td>
          <td>PC15 / GPIO79</td>
          <td>Different GPIO numbering</td>
      </tr>
      <tr>
          <td>38</td>
          <td>GPIO20</td>
          <td>PH10 / GPIO234</td>
          <td>Different GPIO numbering</td>
      </tr>
      <tr>
          <td>39</td>
          <td>GND</td>
          <td>GND</td>
          <td>Pin is the same on both boards</td>
      </tr>
      <tr>
          <td>40</td>
          <td>GPIO21</td>
          <td>PC8 / GPIO72</td>
          <td>Different GPIO numbering</td>
      </tr>
  </tbody>
</table>
<p><strong>Update</strong>: Now i finally found a mapping in the CB1 repo - check <link rel=dns-prefetch href=//github.com /> <a href="https://github.com/bigtreetech/CB1#40-pin-gpio#40-pin-gpio"
    title="there" 
     target="_blank" rel="nofollow noopener noreferrer" >
  there&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> if you want to see the mapping for the BTT PI or CB1 MMC version.</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
