1. 26 Feb, 2015 1 commit
  2. 11 Feb, 2015 2 commits
    • Siarhei Siamashka's avatar
      fel: New command for loading U-Boot SPL binaries in eGON format · 1627b137
      Siarhei Siamashka authored
      
      
      Now it is possible to load and execute the same U-Boot SPL,
      as used for booting from SD cards. Just a different delivery
      method (a USB OTG cable instead of an SD card) for handling
      exactly the same content.
      
      The only argument for this new command is the name of the SPL
      binary file (with a eGON header generated by the 'mksunxiboot'
      tool). Now the 'fel' tool can be run as:
      
          fel spl u-boot-sunxi-with-spl.bin
      
      Before this change, the SPL was only able to use the memory between
      addresses 0x2000 and ~0x5D00, totalling to something like ~15 KiB.
      This is the biggest contiguous area in SRAM, which is not used
      by the FEL code from the BROM. Unfortunately, it is rather small.
      And also the unusual starting offset was making it difficult to
      use the same SPL binary for booting from the SD card and via FEL.
      
      There are surely more unused parts of SRAM, but they are scattered
      across multiple locations, primarily because the FEL code from the
      BROM sets up two stacks at inconvenient locations (the IRQ handler
      stack at 0x2000, and a regular stack at 0x7000). Essentially, the
      problem to solve here is to ensure a sufficiently large and consistent
      SRAM address space for the SPL without any potentially SoC specific
      holes in the case of booting over USB via FEL.
      
      This is achieved by injecting special entry/exit thunk code, which
      is moving the data in SRAM to provide a contiguous space for the SPL
      at the beginning of SRAM, while still preserving the the data from
      the BROM elsewhere. When the SPL tries to return control back to the
      FEL code in the BROM, the thunk code moves the data back to its
      original place. Additionally, the eGON checksum is verified to
      ensure that no data corruption has happened due to some unexpected
      clash with the FEL protocol code from the BROM.
      
      So the thunk code takes care of the address space allocation uglyness
      and provides the U-Boot SPL with a somewhat nicer abstraction.
      Now the FEL booted SPL on A10/A13/A20/A31 can use up to 32 KiB of
      SRAM because the BROM data is saved to different SRAM section.
      There is also generic code, which does not rely on extra SRAM
      sections, but just glues together the unused free space from
      both BROM FEL stacks to provide something like ~21 KiB to the SPL.
      Signed-off-by: default avatarSiarhei Siamashka <siarhei.siamashka@gmail.com>
      Acked-by: default avatarHans de Goede <hdegoede@redhat.com>
      1627b137
    • Siarhei Siamashka's avatar
      fel: Split 'aw_fel_get_version' into 'get' and 'print' variants · 91949d62
      Siarhei Siamashka authored
      
      
      Now aw_fel_get_version() can get the SoC ID for internal usage
      from the other functions. And aw_fel_print_version() is used
      to print the formatted string to stdout.
      Signed-off-by: default avatarSiarhei Siamashka <siarhei.siamashka@gmail.com>
      Acked-by: default avatarHans de Goede <hdegoede@redhat.com>
      91949d62
  3. 24 Jan, 2015 3 commits
  4. 28 Oct, 2014 1 commit
  5. 27 Sep, 2014 1 commit
  6. 21 Sep, 2014 2 commits
  7. 06 Sep, 2014 7 commits
  8. 02 Sep, 2014 3 commits
  9. 19 Aug, 2014 4 commits
  10. 18 Aug, 2014 1 commit
  11. 16 Aug, 2014 1 commit
  12. 14 Aug, 2014 7 commits
  13. 02 Aug, 2014 1 commit
  14. 05 Jul, 2014 1 commit
  15. 01 Jul, 2014 1 commit
    • Ian Campbell's avatar
      Add copyright headers to various files. · 227c7e03
      Ian Campbell authored
      I'd like to package sunxi-tools for Debian and therefore it is important for
      the licensing information to be complete/accurate. I believe the intention was
      for everything here to be GPL2+ by default, since that is the license on every
      file which has one and COPYING contains GPL2.
      
      Early on the license applied to this repo was GPLv3 however this was changed to
      GPL2+ by Alejandro in 79ea14d4 at which point he had been the only
      contributor.
      
      This patch adds the standard GPL2+ stanza used already in sunxi-tools.git or
      the MIT license stanza when requested by the copyright holder to various files
      which were missing one as follows:
      
      adb-devprobe.sh
      fel-gpio
          According to git all of these were written by Henrik. Copyright years
          according to git. Henrik requested that these be put under an MIT license,
          so that is what has been done.
      
      boot_head.lds
      fel-pio.lds
      fel-sdboot.lds
      jtag-loop.lds
          According to git all of these were written by Henrik. Copyright years
          according to git. According to Henrik "These linker scripts are all GPLv2+
          as the C / ASM sources they refer to".
      
      include/endian_compat.h
          The content of this file was originally added to fel.c (commit
          c71ff92c), which had a GPL2+ stanza at the time, by Eric Molitor and later
          those lines were moved by Alejandro (commit bcde0fc7) into this file.
          I originally added GPL2+ from fel.c and added Eric's copyright with the
          correct year according to git but Eric said "Ack but also would prefer
          MIT/Dual :)", so it has now been changed to MIT.
      
      include/types.h:
          Henrik originally added some of these lines to bootinfo.c, along with a
          GPL2+ stanza, in the original version (commit c26e5ff8). Later on
          Alejandro moved them into this file (commit 329a13ed
      
      ) and added more.
          I've copied the stanza from bootinfo.c and added both copyrights with the
          years according to git. Authors:
            Henrik, who says "OK".
            Alejandro Mery
      
      Makefile:
          GPL2+ with copyrights and years according to git. Authors are:
            Alejandro Mery
            Henrik Nordstrom, who says "Yes"
            Pat Wood, who says "Fine with me"
      
      usb-boot:
          Henrik is the primary author, added MIT license on Henrik's request with
          his copyright and years according to git. Authors are:
            Henrik Nordstrom, who says "Yes, that too should be MIT"
            Alejandro Mery (typo fix)
            Michal Suchanek (typo fix)
      
      Everyone affected by the above is CCd.
      
      This probably seems pretty obvious to most people, sorry for being so pedantic
      about it. It will save hassel when it comes to getting it into Debian though.
      Signed-off-by: default avatarIan Campbell <ijc@hellion.org.uk>
      Cc: Henrik Nordstrom <henrik@henriknordstrom.net>
      Cc: Eric Molitor <eric@molitor.org>
      Cc: Alejandro Mery <amery@geeks.cl>
      Cc: Pat Wood <Pat.Wood@efi.com>
      Cc: Michal Suchanek <hramrach@gmail.com>
      ---
      v2: Gathered feedback from the authors
       - Pat said "Fine with me"
       - Henrik asked that adb-devprobe.sh, fel-gpio and usb-boot be MIT, acked
         *.lds, types.h and Makefile
       - Explicitly listed authors of Makefile and usb-boot
       - Michal Suchanek make a typo fix to usb-boot but wasn't CCd, sorry.
       - Reworded commit message due to some bits now being MIT on request of the
         author.
      227c7e03
  16. 26 Apr, 2014 1 commit
  17. 31 Jan, 2014 2 commits
  18. 29 Jan, 2014 1 commit