| 71cb26ea | 07-Aug-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: remove support for legacy platform APIs
This patch modifies the Tegra port to support the new platform APIs so that we can disable the compat layer. This includes modifications to the power m
Tegra: remove support for legacy platform APIs
This patch modifies the Tegra port to support the new platform APIs so that we can disable the compat layer. This includes modifications to the power management and platform topology code.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 864ab0fd | 27-Aug-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: flowctrl: rename tegra_fc_cpu_idle() to tegra_fc_cpu_powerdn()
This patch renames the tegra_fc_cpu_idle() function to a more appropriate tegra_fc_cpu_powerdn() to better reflect its usage.
S
Tegra: flowctrl: rename tegra_fc_cpu_idle() to tegra_fc_cpu_powerdn()
This patch renames the tegra_fc_cpu_idle() function to a more appropriate tegra_fc_cpu_powerdn() to better reflect its usage.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 3b40f993 | 10-Nov-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: introduce per-soc system reset handler
This patch adds a per-soc system reset handler for Tegra chips. The handler gets executed before the actual system resets. This allows for custom handli
Tegra: introduce per-soc system reset handler
This patch adds a per-soc system reset handler for Tegra chips. The handler gets executed before the actual system resets. This allows for custom handling of the system reset sequence on each SoC.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| e3616819 | 10-Sep-2015 |
Vikram Kanigiri <vikram.kanigiri@arm.com> |
Tegra: Perform cache maintenance on video carveout memory
Currently, the non-overlapping video memory carveout region is cleared after disabling the MMU at EL3. If at any exception level the carveou
Tegra: Perform cache maintenance on video carveout memory
Currently, the non-overlapping video memory carveout region is cleared after disabling the MMU at EL3. If at any exception level the carveout region is being marked as cacheable, this zeroing of memory will not have an affect on the cached lines. Hence, we first invalidate the dirty lines and update the memory and invalidate again so that both caches and memory is zeroed out.
Change-Id: If3b2d139ab7227f6799c0911d59e079849dc86aa
show more ...
|
| d49b9c80 | 26-Aug-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: fix logic to clear videomem regions
The previous logic in the memctrl driver was not catering to cases where the new memory region lied inside the older region. This patch fixes the if/elseif
Tegra: fix logic to clear videomem regions
The previous logic in the memctrl driver was not catering to cases where the new memory region lied inside the older region. This patch fixes the if/elseif/elseif logic in the driver to take care of this case.
Reported by: Vikram Kanigiri <vikram.kanigiri@arm.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| b42192bc | 21-Aug-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra210: wait for 512 timer ticks before retention entry
This patch programs the CPUECTLR_EL1 and L2ECTLR_EL1 registers, so that the core waits for 512 generic timer CNTVALUEB ticks before entering
Tegra210: wait for 512 timer ticks before retention entry
This patch programs the CPUECTLR_EL1 and L2ECTLR_EL1 registers, so that the core waits for 512 generic timer CNTVALUEB ticks before entering retention state, after executing a WFI instruction.
This functionality is configurable and can be enabled for platforms by setting the newly defined 'ENABLE_L2_DYNAMIC_RETENTION' and 'ENABLE_CPU_DYNAMIC_RETENTION' flag.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 9caf7e36 | 12-Aug-2015 |
danh-arm <dan.handley@arm.com> |
Merge pull request #360 from vwadekar/tegra-platform-def-v2
Tegra: fix PLATFORM_{MAX_AFFLVL|CORE_COUNT|NUM_AFFS} macros |
| 43ec35ee | 12-Aug-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: fix PLATFORM_{CORE_COUNT|NUM_AFFS} macros
This patch fixes the following macros for Tegra SoCs.
* PLATFORM_CORE_COUNT: PLATFORM_CLUSTER_COUNT * PLATFORM_MAX_CPUS_PER_CLUSTER * PLATFORM_NUM_A
Tegra: fix PLATFORM_{CORE_COUNT|NUM_AFFS} macros
This patch fixes the following macros for Tegra SoCs.
* PLATFORM_CORE_COUNT: PLATFORM_CLUSTER_COUNT * PLATFORM_MAX_CPUS_PER_CLUSTER * PLATFORM_NUM_AFFS: PLATFORM_CORE_COUNT + PLATFORM_CLUSTER_COUNT + 1
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| b25f5801 | 11-Aug-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: memmap the actual memory available for BL31
On Tegra SoCs, the TZDRAM contains the BL31 and BL32 images. This patch uses only the actual memory available for BL31 instead of mapping the entir
Tegra: memmap the actual memory available for BL31
On Tegra SoCs, the TZDRAM contains the BL31 and BL32 images. This patch uses only the actual memory available for BL31 instead of mapping the entire TZDRAM.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 2ee2c4f0 | 31-Jul-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra132: set TZDRAM_BASE to 0xF5C00000
The TZDRAM base on the reference platform has been bumped up due to some BL2 memory cleanup. Platforms can also use a different TZDRAM base by setting TZDRAM_
Tegra132: set TZDRAM_BASE to 0xF5C00000
The TZDRAM base on the reference platform has been bumped up due to some BL2 memory cleanup. Platforms can also use a different TZDRAM base by setting TZDRAM_BASE=<value> in the build command line.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 0bf1b022 | 31-Jul-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: retrieve BL32's bootargs from bl32_ep_info
This patch removes the bootargs pointer from the platform params structure. Instead the bootargs are passed by the BL2 in the bl32_ep_info struct wh
Tegra: retrieve BL32's bootargs from bl32_ep_info
This patch removes the bootargs pointer from the platform params structure. Instead the bootargs are passed by the BL2 in the bl32_ep_info struct which is a part of the EL3 params struct.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 42ca2d86 | 27-Jul-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra210: enable WRAP to INCR burst type conversions
The Memory Select Switch Controller routes any CPU transactions to the appropriate slave depending on the transaction address. During system susp
Tegra210: enable WRAP to INCR burst type conversions
The Memory Select Switch Controller routes any CPU transactions to the appropriate slave depending on the transaction address. During system suspend, it loses all config settings and hence the CPU has to restore them during resume.
This patch restores the controller's settings for enabling WRAP to INCR burst type conversions on the master ports, for any incoming requests from the AXI slave ports.
Tested by performing multiple system suspend cycles.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 1f95e28c | 21-Jul-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: modify 'BUILD_PLAT' to point to soc specific build dirs
This patch modifies the 'BUILD_PLAT' makefile variable to point to the soc specific build directory in order to allow each Tegra soc to
Tegra: modify 'BUILD_PLAT' to point to soc specific build dirs
This patch modifies the 'BUILD_PLAT' makefile variable to point to the soc specific build directory in order to allow each Tegra soc to have its own build directory. This way we can keep the build outputs separate and can keep multiple soc specific builds alive at the same time.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| e7d4caa2 | 16-Jul-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: Support for Tegra's T132 platforms
This patch implements support for T132 (Denver CPU) based Tegra platforms.
The following features have been added:
* SiP calls to switch T132 CPU's AARCH
Tegra: Support for Tegra's T132 platforms
This patch implements support for T132 (Denver CPU) based Tegra platforms.
The following features have been added:
* SiP calls to switch T132 CPU's AARCH mode * Complete PSCI support, including 'System Suspend' * Platform specific MMIO settings * Locking of CPU vector registers
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 93eafbca | 23-Jul-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: implement per-SoC validate_power_state() handler
The validate_power_state() handler checks the power_state for a valid afflvl and state id. Although the afflvl check is common, the state ids
Tegra: implement per-SoC validate_power_state() handler
The validate_power_state() handler checks the power_state for a valid afflvl and state id. Although the afflvl check is common, the state ids are implementation defined.
This patch moves the handler to the tegra/soc folder to allow each SoC to validate the power_state for supported parameters.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| fb11a62f | 21-Jul-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: T210: include CPU files from SoC's platform.mk
This patch moves the inclusion of CPU code (A53, A57) to T210's makefile. This way we can reduce code size for Tegra platforms by including only
Tegra: T210: include CPU files from SoC's platform.mk
This patch moves the inclusion of CPU code (A53, A57) to T210's makefile. This way we can reduce code size for Tegra platforms by including only the required CPU files.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 8061a973 | 16-Jul-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: Introduce config for enabling NS access to L2/CPUECTRL regs
A new config, ENABLE_NS_L2_CPUECTRL_RW_ACCESS, allows Tegra platforms to enable read/write access to the L2 and CPUECTRL registers.
Tegra: Introduce config for enabling NS access to L2/CPUECTRL regs
A new config, ENABLE_NS_L2_CPUECTRL_RW_ACCESS, allows Tegra platforms to enable read/write access to the L2 and CPUECTRL registers. T210 is the only platform that needs to enable this config for now.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| e5b0664c | 16-Jul-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra210: lock PMC registers holding CPU vector addresses
This patch locks access to the PMC registers which hold the CPU reset vector addresses. The PMC registers are used by the warmboot code and
Tegra210: lock PMC registers holding CPU vector addresses
This patch locks access to the PMC registers which hold the CPU reset vector addresses. The PMC registers are used by the warmboot code and must be locked during boot/resume to avoid booting into custom firmware installed by unknown parties e.g. hackers.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 764c57f6 | 16-Jul-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: PMC: lock SCRATCH22 register
The PMC Scratch22 register contains the CPU reset vector to be used by the warmboot code to power up the CPU while resuming from system suspend. This patch locks
Tegra: PMC: lock SCRATCH22 register
The PMC Scratch22 register contains the CPU reset vector to be used by the warmboot code to power up the CPU while resuming from system suspend. This patch locks this PMC register to avoid any further writes.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 2e7aea3d | 16-Jul-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: PMC: check if a CPU is already online
This patch checks if the target CPU is already online before proceeding with it's power ON sequence.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> |
| 03cd23a1 | 08-Jul-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra210: deassert CPU reset signals during power on
This patch de-asserts the CPU reset signals for each CPU as part of it's power on sequence. This is needed to get rid of the wait in BPMP firmwar
Tegra210: deassert CPU reset signals during power on
This patch de-asserts the CPU reset signals for each CPU as part of it's power on sequence. This is needed to get rid of the wait in BPMP firmware during SC7 exit.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 6a367fd1 | 08-Jul-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: Fix the delay loop used during SC7 exit
This patch fixes the delay loop used to wake up the BPMP during SC7 exit. The earlier loop would fail just when the timer was about to wrap-around (e.g
Tegra: Fix the delay loop used during SC7 exit
This patch fixes the delay loop used to wake up the BPMP during SC7 exit. The earlier loop would fail just when the timer was about to wrap-around (e.g. when TEGRA_TMRUS_BASE is 0xfffffffe, the target value becomes 0, which would cause the loop to exit before it's expiry).
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| c8961326 | 16-Jul-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: introduce delay timer support
This patch introduces the backend required for implementing the delay timer API. Tegra has an on-chip free flowing us timer which can be used as the delay timer.
Tegra: introduce delay timer support
This patch introduces the backend required for implementing the delay timer API. Tegra has an on-chip free flowing us timer which can be used as the delay timer.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 68e2a641 | 08-Jul-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: Exclude coherent memory region from memory map
This patch sets the 'USE_COHERENT_MEM' flag to '0', so that the coherent memory region will not be included in the memory map.
Signed-off-by: V
Tegra: Exclude coherent memory region from memory map
This patch sets the 'USE_COHERENT_MEM' flag to '0', so that the coherent memory region will not be included in the memory map.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 94c672e7 | 03-Jul-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Implement get_sys_suspend_power_state() handler for Tegra
This patch implements the get_sys_suspend_power_state() handler required by the PSCI SYSTEM_SUSPEND API. The intent of this handler is to re
Implement get_sys_suspend_power_state() handler for Tegra
This patch implements the get_sys_suspend_power_state() handler required by the PSCI SYSTEM_SUSPEND API. The intent of this handler is to return the appropriate State-ID field which can be utilized in `affinst_suspend()` to suspend to system affinity level.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|