| 4122151f | 03-Mar-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: smmu: driver for the smmu hardware block
This patch adds a device driver for the SMMU hardware block on Tegra186 SoCs. We use the generic ARM SMMU-500 IP block on Tegra186. The driver only
Tegra186: smmu: driver for the smmu hardware block
This patch adds a device driver for the SMMU hardware block on Tegra186 SoCs. We use the generic ARM SMMU-500 IP block on Tegra186. The driver only supports saving the SMMU settings before entering system suspend. The MC driver and the NS world clients take care of programming their own settings.
Change-Id: Iab5a90310ee10f6bc8745451ce50952ab3de7188 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 66b4c166 | 07-Mar-2017 |
dp-arm <dimitris.papastamos@arm.com> |
mbedtls: Namespace TF specific macros
These macros are not part of mbed TLS so they should not be prefixed with `MBEDTLS_` to avoid potential collision in the future. Use the `TBBR_` suffix to highl
mbedtls: Namespace TF specific macros
These macros are not part of mbed TLS so they should not be prefixed with `MBEDTLS_` to avoid potential collision in the future. Use the `TBBR_` suffix to highlight that they only used in TF.
`MBEDTLS_KEY_ALG` was not modified because that is documented and used by platforms to select the key algorithm.
Change-Id: Ief224681715c481691c80810501830ce16e210b0 Signed-off-by: dp-arm <dimitris.papastamos@arm.com>
show more ...
|
| 768baf6e | 20-Mar-2017 |
Douglas Raillard <douglas.raillard@arm.com> |
Tegra: replace ASM signed tests with unsigned
Replace the occurrences of signed condition codes where it was unnecessary by an unsigned test as the unsigned tests allow the full range of unsigned va
Tegra: replace ASM signed tests with unsigned
Replace the occurrences of signed condition codes where it was unnecessary by an unsigned test as the unsigned tests allow the full range of unsigned values to be used without inverting the result with some large operands.
This reverts commit ee2c909947e0a9c4a2562689a7bfc863bc4794f9.
Change-Id: Ibaa5e8dfae6ad65bada3cda5f683d181fee37e53 Acked-by: Varun Wadekar <vwadekar@nvidia.com> Signed-off-by: Douglas Raillard <douglas.raillard@arm.com>
show more ...
|
| 7eaf040a | 29-Feb-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: implement quasi power off (SC8) state
This patch adds support for the SC8 system power off state. This state keeps the sensor subsystem powered ON while powering down the remaining parts o
Tegra186: implement quasi power off (SC8) state
This patch adds support for the SC8 system power off state. This state keeps the sensor subsystem powered ON while powering down the remaining parts of the SoC. The CPUs and DRAM are powered down as part of this state entry and perform a cold boot when exiting SC8.
Change-Id: Iba65c661a7fe077a0d696f114bab3b4595e19a0d Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 1f586a71 | 26-Feb-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: disable DCO operations for PSCI_CPU_OFF
This patch disables the DCO operations when we turn OFF a CPU. DCO operations are still ON when a CPU enters a power down suspend state.
Change-Id:
Tegra186: disable DCO operations for PSCI_CPU_OFF
This patch disables the DCO operations when we turn OFF a CPU. DCO operations are still ON when a CPU enters a power down suspend state.
Change-Id: I954a800209ffcc9ab43a77f04040608cbbbd9055 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 50cd8646 | 29-Dec-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: register FIQ interrupt sources
This patch registers all the FIQ interrupt sources during platform setup. Currently we support AON and TOP watchdog timer interrupts.
Change-Id: Ibccd866f00
Tegra186: register FIQ interrupt sources
This patch registers all the FIQ interrupt sources during platform setup. Currently we support AON and TOP watchdog timer interrupts.
Change-Id: Ibccd866f00d6b08b574f765538525f95b49c5549 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| ac55f309 | 17-Feb-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: memctrl_v2: set NO_OVERRIDE for APE clients
For all APE clients (APER, APEW, APEDMAR, APEDMAW) set NO_OVERRIDE for MC_SID_CFG as ACAST/ADAST will be setup with the required SIDs ie. 0x7F & 0x
Tegra: memctrl_v2: set NO_OVERRIDE for APE clients
For all APE clients (APER, APEW, APEDMAR, APEDMAW) set NO_OVERRIDE for MC_SID_CFG as ACAST/ADAST will be setup with the required SIDs ie. 0x7F & 0x1E.
Original change by Nitin Kumbhar <nkumbhar@nvidia.com>
Change-Id: Idec981b3537cc95dac6ec37cdaa38bc45b16d232 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| be87d920 | 17-Feb-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: memctrl_v2: implement MC txn override WAR
This patch sets the Memory Controller's TXN_OVERRIDE registers for most write clients to CGID_ADR. This ensures ordering is maintained. In some cases
Tegra: memctrl_v2: implement MC txn override WAR
This patch sets the Memory Controller's TXN_OVERRIDE registers for most write clients to CGID_ADR. This ensures ordering is maintained. In some cases WAW ordering problems could occur. There are different settings for Tegra version A01 v A02.
Original changes by Alex Waterman <alexw@nvidia.com>
Change-Id: I82ea02afa43a24250ed56985757b83e78e71178c Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 67bc721b | 17-Feb-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: memctrl_v2: check GPU state before VPR programming
The GPU is the real consumer of the video protected memory region and it needs to be in reset to pick up the new region.
This patch checks
Tegra: memctrl_v2: check GPU state before VPR programming
The GPU is the real consumer of the video protected memory region and it needs to be in reset to pick up the new region.
This patch checks if the GPU is in reset before we program the new video protected memory region settings.
Change-Id: I44f553bfcf07b1975abad53b245954be966c8aeb Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 8020793f | 17-Feb-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: memctrl_v2: no SID override for SCE block
This patch fixes the incorrect override settings for the SCE hardware block.
Original change by Pekka Pessi <ppessi@nvidia.com>
Change-Id: I33db55d
Tegra: memctrl_v2: no SID override for SCE block
This patch fixes the incorrect override settings for the SCE hardware block.
Original change by Pekka Pessi <ppessi@nvidia.com>
Change-Id: I33db55d6004331988b52ca70157aab1409f4829f Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| aa1bdc96 | 09-Feb-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: fix per-cpu wake times for CPU power states
This patch fixes the logic used to calculate the CPU index for storing the per-cpu wake times. We use the MIDR register to calculate the CPU ind
Tegra186: fix per-cpu wake times for CPU power states
This patch fixes the logic used to calculate the CPU index for storing the per-cpu wake times. We use the MIDR register to calculate the CPU index now. This allows us to store values for Denver/A57 CPUs properly.
Change-Id: I9df0377afd4b92bbdaea495c0df06a9780a99d09 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 7dd5af0a | 03-Feb-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: add Video memory carveout settings
This patch supports the TEGRA_SIP_NEW_VIDEOMEM_REGION SiP call to program new video memory carveout settings from the NS world.
Change-Id: If9ed818fe71e
Tegra186: add Video memory carveout settings
This patch supports the TEGRA_SIP_NEW_VIDEOMEM_REGION SiP call to program new video memory carveout settings from the NS world.
Change-Id: If9ed818fe71e6cb7461f225090105a4d8883b7a2 Signed-off-by: Wayne Lin <wlin@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 7afd4637 | 19-Jan-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: support for C6/C7 CPU_SUSPEND states
This patch adds support for the C6 and C7 CPU_SUSPEND states. C6 is an idle state while C7 is a powerdown state.
The MCE block takes care of the entry
Tegra186: support for C6/C7 CPU_SUSPEND states
This patch adds support for the C6 and C7 CPU_SUSPEND states. C6 is an idle state while C7 is a powerdown state.
The MCE block takes care of the entry/exit to/from these core power states and hence we call the corresponding MCE handler to process these requests. The NS driver passes the tentative time that the core is expected to stay in this state as part of the power_state parameter, which we store in a per-cpu array and pass it to the MCE block.
Change-Id: I152acb11ab93d91fb866da2129b1795843dfa39b Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| d48c0c45 | 30-Dec-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: memctrl_v2: secure the on-chip TZSRAM memory
This patch programs the Memory controller's control registers to disable non-secure accesses to the TZRAM. In case these registers are already pro
Tegra: memctrl_v2: secure the on-chip TZSRAM memory
This patch programs the Memory controller's control registers to disable non-secure accesses to the TZRAM. In case these registers are already programmed by the BL2/BL30, then the driver just bails out.
Change-Id: Ia1416988050e3d067296373060c717a260499122 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| b67a7c7c | 09-Jan-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: support for the latest platform port handlers
This patch adds support for the newer platform handler functions. Commit I6db74b020b141048b6b8c03e1bef7ed8f72fd75b merges the upstream code wh
Tegra186: support for the latest platform port handlers
This patch adds support for the newer platform handler functions. Commit I6db74b020b141048b6b8c03e1bef7ed8f72fd75b merges the upstream code which has already moved all the upstream supported platforms over to these handler functions.
Change-Id: I621eff038f3c0dc1b90793edcd4dd7c71b196045 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| b6ea86b1 | 07-Jan-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: implement prepare_system_reset handler
This patch implements the 'prepare_system_reset' handler to issue the 'system reset' command to the MCE.
Change-Id: I83d8d0b4167aac5963d640fe77d5754
Tegra186: implement prepare_system_reset handler
This patch implements the 'prepare_system_reset' handler to issue the 'system reset' command to the MCE.
Change-Id: I83d8d0b4167aac5963d640fe77d5754dc7ef05b1 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 348619f2 | 05-Jan-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: implement CPU_OFF handler
This patch implements the CPU_OFF handler for powering down a CPU using the MCE driver.
Change-Id: I8d455005d0b547cc61cc7778bfe9eb84b7e5480c Signed-off-by: Varun
Tegra186: implement CPU_OFF handler
This patch implements the CPU_OFF handler for powering down a CPU using the MCE driver.
Change-Id: I8d455005d0b547cc61cc7778bfe9eb84b7e5480c Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 5d74d68e | 04-Jan-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: update SYSCNT_FREQ to 31.25MHz
The System Counter Frequency has been updated to 31.25MHz after some experiments as the previous value was too high.
Change-Id: I79986ee1c0c88700a3a2b1dbff2
Tegra186: update SYSCNT_FREQ to 31.25MHz
The System Counter Frequency has been updated to 31.25MHz after some experiments as the previous value was too high.
Change-Id: I79986ee1c0c88700a3a2b1dbff2d3f00c0c412b9 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| b5ef9569 | 30-Nov-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: relocate bl31.bin to the SYSRAM
Tegra186 has an on-die, 320KB, "System RAM" memory. Out of the total size, 256KB are allocated for the CPU TrustZone binaries - EL3 monitor and Trusted OS.
Tegra186: relocate bl31.bin to the SYSRAM
Tegra186 has an on-die, 320KB, "System RAM" memory. Out of the total size, 256KB are allocated for the CPU TrustZone binaries - EL3 monitor and Trusted OS.
This patch changes the base address for bl31.bin to the SysRAM base address. The carveout is too small for the Trusted OS, so we relocate only the monitor binary.
Change-Id: Ib4b667ff2a7a619589851338f9d0bfb02078c575 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| c7ec0892 | 14-Mar-2017 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: implement prepare_system_off handler
This patch issues the 'System Off' ARI to power off the entire system from the 'prepare_system_off' handler.
Signed-off-by: Varun Wadekar <vwadekar@nv
Tegra186: implement prepare_system_off handler
This patch issues the 'System Off' ARI to power off the entire system from the 'prepare_system_off' handler.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| b47d97b3 | 14-Sep-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: power on/off secondary CPUs
This patch add code to power on/off the secondary CPUs on the Tegra186 chip. The MCE block is the actual hardware that takes care of the power on/off sequence.
Tegra186: power on/off secondary CPUs
This patch add code to power on/off the secondary CPUs on the Tegra186 chip. The MCE block is the actual hardware that takes care of the power on/off sequence. We pass the constructed CPU #, depending on the MIDR_IMPL field, to the MCE CPU handlers.
This patch also programs the reset vector addresses to allow the CPUs to power on through the monitor and then jump to the linux world.
Change-Id: Idc164586cda91c2009d66f3e09bf4464de9662db Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| bb844c1f | 09-Sep-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: SiP calls to interact with the MCE driver
This patch adds the new SiP SMC calls to allow the NS world to interact with the MCE hardware block on Tegra186 chips.
Change-Id: I79c6b9f76d68a8
Tegra186: SiP calls to interact with the MCE driver
This patch adds the new SiP SMC calls to allow the NS world to interact with the MCE hardware block on Tegra186 chips.
Change-Id: I79c6b9f76d68a87abd57a940613ec070562d2eac Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 7808b06b | 14-Mar-2017 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: mce: driver for the CPU complex power manager block
The CPU Complex (CCPLEX) Power Manager (Denver MCE, or DMCE) is an offload engine for BPMP to do voltage related sequencing and for hard
Tegra186: mce: driver for the CPU complex power manager block
The CPU Complex (CCPLEX) Power Manager (Denver MCE, or DMCE) is an offload engine for BPMP to do voltage related sequencing and for hardware requests to be handled in a better latency than BPMP-firmware.
There are two interfaces to the MCEs - Abstract Request Interface (ARI) and the traditional NVGINDEX/NVGDATA interface.
MCE supports various commands which can be used by CPUs - ARM as well as Denver, for power management and reset functionality. Since the linux kernel is the master for all these scenarios, each MCE command can be issued by a corresponding SMC. These SMCs have been moved to SiP SMC space as they are specific to the Tegra186 SoC.
Change-Id: I67bee83d2289a8ab63bc5556e5744e5043803e51 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 3cf3183f | 25-Aug-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: platform support for Tegra "T186" SoC
Tegra186 is the newest SoC in the Tegra family which consists of two CPU clusters - Denver and A57. The Denver cluster hosts two next gen Denver15 CPU
Tegra186: platform support for Tegra "T186" SoC
Tegra186 is the newest SoC in the Tegra family which consists of two CPU clusters - Denver and A57. The Denver cluster hosts two next gen Denver15 CPUs while the A57 cluster hosts four ARM Cortex-A57 CPUs. Unlike previous Tegra generations, all the six cores on this SoC would be available to the system at the same time and individual clusters can be powered down to conserve power.
Change-Id: Id0c9919dbf5186d2938603e0b11e821b5892985e Signed-off-by: Wayne Lin <wlin@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 412dd5c5 | 20-Sep-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: memctrl_v2: Memory Controller Driver (v2)
This patch adds driver for the Memory Controller (v2) in the newer Tegra SoCs. The newer hardware uses ARM's SMMU hardware instead of the proprietary
Tegra: memctrl_v2: Memory Controller Driver (v2)
This patch adds driver for the Memory Controller (v2) in the newer Tegra SoCs. The newer hardware uses ARM's SMMU hardware instead of the proprietary block in the past.
Change-Id: I78359da780dc840213b6e99954e45e34428d4fff Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|