1. 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
  2. 01 Jun, 2020 1 commit
  3. 25 May, 2020 1 commit
    • Jan Kiszka's avatar
      ti: k3: common: Implement stub system_off · 42d9b3aa
      Jan Kiszka authored
      
      
      PSCI demands that SYSTEM_OFF must not return. While it seems like a
      generic ATF bug that this is possible when a platform does not Implement
      a corresponding handler, let's do that here until it's addressed
      differently.
      Signed-off-by: default avatarJan Kiszka <jan.kiszka@siemens.com>
      Change-Id: I4c08948b18bbfdc3a24214f2ae0fbad9e017ada1
      42d9b3aa
  4. 30 Mar, 2020 1 commit
    • Alexei Fedorov's avatar
      TF-A GICv3 driver: Introduce makefile · a6ea06f5
      Alexei Fedorov authored
      
      
      This patch moves all GICv3 driver files into new added
      'gicv3.mk' makefile for the benefit of the generic driver
      which can evolve in the future without affecting platforms.
      The patch adds GICv3 driver configuration flags
      'GICV3_IMPL', 'GICV3_IMPL_GIC600_MULTICHIP' and
      'GICV3_OVERRIDE_DISTIF_PWR_OPS' described in
      'GICv3 driver options' section of 'build-option.rst'
      document.
      
      NOTE: Platforms with GICv3 driver need to be modified to
      include 'drivers/arm/gic/v3/gicv3.mk' in their makefiles.
      
      Change-Id: If055f6770ff20f5dee5a3c99ae7ced7cdcac5c44
      Signed-off-by: default avatarAlexei Fedorov <Alexei.Fedorov@arm.com>
      a6ea06f5
  5. 10 Mar, 2020 1 commit
  6. 25 Feb, 2020 1 commit
  7. 28 Jan, 2020 1 commit
  8. 27 Jan, 2020 4 commits
  9. 24 Jan, 2020 1 commit
  10. 29 Oct, 2019 1 commit
    • Andrew F. Davis's avatar
      ti: k3: common: Add PIE support · ff835a9a
      Andrew F. Davis authored
      
      
      Running TF-A from non-standard location such as DRAM is useful for some
      SRAM heavy use-cases. Allow the TF-A binary to be executed from an
      arbitrary memory location.
      Signed-off-by: default avatarAndrew F. Davis <afd@ti.com>
      Change-Id: Icd97926e4d97f37d7cde4a92758a52f57d569111
      ff835a9a
  11. 04 Jul, 2019 1 commit
    • Andrew F. Davis's avatar
      ti: k3: common: Trap all asynchronous bus errors to EL3 · 93d5e141
      Andrew F. Davis authored
      
      
      These errors are asynchronous and cannot be directly correlated with the
      exact current running software, so handling them in the same EL is not
      critical. Handling them in TF-A allows for more platform specific
      decoding of the implementation defined exception registers
      Signed-off-by: default avatarAndrew F. Davis <afd@ti.com>
      Change-Id: Iee7a38c9fc9c698fa0ad42dafa598bcbed6a4fda
      93d5e141
  12. 28 Jun, 2019 1 commit
  13. 06 Jun, 2019 2 commits
    • Andrew F. Davis's avatar
      ti: k3: common: Remove coherency workaround for AM65x · 48d6b264
      Andrew F. Davis authored
      
      
      We previously left our caches on during power-down to prevent any
      non-caching accesses to memory that is cached by other cores. Now with
      the last accessed areas all being marked as non-cached by
      USE_COHERENT_MEM we can rely on that to workaround our interconnect
      issues. Remove the old workaround.
      
      Change-Id: Idadb7696d1449499d1edff4f6f62ab3b99d1efb7
      Signed-off-by: default avatarAndrew F. Davis <afd@ti.com>
      48d6b264
    • Andrew F. Davis's avatar
      ti: k3: common: Use coherent memory for shared data · 65f7b817
      Andrew F. Davis authored
      
      
      HW_ASSISTED_COHERENCY implies something stronger than just hardware
      coherent interconnect, specifically a DynamIQ capable ARM core.
      
      For K3, lets use WARMBOOT_ENABLE_DCACHE_EARLY to enable caches early
      and then let the caches get shut off on powerdown, to prevent data
      corruption we also need to USE_COHERENT_MEM so that any accesses to
      shared memory after this point is only to memory that is set as
      non-cached for all cores.
      
      Change-Id: Ib9337f012df0e0388237942607c501b6f3e2a949
      Signed-off-by: default avatarAndrew F. Davis <afd@ti.com>
      65f7b817
  14. 22 May, 2019 2 commits
  15. 30 Apr, 2019 1 commit
    • Andrew F. Davis's avatar
      ti: k3: common: Remove MSMC port definitions · a82bf5ad
      Andrew F. Davis authored
      
      
      The MSMC port defines were added to help in the case when some ports
      are not connected and have no cores attached. We can get the same
      functionality by defined the number of cores on that port to zero.
      This simplifies several code paths, do this here.
      Signed-off-by: default avatarAndrew F. Davis <afd@ti.com>
      Change-Id: I3247fe37af7b86c3227e647b4f617fab70c8ee8a
      a82bf5ad
  16. 26 Apr, 2019 4 commits
  17. 23 Apr, 2019 4 commits
    • Andrew F. Davis's avatar
      ti: k3: drivers: ti_sci: Retry message receive on bad sequence ID · 71a35273
      Andrew F. Davis authored
      
      
      When we get a sequence ID that does not match what we expect then the we
      are looking at is not the one we are expecting and so we error out. We
      can also assume this message is a stale message left in the queue, in
      this case we can read in the next message and check again for our
      message. Switch to doing that here. We only retry a set number of times
      so we don't lock the system if our message is actually lost and will
      never show up.
      Signed-off-by: default avatarAndrew F. Davis <afd@ti.com>
      Change-Id: I6c8186ccc45e646d3ba9d431f7d4c451dcd70c5c
      71a35273
    • Andrew F. Davis's avatar
      ti: k3: drivers: ti_sci: Cleanup sequence ID usage · 7a469035
      Andrew F. Davis authored
      
      
      The sequence ID can be set with a message to identify it when it is
      responded to in the response queue. We assign each message a number and
      check for this same number to detect response mismatches.
      
      Start this at 0 and increase it by one for each message sent, even ones
      that do not request or wait for a response as one may still be delivered
      in some cases and we want to detect this.
      Signed-off-by: default avatarAndrew F. Davis <afd@ti.com>
      Change-Id: I72b4d1ef98bf1c1409d9db9db074af8dfbcd83ea
      7a469035
    • Andrew F. Davis's avatar
      ti: k3: drivers: sec_proxy: Use direction definitions · fb98ca5a
      Andrew F. Davis authored
      
      
      The direction of a thread should be explicitly compared to avoid
      confusion. Also fixup message wording based on this direction.
      Signed-off-by: default avatarAndrew F. Davis <afd@ti.com>
      Change-Id: Ia3cf9413cd23af476bb5d2e6d70bee15234cbd11
      fb98ca5a
    • Andrew F. Davis's avatar
      ti: k3: drivers: sec_proxy: Fix printf format specifiers · 6c30baee
      Andrew F. Davis authored
      
      
      The ID of a thread is not used outside for printing it out when
      something goes wrong. The specifier used is also not consistent.
      Instead of storing the thread ID, store its name and print that.
      Signed-off-by: default avatarAndrew F. Davis <afd@ti.com>
      Change-Id: Id137c2f8dfdd5c599e220193344ece903f80af7b
      6c30baee
  18. 19 Apr, 2019 4 commits
  19. 11 Feb, 2019 6 commits
  20. 22 Jan, 2019 1 commit
    • Andrew F. Davis's avatar
      ti: k3: common: Add support for runtime detection of GICR base address · b5443284
      Andrew F. Davis authored
      
      
      Valid addresses for GICR base are always a set calculable distance from
      the GICD and is based on the number of cores a given instance of GICv3 IP
      can support. The formula for the number of address bits is given by the
      ARM GIC-500 TRM section 3.2 as 2^(18+log2(cores)) with the MSB set to
      one for GICR instances. Holes in the GIC address space are also
      guaranteed to safely return 0 on reads. This allows us to support runtime
      detection of the GICR base address by starting from GIC base address plus
      BIT(18) and walking until the GICR ID register (IIDR) is detected. We
      stop searching after BIT(20) to prevent searching out into space if
      something goes wrong. This can be extended out if we ever have a device
      with 16 or more cores.
      Signed-off-by: default avatarAndrew F. Davis <afd@ti.com>
      b5443284
  21. 21 Jan, 2019 1 commit