1. 23 Nov, 2011 1 commit
  2. 09 Nov, 2011 1 commit
  3. 06 Nov, 2011 1 commit
    • Stefan Tauner's avatar
      ichspi: use a variable to distinguish ich generations instead of spi_programmer->type · a8d838d9
      Stefan Tauner authored
      
      The type member is enough most of the time to derive the wanted
      information, but
       - not always (e.g. ich_set_bbar),
       - only available after registration, which we want to delay till the
         end of init, and
       - we really want to distinguish between chipset version-grained
         attributes which are not reflected by the registered programmer.
      
      Hence this patch introduces a new static variable which is set up
      early by the init functions and allows us to get rid of all "switch
      (spi_programmer->type)" in ichspi.c. We reuse the enum introduced
      for descriptor mode for the type of the new variable.
      
      Previously magic numbers were passed by chipset_enable wrappers. Now
      they use the enumeration items too. To get this working the enum
      definition had to be moved to programmer.h.
      
      Another noteworthy detail: previously we have checked for a valid
      programmer/ich generation all over the place. I have removed those
      checks and added one single check in the init method. Calling any
      function of a programmer without executing the init method first, is
      undefined behavior.
      
      Corresponding to flashrom svn r1460.
      Signed-off-by: default avatarStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
      Acked-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      a8d838d9
  4. 04 Nov, 2011 1 commit
  5. 22 Oct, 2011 1 commit
  6. 18 Sep, 2011 2 commits
  7. 15 Sep, 2011 1 commit
  8. 08 Sep, 2011 1 commit
  9. 03 Sep, 2011 2 commits
  10. 31 Aug, 2011 1 commit
  11. 13 Jul, 2011 1 commit
  12. 26 Jun, 2011 1 commit
  13. 14 Jun, 2011 1 commit
    • David Hendricks's avatar
      Use shutdown callback mechanism to shutdown programmers · 8bb2021d
      David Hendricks authored
      This patch attempts to resolve some programmer shutdown ordering issues
      by having the programmer init functions register shutdown callbacks explicitly
      wherever it makes most sense. Before, assumptions were made that could lead to
      the internal programmer's state changing before the external programmer could be
      shut down properly. Now, each programmer cleans up after itself and (hopefully)
      performs each operation in the correct order.
      
      As a side-effect, this patch gives us a better usage model for reverse
      operations such as rpci_* and rmmio_*. In the long-run, this should make
      reversing the initialization process easier to understand, less tedious, and
      less error-prone.
      
      In short, this patch does the following:
      - Registers a shutdown callback during initialization for each programmer.
      - Kills the .shutdown function pointer from programmer_entry struct. Also,
        make most shutdown functions static.
      - Adds a few minor clean-ups and corrections (e.g. missi...
      8bb2021d
  14. 09 Jun, 2011 1 commit
  15. 26 May, 2011 1 commit
  16. 11 May, 2011 2 commits
  17. 08 May, 2011 1 commit
  18. 05 May, 2011 1 commit
    • Carl-Daniel Hailfinger's avatar
      Revamp board-specific quirk handling, allow for laptop support · 580d29a9
      Carl-Daniel Hailfinger authored
      
      Handle board-specific quirks in three phases:
      1. Before Super I/O probing (e.g. blacklisting of some Super I/O probes,
      or unhiding the Super I/O)
      2. Before the laptop enforcement decision (e.g. whitelisting a laptop
      for flashing)
      3. After chipset enabling (all current board enables)
      
      Implementation note: All entries in board_pciid_enables get an
      additional phase parameter. Alternative variants (3 tables instead of 1)
      also have their downsides, and I chose table bloat over table
      multiplication).
      
      With this patch, it should be possible to whitelist supported laptops
      with a matching entry (phase P2) in board_pciid_enables which points to
      a function setting laptop_ok=1. (In case DMI is broken, matching might
      be a little bit more difficult, but it is still doable.)
      
      Corresponding to flashrom svn r1294.
      Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      Acked-by: default avatarMichael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
      580d29a9
  19. 04 May, 2011 1 commit
  20. 03 May, 2011 1 commit
  21. 27 Apr, 2011 1 commit
  22. 08 Mar, 2011 2 commits
  23. 07 Mar, 2011 1 commit
  24. 28 Feb, 2011 1 commit
  25. 15 Feb, 2011 1 commit
  26. 04 Feb, 2011 1 commit
  27. 26 Dec, 2010 1 commit
  28. 03 Dec, 2010 1 commit
    • Mark Marshall's avatar
      Add support for the Open Graphics Project development card, OGD1, as a SPI flash programmer · 90021f28
      Mark Marshall authored
      The project is in the the process of designing and making a complete,
      open source, graphics card. More info at http://wiki.opengraphics.org
      
      .
      
      The first development card is a PCI add in card containing a couple of
      FPGAs and a couple of serial flash chips (amongst other things). The
      FPGAs are called XP10 and S3 (their part numbers). The XP10 contains its
      own flash and does not need to be programmed by flashrom - it ensures
      that the device can enumerate on the PCI bus without needing further
      configuration.
      
      The larger FPGA is the S3. This is configured from a large SPI flash
      (2 MBytes). The second SPI flash is used to store the VGA BIOS. It is
      smaller (128 KBytes). This patch adds support for programming either of
      the two SPI flash chips.
      
      The programmer device takes one configuration option which selects which
      of the two flash chips is accessed. This must be set to either "cprom"
      or "bprom". (The project refers to the two chips as "cprom" / "bprom",
      "s3" and "bios" are more readable alternatives).
      
      Add support for SST SST25VF010 (REMS). Mark SST SST25VF016B as tested
      for write.
      
      Corresponding to flashrom svn r1241.
      Signed-off-by: default avatarMark Marshall <mark.marshall@csr.com>
      Acked-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      90021f28
  29. 23 Nov, 2010 1 commit
  30. 10 Nov, 2010 1 commit
  31. 15 Sep, 2010 1 commit
    • Carl-Daniel Hailfinger's avatar
      SPI bitbanging: request/release bus · 2822888c
      Carl-Daniel Hailfinger authored
      
      SPI bitbanging on devices which speak SPI natively has a dual-use
      problem: We need to shut down normal SPI operations to do the bitbanging
      ourselves. Once we're done, it makes a lot of sense to reenable "normal"
      SPI operations again. Add request_bus/release_bus functions to struct
      bitbang_spi_master.
      Add a bitbang shutdown function (not used yet).
      Change MCP SPI and Intel NIC SPI to use the new request/release bus
      infrastructure.
      Cosmetic changes to a few error messages (80 column limit).
      
      There are multiple possible strategies for bus request/release:
      - Request at the start of a SPI command, release immediately afterwards.
      - Request at the start of a SPI multicommand, release once all commands
      of the multicommand are done.
      - Request on programmer init, release on shutdown.
      Each strategy has its own advantages. For now, we will stay with the
      first strategy which worked fine so far.
      
      Corresponding to flashrom svn r1171.
      Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      Acked-by: default avatarUwe Hermann <uwe@hermann-uwe.de>
      2822888c
  32. 03 Sep, 2010 1 commit
    • Idwer Vollering's avatar
      Add Intel Gigabit NIC SPI flashing support · 004f4b79
      Idwer Vollering authored
      
      Tested on a 82541PI (0x8086, 0x107c) using 32-bit hardware.
      
      The last line in nicintel_request_spibus() could be changed so that FL_BUSY
      is used instead.
      
      Shortened sample log:
      [...]
      Found "Intel 82541PI Gigabit Ethernet Controller" (8086:107c, BDF 01:03.0).
      Found chip "ST M25P10.RES" (128 KB, SPI) at physical address 0xfffe0000.
      Multiple flash chips were detected: M25P05.RES M25P10.RES
      Please specify which chip to use with the -c <chipname> option.
      [...]
      
      Corresponding to flashrom svn r1151.
      Signed-off-by: default avatarIdwer Vollering <vidwer@gmail.com>
      Acked-by: default avatarUwe Hermann <uwe@hermann-uwe.de>
      004f4b79
  33. 08 Aug, 2010 1 commit
    • Uwe Hermann's avatar
      Various cosmetic and coding-style fixes · 48ec1b17
      Uwe Hermann authored
      
       - Fix incorrect whitespace, indentation, and coding style in some places.
      
       - Drop '/**' Doxygen comments, we don't use Doxygen. Even if we would use
         it, the comments are useless as we don't have any Doxygen markup in there.
      
       - Use consistent vendor name spelling as per current website (NVIDIA,
         abit, GIGABYTE).
      
       - Use consistent / common format for "Suited for:" lines in board_enable.c.
      
       - Add some missing 'void's in functions taking no arguments.
      
       - Add missing fullstops in sentences, remove them from non-sentences (lists).
      
      Corresponding to flashrom svn r1134.
      Signed-off-by: default avatarUwe Hermann <uwe@hermann-uwe.de>
      Acked-by: default avatarUwe Hermann <uwe@hermann-uwe.de>
      48ec1b17
  34. 29 Jul, 2010 1 commit
  35. 28 Jul, 2010 1 commit
    • Carl-Daniel Hailfinger's avatar
      Add Nvidia nForce MCP61/MCP65/MCP67/MCP78S/MCP73/MCP79 SPI flashing support · 2f436168
      Carl-Daniel Hailfinger authored
      
      Huge thanks go to Michael Karcher for reverse engineering the interface
      and to Johannes Sjölund for testing the first iterations of my patch on
      his hardware until it worked.
      
      Thanks to the following testers of the patch:
      * MCP61, 10de:03e0, LPC OK, ECS Geforce6100SM-M, Andrew Cleveland
      * MCP61, 10de:03e0, LPC OK, Biostar NF520-A2 NF61D-A2, Vitaliy Buchynskyy
      * MCP65, 10de:0441, SPI OK, MSI MS-7369 K9N Neo-F v2, Kjell Braden
      * MCP65, 10de:0441, SPI OK, MSI MS-7369, Wolfgang Schnitker
      * MCP65, 10de:0441, SPI OK, MSI MS-7369, Johannes Sjölund
      * MCP65, 10de:0441, SPI OK, MSI MS-7369, Melchior Franz
      * MCP78S, 10de:075c, SPI OK, Asus M3N78 PRO, Brad Rogers
      * MCP78S, 10de:075c, SPI OK, Asus M3N78-VM, Marcel Partap
      * MCP78S, 10de:075c, SPI OK, Asus M4N78 PRO, Kimmo Vuorinen
      * MCP78S, 10de:075c, SPI OK, Asus M4N78 PRO, Vikram Ambrose
      * MCP79, 10de:0aad, SPI OK, Acer Aspire R3600, Andrew Morgan
      * MCP79, 10de:0aae, LPC ??, Lenovo Ideapad S12 laptop, Christian Schmitt
      * MCP79, 10de:0aae, SPI OK, Apple iMac9,1 Mac-F2218EA9, David "dledson"
      
      flashrom will refuse to write/erase for safety reasons if MCP6x/MCP7x
      SPI is detected.
      
      Corresponding to flashrom svn r1113.
      Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      Acked-by: default avatarUwe Hermann <uwe@hermann-uwe.de>
      2f436168
  36. 27 Jul, 2010 1 commit
    • Carl-Daniel Hailfinger's avatar
      Split off programmer.h from flash.h · 5b997c3e
      Carl-Daniel Hailfinger authored
      
      Programmer specific functions are of absolutely no interest to any file
      except those dealing with programmer specific actions (special SPI
      commands and the generic core).
      
      The new header structure is as follows (and yes, improvements are
      possible):
      flashchips.h  flash chip IDs
      chipdrivers.h  chip-specific read/write/... functions
      flash.h  common header for all stuff that doesn't fit elsewhere
      hwaccess.h hardware access functions
      programmer.h  programmer specific functions
      coreboot_tables.h  header from coreboot, internal programmer only
      spi.h SPI command definitions
      
      Corresponding to flashrom svn r1112.
      Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      Acked-by: default avatarUwe Hermann <uwe@hermann-uwe.de>
      5b997c3e