1. 26 Oct, 2018 2 commits
    • Chandni Cherukuri's avatar
      plat/arm/sgi: add support for SGI-Clark platform · 7c294f95
      Chandni Cherukuri authored
      
      
      SGI-Clark platform is the next version in the Arm's SGI platform
      series. One of the primary difference between the SGI-575 platform and
      the SGI-Clark platform is the MHU version (MHUv2 in case of SGI-Clark).
      Add the required base support for SGI-Clark platform.
      
      Change-Id: If396e5279fdf801d586662dad0b55195e81371e4
      Signed-off-by: default avatarChandni Cherukuri <chandni.cherukuri@arm.com>
      7c294f95
    • Chandni Cherukuri's avatar
      plat/arm/sgi: disable Ares cpu power down bit in reset handler · 20a8f7a8
      Chandni Cherukuri authored
      
      
      On SGI platforms that include Ares CPUs, the 'CORE_PWRDN_EN' bit of
      'CPUPWRCTLR_EL1' register requires an explicit write to clear it to
      enable hotplug and idle to function correctly.
      
      The reset value of the CORE_PWRDN_EN bit is zero but it still requires
      this explicit clear to zero. This indicates that this could be a model
      related issue but for now this issue can be fixed be clearing the
      CORE_PWRDN_EN bit in the platform specific reset handler function.
      
      Change-Id: I8b9884ae27a2986d789bfec2e9ae792ef930944e
      Signed-off-by: default avatarChandni Cherukuri <chandni.cherukuri@arm.com>
      20a8f7a8
  2. 18 Oct, 2018 5 commits
    • Chandni Cherukuri's avatar
      plat/arm/scmi: introduce plat_css_get_scmi_info API · b911dddc
      Chandni Cherukuri authored
      
      
      The default values of 'plat_css_scmi_plat_info' is not applicable for
      all the platforms. There should be a provision to let platform code to
      register a platform specific instance of scmi_channel_plat_info_t.
      
      Add a new API 'plat_css_get_scmi_info' which lets the platform to
      register a platform specific instance of scmi_channel_plat_info_t and
      remove the default values.
      
      In addition to this, the existing 'plat_css_scmi_plat_info' structure
      is removed from the common code and instantiated for the platforms that
      need it. This allows for a consistent provisioning of the SCMI channel
      information across all the existing and upcoming platforms.
      
      Change-Id: I4fb65d7f2f165b78697b4677f1e8d81edebeac06
      Signed-off-by: default avatarChandni Cherukuri <chandni.cherukuri@arm.com>
      b911dddc
    • Chandni Cherukuri's avatar
      plat/arm/sgi: add system-id node in HW_CONFIG dts · 8c7b55f9
      Chandni Cherukuri authored
      
      
      Dynamically populating the 'system-id' node in the HW_CONFIG dts makes
      it difficult to enforce memory overlap checks. So add the system-id node
      in the HW_CONFIG dts file as a place holder with 'platform-id' and
      'config-id' set to zero.
      
      The code at BL2 stage determines the values of 'platform-id' and
      'config-id' at runtime and updates the corresponding fields in the
      system-id node of HW_CONFIG dts.
      
      Change-Id: I2ca9980b994ac418da8afa0c72716ede10aff68a
      Signed-off-by: default avatarChandni Cherukuri <chandni.cherukuri@arm.com>
      8c7b55f9
    • Chandni Cherukuri's avatar
      plat/arm/sgi: move fdts files to sgi575 board directory · 63197d01
      Chandni Cherukuri authored
      
      
      To align the placement of ftds files with that of other Arm platforms,
      move the ftds files from plat/arm/css/sgi/ to plat/arm/board/sgi575.
      
      Change-Id: Id7c772eb5cf3d308d4e02a3c8099218e889a0e96
      Signed-off-by: default avatarChandni Cherukuri <chandni.cherukuri@arm.com>
      63197d01
    • Chandni Cherukuri's avatar
      plat/arm/sgi: remove unused code · a50a5830
      Chandni Cherukuri authored
      
      
      On SGI platforms, the interconnect is setup by the SCP and so the
      existing unused interconnect setup in sgi575 platform code can be
      removed. As a result of this, sgi_plat_config.c and sgi_bl1_setup.c
      files can be removed as these files are now empty or can be
      substainated by the existing weak functions.
      
      Change-Id: I3c883e4d1959d890bf2213a9be01f02551ea3a45
      Signed-off-by: default avatarChandni Cherukuri <chandni.cherukuri@arm.com>
      a50a5830
    • Chandni Cherukuri's avatar
      plat/arm/sgi: reorganize platform macros · 91e6f26f
      Chandni Cherukuri authored
      
      
      In preparation of adding support for upcoming SGI platforms, macros
      common to all the SGI platforms are moved into sgi_base_platform_def.h
      file. Macros that are specific to sgi575 platform remain in the
      platform_def.h file. In addition to this, the platform_def.h file is
      moved to sgi575 board directory. Also the ENT_CPU_SOURCES has been
      renamed to SGI_CPU_SOURCES and moved from sgi-common.mk to board
      specific makefile platform.mk
      
      Change-Id: Iccdd9f070f4feea232b9fbf4fdcc0ef2e8eccbf2
      Signed-off-by: default avatarChandni Cherukuri <chandni.cherukuri@arm.com>
      91e6f26f
  3. 16 Oct, 2018 1 commit
  4. 15 Oct, 2018 1 commit
  5. 11 Oct, 2018 1 commit
    • Antonio Nino Diaz's avatar
      plat/arm: Remove file arm_board_def.h · 0f58d4f2
      Antonio Nino Diaz authored
      
      
      This file is shared between FVP and all CSS platforms. While it may be
      true that some definitions can be common, it doesn't make sense
      conceptually. For example, the stack size depends on the platform and so
      does the SRAM size.
      
      After removing them, there are not enough common definitions to justify
      having this header, so the other definitions have been moved to the
      platform_def.h of FVP, board_css_def.h and arm_def.h.
      
      Change-Id: Ifbf4b017227f9dfefa1a430f67d7d6baae6a4ba1
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      0f58d4f2
  6. 10 Oct, 2018 2 commits
  7. 03 Oct, 2018 1 commit
  8. 02 Oct, 2018 1 commit
    • Antonio Nino Diaz's avatar
      plat/arm: Remove option ARM_BOARD_OPTIMISE_MEM · c0740e4f
      Antonio Nino Diaz authored
      
      
      This option makes it hard to optimize the memory definitions of all Arm
      platforms because any change in the common defines must work in all of
      them. The best thing to do is to remove it and move the definition to
      each platform's header.
      
      FVP, SGI and SGM were using the definitions in board_arm_def.h. The
      definitions have been copied to each platform's platform_def.h. Juno
      was already using the ones in platform_def.h, so there have been no
      changes.
      
      Change-Id: I9aecd11bbc72a3d0d7aad1ef9934d8df21dcfaf2
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      c0740e4f
  9. 28 Sep, 2018 3 commits
  10. 26 Sep, 2018 1 commit
  11. 24 Sep, 2018 1 commit
  12. 10 Sep, 2018 1 commit
  13. 07 Sep, 2018 1 commit
    • Alexei Fedorov's avatar
      ARM Platforms:Enable non-secure access to UART1 · 2431d00f
      Alexei Fedorov authored
      
      
      Adds an undocumented build option that enables non-secure access to
      the PL011 UART1.
      This allows a custom build where the UART can be used as a serial debug
      port for WinDbg (or other debugger) connection.
      
      This option is not documented in the user guide, as it is provided as a
      convenience for Windows debugging, and not intended for general use.
      In particular, enabling non-secure access to the UART might allow
      a denial of service attack!
      
      Change-Id: I4cd7d59c2cac897cc654ab5e1188ff031114ed3c
      Signed-off-by: default avatarAlexei Fedorov <Alexei.Fedorov@arm.com>
      Signed-off-by: default avatarEvan Lloyd <evan.lloyd@arm.com>
      2431d00f
  14. 04 Sep, 2018 2 commits
  15. 22 Aug, 2018 1 commit
  16. 03 Aug, 2018 5 commits
  17. 26 Jul, 2018 6 commits
    • Sughosh Ganu's avatar
      RAS: SGI: Add flags needed to build components for RAS feature · f29d1828
      Sughosh Ganu authored
      
      
      Add the various flags that are required to build the components needed
      to enable the RAS feature on SGI575 platform. By default, all flags
      are set to 0, disabling building of all corresponding components.
      
      Change-Id: I7f8536fba895043ef6e397cc33ac9126cb572132
      Signed-off-by: default avatarSughosh Ganu <sughosh.ganu@arm.com>
      f29d1828
    • Sughosh Ganu's avatar
      RAS: SGI575: Add platform specific RAS changes · 167dae4d
      Sughosh Ganu authored
      
      
      Add platform specific changes needed to add support for the RAS
      feature on SGI575 platform, including adding a mapping for the
      CPER buffer being used on SGI575 platform.
      
      Change-Id: I01a982e283609b5c48661307906346fa2738a43b
      Signed-off-by: default avatarSughosh Ganu <sughosh.ganu@arm.com>
      167dae4d
    • Sughosh Ganu's avatar
      RAS: SGI: Add platform handler for RAS interrupts · 485fc954
      Sughosh Ganu authored
      
      
      Add a platform specific handler for RAS interrupts and configure the
      platform RAS interrupts for EL3 handling. The interrupt handler passes
      control to StandaloneMM code executing in S-EL0, which populates the
      CPER buffer with relevant error information. The handler subsequently
      invokes the SDEI client which processes the information in the error
      information in the CPER buffer. The helper functions
      plat_sgi_get_ras_ev_map and plat_sgi_get_ras_ev_map_size would be
      defined for sgi platforms in the subsequent patch, which adds sgi575
      specific RAS changes.
      
      Change-Id: I490f16c15d9917ac40bdc0441659b92380108d63
      Signed-off-by: default avatarSughosh Ganu <sughosh.ganu@arm.com>
      485fc954
    • Sughosh Ganu's avatar
      SPM: SGI: Map memory allocated for secure partitions · d9523919
      Sughosh Ganu authored
      
      
      The secure partition manager reserves chunks of memory which are used
      for the S-EL0 StandaloneMM image and the buffers required for
      communication between the Non-Secure world with the StandaloneMM
      image. Add the memory chunks to relevant arrays for mapping the
      regions of memory with corresponding attributes.
      
      Change-Id: If371d1afee0a50ca7cacd55e16aeaca949d5062b
      Signed-off-by: default avatarSughosh Ganu <sughosh.ganu@arm.com>
      d9523919
    • Sughosh Ganu's avatar
      ARM platforms: Allow board specific definition of SP stack base · 2e4a509d
      Sughosh Ganu authored
      
      
      The SGI platforms need to allocate memory for CPER buffers. These
      platform buffers would be placed between the shared reserved memory
      and the per cpu stack memory, thus the need to redefine stack base
      pointer for these platforms. This patch allows each board in ARM
      platform to define the PLAT_SP_IMAGE_STACK_BASE.
      
      Change-Id: Ib5465448b860ab7ab0f645f7cb278a67acce7be9
      Signed-off-by: default avatarSughosh Ganu <sughosh.ganu@arm.com>
      2e4a509d
    • Sughosh Ganu's avatar
      SGI: Include arm_spm_def.h in platform_def.h · d9cc9372
      Sughosh Ganu authored
      
      
      Include arm_spm_def.h in the platform_def.h file. Without this
      inclusion, we get build errors like
      
      In file included from services/std_svc/spm/sp_setup.c:12:0:
      services/std_svc/spm/sp_setup.c: In function 'spm_sp_setup':
      services/std_svc/spm/sp_setup.c:61:57: error: 'PLAT_SPM_BUF_BASE'
        undeclared (first use in this function)
        write_ctx_reg(get_gpregs_ctx(ctx), CTX_GPREG_X0, PLAT_SPM_BUF_BASE);
      
      Now that the platform_def.h includes arm_spm_def.h, remove inclusion
      of platform_def.h in arm_spm_def.h to remove the circular dependency.
      
      Change-Id: I5225c8ca33fd8d288849524395e436c3d56daf17
      Signed-off-by: default avatarSughosh Ganu <sughosh.ganu@arm.com>
      d9cc9372
  18. 20 Jul, 2018 1 commit
  19. 12 Jul, 2018 2 commits
  20. 10 Jul, 2018 2 commits
    • Roberto Vargas's avatar
      Fix MISRA rule 8.4 · 311a1a8e
      Roberto Vargas authored
      
      
      Rule 8.4: A compatible declaration shall be visible when
      an object or function with external linkage is defined
      
      Fixed for:
      	make DEBUG=1 PLAT=juno SPD=tspd CSS_USE_SCMI_SDS_DRIVER=1 all
      
      Change-Id: Id732c8df12ef3e20903c41b7ab9a9b55341d68ac
      Signed-off-by: default avatarRoberto Vargas <roberto.vargas@arm.com>
      311a1a8e
    • Roberto Vargas's avatar
      Fix MISRA rule 8.3 · 0fbb7a4a
      Roberto Vargas authored
      
      
      Rule 8.3: All declarations of an object or function shall
                    use the same names and type qualifiers.
      
      Fixed for:
      make DEBUG=1 PLAT=juno SPD=tspd CSS_USE_SCMI_SDS_DRIVER=1 all
      
      Change-Id: Id9dcc6238b39fac6046abc28141e3ef5e7aa998d
      Signed-off-by: default avatarRoberto Vargas <roberto.vargas@arm.com>
      0fbb7a4a