| 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 ...
|
| ea6dec5d | 10-Mar-2017 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: public interfaces to get the chip's major/minor versions
This patch opens up the interfaces to read the chip's major/minor versions for all Tegra drivers to use.
Signed-off-by: Varun Wadekar
Tegra: public interfaces to get the chip's major/minor versions
This patch opens up the interfaces to read the chip's major/minor versions for all Tegra drivers to use.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 75311203 | 07-Mar-2017 |
dp-arm <dimitris.papastamos@arm.com> |
Move plat/common source file definitions to generic Makefiles
These source file definitions should be defined in generic Makefiles so that all platforms can benefit. Ensure that the symbols are prop
Move plat/common source file definitions to generic Makefiles
These source file definitions should be defined in generic Makefiles so that all platforms can benefit. Ensure that the symbols are properly marked as weak so they can be overridden by platforms.
NOTE: This change is a potential compatibility break for non-upstream platforms.
Change-Id: I7b892efa9f2d6d216931360dc6c436e1d10cffed Signed-off-by: dp-arm <dimitris.papastamos@arm.com>
show more ...
|
| baac5dd4 | 07-Nov-2016 |
Andre Przywara <andre.przywara@arm.com> |
plat/tegra: Enable Cortex-A53 erratum 855873 workaround
The NVidia Tegra 210 SoC contains Cortex-A53 CPUs which are affected by erratum 855873.
Enable the workaround that TF provides to fix this er
plat/tegra: Enable Cortex-A53 erratum 855873 workaround
The NVidia Tegra 210 SoC contains Cortex-A53 CPUs which are affected by erratum 855873.
Enable the workaround that TF provides to fix this erratum.
Change-Id: I6cef4ac60ae745e9ce299ee22c93b9d2c4f6c5f2 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 9a770b94 | 07-Nov-2016 |
Andre Przywara <andre.przywara@arm.com> |
plat/mediatek: Enable Cortex-A53 erratum 855873 workaround
The Mediatek 8173 SoC contains Cortex-A53 CPUs which are affected by erratum 855873.
Enable the workaround that TF provides to fix this er
plat/mediatek: Enable Cortex-A53 erratum 855873 workaround
The Mediatek 8173 SoC contains Cortex-A53 CPUs which are affected by erratum 855873.
Enable the workaround that TF provides to fix this erratum.
Change-Id: I6e1c7822c320d81bdd46b8942d1d755883dac1f5 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| b75dc0e4 | 06-Oct-2016 |
Andre Przywara <andre.przywara@arm.com> |
Add workaround for ARM Cortex-A53 erratum 855873
ARM erratum 855873 applies to all Cortex-A53 CPUs. The recommended workaround is to promote "data cache clean" instructions to "data cache clean and
Add workaround for ARM Cortex-A53 erratum 855873
ARM erratum 855873 applies to all Cortex-A53 CPUs. The recommended workaround is to promote "data cache clean" instructions to "data cache clean and invalidate" instructions. For core revisions of r0p3 and later this can be done by setting a bit in the CPUACTLR_EL1 register, so that hardware takes care of the promotion. As CPUACTLR_EL1 is both IMPLEMENTATION DEFINED and can be trapped to EL3, we set the bit in firmware. Also we dump this register upon crashing to provide more debug information.
Enable the workaround for the Juno boards.
Change-Id: I3840114291958a406574ab6c49b01a9d9847fec8 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 3944adca | 18-Mar-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #861 from soby-mathew/sm/aarch32_fixes
Misc AArch32 fixes |
| 28ee754d | 16-Mar-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #856 from antonio-nino-diaz-arm/an/dynamic-xlat
Introduce version 2 of the translation tables library |