1. 07 Dec, 2020 1 commit
    • Pali Rohár's avatar
      plat: marvell: armada: a3k: Do not modify $(WTMI_IMG) · bdcd1bd0
      Pali Rohár authored
      
      
      $(WTMI_IMG) is used only by $(MAKE) subprocess in $(DOIMAGEPATH) directory.
      So calling truncate on $(WTMI_IMG) after $(MAKE) in $(DOIMAGEPATH) has no
      effect and can just damage input file for future usage. Therefore remove
      this truncate call.
      Signed-off-by: default avatarPali Rohár <pali@kernel.org>
      Change-Id: I9925c54c5d3d10eadc19825c5565ad4598a739a7
      bdcd1bd0
  2. 19 Nov, 2020 2 commits
    • Pali Rohár's avatar
      plat: marvell: armada: Add new target mrvl_bootimage · 91bc2da7
      Pali Rohár authored
      
      
      This new target builds boot-image.bin binary as described in documentation.
      This image does not contain WTMI image and therefore WTP repository is not
      required for building.
      
      Having ability to build just this boot-image.bin binary without full
      flash-image.bin is useful for A3720 Turris MOX board which does not use
      Marvell's WTP and a3700_utils.
      
      To reduce duplicity between a8k and a3k code, define this new target and
      also definitions for $(BUILD_PLAT)/$(BOOT_IMAGE) in common include file
      marvell_common.mk.
      
      For this purpose it is needed to include plat/marvell/marvell.mk file from
      a3700_common.mk unconditionally (and not only when WTP is defined). Now
      when common file plat/marvell/marvell.mk does not contain definition for
      building $(DOIMAGETOOL), it is possible to move its inclusion at the top of
      the a3700_common.mk file.
      Signed-off-by: default avatarPali Rohár <pali@kernel.org>
      Change-Id: Ic58303b37a1601be9a06ff83b7a279cb7cfc8280
      91bc2da7
    • Pali Rohár's avatar
      plat: marvell: armada: a3k: Add support for building $(DOIMAGETOOL) · c6a7ab77
      Pali Rohár authored
      Current binary wtptp/linux/tbb_linux which is specified in $(DOIMAGETOOL)
      variable points to external pre-compiled Marvell x86_64 ELF linux binary
      from A3700-utils-marvell WTP repository.
      
      It means that currently it is not possible to compile TF-A for A3720 on
      other host platform then linux x86_64.
      
      Part of the A3700-utils-marvell WTP repository is also source code of
      $(DOIMAGETOOL) TBB_Linux tool.
      
      This change adds support for building $(DOIMAGETOOL) also for a3k platform.
      
      After running $(MAKE) at appropriate subdirectory of A3700-utils-marvell
      WTP repository, compiled TBB_linux tool will appear in WTP subdirectory
      wtptp/src/TBB_Linux/release/. So update also $(DOIMAGETOOL) variable to
      point to the correct location where TBB_linux was built.
      
      To build TBB_linux it is required to compile external Crypto++ library
      which is available at: https://github.com/weidai11/cryptopp.git
      
      
      
      User needs to set CRYPTOPP_PATH option to specify path to that library.
      
      After this change it is now possible to build whole firmware for A3720
      platform without requirement to use pre-compiled/proprietary x86_64
      executable binaries from Marvell.
      Signed-off-by: default avatarPali Rohár <pali@kernel.org>
      Change-Id: I6f26bd4356778a2f8f730a223067a2e550e6c8e0
      c6a7ab77
  3. 21 Oct, 2020 1 commit
    • Pali Rohár's avatar
      plat: marvell: armada: Building ${DOIMAGETOOL} is only for a8k · b5e3d540
      Pali Rohár authored
      
      
      Currently a3k target is misusing ${DOIMAGETOOL} target for building flash
      and UART images. It is not used for building image tool.
      
      So move ${DOIMAGETOOL} target from common marvell include file into a8k
      include file and add correct invocation of ${MAKE} into a3k for building
      flash and UART images.
      
      Part of this change is also checks that MV_DDR_PATH for a3k was specified
      by user as this option is required for building a3k flash and UART images.
      Signed-off-by: default avatarPali Rohár <pali@kernel.org>
      Change-Id: I5ae9d08b8505460933f17836c9b6435fd6e51bb6
      b5e3d540
  4. 19 Oct, 2020 1 commit
    • Pali Rohár's avatar
      plat: marvell: armada: Fix including plat/marvell/marvell.mk file · 0412b732
      Pali Rohár authored
      
      
      Include file plat/marvell/marvell.mk for platform A3700 was included two
      times. Once from file plat/marvell/armada/a3k/common/a3700_common.mk and
      second time from common file plat/marvell/armada/common/marvell_common.mk.
      
      It caused following warning every time was make called:
      
          plat/marvell/marvell.mk:51: warning: overriding recipe for target 'mrvl_clean'
          plat/marvell/marvell.mk:51: warning: ignoring old recipe for target 'mrvl_clean'
      
      Change in this commit removes inclusion of plat/marvell/marvell.mk file in
      common file plat/marvell/armada/common/marvell_common.mk. As a80x0 platform
      needs this include file, add it also into a80x0 platform specific include
      file lat/marvell/armada/a8k/common/a8k_common.mk.
      
      Also moves inclusion of plat/marvell/marvell.mk file in a3700 platform file
      plat/marvell/armada/a3k/common/a3700_common.mk at correct place. Global
      plat/marvell/marvell.mk expects that variables DOIMAGEPATH and DOIMAGETOOL
      are already defined, but it defines MARVELL_SECURE_BOOT variable which is
      needed by plat/marvell/armada/a3k/common/a3700_common.mk.
      Signed-off-by: default avatarPali Rohár <pali@kernel.org>
      Change-Id: I5cbbd7eb8a3376924419f9850516b2a4924be5aa
      0412b732
  5. 16 Oct, 2020 1 commit
    • Pali Rohár's avatar
      plat: marvell: armada: Fix dependences for target fip · fb28d525
      Pali Rohár authored
      
      
      For building fip image it is not needed to build target mrvl_flash. This
      fip image contains only bl2, bl31 and bl33 (u-boot.bin) images and
      therefore it does not depend on Marvell wtmi and wtp A3700-utils.
      
      So remove mrvl_flash dependency for fip target to allow building fip image
      without need to build mrvl_flash and therefore specify and provide Marvell
      wmi and wtp A3700-utils.
      
      This changes fixes compilation of fip image for A3700 platform by command:
      
          make CROSS_COMPILE=aarch64-linux-gnu- BL33=/path/u-boot/u-boot.bin \
               DEBUG=0 LOG_LEVEL=0 USE_COHERENT_MEM=0 PLAT=a3700 fip
      
      Marvell boot image can be still build by 'mrvl_flash' target.
      Signed-off-by: default avatarPali Rohár <pali@kernel.org>
      Change-Id: Iba9a9da5be6fd1da23407fc2d490aedcb1a292c9
      fb28d525
  6. 15 Oct, 2020 1 commit
    • Pali Rohár's avatar
      plat: marvell: armada: a3k: When WTP is empty do not define variables and... · c5e1b061
      Pali Rohár authored
      
      plat: marvell: armada: a3k: When WTP is empty do not define variables and targets which depends on it
      
      Some of targets (e.g. mrvl_flash) depends on WTP build option. Other
      targets (e.g. fip) can be build also without WTP build option as they do
      not depend on it.
      
      This change put all A3720 variables and targets which depends on WTP into
      conditional if-endif section, so they are not defined when user has not
      supplied WTP build option.
      
      Target mrvl_flash is defined also when WTP was not specified and in this
      case it just print error message to help user.
      
      Variables which do not depend on WTP are moved to the top of
      a3700_common.mk file.
      Signed-off-by: default avatarPali Rohár <pali@kernel.org>
      Change-Id: Idb3892233586a0afca3e0e6564279641d2e4b960
      c5e1b061
  7. 09 Oct, 2020 1 commit
    • Jimmy Brisson's avatar
      Don't return error information from console_flush · 831b0e98
      Jimmy Brisson authored
      
      
      And from crash_console_flush.
      
      We ignore the error information return by console_flush in _every_
      place where we call it, and casting the return type to void does not
      work around the MISRA violation that this causes. Instead, we collect
      the error information from the driver (to avoid changing that API), and
      don't return it to the caller.
      
      Change-Id: I1e35afe01764d5c8f0efd04f8949d333ffb688c1
      Signed-off-by: default avatarJimmy Brisson <jimmy.brisson@arm.com>
      831b0e98
  8. 04 Oct, 2020 5 commits
  9. 04 Aug, 2020 1 commit
    • Grant Likely's avatar
      Use abspath to dereference $BUILD_BASE · 29214e95
      Grant Likely authored
      
      
      If the user tries to change BUILD_BASE to put the build products outside
      the build tree the compile will fail due to hard coded assumptions that
      $BUILD_BASE is a relative path. Fix by using $(abspath $(BUILD_BASE))
      to rationalize to an absolute path every time and remove the relative
      path assumptions.
      
      This patch also adds documentation that BUILD_BASE can be specified by
      the user.
      Signed-off-by: default avatarGrant Likely <grant.likely@arm.com>
      Signed-off-by: default avatarManish Pandey <manish.pandey2@arm.com>
      Change-Id: Ib1af874de658484aaffc672f30029b852d2489c8
      29214e95
  10. 30 Jul, 2020 5 commits
  11. 10 Jul, 2020 6 commits
  12. 03 Jul, 2020 2 commits
  13. 19 Jun, 2020 11 commits
  14. 18 Jun, 2020 1 commit
    • Marcin Wojtas's avatar
      plat: marvell: armada: modify PLAT_FAMILY name for 37xx SoCs · b5c850d4
      Marcin Wojtas authored
      
      
      The Marvell Armada 37xx SoCs-based platforms contain a bit
      awkward directory structure because the currently only one
      supported PLAT and PLAT_FAMILY are the same. Modify the latter
      to 'a3k' in order to improve it and keep plat/marvell/armada
      tree more consistent:
      
      plat/marvell/
      ├── armada
      │   ├── a3k
      │   │   ├── a3700
      
      [...]
      
      │   ├── a8k
      │   │   ├── a70x0
      
      [...]
      
      Change-Id: I693a6ef88e6ce49a326a3328875c90bbc186066a
      Signed-off-by: default avatarMarcin Wojtas <mw@semihalf.com>
      b5c850d4
  15. 06 Jun, 2020 1 commit