1. 07 Jan, 2020 5 commits
    • Mirela Simonovic's avatar
      zynqmp: pm: Fix clock models and IDs of GEM-related clocks · 06ad9803
      Mirela Simonovic authored
      
      
      GEM-related clock models were incorrect and are fixed as follows
      (documented below for GEM0, but the same holds for any GEM ID):
      
      - CLK_GEM0_REF_UNGATED represents clock that has DIV0/1 divisors and
       the multiplexer controllable in GEM0_REF_CTRL (CRL_APB). The ID of this
       clock is newly introduced in this patch.
      
      - CLK_GEM0_REF models the clock mux that selects the reference clock
       for Tx, i.e. selects CLK_GEM0_REF_UNGATED or external Tx clock. This
       mux is controllable via GEM_CLK_CTRL (IOU_SLCR), bit GEM0_REF_SRC_SEL.
       Note that the routing of external clock to the mux is not modelled
       and is assumed to be configured by the FSBL if required, and not
       changeable at runtime. The ID of this clock is introduced in this patch.
      
      - CLK_GEM0_TX models clock with only a gate that is controlled via
       bit 25 in GEM0_REF_CTRL (CRL_APB). The parent of this clock is
       CLK_GEM0_REF. The clock ID of CLK_GEM0_TX matches the previous ID
       value of CLK_GEM0_REF. This is done in order to fix the clock models
       and incorrect binding without requiring to change device-tree (binding
       of clock IDs to GEM interface).
      
      - CLK_GEM0_RX models clock that has only gate controlled via RX_CLKACT
       bit (26) in GEM0_REF_CTRL (CRL_APB). Parent of this clock is sourced
       from external RGMII PHY (via MIO or EMIO). We do not model the whole
       clock path to the Rx gate, since this is configured by the FSBL and
       never changed at runtime (and there is no mechanism to change the
       path at runtime). The clock ID of CLK_GEM0_RX clock is equal to the
       previous ID value of CLK_GEM0_TX clock. This is done because the TX/RX
       were swapped in device tree, so by fixing the IDs this way there is no
       need for device tree fix.
      
      Rates of the external RX/TX clocks can be specified in device tree if
      needed. Right now, that's not necessary because Tx clock is sourced
      from an on-chip PLL (via CLK_GEM0_REF_UNGATED/CLK_GEM0_REF), whereas
      the Rx clock is sourced from external reference and the driver never
      attempts to get/get clock rate (only to enable it). If this changes in
      future, ATF clock model doesn't need to be changed. Instead, the clock
      rates for gem0_tx_ext and gem0_rx_ext have to be specified in device
      tree.
      Signed-off-by: default avatarMirela Simonovic <mirela.simonovic@aggios.com>
      Acked-by: default avatarWill Wong <will.wong@xilinx.com>
      Signed-off-by: default avatarJolly Shah <jolly.shah@xilinx.com>
      Change-Id: I6497d4309e92205c527bd81b3aa932f4474f5b79
      06ad9803
    • Mounika Grace Akula's avatar
      zynqmp: pm: Rename FPD WDT clock ID · fa8ae3c8
      Mounika Grace Akula authored
      
      
      This patch renames FPD WDT clock ID from CLK_WDT to CLK_FPD_WDT.
      Signed-off-by: default avatarMounika Grace Akula <mounika.grace.akula@xilinx.com>
      Signed-off-by: default avatarJolly Shah <jolly.shah@xilinx.com>
      Change-Id: I4d00a59b1dc54920115a2da55e8a06347fe2231c
      fa8ae3c8
    • Edgar E. Iglesias's avatar
      plat: xilinx: zynqmp: Correct syscnt freq for QEMU · 65501a7c
      Edgar E. Iglesias authored
      
      
      Correct the syscnt frequency for ZynqMP QEMU to 65Mhz.
      Signed-off-by: default avatarEdgar E. Iglesias <edgar.iglesias@xilinx.com>
      Signed-off-by: default avatarJolly Shah <jolly.shah@xilinx.com>
      Change-Id: Ie0137feb9b7e24ed4e5d6cbf81c58ac77bb69214
      65501a7c
    • Venkatesh Yadav Abbarapu's avatar
      arm64: zynqmp: Add idcodes for new RFSoC silicons ZU48DR and ZU49DR · c613a660
      Venkatesh Yadav Abbarapu authored
      
      
      Add support for zu48dr and zu49dr to the list of zynqmp devices. The
      zu48dr and zu49dr are the new RFSoC silicons with id values of 0x7b
      and 0x7e.
      Signed-off-by: default avatarVenkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com>
      Signed-off-by: default avatarJolly Shah <jolly.shah@xilinx.com>
      Change-Id: I2978f16bb663853951ef8059bf0327f909447f34
      c613a660
    • Siva Durga Prasad Paladugu's avatar
      arm64: zynqmp: Add id for new RFSoC device ZU39DR · 345a85ae
      Siva Durga Prasad Paladugu authored
      
      
      This patch adds new RFSoC device ZU39DR to zynqmp
      devices list
      Signed-off-by: default avatarSiva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
      Signed-off-by: default avatarJolly Shah <jolly.shah@xilinx.com>
      Change-Id: I35735da9e7d7facbde44323c49eac1b714e4909d
      345a85ae
  2. 03 Jan, 2020 2 commits
    • Alexei Fedorov's avatar
    • Vishnu Banavath's avatar
      drivers: add a driver for snoop control unit · c20c0525
      Vishnu Banavath authored
      
      
      The SCU connects one to four Cortex-A5/Cortex-A9 processors
      to the memory system through the AXI interfaces.
      
      The SCU functions are to:
      - maintain data cache coherency between the Cortex-A5/Cortex-A9
        processors
      - initiate L2 AXI memory accesses
      - arbitrate between Cortex-A5/Cortex-A9 processors requesting
        L2 accesses
      - manage ACP accesses.
      
      Snoop Control Unit will enable to snoop on other CPUs caches.
      This is very important when it comes to synchronizing data between
      CPUs. As an example, there is a high chance that data might be
      cache'd and other CPUs can't see the change. In such cases,
      if snoop control unit is enabled, data is synchoronized immediately
      between CPUs and the changes are visible to other CPUs.
      
      This driver provides functionality to enable SCU as well as enabling
      user to know the following
      - number of CPUs present
      - is a particular CPU operating in SMP mode or AMP mode
      - data cache size of a particular CPU
      - does SCU has ACP port
      - is L2CPRESENT
      
      Change-Id: I0d977970154fa60df57caf449200d471f02312a0
      Signed-off-by: default avatarVishnu Banavath <vishnu.banavath@arm.com>
      c20c0525
  3. 02 Jan, 2020 4 commits
  4. 30 Dec, 2019 2 commits
  5. 29 Dec, 2019 2 commits
    • Samuel Holland's avatar
      allwinner: Remove unused include path · 252c1d1d
      Samuel Holland authored
      
      Signed-off-by: default avatarSamuel Holland <samuel@sholland.org>
      Change-Id: Ia2f69e26e34462e113bc2cad4dcb923e20b8fb95
      252c1d1d
    • Samuel Holland's avatar
      bl31: Split into two separate memory regions · f8578e64
      Samuel Holland authored
      
      
      Some platforms are extremely memory constrained and must split BL31
      between multiple non-contiguous areas in SRAM. Allow the NOBITS
      sections (.bss, stacks, page tables, and coherent memory) to be placed
      in a separate region of RAM from the loaded firmware image.
      
      Because the NOBITS region may be at a lower address than the rest of
      BL31, __RW_{START,END}__ and __BL31_{START,END}__ cannot include this
      region, or el3_entrypoint_common would attempt to invalidate the dcache
      for the entire address space. New symbols __NOBITS_{START,END}__ are
      added when SEPARATE_NOBITS_REGION is enabled, and the dcached for the
      NOBITS region is invalidated separately.
      Signed-off-by: default avatarSamuel Holland <samuel@sholland.org>
      Change-Id: Idedfec5e4dbee77e94f2fdd356e6ae6f4dc79d37
      f8578e64
  6. 26 Dec, 2019 2 commits
  7. 23 Dec, 2019 3 commits
  8. 20 Dec, 2019 16 commits
  9. 19 Dec, 2019 4 commits