A new post titled "2015-08-14 Librem 13: Weekly Progress Update" has been published on the coreboot blog. Find the full post at http://blogs.coreboot.org/blog/2015/08/14/2015-08-14-librem-13-weekly-progress-update/

<p>A question coreboot developers are commonly asked is this: “can you <a href="http://www.coreboot.org/Motherboard_Porting_Guide">port coreboot</a> to my board?”</p>
<p>For my first coreboot post I’d like to show some of the steps required to port coreboot to the <a href="https://puri.sm/librem-13/">Librem 13</a>. In particular, this post is a good example of some of the challenges involved in such a port.</p>
<p>This post is also the first weekly progress update for the Librem 13. Please email me with questions or comments: <em>larry.moberg@puri.sm</em>.</p>
<h3>LPC Bus</h3>
<p>The Librem 13 has convenient test points for the <a href="https://en.wikipedia.org/wiki/Low_Pin_Count">LPC bus</a>. This allows a <a href="https://www.google.com/search?q=bed+of+nails+test+fixture&tbm=isch">bed-of-nails test setup</a> to quickly diagnose problems during manufacturing. But it has the added bonus of facilitating coreboot development.</p>
<p>The earliest coreboot stages are the most important to get right. Debugging using <a href="http://www.coreboot.org/Developer_Manual/Tools">port 0x80</a> writes on the Librem 13 is possible because port 0x80 writes are configured as LPC writes, which can be traced by connecting to the LPC pins.</p>
<h3>And…It’s Gone</h3>
<p>BIOS development is hard. I applied a little too much force on the SPI flash chip and tore the solder pads off the board.</p>
<p><img title="Pads...gone" src="http://i1.wp.com/i.imgur.com/0YhcM9Wm.jpg?resize=320%2C320" alt="Pads...gone" data-recalc-dims="1" /></p>
<p>I attached the LPC connection to a test setup and didn’t check using a multimeter before applying power. LAD2 was shorted to LAD3. This immediately bricked the laptop without even releasing any smoke. Remembering to double check for shorts is a tedious but important lesson.<br />
<img title="Don't Cross The Streams" src="http://i2.wp.com/i.imgur.com/WmKq3Om.jpg?resize=640%2C362" alt="Don't Cross The Streams" data-recalc-dims="1" /></p>
<p style="text-align: center;"><em>The LPC bus wires go under the board. Don’t Cross The Streams!</em></p>
<h3>Why It Matters</h3>
<p>Imagine a laptop where the LPC bus is only available by soldering directly to the pins of the EC. Yes, they exist! That level of fine soldering is a significant barrier for future coreboot hackers. (The Librem 13’s external USB ports are all USB 3, which makes an <a href="http://www.coreboot.org/EHCI_Debug_Port">EHCI debug port</a> harder, but the LPC bus is a good substitute.)</p>
<p>Porting coreboot to a new laptop takes a lot of time and work. Even a good laptop design like the Librem 13 where the LPC pads are available still has a non-trivial level of engineering work to get to a Free Software BIOS.</p>
<p>Next week, I’ll document the engineering considerations around writing to the SPI flash chip, and how that affects coreboot development.</p>