1. 05 Jan, 2012 1 commit
  2. 22 Nov, 2011 1 commit
  3. 27 Oct, 2011 1 commit
    • Kyle Moffett's avatar
      e1000: Allow direct access to the E1000 SPI EEPROM device · ce5207e1
      Kyle Moffett authored
      
      
      As a part of the manufacturing process for some of our custom hardware,
      we are programming the EEPROMs attached to our Intel 82571EB controllers
      from software using U-Boot and Linux.
      
      This code provides several conditionally-compiled features to assist in
      our manufacturing process:
      
        CONFIG_CMD_E1000:
          This is a basic "e1000" command which allows querying the controller
          and (if other config options are set) performing EEPROM programming.
          In particular, with CONFIG_E1000_SPI this allows you to display a
          hex-dump of the EEPROM, copy to/from main memory, and verify/update
          the software checksum.
      
        CONFIG_E1000_SPI_GENERIC:
          Build a generic SPI driver providing the standard U-Boot SPI driver
          interface.  This allows commands such as "sspi" to access the bus
          attached to the E1000 controller.  Additionally, some E1000 chipsets
          can support user data in a reserved space in the E1000 EEPROM which
          could be used for U-Boot environment storage.
      
        CONFIG_E1000_SPI:
          The core SPI access code used by the above interfaces.
      
      For example, the following commands allow you to program the EEPROM from
      a USB device (assumes CONFIG_E1000_SPI and CONFIG_CMD_E1000 are enabled):
        usb start
        fatload usb 0 $loadaddr 82571EB_No_Mgmt_Discrete-LOM.bin
        e1000 0 spi program $loadaddr 0 1024
        e1000 0 spi checksum update
      
      Please keep in mind that the Intel-provided .eep files are organized as
      16-bit words.  When converting them to binary form for programming you
      must byteswap each 16-bit word so that it is in little-endian form.
      
      This means that when reading and writing words to the SPI EEPROM, the
      bit ordering for each word looks like this on the wire:
      
        Time >>>
      ------------------------------------------------------------------
        ... [7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8], ...
      ------------------------------------------------------------------
        (MSB is 15, LSB is 0).
      Signed-off-by: default avatarKyle Moffett <Kyle.D.Moffett@boeing.com>
      Cc: Ben Warren <biggerbadderben@gmail.com>
      ce5207e1
  4. 23 Oct, 2011 4 commits
  5. 15 Oct, 2011 1 commit
  6. 05 Oct, 2011 2 commits
  7. 30 Sep, 2011 2 commits
  8. 20 Apr, 2011 1 commit
  9. 09 Jan, 2011 1 commit
  10. 27 Nov, 2010 1 commit
  11. 17 Nov, 2010 1 commit
    • Sebastien Carlier's avatar
      Switch from archive libraries to partial linking · 6d8962e8
      Sebastien Carlier authored
      
      
      Before this commit, weak symbols were not overridden by non-weak symbols
      found in archive libraries when linking with recent versions of
      binutils.  As stated in the System V ABI, "the link editor does not
      extract archive members to resolve undefined weak symbols".
      
      This commit changes all Makefiles to use partial linking (ld -r) instead
      of creating library archives, which forces all symbols to participate in
      linking, allowing non-weak symbols to override weak symbols as intended.
      This approach is also used by Linux, from which the gmake function
      cmd_link_o_target (defined in config.mk and used in all Makefiles) is
      inspired.
      
      The name of each former library archive is preserved except for
      extensions which change from ".a" to ".o".  This commit updates
      references accordingly where needed, in particular in some linker
      scripts.
      
      This commit reveals board configurations that exclude some features but
      include source files that depend these disabled features in the build,
      resulting in undefined symbols.  Known such cases include:
      - disabling CMD_NET but not CMD_NFS;
      - enabling CONFIG_OF_LIBFDT but not CONFIG_QE.
      Signed-off-by: default avatarSebastien Carlier <sebastien.carlier@gmail.com>
      6d8962e8
  12. 12 Oct, 2010 2 commits
  13. 13 Jul, 2010 2 commits
  14. 12 Jul, 2010 1 commit
  15. 03 May, 2010 2 commits
  16. 05 Feb, 2010 1 commit
  17. 01 Feb, 2010 2 commits
  18. 14 Dec, 2009 1 commit
  19. 05 Oct, 2009 1 commit
  20. 03 Oct, 2009 1 commit
  21. 14 Sep, 2009 1 commit
  22. 25 Aug, 2009 1 commit
  23. 10 Aug, 2009 1 commit
  24. 23 Jul, 2009 2 commits
  25. 15 Jun, 2009 2 commits
  26. 09 Feb, 2009 1 commit
  27. 29 Jan, 2009 1 commit
  28. 10 Nov, 2008 2 commits