1. 03 Jul, 2010 1 commit
  2. 25 Mar, 2010 1 commit
  3. 24 Mar, 2010 1 commit
  4. 26 Feb, 2010 1 commit
  5. 28 Jan, 2010 1 commit
    • Sean Nelson's avatar
      Complete the addition of Feature Bits for all Jedec based chips · 35727f76
      Sean Nelson authored
      
      Add FEATURE_SHORT_RESET, FEATURE_LONG_RESET, and FEATURE_EITHER_RESET
      rewrite jedec functions to use getaddrmask
      
      convert write_49f002 to write_jedec_1
      convert write_w39v040c to write_jedec_1
      convert probe_w39v040c to probe_jedec
      convert write_49lf040 to write_jedec_1
      convert write_pm29f002 to write_jedec
      convert write_29f040b to write_jedec_1
      convert probe_29f040b to probe_jedec
      convert erase_chip_29f040b to erase_chip_block_jedec
      convert erase_sector_29f040b to erase_sector_jedec
      convert write_m29f002b to write_jedec
      convert write_m29f002t to write_jedec
      convert *_29f002 to *_jedec
      
      decouple unused files from Makefile:
      am29f040b.c
      en29f002a.c
      m29f002.c
      mx29f002.c
      pm29f002.c
      sst49lf040.c
      w39v040c.c
      w49f002u.c
      
      Corresponding to flashrom svn r886.
      Signed-off-by: default avatarSean Nelson <audiohacked@gmail.com>
      Acked-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      Acked-by: default avatarAnders Juel Jensen <andersjjensen@gmail.com>
      35727f76
  6. 09 Jan, 2010 2 commits
  7. 04 Jan, 2010 1 commit
  8. 22 Dec, 2009 1 commit
  9. 17 Dec, 2009 2 commits
  10. 27 Nov, 2009 1 commit
    • Michael Karcher's avatar
      Use common jedec functionality where appropriate · 1c296ca8
      Michael Karcher authored
      
      The deleted function in en29f002a.c is reintroduced as
      write_by_byte_jedec in jedec.c as it contains no chip-specific
      instructions. It is not yet used in other chip drivers, as key addresses
      (0x2AAA/0x5555) are often specified with less bits. After crosschecking
      datasheets, most of the fixmes can probably be resolved as indicated in
      them, causing significant code reduction.
      
      The common JEDEC code for bytewise programming does not program 0xFF
      at all. The chips that had a dedicated bytewise flash function which
      has been changed to write_jedec_1 thus changed flashing behaviour
      and the "write" test flag has been removed. This applies to: AMD
      Am29F002BB/Am29F002NBB AMD Am29F002BT/Am29F002NBT (TEST_OK_PREW before)
      AMIC A29002B AMIC A29002T (TEST_OK_PREW before) EON EN29F002(A)(N)B EON
      EN29F002(A)(N)T (TEST_OK_PREW before) Macronix MX29F001B (TEST_OK_PREW
      before) Macronix MX29F001T (TEST_OK_PREW before) Macronix MX29F002B
      Macronix MX29F002T (TEST_OK_PREW before) Macronix MX29LV040
      
      Similar analysis should be performed for the read id stuff.
      
      Corresponding to flashrom svn r785.
      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>
      1c296ca8
  11. 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
  12. 25 Nov, 2009 1 commit
  13. 14 Nov, 2009 1 commit
  14. 19 Oct, 2009 1 commit
  15. 23 Sep, 2009 1 commit
  16. 02 Sep, 2009 1 commit
  17. 23 Jul, 2009 1 commit
  18. 25 Jun, 2009 1 commit
  19. 15 Jun, 2009 1 commit
  20. 05 Jun, 2009 1 commit
  21. 03 Jun, 2009 1 commit
  22. 16 May, 2009 2 commits
  23. 12 May, 2009 1 commit
  24. 11 May, 2009 1 commit
    • Carl-Daniel Hailfinger's avatar
      Check probing results for flash contents · 8130f2d3
      Carl-Daniel Hailfinger authored
      
      When flashrom JEDEC code sends the ID command to the chip, it expects to
      see IDs in the default flash location.
      
      However, sometimes the chip does not react to the ID command, either
      because it doesn't understand the command or because the command never
      reached it. One way to detect this is to compare ID output with flash
      chip contents for the same location. If they are identical, there is a
      high chance you're not actually seeing ID output. Warn the user in that
      case.
      
      This patch helps a lot when a chip is not recognized and we want to
      check if the probe responses are real IDs or just random flash chip
      contents.
      
      This should probably be added to all probe functions, but probe_jedec
      is called for all sizes and thus flashrom will check this condition at
      least once per size, making sure we can cross-match the warning.
      
      Corresponding to flashrom svn r494.
      Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      Acked-by: default avatarFENG Yu Ning <fengyuning1984@gmail.com>
      8130f2d3
  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 Jun, 2008 1 commit
  29. 21 Jun, 2008 2 commits
  30. 14 May, 2008 1 commit
  31. 31 Dec, 2007 1 commit
    • Carl-Daniel Hailfinger's avatar
      Add continuation ID support to jedec.c · ae8afa9d
      Carl-Daniel Hailfinger authored
      
      The continuation ID code does not go further than checking for IDs of
      the type 0x7fXX, but does this for vendor and product ID. The current
      published JEDEC spec has a list where the largest vendor ID is 7 bytes
      long, but all leading bytes are 0x7f. The list will grow in the future,
      and using a 64bit variable will not be enough anymore.
      Besides that, it seems that the location of the ID byte after the first
      continuation ID byte is very vendor specific, so we may have to revisit
      that code some time in the future.
      
      (Suggestion for a new encoding:
      Use a two-byte data type for the ID, the lower byte contains the only
      non-0x7f byte, the upper byte contains the number of 0x7f bytes used as
      prefix, which is the bank number minus 1 the vendor ID appears in.)
      
      Add support for EON EN29F002AT.
      
      Corresponding to flashrom svn r171 and coreboot v2 svn r3030.
      Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      Acked-by: default avatarCorey Osgood <corey.osgood@gmail.com>
      ae8afa9d
  32. 13 Nov, 2007 1 commit
  33. 17 Oct, 2007 1 commit
  34. 12 Oct, 2007 1 commit
  35. 09 Sep, 2007 1 commit
  36. 29 Aug, 2007 1 commit