1. 23 Nov, 2011 1 commit
  2. 18 Sep, 2011 2 commits
  3. 25 Aug, 2011 1 commit
  4. 28 Jul, 2011 1 commit
  5. 26 Jun, 2011 1 commit
  6. 13 Oct, 2010 2 commits
  7. 10 Oct, 2010 2 commits
    • Carl-Daniel Hailfinger's avatar
      Simplify calls to inner write functions · 184b95f4
      Carl-Daniel Hailfinger authored
      
      No behavioural changes, just equivalence transformations.
      
      Corresponding to flashrom svn r1209.
      Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      Acked-by: default avatarUwe Hermann <uwe@hermann-uwe.de>
      184b95f4
    • Carl-Daniel Hailfinger's avatar
      Unify chip write functions · b30a5ed4
      Carl-Daniel Hailfinger authored
      
      The currently used write functions (wrappers) all use helpers which
      perform the actual write (inner functions).
      
      The signature of the write wrappers is: int write_chip(struct flashchip
      *flash, uint8_t * buf);
      
      The signature of the inner write functions varied a lot. This patch
      changes them to: int write_part(struct flashchip *flash, uint8_t *src,
      int start, int len);
      
      Did you know that flashrom has only 8 inner write functions for all
      flash chips? write_page_write_jedec_common write_sector_jedec_common
      write_sector_28sf040 spi_chip_write_256_new spi_chip_write_1_new
      spi_aai_write_new write_page_82802ab write_page_m29f400bt
      
      Export all inner write functions.
      
      Change the function signature of wait_82802ab to eliminate single-use
      variables.
      
      Remove an error message in write_page_m29f400bt which was printed for
      every byte written regardless of success.
      
      Add sharplhf00l04.c to the list of flash chip drivers in the Makefile.
      While the functions in there are unused, I suspect we will need them
      later, and by hooking the file up we ensure that compilation won't
      break.
      
      Corresponding to flashrom svn r1208.
      Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      Acked-by: default avatarUwe Hermann <uwe@hermann-uwe.de>
      b30a5ed4
  8. 08 Oct, 2010 2 commits
  9. 30 May, 2010 1 commit
  10. 03 Apr, 2010 1 commit
  11. 24 Mar, 2010 1 commit
  12. 22 Mar, 2010 4 commits
  13. 20 Mar, 2010 1 commit
  14. 19 Mar, 2010 1 commit
  15. 15 Mar, 2010 1 commit
  16. 26 Feb, 2010 1 commit
  17. 09 Jan, 2010 1 commit
    • Sean Nelson's avatar
      Block eraser conversions and support for Eon EN25B series · 54596379
      Sean Nelson authored
      
      Convert chips to block_erasers:
      ASD AE49F2008
      AMIC A25L40P(T/U)
      AMIC A49LF040A
      EMST F49B002UA
      Eon EN25B05
      Eon EN25B10
      Eon EN25B20
      Eon EN25B40
      Eon EN25B80
      Eon EN25B16
      Eon EN25B32
      Eon EN25B64
      Eon EN25D16
      Eon EN25F05
      Eon EN25F10
      Eon EN25F20
      Eon EN25F40
      Eon EN25F80
      Eon EN25F16
      Eon EN25F32
      Intel 28F001BX-B
      Intel 28F001BX-T
      Intel 82802AB
      Intel 82802AC
      Macronix MX25L1635D
      Macronix MX25L3235D
      Macronix MX25L6405
      Macronix MX25L12805
      Macronix MX29F001B
      Macronix MX29F001T
      Macronix MX29LV040
      
      Added new chips (according to datasheets):
      Eon EN25B05T
      Eon EN25B10T
      Eon EN25B20T
      Eon EN25B40T
      Eon EN25B80T
      Eon EN25B16T
      Eon EN25B32T
      Eon EN25B64T
      
      Added minor Device IDs for Eon EN25Bxx{T,B} chips.
      
      Corresponding to flashrom svn r843.
      Signed-off-by: default avatarSean Nelson <audiohacked@gmail.com>
      Acked-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      54596379
  18. 26 Nov, 2009 1 commit
    • Michael Karcher's avatar
      Refine support for the JEDEC Software Data Protection · 972cec28
      Michael Karcher authored
      
      This patch removes the extremely dangerous unprotect_jedec function
      which is not used at all within flashrom code, and renames the
      misleadingly named protect_jedec function to start_program_jedec.
      
      Calls to protect_jedec after flashing are removed, because a) on LPC
      chips, the command sent by protoct_jedec is not even in the datasheet
      and b) on parallel chips, the block write command issued before already
      contained the software protection sequence, so software protection is
      definitely enabled.
      
      This patch also removes two clones of protect_jedec
      
      Background: JEDEC Software Data Protection started as an optional
      feature, which was disabled on the first single-voltage-flash chips.
      The software data protection is the need to prefix a write with a magic
      "write enable" command, while without write protection every write
      access into the chip's address space modifies flash content. This magic
      write enable command also tells the flash chip that the programmer
      obviously support sending write-enable commands and turns off the "any
      write modifies flash content" mode. There also exist a two-command (6
      writes) sequence that disables Software Data Protection completey, which
      should only ever be used to prepare updating with a device that can't
      handle software data protection.
      
      Corresponding to flashrom svn r783.
      Signed-off-by: default avatarMichael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
      Acked-by: default avatarSean Nelson <audiohacked@gmail.com>
      Acked-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      972cec28
  19. 16 Sep, 2009 1 commit
  20. 05 Sep, 2009 1 commit
    • Carl-Daniel Hailfinger's avatar
      Unify some probe functions that basically correspond to probe_jedec() · 4e9cebb2
      Carl-Daniel Hailfinger authored
      
      Use the correct reset sequence for 82802AB. Detailed explanation:
      The reset sequence before ID reading was correct, so ID always
      worked. But the reset sequence after ID reading was a copy-paste
      leftover from probe_jedec and didn't have any effect. I dug up
      flash_and_burn from the freebios-v1 tree and found out that 82802ab.c
      was indeed a copy of jedec.c with lots of experimental unannotated #if 0
      and #if 1.
      About the wait_82802ab change:
      Before the patch, wait_82802ab entered read status mode, switched to ID
      mode, then tried an incorrect and unsupported JEDEC command to exit ID
      mode. Nobody ever saw that this failed because all subsequent function
      calls had the correct reset sequence at the beginning.
      With the patch, wait_82802ab enters read status mode, then switches back
      to read mode with the official reset command.
      
      Corresponding to flashrom svn r717.
      Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      Acked-by: default avatarStefan Reinauer <stepan@coresystems.de>
      4e9cebb2
  21. 02 Sep, 2009 1 commit
  22. 15 Jun, 2009 1 commit
  23. 05 Jun, 2009 2 commits
  24. 16 May, 2009 2 commits
  25. 06 Mar, 2009 1 commit
  26. 05 Mar, 2009 1 commit
    • Carl-Daniel Hailfinger's avatar
      Use helper functions to access flash chips · 61a8bd27
      Carl-Daniel Hailfinger authored
      
      Right now we perform direct pointer manipulation without any abstraction
      to read from and write to memory mapped flash chips. That makes it
      impossible to drive any flasher which does not mmap the whole chip.
      
      Using helper functions readb() and writeb() allows a driver for external
      flash programmers like Paraflasher to replace readb and writeb with
      calls to its own chip access routines.
      
      This patch has the additional advantage of removing lots of unnecessary
      casts to volatile uint8_t * and now-superfluous parentheses which caused
      poor readability.
      
      I used the semantic patcher Coccinelle to create this patch. The
      semantic patch follows:
      @@
      expression a;
      typedef uint8_t;
      volatile uint8_t *b;
      @@
      - *(b) = (a);
      + writeb(a, b);
      @@
      volatile uint8_t *b;
      @@
      - *(b)
      + readb(b)
      @@
      type T;
      T b;
      @@
      (
       readb
      |
       writeb
      )
       (...,
      - (T)
      - (b)
      + b
       )
      
      In contrast to a sed script, the semantic patch performs type checking
      before converting anything.
      
      Tested-by: Joe Julian
      
      Corresponding to flashrom svn r418 and coreboot v2 svn r3971.
      Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      Acked-by: default avatarFENG Yu Ning <fengyuning1984@gmail.com>
      61a8bd27
  27. 25 Jan, 2009 1 commit
  28. 24 Apr, 2008 1 commit
    • Claus Gindhart's avatar
      82802ab: touch only blocks that need updating · ef300238
      Claus Gindhart authored
      
      Flash pages, which where excluded from updating using the exclude or the
      layout option, as well as areas, whose flash contents already contain
      the desired data, will be skipped. These ensures absolute data security
      of critical areas (BIOS boot block), e.g. against a sudden power off or
      a CPU hangup during flashing. As a nice side effect, it speeds up the
      flash process, if the BIOS to be flashed is very similar to the version
      in flash.
      
      Corresponding to flashrom svn r217 and coreboot v2 svn r3260.
      Signed-off-by: default avatarClaus Gindhart <claus.gindhart@kontron.com>
      Acked-by: default avatarStefan Reinauer <stepan@coresystems.de>
      ef300238
  29. 14 Mar, 2008 1 commit
  30. 13 Mar, 2008 1 commit
  31. 17 Oct, 2007 1 commit