- 20 Mar, 2017 7 commits
-
-
Varun Wadekar authored
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>
-
Varun Wadekar authored
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>
-
Varun Wadekar authored
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>
-
Varun Wadekar authored
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>
-
Varun Wadekar authored
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>
-
Varun Wadekar authored
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>
-
Varun Wadekar authored
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>
-
- 03 Mar, 2017 1 commit
-
-
Varun Wadekar authored
This patch enables the SEPARATE_CODE_AND_RODATA build flag for all Tegra platforms, to allow setting proper MMU attributes for the RO data and the code. Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
- 02 Mar, 2017 5 commits
-
-
Harvey Hsieh authored
This patch allows the NS world to pass 64-bit base address for the Video Memory carveout region. Change-Id: I7e47cc1f5425bd39c6763755b801517013e1e0cd Signed-off-by: Harvey Hsieh <hhsieh@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Damon Duan authored
Some platforms might want to keep the uart console disabled during boot. This patch checks if the platform supports a console, before calling console_init(). Change-Id: Icc9c59cb979d91fd0a72e4732403b3284bdd2dfc Signed-off-by: Damon Duan <danield@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch fixes the 'tegra_soc_get_target_pwr_state' handler used to calculate the proper state for each of the affinity levels. Change-Id: Id16bd15b96f0fc633ffeac2d7a390592fbd0454b Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch removes the console_init() from runtime_setup() as we already initialize it earlier and disables/enables it across "System Suspend". Change-Id: I992d3ca56ff4797faf83e8d7fa52c0ef3e1c3367 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch adds support to identify the underlying platform on which we are running. The currently supported platforms are actual silicon and simulation platforms. Change-Id: Iadf96e79ec663b3dbd1a18e9bb95ffcdb82fc8af Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
- 28 Feb, 2017 15 commits
-
-
Varun Wadekar authored
This patch implements a per-soc handler to calculate the target power state for the cluster/system. A weak implementation of the handler is provided for platforms to use by default. For SoCs with multiple CPU clusters, this handler would provide the individual cluster/system state, allowing the PSCI service to flush caches during cluster/system power down. Change-Id: I568cdb42204f9841a8430bd9105bd694f71cf91d Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch adds support to relocate the BL32 image from the NS memory to TZDRAM during cold boot. The NS memory buffer is cleared out after the process completes. Change-Id: I1a033ffe73b8c309449f874d5187708d0a8846d2 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch implements handlers which platforms can override to get the BL31 arguments passed by the previous bootloader. Change-Id: I6b9628a984644ce1b5de5aa6d7cd890e57241d89 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch returns pointer to the BL32 entrypoint info only if it is valid. Change-Id: I71ce3c4626681753c94f3a7bbaa50c26c74874cb Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch configures the TZDRAM fence during early platform setup to allow the memory controller to enable DRAM encryption before the TZDRAM actually gets used. Change-Id: I0169ef9dda75699527b4e30c9e617a9036ba1d76 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch restores the TZRAM fence and the access permissions on exiting the "System Suspend" state. Change-Id: Ie313fca5a861c73f80df9639b01115780fb6e217 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch enables L2 ECC and Parity Protection for ARM Cortex-A57 CPUs for Tegra SoCs. Change-Id: I038fcd529991d0201a4951ce2730ab71b1c980f9 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch modifies the secure IRQ registration process to allow platforms to specify the target CPUs as well as the owner of the IRQ. IRQs "owned" by the EL3 would return INTR_TYPE_EL3 whereas those owned by the Trusted OS would return INTR_TYPE_S_EL1 as a result. Change-Id: I528f7c8220d0ae0c0f354e78d69e188abb666ef6 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch adds a handler for FIQ interrupts triggered when the CPU is in the NS world. The handler stores the NS world's context along with ELR_EL3/SPSR_EL3. The NS world driver issues an SMC initially to register it's handler. The monitor firmware stores this handler address and jumps to it when the FIQ interrupt fires. Upon entry into the NS world the driver then issues another SMC to get the CPU context when the FIQ fired. This allows the NS world driver to determine the CPU state and call stack when the interrupt fired. Generally, systems register watchdog interrupts as FIQs which are then used to get the CPU state during hangs/crashes. Change-Id: I733af61a08d1318c75acedbe9569a758744edd0c Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
Tegra chips support multiple FIQ interrupt sources. These interrupts are enabled in the GICD/GICC interfaces by the tegra_gic driver. A new FIQ handler would be added in a subsequent change which can be registered by the platform code. This patch adds the GIC programming as part of the tegra_gic_setup() which now takes an array of all the FIQ interrupts to be enabled for the platform. The Tegra132 and Tegra210 platforms right now do not register for any FIQ interrupts themselves, but will definitely use this support in the future. Change-Id: I0ea164be901cd6681167028fea0567399f18d4b8 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch adds a platform handler to calculate the proper target power level at the specified affinity level. Tegra platforms assign a local state value in order of decreasing depth of the power state i.e. for two power states X & Y, if X < Y then X represents a shallower power state than Y. As a result, the coordinated target local power state for a power domain will be the maximum of the requested local power state values. Change-Id: I67360684b7f5b783fcfdd605b96da5375fa05417 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch includes platform_def.h required to access UART macros - "TEGRA_BOOT_UART_CLK_IN_HZ" and "TEGRA_CONSOLE_BAUDRATE" from tegra_helpers.S. Change-Id: Ieb63968a48dc299d03e81ddeb1ccc871cf3397a1 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Wayne Lin authored
This patch removes the restriction of allowing SiP calls only from the non-secure world. The secure world can issue SiP calls as a result of this patch now. Change-Id: Idd64e893ae8e114bba0196872d3ec544cac150bf Signed-off-by: Wayne Lin <wlin@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch adds a weak handler for early platform setup which can be overriden by the soc-specific handlers to perform any early setup tasks. Change-Id: I1a7a98d59b2332a3030c6dca5a9b7be977177326 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch adds support to relocate BL3-1 code to BL31_BASE in case we cold boot to a different address. This is particularly useful to maintain compatibility with legacy BL2 code. This patch also checks to see if the image base address matches either the TZDRAM or TZSRAM base. Change-Id: I72c96d7f89076701a6ac2537d4c06565c54dab9c Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
- 23 Feb, 2017 8 commits
-
-
Varun Wadekar authored
This patch adds the pwr_domain_power_down_wfi() handler for Tegra platforms which in turn executes the soc specific `power_down_wfi` handler. Change-Id: I5deecc09959db3c3d73f928f5c871966331cfd95 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch maps the TZDRAM carveout used by the BL31. In the near future BL31 would be running from the TZRAM for security and performance reasons. The only downside to this solution is that the TZRAM loses its state in System Suspend. So, we map the TZDRAM carveout that the BL31 would use to save its state before entering System Suspend. Change-Id: Id5bda7e9864afd270cf86418c703fa61c2cb095f Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch uses the Memory controller driver's handler to restore its settings and moves the other chip specific code to their own 'pwr_domain_on_finish' handlers. Change-Id: I3c9d23bdab9e2e3c05034ff6812cf941ccd7a75e Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch enables the PSCI_EXTENDED_STATE_ID macro. Tegra platforms have moved on to using the extended state ID for CPU_SUSPEND, where the NS world passes the state ID and wakeup time as part of the state ID field. Change-Id: Ie8b0fec285d8b2330bc26ff239a4f628425c9fcf Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch introduces a function to secure the on-chip TZRAM memory. The Tegra132 and Tegra210 chips do not have a compelling use case to lock the TZRAM. The trusted OS owns the TZRAM aperture on these chips and so it can take care of locking the aperture. This might not be true for future chips and this patch makes the TZRAM programming flexible. Change-Id: I3ac9f1de1b792ccd23d4ded274784bbab2ea224a Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch enables the runtime console for all Tegra platforms before exiting BL31. This would enable debug/error prints to be always displayed on the UART console. Change-Id: Ic48d61d05b0ab07973d6fc2dc6b68733a42a3f63 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch introduces a power down handler which can be overriden by SoCs to customise the power down process. The current SoCs do not have a way of powering down the entire system as external PMIC chips are involved in the process. But future SoCs will have a way to power off the entire system without talking to an external PMIC. Change-Id: Ie7750714141a29cb0a1a616fafc531c4f11d0985 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch implements a handler for common SiP calls. A weak implementation for the SoC-specific handler has been provided which can be overridden by SoCs to implement any custom SiP calls. Change-Id: I45122892a84ea35d7b44be0f35dc15f6bb95193e Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
- 22 Feb, 2017 4 commits
-
-
Varun Wadekar authored
The BL2 fills in the UART controller ID to be used as the normal as well as the crash console on Tegra platforms. The controller ID to UART controller base address mapping is handled by each Tegra SoC the base addresses might change across Tegra chips. This patch adds the handler to parse the platform params to get the UART ID for the per-soc handlers. Change-Id: I4d167b20a59aaf52a31e2a8edf94d8d6f89598fa Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch adds another member, tzdram_base, to the plat_params_from_bl2 struct in order to store the TZDRAM carveout base address used to load the Trusted OS. The monitor programs the memory controller with the TZDRAM base and size in order to deny any accesses from the NS world. Change-Id: If39b8674d548175d7ccb6525c18d196ae8a8506c Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
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>
-
Varun Wadekar authored
This patch checks that the pointers to BL3-3 and BL3-2 ep_info structs are valid before accessing them. Add some INFO prints in the BL3-1 setup path for early debugging purposes. Change-Id: I62b23fa870f1b2fb783c8de69aab819f1749d15a Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-