| 21f1fd95 | 18-Sep-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: Memory Controller Driver (v1)
This patch renames the current Memory Controller driver files to "_v1". This is done to add a driver for the new Memory Controller hardware (v2).
Change-Id: I66
Tegra: Memory Controller Driver (v1)
This patch renames the current Memory Controller driver files to "_v1". This is done to add a driver for the new Memory Controller hardware (v2).
Change-Id: I668dbba42f6ee0db2f59a7103f0ae7e1d4684ecf Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 0cd6138d | 22-Sep-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: enable processor retention and L2/CPUECTLR access
This patch enables the processor retention and L2/CPUECTLR read/write access from the NS world only for Cortex-A57 CPUs on the Tegra SoCs.
C
Tegra: enable processor retention and L2/CPUECTLR access
This patch enables the processor retention and L2/CPUECTLR read/write access from the NS world only for Cortex-A57 CPUs on the Tegra SoCs.
Change-Id: I9941a67686ea149cb95d80716fa1d03645325445 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 0c2a7c38 | 09-Sep-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: define MAX_XLAT_TABLES and MAX_MMAP_REGIONS per-platform
This patch moves these address translation helper macros to individual Tegra SoC makefiles to provide more control.
Change-Id: Ieab53
Tegra: define MAX_XLAT_TABLES and MAX_MMAP_REGIONS per-platform
This patch moves these address translation helper macros to individual Tegra SoC makefiles to provide more control.
Change-Id: Ieab53c457c73747bd0deb250459befb5b7b9363f Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 3d8256b2 | 25-Dec-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
Use #ifdef for IMAGE_BL* instead of #if
One nasty part of ATF is some of boolean macros are always defined as 1 or 0, and the rest of them are only defined under certain conditions.
For the former
Use #ifdef for IMAGE_BL* instead of #if
One nasty part of ATF is some of boolean macros are always defined as 1 or 0, and the rest of them are only defined under certain conditions.
For the former group, "#if FOO" or "#if !FOO" must be used because "#ifdef FOO" is always true. (Options passed by $(call add_define,) are the cases.)
For the latter, "#ifdef FOO" or "#ifndef FOO" should be used because checking the value of an undefined macro is strange.
Here, IMAGE_BL* is handled by make_helpers/build_macro.mk like follows:
$(eval IMAGE := IMAGE_BL$(call uppercase,$(3)))
$(OBJ): $(2) @echo " CC $$<" $$(Q)$$(CC) $$(TF_CFLAGS) $$(CFLAGS) -D$(IMAGE) -c $$< -o $$@
This means, IMAGE_BL* is defined when building the corresponding image, but *undefined* for the other images.
So, IMAGE_BL* belongs to the latter group where we should use #ifdef or #ifndef.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| f3d3b316 | 19-May-2016 |
Antonio Nino Diaz <antonio.ninodiaz@arm.com> |
Implement plat_get_syscnt_freq2 on platforms
Replaced plat_get_syscnt_freq by plat_get_syscnt_freq2 on all upstream platforms.
Change-Id: I3248f3f65a16dc5e9720012a05c35b9e3ba6abbe |
| c073fda1 | 14-Apr-2016 |
Yatharth Kochar <yatharth.kochar@arm.com> |
Move `plat_get_syscnt_freq()` to arm_common.c
This patch moves the definition for `plat_get_syscnt_freq()` from arm_bl31_setup.c to arm_common.c. This could be useful in case a delay timer needs to
Move `plat_get_syscnt_freq()` to arm_common.c
This patch moves the definition for `plat_get_syscnt_freq()` from arm_bl31_setup.c to arm_common.c. This could be useful in case a delay timer needs to be installed based on the generic timer in other BLs. This patch also modifies the return type for this function from `uint64_t` to `unsigned long long` within ARM and other platform files.
Change-Id: Iccdfa811948e660d4fdcaae60ad1d700e4eda80d
show more ...
|
| 9ff67fa6 | 26-Nov-2015 |
Gerald Lejeune <gerald.lejeune@st.com> |
Dump platform-defined regs in crash reporting
It is up to the platform to implement the new plat_crash_print_regs macro to report all relevant platform registers helpful for troubleshooting.
plat_c
Dump platform-defined regs in crash reporting
It is up to the platform to implement the new plat_crash_print_regs macro to report all relevant platform registers helpful for troubleshooting.
plat_crash_print_regs merges or calls previously defined plat_print_gic_regs and plat_print_interconnect_regs macros for each existing platforms.
NOTE: THIS COMMIT REQUIRES ALL PLATFORMS THAT ENABLE THE `CRASH_REPORTING` BUILD FLAG TO MIGRATE TO USE THE NEW `plat_crash_print_regs()` MACRO. BY DEFAULT, `CRASH_REPORTING` IS ENABLED IN DEBUG BUILDS FOR ALL PLATFORMS.
Fixes: arm-software/tf-issues#373
Signed-off-by: Gerald Lejeune <gerald.lejeune@st.com>
show more ...
|
| d30ac1c3 | 19-Jan-2016 |
Soby Mathew <soby.mathew@arm.com> |
Use tf_printf() for debug logs from xlat_tables.c
The debug prints used to debug translation table setup in xlat_tables.c used the `printf()` standard library function instead of the stack optimized
Use tf_printf() for debug logs from xlat_tables.c
The debug prints used to debug translation table setup in xlat_tables.c used the `printf()` standard library function instead of the stack optimized `tf_printf()` API. DEBUG_XLAT_TABLE option was used to enable debug logs within xlat_tables.c and it configured a much larger stack size for the platform in case it was enabled. This patch modifies these debug prints within xlat_tables.c to use tf_printf() and modifies the format specifiers to be compatible with tf_printf(). The debug prints are now enabled if the VERBOSE prints are enabled in Trusted Firmware via LOG_LEVEL build option.
The much larger stack size definition when DEBUG_XLAT_TABLE is defined is no longer required and the platform ports are modified to remove this stack size definition.
Change-Id: I2f7d77ea12a04b827fa15e2adc3125b1175e4c23
show more ...
|
| ca8b7d51 | 09-Dec-2015 |
Yatharth Kochar <yatharth.kochar@arm.com> |
Include psci.h from tegra platform header
The `plat/nvidia/tegra/include/tegra_private.h` file uses resources from psci.h (for example, psci_power_state_t) but does not explicitly include psci.h. Th
Include psci.h from tegra platform header
The `plat/nvidia/tegra/include/tegra_private.h` file uses resources from psci.h (for example, psci_power_state_t) but does not explicitly include psci.h. This does not currently cause a problem since psci.h is indirectly included via other headers. However, this may not be the case in future.
This patch explicitly includes psci.h from tegra_private.h
Change-Id: Ia991147898dbd117c1d3496a95850995a5554c05
show more ...
|
| 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 ...
|
| 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 ...
|
| 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 ...
|
| 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 ...
|
| 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 ...
|
| 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 ...
|
| 09aa0392 | 18-Jun-2015 |
danh-arm <dan.handley@arm.com> |
Merge pull request #319 from vwadekar/tegra-video-mem-aperture-v3
Reserve a Video Memory aperture in DRAM memory |
| 9a964510 | 10-Jun-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Reserve a Video Memory aperture in DRAM memory
This patch adds support to reserve a memory carveout region in the DRAM on Tegra SoCs. The memory controller provides specific registers to specify the
Reserve a Video Memory aperture in DRAM memory
This patch adds support to reserve a memory carveout region in the DRAM on Tegra SoCs. The memory controller provides specific registers to specify the aperture's base and size. This aperture can also be changed dynamically in order to re-size the memory available for DRM video playback. In case of the new aperture not overlapping the previous one, the previous aperture has to be cleared before setting up the new one. This means we do not "leak" any video data to the NS world.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| dc7fdad2 | 05-Jun-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Boot Trusted OS' on Tegra SoCs
This patch adds support to run a Trusted OS during boot time. The previous stage bootloader passes the entry point information in the 'bl32_ep_info' structure, which i
Boot Trusted OS' on Tegra SoCs
This patch adds support to run a Trusted OS during boot time. The previous stage bootloader passes the entry point information in the 'bl32_ep_info' structure, which is passed over to the SPD.
The build system expects the dispatcher to be passed as an input parameter using the 'SPD=<dispatcher>' option. The Tegra docs have also been updated with this information.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 08438e24 | 19-May-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Support for NVIDIA's Tegra T210 SoCs
T210 is the latest chip in the Tegra family of SoCs from NVIDIA. It is an ARM v8 dual-cluster (A57/A53) SoC, with any one of the clusters being active at a given
Support for NVIDIA's Tegra T210 SoCs
T210 is the latest chip in the Tegra family of SoCs from NVIDIA. It is an ARM v8 dual-cluster (A57/A53) SoC, with any one of the clusters being active at a given point in time.
This patch adds support to boot the Trusted Firmware on T210 SoCs. The patch also adds support to boot secondary CPUs, enter/exit core power states for all CPUs in the slow/fast clusters. The support to switch between clusters is still not available in this patch and would be available later.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|