1. 11 Aug, 2010 1 commit
  2. 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
  3. 31 Jul, 2010 1 commit
  4. 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
  5. 27 Jul, 2010 2 commits
    • 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
    • Carl-Daniel Hailfinger's avatar
      Convert MMIO accesses of non-internal PCI-based programmers to be endian-agnostic · 1d3a2fef
      Carl-Daniel Hailfinger authored
      
      Convert all PCI-based external programmers to use special little-endian
      accessors for all MMIO regions of PCI devices. This patch does _not_
      touch the internal programmer (which is PCI-based as well).
      
      Huge thanks go to Misha Manulis who worked with me to create a first
      version of this patch for the satasii programmer based on modification
      of generic code.
      
      Huge thanks also go to Segher Boessenkool for suggesting the pci_mmio_
      prefix for the abstraction layer.
      
      NOTE to package maintainers: With this patch, compilation and usage of
      flashrom should be safe on x86, x86_64, MIPS (little and big endian) and
      PowerPC (big endian).
      
      The internal programmer is disabled on non-x86/x86_64 (but it
      compiles). The atahpt, nic3com, nicnatsemi, nicrealtek and rayer_spi
      can not be compiled on non-x86/x86_64 because port space I/O is
      not (yet) supported. Please compile with default settings on
      x86/x86_64 and with the following settings on all other architectures:
      make CONFIG_NIC3COM=no CONFIG_NICREALTEK=no CONFIG_NICNATSEMI=no
      CONFIG_RAYER_SPI=no
      
      Corresponding to flashrom svn r1111.
      Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      Acked-by: default avatarMisha Manulis <misha@manulis.com>
      1d3a2fef
  6. 22 Jul, 2010 2 commits
  7. 13 Jul, 2010 1 commit
  8. 08 Jul, 2010 1 commit
  9. 06 Jul, 2010 1 commit
  10. 03 Jul, 2010 1 commit
  11. 01 Jul, 2010 1 commit
  12. 21 Jun, 2010 1 commit
  13. 20 Jun, 2010 1 commit
  14. 13 Jun, 2010 1 commit
  15. 12 Jun, 2010 1 commit
  16. 30 May, 2010 1 commit
  17. 28 May, 2010 1 commit
  18. 26 May, 2010 1 commit
    • Carl-Daniel Hailfinger's avatar
      Handle the following architectures in generic flashrom code · cceafa2a
      Carl-Daniel Hailfinger authored
      
      - x86/x86_64 (little endian)
      - PowerPC (big endian)
      - MIPS (big+little endian)
      
      No changes to programmer specific code. This means any drivers with MMIO
      access will _not_ suddenly start working on big endian systems, but with
      this patch everything is in place to fix them.
      
      Compilation should work on all architectures listed above for all
      drivers except nic3com and nicrealtek which require PCI Port IO which is
      x86-only for now.
      
      To compile without nic3com and nicrealtek, run
      make distclean
      make CONFIG_NIC3COM=no CONFIG_NICREALTEK=no
      
      Thanks to Misha Manulis for testing early versions of this patch on
      PowerPC (big endian) with the satasii programmer.
      Thanks to Segher Boessenkool for design review and for helping out with
      compiler tricks and pointing out that we need eieio on PowerPC.
      Thanks to Vladimir Serbinenko for compile testing on MIPS (little
      endian) and PowerPC (big endian) and for runtime testing on MIPS (little
      endian).
      Thanks to David Daney for compile testing on MIPS (big endian).
      Thanks to Uwe Hermann for compile and runtime testing on x86_64.
      
      DO NOT RUN flashrom ON NON-X86 AFTER APPLYING THIS PATCH!
      This patch only provides the infrastructure, but does not convert any
      drivers, so flashrom will compile, but it won't do the right thing on
      non-x86 platforms.
      
      Corresponding to flashrom svn r1013.
      Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      Acked-by: default avatarMisha Manulis <misha@manulis.com>
      Acked-by: default avatarVladimir 'phcoder/φ-coder' Serbinenko <phcoder@gmail.com>
      Acked-by: default avatarUwe Hermann <uwe@hermann-uwe.de>
      Acked-by: default avatarSegher Boessenkool <segher@kernel.crashing.org>
      cceafa2a
  19. 22 May, 2010 2 commits
  20. 07 May, 2010 1 commit
  21. 25 Feb, 2010 1 commit
  22. 18 Feb, 2010 1 commit
  23. 13 Feb, 2010 1 commit
    • Carl-Daniel Hailfinger's avatar
      Add SPI mode diagnostics for all post-MCP55 (nForce 5) chipsets from Nvidia · ea3b1b4d
      Carl-Daniel Hailfinger authored
      
      Huge thanks to Michael Karcher for reverse engineering the MCP67 chipset
      and writing a spec. Due to this, we were able to use the chinese wall
      technique for 100% clean room reverse engineering.
      
      This patch doesn't touch any of the new registers, it only reads them.
      Assuming that read has no side effects, this patch is a no-op and safe.
      
      We need "flashrom -V" output from all post-MCP55 (nForce 5) chipset
      boards. Please indicate if your board uses SPI flash or LPC flash (if
      you know it). Note: That output is only helpful if it is created with
      patched flashrom and if is from the first run of flashrom after a cold
      boot (reset or Ctrl-Alt-Del is not sufficient). There is a pattern based
      on which we can probably detect which flash type is present on the
      board.
      
      Thanks to Alessandro Polverini for testing earlier iterations of this
      patch.
      
      Note: The MCP67 should work. I guessed that the other recent Nvidia
      chipsets would work in a similar way, and created a simplified
      do-nothing catchall chipset enable function which dumps some info and
      instructs the user to send more info.
      
      Corresponding to flashrom svn r902.
      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>
      ea3b1b4d
  24. 19 Jan, 2010 1 commit
  25. 12 Jan, 2010 1 commit
  26. 10 Jan, 2010 1 commit
  27. 03 Jan, 2010 1 commit
  28. 23 Dec, 2009 2 commits
  29. 21 Dec, 2009 1 commit
  30. 17 Dec, 2009 1 commit
    • Carl-Daniel Hailfinger's avatar
      Use the maximum decode size infrastructure · 2a9e2455
      Carl-Daniel Hailfinger authored
      
      - Detect max FWH size for Intel
        631xESB/632xESB/3100/ICH6/ICH7/ICH8/ICH9/ICH10.
      - Move IDSEL override before decode size checking for the chipsets
        listed above or flashrom will complain based on old values.
      - Adjust supported flash buses for the chipsets listed above (none of
        them supports LPC or Parallel).
      - Detect max parallel size for AMD/National Semiconductor CS5530.
      - Adjust supported flash buses for CS5530/CS5530A.
      - Set board-specific max decode size for Elitegroup K7VTA3.
      - Set board-specific max decode size for Shuttle AK38N.
      
      Corresponding to flashrom svn r806.
      Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      Acked-by: default avatarUwe Hermann <uwe@hermann-uwe.de>
      2a9e2455
  31. 13 Dec, 2009 1 commit
    • Carl-Daniel Hailfinger's avatar
      Internal (onboard) programming was the only feature which could not be disabled · 66ef4e5f
      Carl-Daniel Hailfinger authored
      
      Make various pieces of code conditional on support for internal
      programming. Code shared between PCI device programmers and onboard
      programming is now conditional as well.
      
      It is now possible to build only with dummy support:
      make CONFIG_INTERNAL=no CONFIG_NIC3COM=no CONFIG_SATASII=no
      CONFIG_DRKAISER=no CONFIG_SERPROG=no CONFIG_FT2232SPI=no
      
      This allows building for a specific use case only, and it also
      facilitates porting to a new architecture because it is possible to
      focus on highlevel code only.
      
      Note: Either internal or dummy programmer needs to be compiled in due to
      the current behaviour of always picking a default programmer if -p is
      not specified. Picking an arbitrary external programmer as default  
      wouldn't make sense.
      
      Build and runtime tested in all 1024 possible build combinations. The
      only failures are by design as mentioned above.
      
      Corresponding to flashrom svn r797.
      Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      Acked-by: default avatarSean Nelson <audiohacked@gmail.com>
      66ef4e5f
  32. 09 Dec, 2009 1 commit
  33. 08 Dec, 2009 1 commit
  34. 26 Nov, 2009 1 commit
  35. 15 Nov, 2009 2 commits