1. 18 Jan, 2019 17 commits
    • Varun Wadekar's avatar
      Tegra: sanity check non-secure DRAM address · 6460ed7a
      Varun Wadekar authored
      
      
      This patch fixes the logic to validate if a non-secure memory address
      overlaps the TZDRAM memory aperture.
      
      Change-Id: I68af7dc6acc705d7b0ee9161c4002376077b46b1
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      6460ed7a
    • Anthony Zhou's avatar
      Tegra: fix defects flagged by MISRA Rule 10.3 · aa64c5fb
      Anthony Zhou authored
      
      
      MISRA Rule 10.3, the value of an expression shall not be assigned to
      an object with a narrower essential type or of a different essential
      type category.
      
      The essential type of a enum member is anonymous enum, the enum member
      should be casted to the right type when using it.
      
      Both UL and ULL suffix equal to uint64_t constant in compiler
      aarch64-linux-gnu-gcc, to avoid confusing, only keep U and ULL suffix
      in platform code. So in some case, cast a constant to uint32_t is
      necessary.
      
      Change-Id: I1aae8cba81ef47481736e7f95f53570de7013187
      Signed-off-by: default avatarAnthony Zhou <anzhou@nvidia.com>
      aa64c5fb
    • Harvey Hsieh's avatar
      Tegra210: save TZSRAM context from the "_wfi" handler · e680a397
      Harvey Hsieh authored
      
      
      This patch saves the TZSRAM context and takes the SoC into System Suspend
      from the "_wfi" handler. This helps us save the entire CPU context from
      the TZSRAM, before entering System Suspend. In the previous implementation
      we missed saving some part of the state machine context leading to an assert
      on System Suspend exit.
      
      Change-Id: I4895a8b4a5e3c3e983c245746ea388e42da8229c
      Signed-off-by: default avatarHarvey Hsieh <hhsieh@nvidia.com>
      e680a397
    • Samuel Payne's avatar
      Tegra210: se: enable entropy/SE clocks before system suspend · 99359f1d
      Samuel Payne authored
      
      
      This patch enables clocks to the SE and Entropy block and gets them
      out of reset, before starting the context save operation.
      
      Change-Id: Ic196be8fb833dfd04c0e8d460c07058429999613
      Signed-off-by: default avatarSamuel Payne <spayne@nvidia.com>
      99359f1d
    • Steven Kao's avatar
      Tegra: smmu: add a hook to get number of devices · bc5a86f7
      Steven Kao authored
      
      
      This patch adds a hook to get the number of smmu devices and
      removes the NUM_SMMU_DEVICES macro.
      
      Change-Id: Ia8dba7e9304224976b5da688b9e4b5438f11cc41
      Signed-off-by: default avatarSteven Kao <skao@nvidia.com>
      bc5a86f7
    • Anthony Zhou's avatar
      Tegra: common: fix defects flagged by MISRA scan · 4c994002
      Anthony Zhou authored
      
      
      Macro assert(e) request 'e' is a bool type, if useing other
      type, MISRA report a "The Essential Type Model" violation,
      Add a judgement to fix the defects, if 'e' is not bool type.
      
      Remove unused code [Rule 2.5]
      Fix the essential type model violation [Rule 10.6, 10.7]
      Use local parameter to raplace function parameter [Rule 17.8]
      
      Change-Id: Ifce932addbb0a4b063ef6b38349d886c051d81c0
      Signed-off-by: default avatarAnthony Zhou <anzhou@nvidia.com>
      4c994002
    • Steven Kao's avatar
      Tegra: read-modify-write ACTLR_ELx registers · 75516c3e
      Steven Kao authored
      
      
      This patch changes direct writes to ACTLR_ELx registers to use
      read-modify-write instead.
      
      Change-Id: I6e0eaa6974583f3035cb3724088f3f1c849da229
      Signed-off-by: default avatarSteven Kao <skao@nvidia.com>
      75516c3e
    • Varun Wadekar's avatar
      Tegra186: enable erratas for Cortex-A57 CPUs · 98312afc
      Varun Wadekar authored
      
      
      This patch enables the following erratas for Cortex-A57 CPUs:
      
      - ERRATA_A57_806969
      - ERRATA_A57_813419
      - ERRATA_A57_813420
      - ERRATA_A57_826974
      - ERRATA_A57_826977
      - ERRATA_A57_828024
      - ERRATA_A57_829520
      - ERRATA_A57_833471
      
      Change-Id: Ib18b7654607b967b70082f683686a16f52637442
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      98312afc
    • Anthony Zhou's avatar
      Tegra186: fix defects flagged by MISRA scan · 9e7a2436
      Anthony Zhou authored
      
      
      Main fixes:
      
      Remove unused type conversion
      
      Fix invalid use of function pointer [Rule 1.3]
      
      Fix variable essential type doesn't match [Rule 10.3]
      
      Voided non c-library functions whose return types are not used
       [Rule 17.7]
      
      Change-Id: I23994c9d4d6a240080933d848d2b03865acaa833
      Signed-off-by: default avatarAnthony Zhou <anzhou@nvidia.com>
      9e7a2436
    • Samuel Payne's avatar
      Tegra210: se: disable SMMU before suspending SE block · 86d0a52b
      Samuel Payne authored
      
      
      This patch disables SMMU hardware before suspending the SE
      block, for the context save operation to complete. The NS
      word will re-enable SMMU when we exit System Suspend.
      
      Change-Id: I4d5cd982ea6780db5c38b124550d847e3928c60d
      Signed-off-by: default avatarSamuel Payne <spayne@nvidia.com>
      86d0a52b
    • Anthony Zhou's avatar
      Tegra: common: drivers: fix MISRA defects · 61beb3e0
      Anthony Zhou authored
      
      
      Main fixes:
      
      Add suffix U for constant [Rule 10.1]
      
      Match the operands type [Rule 10.4]
      
      Use UL replace U for that constant define that need do "~"
      operation [Rule 12.4]
      
      Voided non c-library functions whose return types are not used
       [Rule 17.7]
      
      Change-Id: Ia1e814ca3890eab7904be9c79030502408f30936
      Signed-off-by: default avatarAnthony Zhou <anzhou@nvidia.com>
      61beb3e0
    • Anthony Zhou's avatar
      Tegra: pm: fix MISRA defects · b36aea5a
      Anthony Zhou authored
      
      
      Main fixes:
      
      * Use int32_t replace int, use uint32_t replace unsign int
        [Rule 4.6]
      * Add function define to header file [Rule 8.4]
      * Added curly braces ({}) around if statements in order to
        make them compound [Rule 15.6]
      * Voided non c-library functions whose return types are not used
        [Rule 17.7]
      
      Change-Id: Ifa3ba4e75046697cfede885096bee9a30efe6519
      Signed-off-by: default avatarAnthony Zhou <anzhou@nvidia.com>
      b36aea5a
    • Varun Wadekar's avatar
      Tegra186: reduce complexity for the 'get_target_pwr_state' handler · 4e1830a9
      Varun Wadekar authored
      
      
      This patch reduces the code complexity for the platform's 'get_target_pwr_state'
      handler, by reducing the number of 'if' conditions and adding helper functions
      to calculate power state for the cluster/system.
      
      Tested with 'pmccabe'
      
      Change-Id: I32fa4c814bd97f620f2003fa39f1bfceae563771
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      4e1830a9
    • Varun Wadekar's avatar
      Tegra: fix MISRA defects in tegra_bl31_setup.c · fcf23a14
      Varun Wadekar authored
      
      
      Main fixes:
      
      Add parentheses to avoid implicit operator precedence [Rule 12.1]
      
      Fixed if statement conditional to be essentially boolean [Rule 14.4]
      
      Added curly braces ({}) around if statements in order to
      make them compound [Rule 15.6]
      
      Voided non c-library functions whose return types are not used [Rule 17.7]
      
      Bug 200272157
      
      Change-Id: Ic3ab5a3de95aeb6d2265df940f7fb35ea0f19ab0
      Signed-off-by: default avatarAnthony Zhou <anzhou@nvidia.com>
      fcf23a14
    • Varun Wadekar's avatar
      Tegra: gpcdma: driver for general purpose DMA · 647d4a03
      Varun Wadekar authored
      
      
      This patch adds the driver for the general purpose DMA hardware
      block on newer Tegra SoCs. The GPCDMA is a special purpose DMA
      used to speed up memory copy operations to/from DRAM and TZSRAM.
      
      This patch introduces a macro 'USE_GPC_DMA' to allow platforms
      to override CPU based memory operations.
      
      Change-Id: I3170d409c83b77e785437b1002a8d70188fabbeb
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      647d4a03
    • Samuel Payne's avatar
      Tegra210: SE: remove logic to enable atomic save/restore · 76a7cd33
      Samuel Payne authored
      
      
      This patch removes the logic to set the bit that enables atomic context
      save/restore when we enter System suspend. The bootrom enables this bit
      during cold boot and exit from System Suspend, so we can remove this
      setting from the driver.
      
      Change-Id: Id4e08d5048155c970f5e31d9c9dd676c07182ade
      Signed-off-by: default avatarSamuel Payne <spayne@nvidia.com>
      76a7cd33
    • Anthony Zhou's avatar
      Tegra186: sip_calls: fix defects flagged by MISRA scan · 11c5b273
      Anthony Zhou authored
      
      
      Main fixes:
      
      Added explicit casts (e.g. 0U) to integers in order for them to be
      compatible with whatever operation they're used in [Rule 10.1]
      
      Convert object type to match the type of function parameters
      [Rule 10.3]
      
      Force operands of an operator to the same type category [Rule 10.4]
      
      Expressions resulting from the expansion of macro parameters
      shall be enclosed in parentheses[Rule 20.7]
      
      Change-Id: Ibdae1d18d299562ca2b96b2318b914601c9926b1
      Signed-off-by: default avatarAnthony Zhou <anzhou@nvidia.com>
      11c5b273
  2. 17 Jan, 2019 3 commits
    • Anson Huang's avatar
      imx: add cpu-freq SIP runtime service support · d3996c59
      Anson Huang authored
      
      
      On i.MX8QM/i.MX8QX with system controller inside, the CPU's clock
      rate is managed by SCFW(system controller firmware) and can ONLY be
      changed from secure world, so SIP runtime service is needed for
      setting CPU's clock rate, this patch adds cpu-freq SIP runtime service
      support.
      Signed-off-by: default avatarAnson Huang <Anson.Huang@nxp.com>
      d3996c59
    • Anson Huang's avatar
      imx: add imx8qm/imx8qx SRTC SIP runtime service support · 025514ba
      Anson Huang authored
      
      
      On i.MX8QM/i.MX8QX with system controller inside, the SRTC is
      managed by SCFW(system controller firmware) and some functions
      like setting SRTC's time etc. can ONLY be requested from secure
      world, so SIP runtime service is needed for such kind of operations,
      this patch adds SRTC SIP runtime service support for i.MX8QM and
      i.MX8QX.
      Signed-off-by: default avatarAnson Huang <Anson.Huang@nxp.com>
      025514ba
    • Anson Huang's avatar
      Support for NXP's i.MX8 SoCs timer IPC · 1552df5d
      Anson Huang authored
      
      
      NXP's i.MX8 SoCs have system controller (M4 core) which takes
      control of timer management, including watchdog, srtc and system
      counter etc., other clusters like Cortex-A35 can send out command
      via MU (Message Unit) to system controller for timer operation.
      
      This patch adds timer IPC(inter-processor communication) support.
      Signed-off-by: default avatarAnson Huang <Anson.Huang@nxp.com>
      1552df5d
  3. 16 Jan, 2019 20 commits