1. 14 Nov, 2018 3 commits
    • Andre Przywara's avatar
      allwinner: power: add enable switches for DCDC1/5 · a561e41b
      Andre Przywara authored
      
      
      The DCDC1 and DCDC5 power rails didn't specify the enable bits. This
      isn't critical, since those rails are on by default (and are needed for
      every board), but it is inconsistent.
      
      Add the respective enable bits for those two rails.
      Signed-off-by: default avatarAndre Przywara <andre.przywara@arm.com>
      a561e41b
    • Andre Przywara's avatar
      allwinner: power: fix DRIVEVBUS pin setup · d93eb446
      Andre Przywara authored
      
      
      The DRIVEVBUS pin setup was broken in two ways:
      - To configure this pin as an output pin, one has to *clear* the bit in
        register 0x8f. It is 0 by default, but rebooting from Linux might have
        left this bit set.
      - Doing this just configures the pin as an output pin, but doesn't
        actually drive power to it. This is done via bit 2 in register 0x30.
      
      Fix the routine to both properly configure the pin and drive power to
      it. Add an axp_clrsetbits() helper on the way.
      
      Now this isn't really perfect, still:
      We only need to setup the PMIC power rails that are needed for U-Boot.
      DRIVEVBUS typically controls the VBUS voltage for the host function of
      an USB-OTG port, something we typically don't want in U-Boot (fastboot,
      using the USB *device* functionality, is much more common). The
      BananaPi-M64 uses the regulator in this way, but the Remix Mini PC
      actually controls the power of both its USB ports via this line.
      
      Technically we should differentiate here: if DRIVEVBUS controls a
      microUSB-B socket, the power should stay off, any host-type A sockets
      should be supplied, though.
      For now just always enable the power, that shouldn't really hurt the
      USB-OTG functionality anyway.
      Signed-off-by: default avatarAndre Przywara <andre.przywara@arm.com>
      d93eb446
    • Andre Przywara's avatar
      allwinner: A64/H5: setup missing bus clocks · 19a7507a
      Andre Przywara authored
      
      
      The legacy Allwinner ATF port used to setup some clocks, and U-Boot is
      still relying on this. We don't need to setup the full set, as the SPL
      is doing most of it, but it misses one clock (AHB2) and programs another
      (AHB1) to quite conservative values.
      
      Fix this up during the platform setup to improve USB and Ethernet
      performance, iperf values go up by 31% in my setup with that patch.
      Signed-off-by: default avatarAndre Przywara <andre.przywara@arm.com>
      19a7507a
  2. 09 Nov, 2018 2 commits
    • Yann Gautier's avatar
      stm32mp1: correct some static analysis tools issues · 3e6fab43
      Yann Gautier authored
      
      
      These issues wer found by sparse:
      
      drivers/st/clk/stm32mp1_clk.c:1524:19:
       warning: incorrect type in assignment (different base types)
          expected restricted fdt32_t const [usertype] *pkcs_cell
          got unsigned int const [usertype] *
      
      plat/st/stm32mp1/plat_image_load.c:13:6:
       warning: symbol 'plat_flush_next_bl_params' was not declared.
       Should it be static?
      plat/st/stm32mp1/plat_image_load.c:21:16:
       warning: symbol 'plat_get_bl_image_load_info' was not declared.
       Should it be static?
      plat/st/stm32mp1/plat_image_load.c:29:13:
       warning: symbol 'plat_get_next_bl_params' was not declared.
       Should it be static?
      
      plat/st/stm32mp1/bl2_io_storage.c:40:10:
       warning: symbol 'block_buffer' was not declared. Should it be static?
      Signed-off-by: default avatarYann Gautier <yann.gautier@st.com>
      3e6fab43
    • Siva Durga Prasad Paladugu's avatar
      arm64: versal: Add support for new Xilinx Versal ACAPs · f91c3cb1
      Siva Durga Prasad Paladugu authored
      
      
      Xilinx is introducing Versal, an adaptive compute acceleration platform
      (ACAP), built on 7nm FinFET process technology. Versal ACAPs combine Scalar
      Processing Engines, Adaptable Hardware Engines, and Intelligent Engines with
      leading-edge memory and interfacing technologies to deliver powerful
      heterogeneous acceleration for any application. The Versal AI Core series has
      five devices, offering 128 to 400 AI Engines. The series includes dual-core Arm
      Cortex-A72 application processors, dual-core Arm Cortex-R5 real-time
      processors, 256KB of on-chip memory with ECC, more than 1,900 DSP engines
      optimized for high-precision floating point with low latency.
      
      This patch adds Virtual QEMU platform support for
      this SoC "versal_virt".
      Signed-off-by: default avatarSiva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
      Signed-off-by: default avatarMichal Simek <michal.simek@xilinx.com>
      f91c3cb1
  3. 08 Nov, 2018 4 commits
  4. 06 Nov, 2018 3 commits
  5. 05 Nov, 2018 1 commit
  6. 01 Nov, 2018 4 commits
  7. 31 Oct, 2018 2 commits
  8. 30 Oct, 2018 5 commits
  9. 29 Oct, 2018 5 commits
    • Antonio Nino Diaz's avatar
      plat/arm: Fix MISRA defects in SiP SVC handler · 15b94cc1
      Antonio Nino Diaz authored
      
      
      No functional changes.
      
      Change-Id: I9b9f8d3dfde08d57706ad5450de6ff858a55ac01
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      15b94cc1
    • Deepak Pandey's avatar
      plat/arm: Introduce the N1SDP. · 80d37c28
      Deepak Pandey authored
      
      
      This patch adds support for the N1SDP (NeoVerse N1 System Development
      Platform). It is an initial port and additional features are expected
      to be added later.
      
      The port includes only BL31 support as the System Control Processor
      (SCP) is expected to take the role of primary boatloader
      
      Change-Id: Ife17d8215a7bfcc1420204a72205e7ef920d0c10
      Signed-off-by: default avatarDeepak Pandey <Deepak.Pandey@arm.com>
      80d37c28
    • Soby Mathew's avatar
      FVP: Enable PIE for RESET_TO_BL31=1 · fc922ca8
      Soby Mathew authored
      
      
      This patch enabled PIE for FVP when RESET_TO_BL31=1. The references
      to BL31_BASE are replaced by BL31_START as being a symbol exported by
      the linker, will create a dynamic relocation entry in .rela.dyn and
      hence will be fixed up by dynamic linker at runtime. Also, we disable
      RECLAIM_INIT_CODE when PIE is enabled as the init section overlay
      creates some static relocations which cannot be handled by the
      dynamic linker currently.
      
      Change-Id: I86df1b0a8b2a8bbbe7c3f3c0b9a08c86c2963ec0
      Signed-off-by: default avatarSoby Mathew <soby.mathew@arm.com>
      fc922ca8
    • Soby Mathew's avatar
      plat/arm: Use `mov_imm` macro to load immediate values · bd83b396
      Soby Mathew authored
      
      
      This patch makes use of mov_imm macro where possible to load
      immediate values within ARM platform layer.
      
      Change-Id: I02bc7fbc1fa334c9fccf76fbddf515952f9a1298
      Signed-off-by: default avatarSoby Mathew <soby.mathew@arm.com>
      bd83b396
    • Soby Mathew's avatar
      Add helper to return reference to a symbol · 6a7b3005
      Soby Mathew authored
      
      
      This patch adds a utility function to return
      the address of a symbol. By default, the compiler
      generates adr/adrp instruction pair to return
      the reference and this utility is used to override
      this compiler generated to code and use `ldr`
      instruction.
      
      This is needed for Position Independent Executable
      when it needs to reference a symbol which is constant
      and does not depend on the execute address of the
      binary.
      
      For example, on the FVP, the GICv3 register context is
      stored in a secure carveout (arm_el3_tzc_dram) within
      DDR and does not relocate with the BL image. Now if
      BL31 is executing at a different address other than
      the compiled address, using adrp/adr instructions to
      reference this memory will not work as they generate an
      address that is PC relative. The way to get around this
      problem is to reference it as non-PC relative (i.e
      non-relocatable location) via `ldr` instruction.
      
      Change-Id: I5008a951b007144258121690afb68dc8e12ee6f7
      Signed-off-by: default avatarSoby Mathew <soby.mathew@arm.com>
      6a7b3005
  10. 26 Oct, 2018 8 commits
  11. 25 Oct, 2018 3 commits