OLPC Firmware Q2A11

From OLPC
Jump to navigation Jump to search
  This page is monitored by the OLPC team.

Release Notes for OLPC Firmware interim release Q2A11

The informal name of this release is Unblocker.

Status

This is an interim release, not a final release. It has some known deficiencies, from both functionality and procedural standpoint. See #Issues. A final btest image needs to be created soon.

This image works unchanged on both A-test and pre-B boards. (That might not be the case for future releases.)

The main goal of this release is to fix some interrupt problems that were blocking the testing and integration of new hardware such as the CaFe chip and the new touchpad.

Identification

The file name is linuxbios-Q2A11.rom. The hash is:

[buildsys@1cc-dhcp-103 buildrom-061017]$ md5sum linuxbios-Q2A11.rom
081691d36e6434420b46a93bff569613  linuxbios-Q2A11.rom

The manufacturing signature is the first line of the tail dump shown below:

00fffc0: 434c 3120 2020 5132 4131 3120 2051 3241  CL1   Q2A11  Q2A
00fffd0: ffff ffff ffff ffff ff6f 6c70 6300 7265  .........olpc.re
00fffe0: 765f 6100 2700 0000 2200 0000 0000 0e00  v_a.'...".......
00ffff0: e939 eeff ff00 0000 e987 eeff ff00 0000  .9..............

Build Environment / Source Code

The image was built on the "blessed" build machine buildsys@1cc-dhcp-103.media.mit.edu , in the directory /home/buildsys/buildrom-061017/buildrom .

That directory contains changes and patches that have not yet been pushed upstream. Pending that, there is a tarball of the build directory, including the object files as-released, at /home/buildsys/buildrom-061017/firmware-source-Q2A11.tgz

[buildsys@1cc-dhcp-103 buildrom-061017]$ md5sum firmware-source-Q2A11.tgz
bf967e11f2cfbc3bcd7299c94c1ea5cc  firmware-source-Q2A11.tgz

Changes / Fixed Items

  • Incorporated EC Code release version 19. The buildrom scripts Config.mk and packages/linuxbios/linuxbios.mk were modified according to a recipe developed by Richard Smith, so as to pull specific versioned EC bits from an outside repository. That recipe has been submitted to Jordan Crouse for review. To change the EC version that is used, edit EC_VER in Config.mk .
  • Trac ticket 155 - CaFe interrupt routing problem. This problem was fixed by applying a patch that was developed by Jordan Crouse and submitted as an attachment to the trac ticket.
  • Trac ticket 186 - EC AUX Port enable problem. This problem was fixed by adding code in LinuxBIOSv2/src/mainboard/olpc/rev_a/mainboard.c . The gist of the code is to write the value 0xFF to EC register 0xfc83. The code is marked as being a temporary workaround, pending a new release of the EC microcode to fix the root cause of the problem.
  • Trac ticket 153 - Add firmware revision signature. This problem was fixed by adding scripting to Config.mk and packages/linuxbios/linuxbios.mk, to insert the manufacturer revision string at the stipulated location. The changes have been submitted to the LinuxBIOS team for review. To change the string for future revisions, edit the MANUFACTURER_STRING in Config.mk .

Deferred Trac Tickets

  • Trac ticket 136 - make serirq run in quiet mode. I tried to incorporate this change, but ultimately backed it out, for the following reasons:
    • After several attempts to get it right, I was unable to make the necessary changes to the MDD_LPC_SIRQ register "stick". I am currently discussing appropriate places to put the necessary code with Ron Minnich and other LinuxBIOS experts.
    • This is a "would be nice" issue, not a blocker, so I deemed it unwise to hold up the release for this issue.
    • This change introduces a platform dependency (a-test vs b-test boards, with different EC chips), so it would have required more stringent testing than the other changes.
    • After clearing the appropriate bit in EC register 0xFE95, the change did not show up in EC register 0xFE90, so the proposed change clearly needs some more evaluation before it is prudent to deploy it.
  • Trac ticket 151 - Support 256 MB memory. The 256 MB board hasn't arrived yet, so this can't be tested, hence the change is deferred.

Issues

  • The deferred trac tickets need to be addressed
  • The source tree changes need to be reviewed, pushed upstream, and given a git signature.
  • Interested parties, such as Richard Smith and Jordan Crouse, need access to the blessed build system (done, thanks cjb).
  • For future builds, we need to pull Ron Minnich's changes that create a "btest" area in the LB tree
  • We need to decide whether to continue with "one image fits all" or create different images for different board. "One image fits all" is very convenient, but if taken to extremes in the long term, results in software gridlock.