1. 13 May, 2009 3 commits
    • Uwe Hermann's avatar
      Fix nic3com.c build issues on *BSD · 92c53eef
      Uwe Hermann authored
      
      Corresponding to flashrom svn r501.
      Signed-off-by: default avatarUwe Hermann <uwe@hermann-uwe.de>
      Acked-by: default avatarUwe Hermann <uwe@hermann-uwe.de>
      92c53eef
    • Carl-Daniel Hailfinger's avatar
      There are various reasons why a SPI command can fail · 3e9dbea1
      Carl-Daniel Hailfinger authored
      
      Among others, I have seen the following problems: - The SPI opcode is
      not supported by the controller. ICH-style controllers exhibit this if
      SPI config is locked down. - The address in in a prohibited area. This
      can happen on ICH for any access (BBAR) and for writes in chipset write
      protected areas. - There is no SPI controller.
      
      Introduce separate error codes for unsupported opcode and prohibited
      address.
      
      Add the ability to adjust REMS and RES addresses to the minium supported
      read address with the help of spi_get_valid_read_addr(). That function
      needs to call SPI controller specific functions like reading BBAR on
      ICH.
      
      Corresponding to flashrom svn r500.
      Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      Acked-by: default avatarUwe Hermann <uwe@hermann-uwe.de>
      3e9dbea1
    • Uwe Hermann's avatar
      Add support for 3COM NICs as "external programmer" and Atmel AT49BV512 · b4dcb718
      Uwe Hermann authored
      
      This allows flashrom to identify, read, write, erase and verify flash chips
      on (some) 3COM network cards. The patch uses the external programmer
      infrastructure, the network card is basically treated as an external
      flash programmer.
      
      Usage:
      
      $ ./flashrom -p nic3com
      flashrom v0.9.0-r498
      Found NIC "3COM 3C905C: EtherLink 10/100 PCI (TX)" (10b7:9200), addr = 0xa400
      Calibrating delay loop... OK.
      Found chip "Atmel AT49BV512" (64 KB) at physical address 0xffff0000.
      No operations were specified.
      
      $ ./flashrom -p nic3com -E
      flashrom v0.9.0-r498
      Found NIC "3COM 3C905C: EtherLink 10/100 PCI (TX)" (10b7:9200), addr = 0xa400
      Calibrating delay loop... OK.
      Found chip "Atmel AT49BV512" (64 KB) at physical address 0xffff0000.
      Erasing flash chip... SUCCESS.
      
      $ ./flashrom -p nic3com -wv backup.bin
      flashrom v0.9.0-r498
      Found NIC "3COM 3C905C: EtherLink 10/100 PCI (TX)" (10b7:9200), addr = 0xa400
      Calibrating delay loop... OK.
      Found chip "Atmel AT49BV512" (64 KB) at physical address 0xffff0000.
      Flash image seems to be a legacy BIOS. Disabling checks.
      Programming page: 1023 at address: 0x0000ffc0
      Verifying flash... VERIFIED.
      
      $ ./flashrom -p nic3com -r backup.bin
      flashrom v0.9.0-r498
      Found NIC "3COM 3C905C: EtherLink 10/100 PCI (TX)" (10b7:9200), addr = 0xa400
      Calibrating delay loop... OK.
      Found chip "Atmel AT49BV512" (64 KB) at physical address 0xffff0000.
      Reading flash... done.
      
      I have tested this on actual hardware (see PCI IDs above) and all
      operations worked fine.
      
      Support for other 3COM cards will follow (I added some more which should
      be supportable by this code, but they're untested so far), as well as
      support for NICs from other vendors.
      
      The patch also adds support for the Atmel AT49BV512 which is soldered
      onto the 3COM NIC I used for testing.
      
      Corresponding to flashrom svn r499.
      Signed-off-by: default avatarUwe Hermann <uwe@hermann-uwe.de>
      Acked-by: default avatarMateusz Murawski <matowy@tlen.pl>
      Acked-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      b4dcb718
  2. 12 May, 2009 2 commits
  3. 11 May, 2009 5 commits
  4. 10 May, 2009 1 commit
    • Carl-Daniel Hailfinger's avatar
      Create a SB600 SPI detection heuristic · dbfa0291
      Carl-Daniel Hailfinger authored
      
      I know that the data sheets say we can't read the ROM straps, but
      creative interpretation of the data sheets yielded a heuristic which
      should work pretty well.
      
      NOTE: If you test this, make sure you power down and _unplug_ the
      machine for a few minutes before you boot and run flashrom with this
      patch.
      If the machine is not unplugged for some time, the test will yield
      incorrect results.
      If you run a slightly older flashrom version than svn HEAD, the test
      will yield incorrect results.
      If you run any flashrom version (except svn HEAD plus this patch) after
      poweron, the test will yield incorrect results.
      
      Explanation:
      Older flashrom versions unconditionally write to registers which are
      used for this heuristic. These registers are in the S5 power domain, so
      even powering down does not clear them, you really have to unplug the
      machine and remove the battery if this is a laptop.
      
      Corresponding to flashrom svn r491.
      Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      Acked-by: default avatarStefan Reinauer <stepan@coresystems.de>
      dbfa0291
  5. 09 May, 2009 10 commits
  6. 08 May, 2009 5 commits
  7. 07 May, 2009 2 commits
  8. 06 May, 2009 7 commits
  9. 05 May, 2009 4 commits
  10. 04 May, 2009 1 commit