<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>coreboot developer blogs</title>
	<atom:link href="http://blogs.coreboot.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.coreboot.org</link>
	<description>News from coreboot world</description>
	<lastBuildDate>Mon, 08 Apr 2013 22:32:01 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Google Summer of Code 2013 (updated)</title>
		<link>http://blogs.coreboot.org/blog/2013/03/30/google-summer-of-code-2013/</link>
		<comments>http://blogs.coreboot.org/blog/2013/03/30/google-summer-of-code-2013/#comments</comments>
		<pubDate>Sat, 30 Mar 2013 16:45:09 +0000</pubDate>
		<dc:creator>Marc Jones</dc:creator>
				<category><![CDATA[coreboot]]></category>

		<guid isPermaLink="false">http://blogs.coreboot.org/?p=2590</guid>
		<description><![CDATA[coreboot has been accepted to participate in Google Summer of Code, 2013. coreboot has many Project Ideas for various firmware ability levels and the coreboot project also hosts flashrom and SerialICE projects. Please visit the wiki for additional information.]]></description>
				<content:encoded><![CDATA[<p>coreboot has been accepted to participate in Google Summer of Code, 2013.</p>
<p>coreboot has many <a style="line-height: 1.714285714;font-size: 1rem" title="Project Ideas" href="http://www.coreboot.org/Project_Ideas">Project Ideas</a> for various firmware ability levels and the coreboot project also hosts <a style="line-height: 1.714285714;font-size: 1rem" href="http://flashrom.org/GSoC">flashrom</a> and <a style="line-height: 1.714285714;font-size: 1rem" href="http://serialice.com/GSoC">SerialICE</a> projects. Please <a href="http://www.coreboot.org/GSoC" target="_blank">visit the wiki</a> for additional information.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.coreboot.org/blog/2013/03/30/google-summer-of-code-2013/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Support for Supermicro X7DB8+ added</title>
		<link>http://blogs.coreboot.org/blog/2012/06/25/support-for-supermicro-x7db8-added/</link>
		<comments>http://blogs.coreboot.org/blog/2012/06/25/support-for-supermicro-x7db8-added/#comments</comments>
		<pubDate>Mon, 25 Jun 2012 07:06:41 +0000</pubDate>
		<dc:creator>Sven Schnelle</dc:creator>
				<category><![CDATA[coreboot]]></category>

		<guid isPermaLink="false">http://blogs.coreboot.org/?p=2282</guid>
		<description><![CDATA[It&#8217;s been a while since i committed the northbridge code for the Intel 5000 chipset. Now i finally had some spare time to clean up my Supermicro board patch. This board features: Dual Socket 771 1 PCI-e x4 Slot 2 PCI-e x8 Slot 3 PCI-X Slots Onboard Adaptec SCSI Controller two Gigabit NICs and of [...]]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s been a while since i committed the northbridge code for the Intel 5000 chipset. Now i finally had some spare time to clean up my Supermicro board patch. This board features:</p>
<ul>
<li>Dual Socket 771</li>
<li>1 PCI-e x4 Slot</li>
<li>2 PCI-e x8 Slot</li>
<li>3 PCI-X Slots</li>
<li>Onboard Adaptec SCSI Controller</li>
<li>two Gigabit NICs</li>
<li>and of course various other I/O stuff like serial ATA, IDE, serial/parallel ports, etc</li>
</ul>
<p>What isn&#8217;t working right now:</p>
<ul>
<li>Fan Control. All Fans are running on full speed, support for the Winbond W83793 and PECI has to be added</li>
<li>using a PCI-e x1 graphics card. As soon as such a card is plugged in, the system dies with a Machine check exception during startup.</li>
<li>Automatic MPTABLE generation. I&#8217;m currently working on a generic solution, but for now you have to edit devicetree.cb manually.</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.coreboot.org/blog/2012/06/25/support-for-supermicro-x7db8-added/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>coreboot report of May 2012</title>
		<link>http://patrick.georgi-clan.de/coreboot-report-of-may-2012.html</link>
		<comments>http://patrick.georgi-clan.de/coreboot-report-of-may-2012.html#comments</comments>
		<pubDate>Fri, 01 Jun 2012 22:00:00 +0000</pubDate>
		<dc:creator>Patrick Georgi</dc:creator>
		
		<guid isPermaLink="false">http://blogs.coreboot.org/?guid=09545349c66e1074ccec24b172de39ee</guid>
		<description><![CDATA[Let's see if I can keep up with this monthly report of what happened in the
project.
Changes in the repository
New boards
Gigabyte MA785GM-US2H was already committed, but not hooked up properly.
"blobs" repository
We provide a new repository for binary...]]></description>
				<content:encoded><![CDATA[<p>Let's see if I can keep up with this monthly report of what happened in the
project.</p>
<h1>Changes in the repository</h1>
<h2>New boards</h2>
<p>Gigabyte MA785GM-US2H was already committed, but not hooked up properly.</p>
<h2>"blobs" repository</h2>
<p>We provide a new repository for binary components and hooked it up in the build.
So far it provides binaries for the Intel Sandybridge and Ivybridge platform,
as well as the AMD Geode VSA binary that used to be distributed by Marc Jones.</p>
<p>The latter could be replaced by source in the main repository as soon as someone
takes the time to port the VSA source (also part of the repository) from MASM
assembly to some syntax compatible with our build system.</p>
<p>For VSA, the build system was slightly extended so its cbfs-files mechanism can
be used to add coreboot stages.</p>
<h2>SeaBIOS mirror</h2>
<p>We mirror the SeaBIOS repository on review.coreboot.org. This isn't meant for
patch submissions to SeaBIOS, but it provides a more robust source for the
repository when using the build method that automatically integrates SeaBIOS
in coreboot when behind firewalls.</p>
<h2>Sandybridge support</h2>
<p>Google provided various commits to improve their initial contributed code for
Sandybridge and Ivybridge chipsets and boards.</p>
<h2>Simplify using a driver for multiple PCI IDs</h2>
<p>Instead of defining a device structure for a larger number of devices (eg. multiple
revisions of the same device), extend them so they can optionally cover a set of
devices.</p>
<div class="codehilite"><pre><span class="n">static</span> <span class="n">const</span> <span class="n">struct</span> <span class="n">pci_driver</span> <span class="n">pch_sata_ahci_driver</span> <span class="n">__pci_driver</span> <span class="o">=</span> <span class="p">{</span>
   <span class="o">.</span><span class="n">ops</span>    <span class="o">=</span> <span class="o">&amp;</span><span class="n">sata_ops</span><span class="p">,</span>
   <span class="o">.</span><span class="n">vendor</span> <span class="o">=</span> <span class="n">PCI_VENDOR_ID_INTEL</span><span class="p">,</span>
   <span class="o">.</span><span class="n">device</span> <span class="o">=</span> <span class="mh">0x1c02</span><span class="p">,</span>
<span class="p">};</span>
<span class="n">static</span> <span class="n">const</span> <span class="n">struct</span> <span class="n">pci_driver</span> <span class="n">pch_sata_mobile_ahci_driver</span> <span class="n">__pci_driver</span> <span class="o">=</span> <span class="p">{</span>
   <span class="o">.</span><span class="n">ops</span>    <span class="o">=</span> <span class="o">&amp;</span><span class="n">sata_ops</span><span class="p">,</span>
   <span class="o">.</span><span class="n">vendor</span> <span class="o">=</span> <span class="n">PCI_VENDOR_ID_INTEL</span><span class="p">,</span>
   <span class="o">.</span><span class="n">device</span> <span class="o">=</span> <span class="mh">0x1c03</span><span class="p">,</span>
<span class="p">};</span>
</pre></div>


<p>becomes</p>
<div class="codehilite"><pre><span class="n">static</span> <span class="n">const</span> <span class="n">struct</span> <span class="n">pci_driver</span> <span class="n">pch_sata_driver</span> <span class="n">__pci_driver</span> <span class="o">=</span> <span class="p">{</span>
    <span class="o">.</span><span class="n">ops</span>    <span class="o">=</span> <span class="o">&amp;</span><span class="n">sata_ops</span><span class="p">,</span>
    <span class="o">.</span><span class="n">vendor</span> <span class="o">=</span> <span class="n">PCI_VENDOR_ID_INTEL</span><span class="p">,</span>
    <span class="o">.</span><span class="n">devices</span> <span class="o">=</span> <span class="p">{</span> <span class="mh">0x1c02</span><span class="p">,</span> <span class="mh">0x1c03</span> <span class="p">},</span>
<span class="p">};</span>
</pre></div>


<h2>Remove Kconfig options</h2>
<p>Stefan dropped CONFIG_MAX_PHYSICAL_CPUS on non-AMD boards. This Kconfig option
is only used on AMD boards, but should eventually be removed there, too.</p>
<h2>Fixed long time bug in Intel microcode update code</h2>
<p>We used to have a couple of issues with cpuid in the past. It's an opcode that
modifies a whole lot of registers, and we didn't always teach gcc about all of
them.</p>
<p>The latest victim is Intel microcode updates - or rather, one of the earlier ones,
since the code was broken since 2004. It only triggered bugs in later code if the
compiler tried to reuse values in clobbered registers, and was rather elusive.</p>
<h2>roda/rk886ex: Expose VGA devices</h2>
<p>This one is interesting as it explains some of the less well documented properties
in coreboot, devices in devicetree.cb:</p>
<p>As a rule of thumb, all devices should be listed (and not commented out) that are
on-board. While coreboot can find them on its own, it only marks devices as
"on mainboard" that are explicitely mentioned - among other things, the VGABIOS
execution system uses that to determine the VGABIOS location, but we also run
set_subsystem only on onboard hardware.</p>
<h2>Console output</h2>
<p>There were improvements to console output:
<em>  The ACPI generation code can print PSS table entries as it generates them.
</em>  The CBFS code prints more helpful debug output now.
*  MTRR debug output is more useful now.</p>
<h2>Preprocessor mangling</h2>
<p>Some preprocessor idioms were unified. CONFIG_FOO==1 became CONFIG_FOO,
CONFIG_FOO==0 became !CONFIG_FOO.</p>
<p>We also added the config_enabled macro recently introduced with Linux. It works
both for the preprocessor and inside code, and will allow us to eventually reduce
the amount of changes we carry around in our version of Kconfig.</p>
<h2>i915tool</h2>
<p>Ron committed his research project, a set of <a href="http://coccinelle.lip6.fr/">Coccinelle</a>
scripts to convert Linux KMS code to code that can eventually be run from coreboot,
as VGABIOS replacement.</p>
<h2>AMD unification</h2>
<p>Various aspects of AMD code were unified into generic code: FADT table generation for sb800,
cbtypes.h was copied across AMD southbridge drivers,</p>
<h2>Add SPI flash driver for Intel chipsets</h2>
<p>After AMD added a tiny (and highly specialized) SPI driver for sb800, we now also have support
to write to SPI flash on Intel chipsets. Like with AMD, it's used to store configuration data
that is required on wakeup-from-S3.</p>]]></content:encoded>
			<wfw:commentRss>http://blogs.coreboot.org/blog/2012/06/01/coreboot-report-of-may-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>sigrok &#8211; cross-platform, open-source logic analyzer software with protocol decoder support</title>
		<link>http://www.hermann-uwe.de/blog/sigrok--cross-platform-open-source-logic-analyzer-software-with-protocol-decoder-support</link>
		<comments>http://www.hermann-uwe.de/blog/sigrok--cross-platform-open-source-logic-analyzer-software-with-protocol-decoder-support#comments</comments>
		<pubDate>Wed, 02 May 2012 14:05:19 +0000</pubDate>
		<dc:creator>Uwe Hermann</dc:creator>
		
		<guid isPermaLink="false">http://blogs.coreboot.org/?guid=d655cf7322c64ba143c454df31b6c069</guid>
		<description><![CDATA[<p><a href="http://www.wp1029610.wp050.webpack.hosteurope.de/node/1591"><img src="http://www.wp1029610.wp050.webpack.hosteurope.de/files/images/sigrok_logo.png" width="200" height="221" align="right" hspace="5" alt="sigrok logo"/></a></p>
<p>I'm happy to finally announce an <strong>open-source</strong> (GNU GPL), <strong>cross-platform</strong> (<a href="http://sigrok.org/wiki/Linux">Linux</a>, <a href="http://sigrok.org/wiki/Mac_OS_X">Mac OS X</a>, <a href="http://sigrok.org/wiki/FreeBSD">FreeBSD</a>, <a href="http://sigrok.org/wiki/Windows">Windows</a>, ...) <strong>logic analyzer software package</strong> myself and Bert Vermeulen have been working on for quite a long time now: <a href="http://sigrok.org/">sigrok</a> (it <a href="http://en.wikipedia.org/wiki/Grok">groks</a> your signals).</p>
<h3>History</h3>
<p>I originally started working on an open-source <a href="http://sigrok.org/wiki/FAQ#What_is_a_logic_analyzer.3F">logic analyzer</a> software named "flosslogic" in 2010, because I grew tired of almost all devices having a proprietary and Windows-only software, often with limited features, limited input/output file formats, limited usability, limited protocol decoder support, and so on. Thus, the goal was to write a portable, GPL'd, software that can talk to <a href="http://sigrok.org/wiki/Logic_Analyzer_Comparison">many different logic analyzers</a> via modules/plugins, supports many input/output formats, and many different protocol decoders.</p>
<p>The advantage being, that every time we add a new driver for another logic analyzer it automatically supports all the input/output formats we already have, you can use all the protocol decoders we already wrote, etc. It also works the other way around: If someone writes a new protocol decoder or file format driver, it can automatically be used with any of the supported logic analyzers out of the box.</p>
<p>Turns out Bert Vermeulen had been working on a similar software for a while too (due to <em>exactly</em> the same reasons, crappy Windows software, etc.) so it was only logical that we joined forces and worked on this together. We kept Bert's name for the software package ("sigrok"), set up a <a href="http://sourceforge.net/projects/sigrok/">SourceForge project</a>, mailing lists, IRC channel, wiki, etc. and started working.</p>
<h3>Overview, Features</h3>
<p>You can get the lastest sigrok source code from our <a href="http://sigrok.git.sourceforge.net/git/gitweb.cgi?p=sigrok/sigrok;a=shortlog">main git repository</a>:</p>
<pre>
  $ <strong>git clone git://sigrok.git.sourceforge.net/gitroot/sigrok/sigrok</strong>
</pre><p>
Here's a short overview of sigrok and its features as of today. The software consists of the following components:</p>
<ul><li>
    <a href="http://sigrok.org/wiki/Libsigrok">libsigrok</a>, a shared library written in C, which contains the general infrastructure for handling logic analyzer data in a streaming fashion.<br /><a href="http://www.wp1029610.wp050.webpack.hosteurope.de/node/1593"><img src="http://www.wp1029610.wp050.webpack.hosteurope.de/files/images/Sigrok_la_collection_2011.preview.jpg" width="320" height="240" align="right" hspace="5" alt="sigrok logic analyzer collection 2011"/></a><br />
    It also contains the individual <a href="http://sigrok.org/wiki/Supported_hardware">hardware drivers</a> which add support for various logic analyzers. Currently supported hardware includes: <a href="http://sigrok.org/wiki/Saleae_Logic">Saleae Logic</a>, <a href="http://sigrok.org/wiki/CWAV_USBee_SX">CWAV USBee SX</a>, <a href="http://sigrok.org/wiki/Openbench_Logic_Sniffer">Openbench Logic Sniffer (OLS)</a>, <a href="http://sigrok.org/wiki/ZEROPLUS_Logic_Cube_LAP-C">ZEROPLUS Logic Cube LAP-C</a>, <a href="http://sigrok.org/wiki/ASIX_SIGMA">ASIX Sigma/Sigma2</a>, <a href="http://sigrok.org/wiki/ChronoVu_LA8">ChronoVu LA8</a>, and others. Many more devices are on our TODO list (and we already own them), it's just a matter of time to reverse engineer the USB protocols and implement a driver for them.
<p>    Thanks <a href="http://tools.asix.net/">ASIX</a> for being open and helping with the ASIX Sigma driver, and many thanks to <a href="http://www.chronovu.com/">ChronoVu</a> for being open as well and providing information about the ChronoVu LA8 protocol! Thanks to <a href="http://labs.ping.uio.no/2010/04/initial-support-for-asix-sigma-in-sigrok/">H&#229;vard Espeland, Martin Stensg&#229;rd, and Carl Henrik Lunde</a> (who contributed the ASIX Sigma driver), Sven Peter and "Haxx Enterprises"/bushing (for contributing the <a href="http://sigrok.org/wiki/ZEROPLUS_Logic_Cube_LAP-C">ZEROPLUS Logic Cube LAP-C</a> driver, ported from their <a href="https://code.google.com/p/zerominus/">zerominus</a> tool). Also, thanks to Daniel Ribeiro and Renato Caldas who worked on the <a href="http://sigrok.org/wiki/Link_Instruments_MSO-19">Link Instruments MSO-19</a> driver (still work in progress).</p>
<p>    Finally, libsigrok also contains the individual <a href="http://sigrok.org/wiki/Input_output_formats">input/output file format drivers</a>. Currently supported are: <a href="http://sigrok.org/wiki/Input_output_formats#sigrok_session_2">sigrok session</a> (the default format, which contains all metadata), <a href="http://sigrok.org/wiki/Input_output_formats#Bits">bits</a>, <a href="http://sigrok.org/wiki/Input_output_formats#Hex">hex</a>, <a href="http://sigrok.org/wiki/Input_output_formats#ASCII">ASCII</a>, <a href="http://sigrok.org/wiki/Input_output_formats#Binary_2">binary</a>, <a href="http://sigrok.org/wiki/Input_output_formats#Gnuplot">gnuplot</a>, the <a href="http://sigrok.org/wiki/Input_output_formats#OLS">OpenBench Logic Sniffer forma</a>t, the <a href="http://sigrok.org/wiki/Input_output_formats#ChronoVu_LA8_2">ChronoVu LA8 format</a>, <a href="http://sigrok.org/wiki/Input_output_formats#VCD_.28Value_Change_Dump.29">Value Change Dump (VCD)</a> viewable in <a href="http://gtkwave.sourceforge.net/">gtkwave</a>, and <a href="http://sigrok.org/w/index.php?title=Input_output_formats&#38;action=submit#Comma-separated_values_.28CSV.29">Comma-separated values (CSV)</a>.<br /><a href="http://www.wp1029610.wp050.webpack.hosteurope.de/node/1597"><img src="http://www.wp1029610.wp050.webpack.hosteurope.de/files/images/Sigrok_vcd_output_in_gtkwave.preview.png" width="320" height="210" align="right" hspace="5" alt="sigrok VCD file in gtkwave"/></a>
  </p></li>
<li>
    <a href="http://sigrok.org/wiki/Libsigrokdecode">libsigrokdecode</a>, a shared library written in C, which contains the protocol decoder infrastructure and the protocol decoders themselves, which are written in <a href="http://python.org/">Python</a> (&#62;= 3.0).
<p>    The list of currently supported <a href="http://sigrok.org/wiki/Protocol_decoders">protocol decoders</a> includes:<br /><small></small></p>
<pre>
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/dcf77/dcf77.py">dcf77</a>                DCF77 time protocol
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/lpc/lpc.py">lpc</a>                  Low-Pin-Count
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/mx25lxx05d/mx25lxx05d.py">mx25lxx05d</a>           Macronix MX25Lxx05D
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/jtag_stm32/jtag_stm32.py">jtag_stm32</a>           Joint Test Action Group / ST STM32
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/i2s/i2s.py">i2s</a>                  Integrated Interchip Sound
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/spi/spi.py">spi</a>                  Serial Peripheral Interface
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/edid/edid.py">edid</a>                 Extended display identification data
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/pan1321/pan1321.py">pan1321</a>              Panasonic PAN1321
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/mlx90614/mlx90614.py">mlx90614</a>             Melexis MLX90614
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/jtag/jtag.py">jtag</a>                 Joint Test Action Group
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/rtc8564/rtc8564.py">rtc8564</a>              Epson RTC-8564 JE/NB
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/transitioncounter/transitioncounter.py">transitioncounter</a>    Pin transition counter
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/usb/usb.py">usb</a>                  Universal Serial Bus
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/i2cdemux/i2cdemux.py">i2cdemux</a>             I2C demultiplexer
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/i2c/i2c.py">i2c</a>                  Inter-Integrated Circuit
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/i2cfilter/i2cfilter.py">i2cfilter</a>            I2C filter
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/mxc6225xu/mxc6225xu.py">mxc6225xu</a>            MEMSIC MXC6225XU
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/uart/uart.py">uart</a>                 Universal Asynchronous Receiver/Transmitter
</pre><p></p>
<p>  Many more decoders are on our TODO list, and we especially welcome contributed protocol decoders, of course! We intentionally chose Python as implementation language for the decoders, to make them as easy to write (and understand) as possible, even if that means that performance suffers a bit. Have a look at the <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/spi/spi.py">SPI decoder</a> for example, to get a feeling for the implementation.</p>
<p>Protocol decoders can be <strong>stacked</strong> on top of each other, e.g. you can run the <strong>i2c</strong> decoder and pipe its output into the <strong>rtc8564</strong> (Epson RTC-8564 JE/NB) decoder for further processing of the RTC-specific, higher-level protocol. We also plan to support more complex stacking and combining of decoders in various ways in the nearer future.
  </p></li>
<li>
    <a href="http://sigrok.org/wiki/Sigrok-cli">sigrok-cli</a>, is a command-line frontend, which uses both libsigrok and libsigrokdecode. It can acquire samples from logic analyzers and output them in various formats into files or to stdout, and/or run protocol decoders on the aquired data.
<p>    Example: Data acquisition with 1MHz samplerate into a file.<br /></p>
<pre>
 $ <strong>sigrok-cli -d chronovu-la8:samplerate=1mhz --time 1ms -o test.sr</strong>
</pre><p></p>
<p>    Example: Protocol decoding (JTAG).<br /></p>
<pre>
 $ <strong>sigrok-cli -i test.sr -a jtag:tdi=5:tms=2:tck=3:tdo=7</strong>
 [...]
 jtag: "New state: EXIT1-IR"
 jtag: "IR TDI: 11111110, 8 bits"
 jtag: "IR TDO: 11110001, 8 bits"
 jtag: "New state: UPDATE-IR"
 jtag: "New state: RUN-TEST/IDLE"
 [...]
</pre><p></p>
</li>
<li>
    <a href="http://sigrok.org/wiki/Sigrok-qt">sigrok-qt</a>, a Qt-based GUI for sigrok, using both libsigrok and libsigrokdecode.
<p>    This is intended to be a cross-platform GUI (runs fine and looks "native" on Linux, Windows, Mac OS X) supporting data acquisition and protocol decoding.</p>
<p>    <strong>NOTE: The Qt GUI is not yet usable! We're working on getting it out of alpha-stage for the next release.</strong>
  </p></li>
<li>
    <a href="http://sigrok.org/wiki/Sigrok-gtk">sigrok-gtk</a>, a GTK+-based GUI for sigrok, using both libsigrok and libsigrokdecode (soon).<br /><a href="http://www.wp1029610.wp050.webpack.hosteurope.de/node/1594"><img src="http://www.wp1029610.wp050.webpack.hosteurope.de/files/images/Sigrok-gtk-0.1.preview.png" width="320" height="188" align="right" hspace="5" alt="sigrok-gtk"/></a><br />
    This is a cross-platform GUI contributed by <a href="http://www.blacksphere.co.nz/main/blackmagic">Gareth McMullin</a> (thanks!), supporting data aqcuisition (and soon protocol decoding).
<p>    <strong>NOTE: The GTK+ GUI is not yet fully usable (but it's more usable than sigrok-qt)! Consider it alpha-stage software for now.</strong>
  </p></li>
</ul><p>We're happy to hear about other (maybe special-purpose) frontends you may want to write using libsigrok/libsigrokdecode as helper libs!</p>
<h3>Firmware</h3>
<p><a href="http://www.wp1029610.wp050.webpack.hosteurope.de/node/1592"><img src="http://www.wp1029610.wp050.webpack.hosteurope.de/files/images/Saleae_logic.preview.jpg" width="200" height="150" align="right" hspace="5" alt="Saleae Logic"/></a></p>
<p>Some logic analyzer devices require <a href="http://sigrok.org/wiki/Firmware">firmware</a> to be uploaded before they can be used. As always, firmware is a bit of a pain, but here's what we currently do: For non-free firmware we provide instructions how to extract it from the vendor software or from USB dumps, if possible. For distributable firmware we have <a href="http://sigrok.git.sourceforge.net/git/gitweb.cgi?p=sigrok/sigrok-firmwares;a=summary">a git repo</a> where you can get it (thanks <a href="http://tools.asix.net/">ASIX</a> for allowing us to distribute the ASIX Sigma/Sigma2 firmware files!).</p>
<pre>
  $ <strong>git clone git://sigrok.git.sourceforge.net/gitroot/sigrok/sigrok-firmwares</strong>
</pre><p>
Finally, for all Cypress FX2 based logic analyzers we have an open-source (GNU GPL) firmware named <a href="http://sigrok.org/wiki/Fx2lafw">fx2lafw</a>, started by myself, but most work (and finishing the firmware) was then done by <a href="https://www.ohloh.net/accounts/joelholdsworth">Joel Holdsworth</a>, thanks! The support list includes Saleae Logic, CWAV USBee SX, CWAV USBee AX, Robomotic Minilogic/BugLogic3, Braintechnology USB-LPS, and many others. Get the code from the <a href="http://sigrok.git.sourceforge.net/git/gitweb.cgi?p=sigrok/fx2lafw;a=summary">fw2lafw git repository</a>:</p>
<pre>
  $ <strong>git clone git://sigrok.git.sourceforge.net/gitroot/sigrok/fx2lafw</strong>
</pre><h3>Example dumps</h3>
<p>We collect various captured logic analyzer signals / protocol dumps in the <a href="http://sigrok.git.sourceforge.net/git/gitweb.cgi?p=sigrok/sigrok-dumps;a=summary">sigrok-dumps git repository</a>:</p>
<pre>
  $ <strong>git clone git://sigrok.git.sourceforge.net/gitroot/sigrok/sigrok-dumps</strong>
</pre><p>
They can be useful for testing the sigrok command-line application, the sigrok GUIs, or the protocol decoders.</p>
<p>We're happy to include further contributed example data in our repository, please send us <strong>.sr</strong> files of any interesting data/protocol you may come across (even if sigrok doesn't yet have a protocol decoder for that protocol).  See the <a href="http://sigrok.org/wiki/Example_dumps">Example dumps</a> wiki page for details.</p>
<h3>Packages, distros, installers</h3>
<p><a href="http://www.wp1029610.wp050.webpack.hosteurope.de/node/1595"><img src="http://www.wp1029610.wp050.webpack.hosteurope.de/files/images/Sigrok_windows_installer3.jpg" width="320" height="250" align="right" hspace="5" alt="sigrok Windows installer"/></a></p>
<p>I'm currently working on updated <a href="http://packages.qa.debian.org/s/sigrok.html">Debian packages</a> for sigrok (will be <strong>apt-get install sigrok</strong> to get everything), and we're happy about further packaging efforts for other distros. We have preliminary Windows installer files (using <a href="http://nsis.sourceforge.net/">NSIS</a>), but the Windows code needs some more fixes and portability improvements before it's really usable. On Mac OS X you can use fink/Macports to install as usual, fancier <strong>.app</strong> installer files are being worked on.</p>
<h3>Future</h3>
<p>Apart from support for more logic analyzers, input/output formats, and protocol decoders, we have a number of other plans for the next few releases. This includes support for analog data, i.e. support for (USB) oscilloscopes, multimeters, spectrum analyzers, and such stuff. This will also require additional GUI support (which could take a while). Also, we want to improve/fix the Windows support, and test/port sigrok to other architectures we come across. Performance improvements for the protocol decoding as well as more features there are also planned.</p>
<h3>Contact</h3>
<p>Feel free to contact us on the <a href="https://lists.sourceforge.net/lists/listinfo/sigrok-devel">sigrok-devel mailing list</a>, or in the IRC channel <a href="irc://chat.freenode.net/sigrok">#sigrok</a> on Freenode. There's also an <a href="https://identi.ca/group/sigrok">identi.ca group</a> for sigrok. We're always happy about feedback, bug reports, suggestions for improving sigrok, and patches of course!</p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.wp1029610.wp050.webpack.hosteurope.de/node/1591"><img src="http://www.wp1029610.wp050.webpack.hosteurope.de/files/images/sigrok_logo.png" width="200" height="221" align="right" hspace="5" alt="sigrok logo" /></a></p>
<p>I'm happy to finally announce an <strong>open-source</strong> (GNU GPL), <strong>cross-platform</strong> (<a href="http://sigrok.org/wiki/Linux">Linux</a>, <a href="http://sigrok.org/wiki/Mac_OS_X">Mac OS X</a>, <a href="http://sigrok.org/wiki/FreeBSD">FreeBSD</a>, <a href="http://sigrok.org/wiki/Windows">Windows</a>, ...) <strong>logic analyzer software package</strong> myself and Bert Vermeulen have been working on for quite a long time now: <a href="http://sigrok.org/">sigrok</a> (it <a href="http://en.wikipedia.org/wiki/Grok">groks</a> your signals).</p>
<h3>History</h3>
<p>I originally started working on an open-source <a href="http://sigrok.org/wiki/FAQ#What_is_a_logic_analyzer.3F">logic analyzer</a> software named "flosslogic" in 2010, because I grew tired of almost all devices having a proprietary and Windows-only software, often with limited features, limited input/output file formats, limited usability, limited protocol decoder support, and so on. Thus, the goal was to write a portable, GPL'd, software that can talk to <a href="http://sigrok.org/wiki/Logic_Analyzer_Comparison">many different logic analyzers</a> via modules/plugins, supports many input/output formats, and many different protocol decoders.</p>
<p>The advantage being, that every time we add a new driver for another logic analyzer it automatically supports all the input/output formats we already have, you can use all the protocol decoders we already wrote, etc. It also works the other way around: If someone writes a new protocol decoder or file format driver, it can automatically be used with any of the supported logic analyzers out of the box.</p>
<p>Turns out Bert Vermeulen had been working on a similar software for a while too (due to <em>exactly</em> the same reasons, crappy Windows software, etc.) so it was only logical that we joined forces and worked on this together. We kept Bert's name for the software package ("sigrok"), set up a <a href="http://sourceforge.net/projects/sigrok/">SourceForge project</a>, mailing lists, IRC channel, wiki, etc. and started working.</p>
<h3>Overview, Features</h3>
<p>You can get the lastest sigrok source code from our <a href="http://sigrok.git.sourceforge.net/git/gitweb.cgi?p=sigrok/sigrok;a=shortlog">main git repository</a>:</p>
<pre>
  $ <strong>git clone git://sigrok.git.sourceforge.net/gitroot/sigrok/sigrok</strong>
</pre><p>
Here's a short overview of sigrok and its features as of today. The software consists of the following components:</p>
<ul>
<li>
    <a href="http://sigrok.org/wiki/Libsigrok">libsigrok</a>, a shared library written in C, which contains the general infrastructure for handling logic analyzer data in a streaming fashion.<br />
<a href="http://www.wp1029610.wp050.webpack.hosteurope.de/node/1593"><img src="http://www.wp1029610.wp050.webpack.hosteurope.de/files/images/Sigrok_la_collection_2011.preview.jpg" width="320" height="240" align="right" hspace="5" alt="sigrok logic analyzer collection 2011" /></a><br />
    It also contains the individual <a href="http://sigrok.org/wiki/Supported_hardware">hardware drivers</a> which add support for various logic analyzers. Currently supported hardware includes: <a href="http://sigrok.org/wiki/Saleae_Logic">Saleae Logic</a>, <a href="http://sigrok.org/wiki/CWAV_USBee_SX">CWAV USBee SX</a>, <a href="http://sigrok.org/wiki/Openbench_Logic_Sniffer">Openbench Logic Sniffer (OLS)</a>, <a href="http://sigrok.org/wiki/ZEROPLUS_Logic_Cube_LAP-C">ZEROPLUS Logic Cube LAP-C</a>, <a href="http://sigrok.org/wiki/ASIX_SIGMA">ASIX Sigma/Sigma2</a>, <a href="http://sigrok.org/wiki/ChronoVu_LA8">ChronoVu LA8</a>, and others. Many more devices are on our TODO list (and we already own them), it's just a matter of time to reverse engineer the USB protocols and implement a driver for them.
<p>    Thanks <a href="http://tools.asix.net/">ASIX</a> for being open and helping with the ASIX Sigma driver, and many thanks to <a href="http://www.chronovu.com/">ChronoVu</a> for being open as well and providing information about the ChronoVu LA8 protocol! Thanks to <a href="http://labs.ping.uio.no/2010/04/initial-support-for-asix-sigma-in-sigrok/">Håvard Espeland, Martin Stensgård, and Carl Henrik Lunde</a> (who contributed the ASIX Sigma driver), Sven Peter and "Haxx Enterprises"/bushing (for contributing the <a href="http://sigrok.org/wiki/ZEROPLUS_Logic_Cube_LAP-C">ZEROPLUS Logic Cube LAP-C</a> driver, ported from their <a href="https://code.google.com/p/zerominus/">zerominus</a> tool). Also, thanks to Daniel Ribeiro and Renato Caldas who worked on the <a href="http://sigrok.org/wiki/Link_Instruments_MSO-19">Link Instruments MSO-19</a> driver (still work in progress).</p>
<p>    Finally, libsigrok also contains the individual <a href="http://sigrok.org/wiki/Input_output_formats">input/output file format drivers</a>. Currently supported are: <a href="http://sigrok.org/wiki/Input_output_formats#sigrok_session_2">sigrok session</a> (the default format, which contains all metadata), <a href="http://sigrok.org/wiki/Input_output_formats#Bits">bits</a>, <a href="http://sigrok.org/wiki/Input_output_formats#Hex">hex</a>, <a href="http://sigrok.org/wiki/Input_output_formats#ASCII">ASCII</a>, <a href="http://sigrok.org/wiki/Input_output_formats#Binary_2">binary</a>, <a href="http://sigrok.org/wiki/Input_output_formats#Gnuplot">gnuplot</a>, the <a href="http://sigrok.org/wiki/Input_output_formats#OLS">OpenBench Logic Sniffer forma</a>t, the <a href="http://sigrok.org/wiki/Input_output_formats#ChronoVu_LA8_2">ChronoVu LA8 format</a>, <a href="http://sigrok.org/wiki/Input_output_formats#VCD_.28Value_Change_Dump.29">Value Change Dump (VCD)</a> viewable in <a href="http://gtkwave.sourceforge.net/">gtkwave</a>, and <a href="http://sigrok.org/w/index.php?title=Input_output_formats&amp;action=submit#Comma-separated_values_.28CSV.29">Comma-separated values (CSV)</a>.<br />
<a href="http://www.wp1029610.wp050.webpack.hosteurope.de/node/1597"><img src="http://www.wp1029610.wp050.webpack.hosteurope.de/files/images/Sigrok_vcd_output_in_gtkwave.preview.png" width="320" height="210" align="right" hspace="5" alt="sigrok VCD file in gtkwave" /></a>
  </p></li>
<li>
    <a href="http://sigrok.org/wiki/Libsigrokdecode">libsigrokdecode</a>, a shared library written in C, which contains the protocol decoder infrastructure and the protocol decoders themselves, which are written in <a href="http://python.org/">Python</a> (>= 3.0).
<p>    The list of currently supported <a href="http://sigrok.org/wiki/Protocol_decoders">protocol decoders</a> includes:<br />
<small></small></p>
<pre>
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/dcf77/dcf77.py">dcf77</a>                DCF77 time protocol
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/lpc/lpc.py">lpc</a>                  Low-Pin-Count
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/mx25lxx05d/mx25lxx05d.py">mx25lxx05d</a>           Macronix MX25Lxx05D
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/jtag_stm32/jtag_stm32.py">jtag_stm32</a>           Joint Test Action Group / ST STM32
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/i2s/i2s.py">i2s</a>                  Integrated Interchip Sound
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/spi/spi.py">spi</a>                  Serial Peripheral Interface
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/edid/edid.py">edid</a>                 Extended display identification data
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/pan1321/pan1321.py">pan1321</a>              Panasonic PAN1321
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/mlx90614/mlx90614.py">mlx90614</a>             Melexis MLX90614
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/jtag/jtag.py">jtag</a>                 Joint Test Action Group
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/rtc8564/rtc8564.py">rtc8564</a>              Epson RTC-8564 JE/NB
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/transitioncounter/transitioncounter.py">transitioncounter</a>    Pin transition counter
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/usb/usb.py">usb</a>                  Universal Serial Bus
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/i2cdemux/i2cdemux.py">i2cdemux</a>             I2C demultiplexer
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/i2c/i2c.py">i2c</a>                  Inter-Integrated Circuit
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/i2cfilter/i2cfilter.py">i2cfilter</a>            I2C filter
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/mxc6225xu/mxc6225xu.py">mxc6225xu</a>            MEMSIC MXC6225XU
  <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/uart/uart.py">uart</a>                 Universal Asynchronous Receiver/Transmitter
</pre><p></p>
<p>  Many more decoders are on our TODO list, and we especially welcome contributed protocol decoders, of course! We intentionally chose Python as implementation language for the decoders, to make them as easy to write (and understand) as possible, even if that means that performance suffers a bit. Have a look at the <a href="https://gitorious.org/sigrok/sigrok/blobs/master/libsigrokdecode/decoders/spi/spi.py">SPI decoder</a> for example, to get a feeling for the implementation.</p>
<p>Protocol decoders can be <strong>stacked</strong> on top of each other, e.g. you can run the <strong>i2c</strong> decoder and pipe its output into the <strong>rtc8564</strong> (Epson RTC-8564 JE/NB) decoder for further processing of the RTC-specific, higher-level protocol. We also plan to support more complex stacking and combining of decoders in various ways in the nearer future.
  </p></li>
<li>
    <a href="http://sigrok.org/wiki/Sigrok-cli">sigrok-cli</a>, is a command-line frontend, which uses both libsigrok and libsigrokdecode. It can acquire samples from logic analyzers and output them in various formats into files or to stdout, and/or run protocol decoders on the aquired data.
<p>    Example: Data acquisition with 1MHz samplerate into a file.<br />
</p>
<pre>
 $ <strong>sigrok-cli -d chronovu-la8:samplerate=1mhz --time 1ms -o test.sr</strong>
</pre><p></p>
<p>    Example: Protocol decoding (JTAG).<br />
</p>
<pre>
 $ <strong>sigrok-cli -i test.sr -a jtag:tdi=5:tms=2:tck=3:tdo=7</strong>
 [...]
 jtag: "New state: EXIT1-IR"
 jtag: "IR TDI: 11111110, 8 bits"
 jtag: "IR TDO: 11110001, 8 bits"
 jtag: "New state: UPDATE-IR"
 jtag: "New state: RUN-TEST/IDLE"
 [...]
</pre><p></p>
</li>
<li>
    <a href="http://sigrok.org/wiki/Sigrok-qt">sigrok-qt</a>, a Qt-based GUI for sigrok, using both libsigrok and libsigrokdecode.
<p>    This is intended to be a cross-platform GUI (runs fine and looks "native" on Linux, Windows, Mac OS X) supporting data acquisition and protocol decoding.</p>
<p>    <strong style="color:red">NOTE: The Qt GUI is not yet usable! We're working on getting it out of alpha-stage for the next release.</strong>
  </p></li>
<li>
    <a href="http://sigrok.org/wiki/Sigrok-gtk">sigrok-gtk</a>, a GTK+-based GUI for sigrok, using both libsigrok and libsigrokdecode (soon).<br />
<a href="http://www.wp1029610.wp050.webpack.hosteurope.de/node/1594"><img src="http://www.wp1029610.wp050.webpack.hosteurope.de/files/images/Sigrok-gtk-0.1.preview.png" width="320" height="188" align="right" hspace="5" alt="sigrok-gtk" /></a><br />
    This is a cross-platform GUI contributed by <a href="http://www.blacksphere.co.nz/main/blackmagic">Gareth McMullin</a> (thanks!), supporting data aqcuisition (and soon protocol decoding).
<p>    <strong style="color:red">NOTE: The GTK+ GUI is not yet fully usable (but it's more usable than sigrok-qt)! Consider it alpha-stage software for now.</strong>
  </p></li>
</ul>
<p>We're happy to hear about other (maybe special-purpose) frontends you may want to write using libsigrok/libsigrokdecode as helper libs!</p>
<h3>Firmware</h3>
<p><a href="http://www.wp1029610.wp050.webpack.hosteurope.de/node/1592"><img src="http://www.wp1029610.wp050.webpack.hosteurope.de/files/images/Saleae_logic.preview.jpg" width="200" height="150" align="right" hspace="5" alt="Saleae Logic" /></a></p>
<p>Some logic analyzer devices require <a href="http://sigrok.org/wiki/Firmware">firmware</a> to be uploaded before they can be used. As always, firmware is a bit of a pain, but here's what we currently do: For non-free firmware we provide instructions how to extract it from the vendor software or from USB dumps, if possible. For distributable firmware we have <a href="http://sigrok.git.sourceforge.net/git/gitweb.cgi?p=sigrok/sigrok-firmwares;a=summary">a git repo</a> where you can get it (thanks <a href="http://tools.asix.net/">ASIX</a> for allowing us to distribute the ASIX Sigma/Sigma2 firmware files!).</p>
<pre>
  $ <strong>git clone git://sigrok.git.sourceforge.net/gitroot/sigrok/sigrok-firmwares</strong>
</pre><p>
Finally, for all Cypress FX2 based logic analyzers we have an open-source (GNU GPL) firmware named <a href="http://sigrok.org/wiki/Fx2lafw">fx2lafw</a>, started by myself, but most work (and finishing the firmware) was then done by <a href="https://www.ohloh.net/accounts/joelholdsworth">Joel Holdsworth</a>, thanks! The support list includes Saleae Logic, CWAV USBee SX, CWAV USBee AX, Robomotic Minilogic/BugLogic3, Braintechnology USB-LPS, and many others. Get the code from the <a href="http://sigrok.git.sourceforge.net/git/gitweb.cgi?p=sigrok/fx2lafw;a=summary">fw2lafw git repository</a>:</p>
<pre>
  $ <strong>git clone git://sigrok.git.sourceforge.net/gitroot/sigrok/fx2lafw</strong>
</pre><h3>Example dumps</h3>
<p>We collect various captured logic analyzer signals / protocol dumps in the <a href="http://sigrok.git.sourceforge.net/git/gitweb.cgi?p=sigrok/sigrok-dumps;a=summary">sigrok-dumps git repository</a>:</p>
<pre>
  $ <strong>git clone git://sigrok.git.sourceforge.net/gitroot/sigrok/sigrok-dumps</strong>
</pre><p>
They can be useful for testing the sigrok command-line application, the sigrok GUIs, or the protocol decoders.</p>
<p>We're happy to include further contributed example data in our repository, please send us <strong>.sr</strong> files of any interesting data/protocol you may come across (even if sigrok doesn't yet have a protocol decoder for that protocol).  See the <a href="http://sigrok.org/wiki/Example_dumps">Example dumps</a> wiki page for details.</p>
<h3>Packages, distros, installers</h3>
<p><a href="http://www.wp1029610.wp050.webpack.hosteurope.de/node/1595"><img src="http://www.wp1029610.wp050.webpack.hosteurope.de/files/images/Sigrok_windows_installer3.jpg" width="320" height="250" align="right" hspace="5" alt="sigrok Windows installer" /></a></p>
<p>I'm currently working on updated <a href="http://packages.qa.debian.org/s/sigrok.html">Debian packages</a> for sigrok (will be <strong>apt-get install sigrok</strong> to get everything), and we're happy about further packaging efforts for other distros. We have preliminary Windows installer files (using <a href="http://nsis.sourceforge.net/">NSIS</a>), but the Windows code needs some more fixes and portability improvements before it's really usable. On Mac OS X you can use fink/Macports to install as usual, fancier <strong>.app</strong> installer files are being worked on.</p>
<h3>Future</h3>
<p>Apart from support for more logic analyzers, input/output formats, and protocol decoders, we have a number of other plans for the next few releases. This includes support for analog data, i.e. support for (USB) oscilloscopes, multimeters, spectrum analyzers, and such stuff. This will also require additional GUI support (which could take a while). Also, we want to improve/fix the Windows support, and test/port sigrok to other architectures we come across. Performance improvements for the protocol decoding as well as more features there are also planned.</p>
<h3>Contact</h3>
<p>Feel free to contact us on the <a href="https://lists.sourceforge.net/lists/listinfo/sigrok-devel">sigrok-devel mailing list</a>, or in the IRC channel <a href="irc://chat.freenode.net/sigrok">#sigrok</a> on Freenode. There's also an <a href="https://identi.ca/group/sigrok">identi.ca group</a> for sigrok. We're always happy about feedback, bug reports, suggestions for improving sigrok, and patches of course!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.coreboot.org/blog/2012/05/02/sigrok-cross-platform-open-source-logic-analyzer-software-with-protocol-decoder-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>coreboot at IDF 2012 Beijing</title>
		<link>http://blogs.coreboot.org/blog/2012/04/11/coreboot-demonstration-at-idf-beijin/</link>
		<comments>http://blogs.coreboot.org/blog/2012/04/11/coreboot-demonstration-at-idf-beijin/#comments</comments>
		<pubDate>Wed, 11 Apr 2012 04:57:18 +0000</pubDate>
		<dc:creator>Stefan Reinauer</dc:creator>
				<category><![CDATA[coreboot]]></category>

		<guid isPermaLink="false">http://blogs.coreboot.org/?p=2168</guid>
		<description><![CDATA[Come visit booth C26 at IDF 2012 in Beijing for a demonstration of the world&#8217;s first consumer available coreboot based laptop based on Intel&#8217;s Sandybridge processor.    ]]></description>
				<content:encoded><![CDATA[<p>Come visit booth C26 at IDF 2012 in Beijing for a demonstration of the world&#8217;s first consumer available coreboot based laptop based on Intel&#8217;s Sandybridge processor.</p>
<p><a href="http://blogs.coreboot.org/files/2012/04/IMG_20120412_090135.jpg"><img src="http://blogs.coreboot.org/files/2012/04/IMG_20120411_163345-300x225.jpg" alt="" width="300" height="225" /> <img src="http://blogs.coreboot.org/files/2012/04/IMG_20120412_090135-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p><a href="http://blogs.coreboot.org/files/2012/04/IMG_20120412_085454.jpg"><img class="alignnone size-medium wp-image-2179" src="http://blogs.coreboot.org/files/2012/04/IMG_20120412_085454-300x225.jpg" alt="" width="300" height="225" /></a> <a href="http://blogs.coreboot.org/files/2012/04/IMG_20120411_1105171.jpg"><img class="alignnone size-medium wp-image-2171" src="http://blogs.coreboot.org/files/2012/04/IMG_20120411_1105171-300x225.jpg" alt="" width="300" height="225" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.coreboot.org/blog/2012/04/11/coreboot-demonstration-at-idf-beijin/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google releases Intel Sandybridge support for coreboot</title>
		<link>http://blogs.coreboot.org/blog/2012/04/02/google-releases-sandybridge-support-for-coreboot/</link>
		<comments>http://blogs.coreboot.org/blog/2012/04/02/google-releases-sandybridge-support-for-coreboot/#comments</comments>
		<pubDate>Mon, 02 Apr 2012 13:00:02 +0000</pubDate>
		<dc:creator>Stefan Reinauer</dc:creator>
				<category><![CDATA[coreboot]]></category>

		<guid isPermaLink="false">http://blogs.coreboot.org/?p=2165</guid>
		<description><![CDATA[Exciting times! In the last couple of days, Google has released a major piece of coreboot support for the Intel Sandybridge processor and Cougar Point southbridge. This is the first time that coreboot supports the latest generation of Intel chipsets. In the next weeks more code will be released to support a number of mainboards [...]]]></description>
				<content:encoded><![CDATA[<p>Exciting times! In the last couple of days, Google has released a major piece of coreboot support for the Intel Sandybridge processor and Cougar Point southbridge. This is the first time that coreboot supports the latest generation of Intel chipsets. In the next weeks more code will be released to support a number of mainboards with this processor/chipset combination. Stay tuned!</p>
<p>Check out the article on <a href="http://www.phoronix.com/scan.php?page=news_item&amp;px=MTA4Mjg">Phoronix</a>.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.coreboot.org/blog/2012/04/02/google-releases-sandybridge-support-for-coreboot/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Flip Bits, Not Burgers &#8211; coreboot GSoC 2012 &#8211; Update</title>
		<link>http://blogs.coreboot.org/blog/2012/03/09/flip-bits-not-burgers-coreboot-gsoc-2012/</link>
		<comments>http://blogs.coreboot.org/blog/2012/03/09/flip-bits-not-burgers-coreboot-gsoc-2012/#comments</comments>
		<pubDate>Fri, 09 Mar 2012 18:02:08 +0000</pubDate>
		<dc:creator>Marc Jones</dc:creator>
				<category><![CDATA[coreboot]]></category>
		<category><![CDATA[GSoC]]></category>

		<guid isPermaLink="false">http://blogs.coreboot.org/?p=2157</guid>
		<description><![CDATA[Update - coreboot was not selected to participate in GSoC 2012. This is disappointing new for the project. I do not know why we were not selected this year. I will attend the post selection meeting to see what we can do to improve our chances of selection next year. Students, thank you for your [...]]]></description>
				<content:encoded><![CDATA[<p>Update -</p>
<p>coreboot was not selected to participate in GSoC 2012. This is<br />
disappointing new for the project. I do not know why we were not<br />
selected this year. I will attend the post selection meeting to see<br />
what we can do to improve our chances of selection next year.</p>
<p>Students, thank you for your interest in coreboot. We are happy that<br />
you are engaging with our community. I hope that you continue<br />
exploring your interest in coreboot. Please let us know what we can do<br />
to assist you in your learning.</p>
<p>Feel free to send me questions, comments, or concerns.</p>
<p>Regards,<br />
Marc</p>
<p><a href="http://google-opensource.blogspot.com/" target="_blank">http://google-opensource.blogspot.com/</a></p>
<p><span id="more-2157"></span></p>
<hr />
<p>&nbsp;</p>
<p>Flip bits, not burgers!</p>
<p>coreboot is applying for Google Summer of Code 2012. We are currently<br />
looking for mentors, project ideas, and prospective students.</p>
<p>Please visit the coreboot GSoC page: <a href="http://www.coreboot.org/GSoC" target="_blank">http://www.coreboot.org/GSoC</a></p>
<p>Students:<br />
Prospective students should join the email list and join IRC #coreboot to<br />
get familiar with the coreboot community. Please forward any potential GSoC students<br />
to the coreboot GSoC page.</p>
<p>Projects:<br />
We are interested in all types of projects that support coreboot,<br />
including payload and infrastructure projects.<br />
If you have project ideas please post them here:<br />
<a href="http://www.coreboot.org/Project_Ideas" target="_blank">http://www.coreboot.org/Project_Ideas</a></p>
<p>Mentors:<br />
We need mentors! The more qualified mentors we have registered, the<br />
more GSoC projects/students we can support. We will match students<br />
with mentors once the student proposal phase is complete.  If you might like to be<br />
a mentor, please register with google and add yourself to the mentor<br />
list on the wiki.:<br />
<a href="http://www.google-melange.com/gsoc/homepage/google/gsoc2012" target="_blank">http://www.google-melange.com/gsoc/homepage/google/gsoc2012</a></p>
<p>Please feel free to contact me by email or in IRC #coreboot if you<br />
have questions.</p>
<p>Regards,<br />
Marc</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.coreboot.org/blog/2012/03/09/flip-bits-not-burgers-coreboot-gsoc-2012/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Intel i5000 northbridge code commited</title>
		<link>http://blogs.coreboot.org/blog/2012/02/13/intel-i5000-northbridge-code-commited/</link>
		<comments>http://blogs.coreboot.org/blog/2012/02/13/intel-i5000-northbridge-code-commited/#comments</comments>
		<pubDate>Mon, 13 Feb 2012 20:40:50 +0000</pubDate>
		<dc:creator>Sven Schnelle</dc:creator>
				<category><![CDATA[coreboot]]></category>

		<guid isPermaLink="false">http://blogs.coreboot.org/?p=2132</guid>
		<description><![CDATA[I&#8217;ve started that port in November 2011, and made it finally working in January. Well, at least working on my Supermicro X7DB8 Board. Compared to the vendor BIOS which takes about 30 seconds from power-on to grub, coreboot finishes the same task in 3s. Unfortunately the VGA BIOS takes about 2 seconds to program the [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve started that port in November 2011, and made it finally working in January. Well, at least working on my Supermicro X7DB8 Board. Compared to the vendor BIOS which takes about 30 seconds from power-on to grub, coreboot finishes the same task in 3s. Unfortunately the VGA BIOS takes about 2 seconds to program the register to do 80&#215;25 resolution, so eventually we end up with 5s. If you don&#8217;t need a VGA console, and prefer a serial console, you can save even these two seconds.</p>
<p>Actually i didn&#8217;t expect the port progressing so fast. One tool that was a great help was<a title="serialice" href="http://serialice.org"> serialice.</a> I used it to watch the original BIOS initializing memory. To get serialice running, all you have to do is writing a few lines of board specific C code, which initializes the serial port and some basic chipset parts required for accessing the serial port registers. On the host side, a patched QEMU is running, executing the vendor BIOS while redirecting HW accesses to the target computer. Which HW accesses are redirected can be configured by a small lua script. LUA can also be used to pretty print the output from serialice.</p>
<p><span id="more-2132"></span></p>
<p>So with a bit of hacking i had the following output from serialice:</p>
<p><code>pci_mmmo_read_config32(PCI_ADDR(0, 16, 1, 0), MC) == 0x0040000;<br />
pci_mmio_write_config32(PCI_ADDR(0, 16, 1, 0), MC, 00040000);<br />
pci_mmio_write_config8(PCI_ADDR(0, 21, 0, 0), FBDICMD0, EI);<br />
pci_mmio_read_config16(PCI_ADDR(0, 21, 0, 0), FBDISTS0) == 0x1FFF;<br />
pci_mmio_write_config8(PCI_ADDR(0, 21, 0, 0), FBDHPC, STATE_INIT);<br />
pci_mmio_read_config8(PCI_ADDR(0, 21, 0, 0), FBDST) == 0x10;<br />
amb_smbus_write_config32(0, 1, 0, 1, AMB_FBDSBCFGNXT, 0x20b1b);<br />
pci_mmio_write_config8(PCI_ADDR(0, 21, 0, 0), FBDSBTXCFG0, 0x05);<br />
pci_mmio_write_config32(PCI_ADDR(0, 21, 0, 0), FBD0IBTXPAT2EN, 00000000);<br />
pci_mmio_write_config32(PCI_ADDR(0, 21, 0, 0), FBD0IBRXPAT2EN, 00000000);<br />
pci_mmio_read_config32(PCI_ADDR(0, 21, 0, 0), FBD0IBPORTCTL) == 0x1000032;<br />
pci_mmio_write_config32(PCI_ADDR(0, 21, 0, 0), FBD0IBPORTCTL, 00000012);<br />
pci_mmio_write_config8(PCI_ADDR(0, 21, 0, 0), FBDICMD0, TS0);<br />
pci_mmio_read_config16(PCI_ADDR(0, 21, 0, 0), FBDISTS0) == 0x1FFF;<br />
pci_mmio_write_config8(PCI_ADDR(0, 21, 0, 0), FBDICMD0, TS1);<br />
pci_mmio_read_config16(PCI_ADDR(0, 21, 0, 0), FBDISTS0) == 0x1FFF;<br />
pci_mmio_read_config32(PCI_ADDR(0, 21, 0, 0), FBD0IBPORTCTL) == 0x0000016;<br />
pci_mmio_read_config32(PCI_ADDR(0, 21, 0, 0), FBD0IBPORTCTL) == 0x0000016;<br />
pci_mmio_write_config8(PCI_ADDR(0, 21, 0, 0), FBDICMD0, TS2);<br />
pci_mmio_read_config16(PCI_ADDR(0, 21, 0, 0), FBDISTS0) == 0x1FFF;<br />
pci_mmio_read_config8(PCI_ADDR(0, 21, 0, 0), FBDLVL0) == 0x14;<br />
pci_mmio_write_config8(PCI_ADDR(0, 21, 0, 0), FBDICMD0, TS2);<br />
pci_mmio_read_config16(PCI_ADDR(0, 21, 0, 0), FBDISTS0) == 0x1FFF;<br />
pci_mmio_write_config8(PCI_ADDR(0, 21, 0, 0), FBDICMD0, TS3);<br />
pci_mmio_read_config16(PCI_ADDR(0, 21, 0, 0), FBDISTS0) == 0x1FFF;<br />
pci_mmio_write_config8(PCI_ADDR(0, 21, 0, 0), FBDHPC, STATE_READY);<br />
pci_mmio_read_config8(PCI_ADDR(0, 21, 0, 0), FBDST) == 0x20;<br />
pci_mmio_write_config16(PCI_ADDR(0, 21, 0, 0), AMBPRESENT0, 0x8FFF);<br />
pci_mmio_write_config16(PCI_ADDR(0, 21, 0, 0), AMBPRESENT0, 0x8FFF);<br />
MEM:  readl AMB_ID =&gt; 0482111d *<br />
MEM: writel AMB_FERR &lt;= 00000009 *<br />
MEM: writel AMB_NERR &lt;= 00000009 *<br />
pci_mmio_write_config16(PCI_ADDR(0, 21, 0, 0), AMBPRESENT0, 0x8001);<br />
pci_mmio_read_config32(PCI_ADDR(0, 16, 1, 0), MC) == 0x0040000;<br />
pci_mmio_write_config32(PCI_ADDR(0, 16, 1, 0), MC, 40040020);</code></p>
<p>As you can see, this almost looks like C code. Even if it looks like porting coreboot to this chipset should be simple with that level of output, there where some challenges.</p>
<p>First, i5000 uses FBDIMMs. Each of the memory modules contains an AMB (Advanced Memory Buffer) in addition to the memory chips. This AMB has to be initialized and trained during the Memory initalization sequence. So you have three things to setup right to get working memory:</p>
<ul>
<li>The Northbridge (MCH in Intel&#8217;s terminologie)</li>
<li>The AMB</li>
<li>The memory chips on the module itself.</li>
</ul>
<p>The training sequence is needed to account for the high bit rate used on this communication channel: stuffing 12 Bits into one Clock cycle at 166Mhz. But even if it makes initialization more complicated, the AMB can be really helpful during development. It allows to test the Memory chips without help from the MCH, so you can test if the memory module itself is working without having to rely on MCH setup. We&#8217;re (and the vendor BIOS does as well) are using it also for clearing the Memory during initialization. But we made one difference: The vendor BIOS clears the memory modules one after another, while the coreboot code sends the command to clear the memory to all modules at the same time, and collects the status response afterwards from all modules. This has the advantage of requiring only the time the slowest module needs, instead of the sum of all modules.</p>
<p>I spent several evenings investigating why Interrupts were not working, just to discover that i accidentally reset the Busmaster Flag on the Northbridge. This had the effect of having Interrupts in Virtual Wire mode, but not in APIC mode. After fixing this nasty bug, linux was booting properly, and i even had a working keyboard and mouse <img src='http://blogs.coreboot.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Having i5000 code in coreboot, i&#8217;m aiming at supporting the following Boards in coreboot:</p>
<ul>
<li>Supermicro X7DB8(+)</li>
<li>Asus DSBF-D12 (i have this board in my Desktop  Box)</li>
</ul>
<p>There are also a lot of HP/Dell/FSC servers out there using this chipset, which might also be a nice target. Unfortunately i don&#8217;t have such hardware at home <img src='http://blogs.coreboot.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.coreboot.org/blog/2012/02/13/intel-i5000-northbridge-code-commited/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bifferboard porting</title>
		<link>http://blogs.coreboot.org/blog/2012/01/17/bifferboard-porting/</link>
		<comments>http://blogs.coreboot.org/blog/2012/01/17/bifferboard-porting/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 10:10:35 +0000</pubDate>
		<dc:creator>Rudolf Marek</dc:creator>
				<category><![CDATA[coreboot]]></category>

		<guid isPermaLink="false">http://blogs.coreboot.org/?p=2095</guid>
		<description><![CDATA[Ever heard about the bifferboard? It is a small RDC x86 SoC with 150MHz 486 compatible CPU, 8MB flash and 32MB RAM, ethernet and TTL serial line and a few GPIOs. It comes with very tiny loader called biffboot. Quite natural target for coreboot and u-boot. My flatmate purchased one but never had actually time [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://blogs.coreboot.org/files/2012/01/IMG_6655a.jpg"><img class="alignright size-thumbnail wp-image-2110" src="http://blogs.coreboot.org/files/2012/01/IMG_6655a-150x150.jpg" alt="" width="150" height="150" /></a>Ever heard about the <a href="http//bifferos.co.uk/">bifferboard</a>? It is a small <a href="http://www.rdc.com.tw">RDC x86</a> SoC with 150MHz 486 compatible CPU, 8MB flash and 32MB RAM, ethernet and TTL serial line and a few GPIOs. It comes with very tiny loader called <a href="https://sites.google.com/site/bifferboard/Home/bootloader">biffboot</a>. Quite natural target for coreboot and u-boot. My flatmate purchased one but never had actually time to do anything with that so here it comes.<span id="more-2095"></span></p>
<p>As on any other system, best would be to get some datasheets describing in great details everything about the system. Luckily Prochip, Russian company offers on <a href="ftp://ftp.prochip.ru/Support/RDC/R8610">FTP</a> quite complete SDK even with the GPL redboot sources together with JTAG tools datasheets. The board has 64Mbit flash soldered, and of course producing a little brick is always an option.</p>
<p>Internally the system has PCI bus with USB, Network and NB and SB. Checking the redboot sources it turns out that system initialization is actually quite simple. Setup few registers for memory enable timer1 for system SDRAM refresh, enable flash decoding (chipselect). On SB front, just assign IRQs to PCI routers and USB and network and possibly enable the ROMCS write decoding. Yeah and just set level/edge in ELCR <img src='http://blogs.coreboot.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  and write BIOS IRQs into the PCI registers. Plus assign few PCI BARs for EHCI/OHCI and network and set serial to internal decode and you are done. No need to worry about the CMOS because there is none.</p>
<p>I have taken the emulation/qemu-x86 as the base, because I really did not need any fancy structures, all initialization is just couple of PCI writes. It is still unknown if CPU can do CAR setup and this target uses romcc. First thingie to do was implementing a bootblock.c which enables whole decode of flash rom. Second step was to fill all init into the romstage.c. Third step was to fill the PCI BIOS IRQs in ramstage as well as filling the system resources like maximum RAM size and PCI MMIO and IO regions.</p>
<p>Ready to flash and boot. Flash but how? The biffboot enables flashing everything except the last 64KB of itself and flashrom has no support for this system (yet). Also I did not want to have a pernament little brick and the bifferboard has a JTAG connector and schematics for the JTAG, which is just buffered Xilinx parallel cable. You can even buy a debrick set (hw + sw) on the bifferboard page for 20 quids, but it would mean to purchase it separately and nearly with the price of whole system.</p>
<p>I did a soldering and produced a JTAG adapter which agreed with schematics and was on purely software side again. The RDC Loader is a Windows application which can be used to flash stuff using the JTAG. My flash was not listed, but there were some similar which gave me hope that could flash it. Now what? I examined the RDC DLL and found out that in Windows 98 version it was doing straight port 0&#215;378 IO. Great time to write a short iopl(3) / ioperm wrapper and run the wine emulator on second coreboot board with parallel port.</p>
<p>With everything ready there was a time similar to big bang, the first try of everything. First connect JTAG and double check all wires, then check again, because if magic smoke escapes out of the chips (which was added there during manufacture process apparently) the magic would be broken and would leave me very sad. Now power on, magic stays inside chips.</p>
<p>Now run the wine wrapper with the application. It does not complain about unconnected JTAG&#8230; scan the PCI bus&#8230; oh it works! A flashing time! It takes long to move a progress bar but still something is happening. Ah it worked too! Now do reset and run&#8230; Yes coreboot is here, and it seems to die quite at the end where all tables are being generated.</p>
<p>It prints just couple of strange letters as last message. I knew what it was. Of course it was just GDB protocol. I seem to get some exception and we still have GDB enabled as default. I really need to push a change to turn it off to receive human readable exception at first. Now re-flash with gdb disabled and check again. Exception 6, unknown opcode 0f a2.</p>
<p>Examing the fail address with objdump we see the culprit immediately. It is the cpuid in the SMBios tables generator (CPU table). Yeah I believe not many 486 had CPUID, lets disable quickly the SmBios tables and re-flash. Boots gets a bit further and it seems to die inside the SeaBIOS.</p>
<p>Now what? I checked the resources and realized that I forgot to add flash resource thus making PCI devices memory BARs overlap flash memory. Same happened for IO ports which overlaped legacy resources, but it still hung. Luckily the JTAG is also an integrated debugger. There was still couple of places in SeaBIOS with CPUID stuff, and one particular hidden in the header which took me some time to find. But it still does not work.</p>
<p>Failing instruction 0f 31 RDTSC. Now it gets interesting. SeaBIOS seems to calibarate the TSC using timer2 and uses TSC for the timekeeping. Rest of the evening is spent to rewrite this using just low accuracy timer1. Late in the night I got &#8220;No bootable devices found&#8221; which sounds as the best error message I could get! (Yeah Sven likes that too).</p>
<p>Next evening it is a boot Linux time. I want to boot from USB stick (which is not possible from biffboot) using syslinux to boot some custom compiled kernel. SeaBIOS loads syslinux, it loads kernel and&#8230; nothing.</p>
<p>JTAG is quite handy&#8230; HLT quite early not even running in 0xC0000000 range. I forgot to mention that I tried to load bzImage, most likely it fails in that pre-boot stage. I study the kernel sources and realize even if I enabled early printk&#8217;s they go to INT 10H which means I cannot see them.</p>
<p>I quickly hack the function to send it to serial and got this back:</p>
<blockquote><p>Unable to boot &#8211; please use a kernel appropriate to your CPU.</p></blockquote>
<p>Hm even if cross compiled with ARCH=i386 the menuconfig default was i586. Fix it. Boot again. Linux complains about missing FPU. Oh really a CPU from the past. Turn on FPU emulation in kernel boot again. And nothing again. JTAG came handy again and it fails with invalid opcode again. This time a CMOV instruction. It seems a misc.c file misses -march=i386 and gcc is using CMOV there. After fixing this I got kernel to boot ending with kernel panic.</p>
<p>Something wrong with interrupts. Linux complains that it is unable to route IRQ for OHCI/EHCI and I intended to use USB as rootfs. After short research I realize coreboot writes 0 to PCI 0x3c (BIOS IRQ reg) and I really need to call assign_pci_irq in the ramstage.</p>
<p>After fixing this system finally boots. Sunday trip to visit the parents is partly a flashrom time too, making myself present in living room and not watching TV and hacking flashrom instead (during evening hours again). Afternoon spent fixing sisters car central lock system and fixing unrelated parents radio remote controller. Yeah hacking time all around the clock. Back to flashrom again.</p>
<p>Rule #1 make sure your datasheet matches your chip. I googled the datasheet and found some different one and I even check if the chip&#8217;s name under a sticker on board matches. After some time in desperate move I google for full chip name again with last &#8220;B&#8221; included.</p>
<p>It turns out that the B/T variant of EN29LV640 is something completely different. The chip has a standard JEDEC command set but requires word access (16 bit) for that. The 8bit mode with BYTE# signal grounded is used on bifferboard. The chip probing worked with 8 bit mode and erase too. I even managed to erase the chip. But unable to program anything. The JEDEC toggle bit toggle for eternity and examining the dumps I managed to write first nibble of the byte programmed and also second byte is zero&#8230; It sounds fishy but I tried many different things but still no chip programming. Late in the evening I found some kernel module which has biffboot config space writes and they use the 8bit sequence, BUT the programming is in WORD mode, programming two bytes at one.</p>
<p>Fixing flashrom. Verified. Fixing flashrom again, because this &#8220;B&#8221; variant has non-uniform sectors at the start of the flash.</p>
<p>Now what? Xvilka is working on Vortex86 which is much faster x86 SoC from DMP, but it seems that it has very similar NB and SB. Most likely merging a code is a option here. As for the SeaBIOS programming TSC emulation using timer2 could produce better timming functions even without TSC (task for near future maybe).</p>
<p>As the ultimate goal, maybe reviving the coreboot + u-boot from last April would be nice option here.</p>
<p><a href="http://assembler.cz/biff">More pictures and bootlog.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.coreboot.org/blog/2012/01/17/bifferboard-porting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coreboot in shipping products</title>
		<link>http://blogs.coreboot.org/blog/2011/09/12/coreboot-in-shipping-products/</link>
		<comments>http://blogs.coreboot.org/blog/2011/09/12/coreboot-in-shipping-products/#comments</comments>
		<pubDate>Mon, 12 Sep 2011 17:19:46 +0000</pubDate>
		<dc:creator>Marc Jones</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[coreboot]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[firmware]]></category>

		<guid isPermaLink="false">http://blogs.coreboot.org/?p=2047</guid>
		<description><![CDATA[We are starting to see coreboot in more shipping products this summer and I expect even more in the fall. The exciting thing is that coreboot is becoming a piece of technology that vendors are starting to advertise. A recent example is the Portwell PCS-8277: PORTWELL ANNOUNCES REVOLUTIONARY IN-VEHICLE PC WITH THE BOOT SPEED OF AN [...]]]></description>
				<content:encoded><![CDATA[<p>We are starting to see coreboot in more shipping products this summer and I expect even more in the fall. The exciting thing is that coreboot is becoming a piece of technology that vendors are starting to advertise. A recent example is the <a href="http://www.portwell.com.br/products/detail.asp?CUSTCHAR1=PCS-8277">Portwell PCS-8277</a>:</p>
<blockquote><p><a href="http://www.portwell.com.br/productnews/PCS-8277_PR.htm">PORTWELL ANNOUNCES REVOLUTIONARY IN-VEHICLE PC<br />
WITH THE BOOT SPEED OF AN APPLIANCE New PCS-8277 telematics system based on Coreboot® technology with HD graphics processing engine </a></p></blockquote>
<p>I think that we are starting to see vendors and customers becoming more knowledgeable about what is going into their products and how coreboot is an advantage in many situations. I hope to see more announcements in the coming months.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.coreboot.org/blog/2011/09/12/coreboot-in-shipping-products/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
