1. 08 Jul, 2020 2 commits
    • Etienne Carriere's avatar
      stm32mp1: shared resources: peripheral registering · 68450c94
      Etienne Carriere authored
      
      
      Define helper functions stm32mp_register_secure_periph() and
      stm32mp_register_non_secure_periph() for platform drivers to
      register a shared resource assigned to respectively secure
      or non-secure world.
      
      Some resources are related to clock resources. When a resource is
      registered as secure, ensure its clock dependencies are also
      registered as secure. Registering a non-secure resource does not
      mandate its clock dependencies are also registered as non-secure.
      
      Change-Id: I74975be8976b8d3bf18dcc807541a072803af6e3
      Signed-off-by: default avatarEtienne Carriere <etienne.carriere@st.com>
      68450c94
    • Etienne Carriere's avatar
      stm32mp1: shared resources: add trace messages · a2150c33
      Etienne Carriere authored
      
      
      Define from helper functions to get a human readable string
      identifier from a shared resource enumerated ID. Use them to
      make debug traces more friendly peripheral registering functions.
      
      Change-Id: I9e207b8ce1d1e9250e242ca7e15461b9a1532f40
      Signed-off-by: default avatarEtienne Carriere <etienne.carriere@st.com>
      a2150c33
  2. 23 Jun, 2020 3 commits
    • Etienne Carriere's avatar
      stm32mp1: shared resources: apply registered configuration · 5f038ac6
      Etienne Carriere authored
      
      
      BL32/SP_MIN configures platform security hardening from the shared
      resources driver.  At the end of SP_MIN initialization, all shared
      resources shall be assigned to secure or non-secure world by
      drivers. A lock prevent from further change on the resource
      assignation. By definition, resources not registered are assign
      to non-secure world since not claimed by any component on the BL.
      
      No functional change as all resources are currently in state
      SHRES_UNREGISTERED hence assigned to non-secure world as prior
      this change in stm32mp1_etzpc_early_setup() and
      sp_min_platform_setup().
      
      Change-Id: Ic41fab47216c3b8b7a6a75b8358cfcec411ed941
      Signed-off-by: default avatarEtienne Carriere <etienne.carriere@st.com>
      5f038ac6
    • Etienne Carriere's avatar
      stm32mp1: shared resources: count GPIOZ bank pins · 722999e3
      Etienne Carriere authored
      
      
      Get number of pins in the GPIOZ bank with helper function
      fdt_get_gpio_bank_pin_count(). Save the value in RAM to prevent
      parsing the FDT several time for the same information.
      
      Change-Id: Ie68e300804461ffce09914100a7d2962116023b5
      Signed-off-by: default avatarEtienne Carriere <etienne.carriere@st.com>
      722999e3
    • Etienne Carriere's avatar
      stm32mp1: introduce shared resources support · 47cf5d3f
      Etienne Carriere authored
      
      
      STM32MP1 SoC includes peripheral interfaces that can be assigned to
      the secure world, or that can be opened to the non-secure world.
      
      This change introduces the basics of a driver that manages such
      resources which assignation is done at run time. It currently offers
      API functions that state whether a service exposed to non-secure
      world has permission to access a targeted clock or reset controller.
      
      Change-Id: Iff20028f41586bc501085488c03546ffe31046d8
      Signed-off-by: default avatarEtienne Carriere <etienne.carriere@st.com>
      47cf5d3f