| 50402b17 | 03-Mar-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: implement support for System Suspend
This patch adds the chip level support for System Suspend entry and exit. As part of the entry sequence we first query the MCE firmware to check if it
Tegra186: implement support for System Suspend
This patch adds the chip level support for System Suspend entry and exit. As part of the entry sequence we first query the MCE firmware to check if it is safe to enter system suspend. Once we get a green light, we save hardware block settings and enter the power state. As expected, all the hardware settings are restored once we exit the power state.
Change-Id: I6d192d7568d6a555eb10efdfd45f6d79c20f74ea Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| ea96ac17 | 03-Mar-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: memctrl_v2: restore video memory settings
The memory controller loses its settings when the device enters system suspend state.
This patch adds a handler to restore the Video Memory setti
Tegra186: memctrl_v2: restore video memory settings
The memory controller loses its settings when the device enters system suspend state.
This patch adds a handler to restore the Video Memory settings in the memory controller, which would be called after exiting the system suspend state.
Change-Id: I1ac12426d7290ac1452983d3c9e05fabbf3327fa Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 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 ...
|
| 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 ...
|
| 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 ...
|
| 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 ...
|
| 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 ...
|
| b5903dfc | 24-Nov-2016 |
Steven Kao <skao@nvidia.com> |
Tegra: increase ADDR_SPACE_SIZE to 35 bits
This patch increases the ADDR_SPACE_SIZE macro (virtual address) to 35 bits, to support max memory of 32G, for all Tegra platforms.
Change-Id: I8e6861601d
Tegra: increase ADDR_SPACE_SIZE to 35 bits
This patch increases the ADDR_SPACE_SIZE macro (virtual address) to 35 bits, to support max memory of 32G, for all Tegra platforms.
Change-Id: I8e6861601d3a667d7428988c7596b0adebfa0548 Signed-off-by: Steven kao <skao@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 23cd470f | 23-Aug-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: fix logic to calculate GICD_ISPENDR register address
This patch uses GICD_BASE to calculate the GICD_ISPENDR regsiter address in the platform's 'plat_crash_print_regs' routine.
Reported by:
Tegra: fix logic to calculate GICD_ISPENDR register address
This patch uses GICD_BASE to calculate the GICD_ISPENDR regsiter address in the platform's 'plat_crash_print_regs' routine.
Reported by: Seth Eatinger <seatinger@nvidia.com>
Change-Id: Ic7be29abc781f475ad25b59582ae60a0a2497377 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| e954ab8f | 20-Jul-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: support for silicon/simulation platforms
This patch adds support to identify the underlying platform on which we are running. The currently supported platforms are actual silicon and simulati
Tegra: support for silicon/simulation platforms
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>
show more ...
|
| 8ab06d2f | 23-May-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: get BL31 arguments from previous bootloader
This patch implements handlers which platforms can override to get the BL31 arguments passed by the previous bootloader.
Change-Id: I6b9628a984644
Tegra: get BL31 arguments from previous bootloader
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>
show more ...
|
| 45eab456 | 20-May-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: GIC: differentiate between FIQs targeted towards EL3/S-EL1
This patch modifies the secure IRQ registration process to allow platforms to specify the target CPUs as well as the owner of the IR
Tegra: GIC: differentiate between FIQs targeted towards EL3/S-EL1
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>
show more ...
|
| 78e2bd10 | 29-Dec-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: implement FIQ interrupt handler
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.
Tegra: implement FIQ interrupt handler
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>
show more ...
|
| d3360301 | 28-Dec-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: GIC: enable FIQ interrupt handling
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 woul
Tegra: GIC: enable FIQ interrupt handling
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>
show more ...
|
| 5ea0b028 | 28-Mar-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: handler for per-soc early setup
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: I1a7a
Tegra: handler for per-soc early setup
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>
show more ...
|
| 49622c8d | 04-Mar-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: increase BL31 image size to 256KB
This patch increases the BL31 image size for all Tegra platforms to 256KB, so that we can relocate BL31 to TZSRAM on supported chips.
Change-Id: I467063c686
Tegra: increase BL31 image size to 256KB
This patch increases the BL31 image size for all Tegra platforms to 256KB, so that we can relocate BL31 to TZSRAM on supported chips.
Change-Id: I467063c68632b53b5d4ef8ff1f76f5988096bd9c Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 102e4087 | 03-Mar-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: allow individual SoCs to restore their settings
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_
Tegra: allow individual SoCs to restore their settings
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>
show more ...
|
| 9f9bafa3 | 19-Jan-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: define platform power states
The platform power states, PLAT_MAX_RET_STATE and PLAT_MAX_OFF_STATE, can change on Tegra SoCs and so should be defined per-soc.
This patch moves these macro def
Tegra: define platform power states
The platform power states, PLAT_MAX_RET_STATE and PLAT_MAX_OFF_STATE, can change on Tegra SoCs and so should be defined per-soc.
This patch moves these macro definitions to individual SoC's tegra_def.h files.
Change-Id: Ib9b2752bc4d79cef6f79bee49882d340f71977a2 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 06b19d58 | 30-Dec-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: drivers: memctrl: introduce function to secure on-chip TZRAM
This patch introduces a function to secure the on-chip TZRAM memory. The Tegra132 and Tegra210 chips do not have a compelling use
Tegra: drivers: memctrl: introduce function to secure on-chip TZRAM
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>
show more ...
|
| e1084216 | 29-Oct-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: init normal/crash console for platforms
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
Tegra: init normal/crash console for platforms
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>
show more ...
|
| e0d4158c | 06-Oct-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: add tzdram_base to plat_params_from_bl2 struct
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
Tegra: add tzdram_base to plat_params_from_bl2 struct
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>
show more ...
|