Easy projects
This wiki is retired
Our website is https://www.flashrom.org, instructions on how to add or update documentation are here
All wiki content available in read-only mode at wiki.flashrom.org
You probably came here trying to find a small (minutes to hours) and easy task where you can get your hands dirty and get results immediately.
If you're a flashrom newbie, this page is for you.
Open tasks
Find chips without voltage data
We have added allowed supply voltage ranges (usually denoted VCC in datasheets) to the chip definitions in flashchips.c, but not all of them. Complete the list by looking for the right datasheet and editing flashchips.c accordingly.
Find boards that have a board enable but are not mentioned in print.c
There may be a few boards that had a Board Enable added (in board_enable.c) but which were not added to the array named boards_known in print.c (usually by mistake).
Find those and send a list or even a patch for print.c to the mailing list.
Tag SPI chips in flashchips.c with the status register write command according to their datasheets
Usually the status register of SPI chips is write protected and has to be made accessible by one of two possible commands (or by either one). We indicate this by setting 2 bits in the feature flags of the chip definition in flashchips.c. The default is EWSR (see spi_write_status_register in spi25.c) and so no chips needing this have been tagged correctly (yet!). The task is to look at all chip definitions with bustype = BUS_SPI and check the feature_bits field if it contains the correct FEATURE_WRSR_* flag and add/change it after looking it up in the datasheet. In case either works use FEATURE_WRSR_EITHER. Please send a list of chips to change together with the correct flag or (preferably) a patch to the mailing list.
Add timing info to flash chip definitions (mostly done)
Go through the list of flash chips in flashchips.c inside the flashrom source. For each chip (except SPI chips), read through the data sheets and add a comment to the flash chip definition which contains the timing information in microseconds(!) for the probe sequence.
This will make probing a lot more reliable.
Every annotated chip helps.
Add new flash chip definitions
We have a few dozen chip IDs listed in flash.h, but not in flashchips.c. Find them, dig up the data sheets and add chip definitions for them to flashchips.c. You can use similar flash chips as a guideline. Check our list of pending patches (http://patchwork.coreboot.org/project/flashrom/list/) to not duplicate someone's work. Reviewing any pending patches by verifying the values in the patches is of course also very welcomed too!
This will reduce the number of undetected chips.
Every added chip broadens flashrom support.
Test flashrom
Please see the Board Testing HOWTO.
Done
Add the bus type to flashrom flash chip definitions
Go through the list of flash chips in flashchips.c inside the flashrom source. Look for chip definitions which have .bustype = CHIP_BUSTYPE_NONSPI and look at their data sheets. Read the data sheets and try to figure out the flash bus they use (Parallel/LPC/FWH/SPI). Change the bustype field to CHIP_BUSTYPE_PARALLEL etc. and post a patch to the list.
This will make probing faster and more reliable.
Even a single updated chip helps.
Flashrom#Communication_bus_protocol has a writeup on how to figure out the bus type.