1. 19 Nov, 2015 2 commits
  2. 27 Oct, 2015 1 commit
  3. 23 Oct, 2015 3 commits
    • Ian Campbell's avatar
      Makefile: Add an install rule · 0f691878
      Ian Campbell authored
      
      
      Allow for separate installation of tools and target-tools, to aid in packaging.
      
      By default everything the tools are installed into /usr/local/bin but this can
      be overridden using PREFIX= or BINDIR= on the make invocation.
      
      To enable this it was necessary to split fex2bin and bin2fex out from $(TOOLS)
      into $(FEXC_LINKS), because install(1) does not seem to have a mode which
      preserves symlinks so it needs to be done separately.
      
      Supports DESTDIR to allow for convenient installation into a staging dir for
      distro packaging convenience.
      Signed-off-by: default avatarIan Campbell <ijc@hellion.org.uk>
      Acked-by: default avatarPeter Korsgaard <peter@korsgaard.com>
      0f691878
    • Ian Campbell's avatar
      Makefile: Split out target tools rules · bf4ec9a0
      Ian Campbell authored
      
      
      Target tools are those which are only useful on a target sunxi system (i.e.
      which probe hardware etc).
      
      Currently this is only sunxi-pio. At first I thought sunxi-nand-part might be
      included, but I think that is useful on NAND images as well as actual devices.
      
      This will allow for easier packaging, by letting packagers only include the
      target tools when building for a suitable ARM architecture.
      Signed-off-by: default avatarIan Campbell <ijc@hellion.org.uk>
      Acked-by: default avatarPeter Korsgaard <peter@korsgaard.com>
      bf4ec9a0
    • Ian Campbell's avatar
      Makefile: Prefix most tools with sunxi- · f1cb74d8
      Ian Campbell authored
      
      
      Several of the tools here are too generic and/or short for distro packaging
      purposes (which like to try and avoid naming clashes in $PATH). Prefix the
      following with "sunxi-":
        - fexc
        - bootinfo
        - fel
        - pio
        - meminfo
      
      Do not prefix any of the fel "payloads" or raw binaries since they would not
      normally be installed in $PATH.
      
      Do not prefix "phoenix_info", since "phoenix" already seems like an appropriate
      prefix for this particular tool.
      
      Update in-tree callers, README and .gitignore accordingly.
      Signed-off-by: default avatarIan Campbell <ijc@hellion.org.uk>
      Acked-by: default avatarPeter Korsgaard <peter@korsgaard.com>
      f1cb74d8
  4. 03 Oct, 2015 3 commits
  5. 13 Sep, 2015 2 commits
  6. 08 Sep, 2015 7 commits
  7. 29 Aug, 2015 2 commits
  8. 19 Aug, 2015 4 commits
  9. 18 Aug, 2015 1 commit
    • Ian Campbell's avatar
      fel-to-spl-thunk.S: Only depend on binutils. · 4079221f
      Ian Campbell authored
      
      
      A cross-binutils is generally a bit easier to get hold of, and in particular
      binutils-none-eabi (and binutils-arm-linux-gnueabi{,hf}) are available in
      Debian Jessie while the equivalent cross gcc is not.
      
      The only reason gcc/cpp are required are to strip the embedded Ruby code out
      before handing to the assembler, we can achieve the same by opening a multiline
      comment around the ruby instead. Care needs to be taken not to close the
      comment prematurely hence "*/" is written in the one place it is used as
      "\x2a/" (i.e. encoding the * in hex). Having done this we can pass the .S file
      directly to the cross-as.
      
      There is no change to the resulting header file.
      Signed-off-by: default avatarIan Campbell <ijc@hellion.org.uk>
      Acked-by: default avatarSiarhei Siamashka <siarhei.siamashka@gmail.com>
      4079221f
  10. 01 Aug, 2015 1 commit
  11. 26 Feb, 2015 6 commits
  12. 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
  13. 24 Jan, 2015 3 commits
  14. 28 Oct, 2014 1 commit
  15. 27 Sep, 2014 1 commit
  16. 21 Sep, 2014 1 commit