| 207680c6 | 02-Jun-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: restore TZRAM settings on "System Resume"
This patch restores the TZRAM fence and the access permissions on exiting the "System Suspend" state.
Change-Id: Ie313fca5a861c73f80df9639b01115780f
Tegra: restore TZRAM settings on "System Resume"
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>
show more ...
|
| 018b8480 | 12-May-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: enable ECC/Parity protection for Cortex-A57 CPUs
This patch enables L2 ECC and Parity Protection for ARM Cortex-A57 CPUs for Tegra SoCs.
Change-Id: I038fcd529991d0201a4951ce2730ab71b1c980f9
Tegra: enable ECC/Parity protection for Cortex-A57 CPUs
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>
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 ...
|
| 2693f1db | 05-May-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: implement common handler `plat_get_target_pwr_state()`
This patch adds a platform handler to calculate the proper target power level at the specified affinity level.
Tegra platforms assign a
Tegra: implement common handler `plat_get_target_pwr_state()`
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>
show more ...
|
| 11bd24be | 26-Apr-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: include platform_def.h to access UART macros
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.
Tegra: include platform_def.h to access UART macros
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>
show more ...
|
| 2d05f810 | 31-Mar-2016 |
Wayne Lin <wlin@nvidia.com> |
Tegra: allow SiP smc calls from Secure World
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 n
Tegra: allow SiP smc calls from Secure World
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>
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 ...
|
| 939dcf25 | 24-Mar-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: relocate code to BL31_BASE during cold boot
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 co
Tegra: relocate code to BL31_BASE during cold boot
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>
show more ...
|
| 1a9c383b | 21-Mar-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: Disable A57/A53 cache non-temporal hints
This change disables the cache non-temporal hints for A57 and A53 CPUs on Tegra.
Change-Id: I279d95aec5afbc3ca3cc4b34aa16de3f2c83a4fc Signed-off-by:
Tegra: Disable A57/A53 cache non-temporal hints
This change disables the cache non-temporal hints for A57 and A53 CPUs on Tegra.
Change-Id: I279d95aec5afbc3ca3cc4b34aa16de3f2c83a4fc Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| d6845d3d | 27-Feb-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #835 from rockchip-linux/rk3399-atf-cleanup-20170210
RK3399 ARM TF clean up 20170210 |
| ccdc044a | 14-Feb-2017 |
Xing Zheng <zhengxing@rock-chips.com> |
rockchip: rk3399: enable secure accessing for SRAM
Sorry to miss the security configuration for SRAM, if we don't support it, somebody may modify the comment of SRAM in the non-secure space. Let's f
rockchip: rk3399: enable secure accessing for SRAM
Sorry to miss the security configuration for SRAM, if we don't support it, somebody may modify the comment of SRAM in the non-secure space. Let's fix this issue.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
show more ...
|
| cdb6d5e5 | 10-Feb-2017 |
Derek Basehore <dbasehore@chromium.org> |
rockchip: rk3399: Use tFC value instead of tRFC value
This fixes code that set a tFC value in a register using the tRFC value instead.
Signed-off-by: Derek Basehore <dbasehore@chromium.org> |
| 5a5dc617 | 10-Feb-2017 |
Derek Basehore <dbasehore@chromium.org> |
rockchip: rk3399: Fix CAS latency setting
The F1 CAS latency setting was not bit shifted, which resulted in setting the DRAM additive latency value instead.
Signed-off-by: Derek Basehore <dbasehore
rockchip: rk3399: Fix CAS latency setting
The F1 CAS latency setting was not bit shifted, which resulted in setting the DRAM additive latency value instead.
Signed-off-by: Derek Basehore <dbasehore@chromium.org>
show more ...
|
| 43f52e92 | 09-Feb-2017 |
Xing Zheng <zhengxing@rock-chips.com> |
rockchip: rk3399: disable training modules after DDR DFS
On resume, we use the DFS hardware to switch frequency index, followed by a full training sequence on that index. Leaving the DFS training mo
rockchip: rk3399: disable training modules after DDR DFS
On resume, we use the DFS hardware to switch frequency index, followed by a full training sequence on that index. Leaving the DFS training modules enabled causes issues with the full training done at resume. We also only needs these enabled during a call to ddr_set_rate during runtime, so there's no issue disabling them at the end of ddr_set_rate.
Signed-off-by: Derek Basehore <dbasehore@chromium.org> Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
show more ...
|
| 50bde47f | 02-Feb-2017 |
Derek Basehore <dbasehore@chromium.org> |
rockchip: rk3399: Move DQS drive strength setting to M0
This moves the setting of the DQS drive strength to the M0 to minimize the impact on DDR transactions. We need to have the DQS drive strength
rockchip: rk3399: Move DQS drive strength setting to M0
This moves the setting of the DQS drive strength to the M0 to minimize the impact on DDR transactions. We need to have the DQS drive strength changed for data training, which is triggered by the M0, but it also needs to be changed back when data training is finished.
Signed-off-by: Derek Basehore <dbasehore@chromium.org>
show more ...
|
| d8484b1e | 01-Feb-2017 |
Derek Basehore <dbasehore@chromium.org> |
rockchip: rk3399: Remove dram dfs optimization
This removes an optimization to not recalculate parameters if the frequency index being switched to hold the next frequency. This is because some regis
rockchip: rk3399: Remove dram dfs optimization
This removes an optimization to not recalculate parameters if the frequency index being switched to hold the next frequency. This is because some registers do not have a copy per frequency index, so this optimization might be causing problems.
Signed-off-by: Derek Basehore <dbasehore@chromium.org>
show more ...
|
| 951752dd | 31-Jan-2017 |
Derek Basehore <dbasehore@chromium.org> |
rockchip: rk3399: Save and restore RX_CAL_DQS values
We were getting far off values on resume for the RX_CAL_DQS values. This saves and restores the values for suspend/resume until the root of the p
rockchip: rk3399: Save and restore RX_CAL_DQS values
We were getting far off values on resume for the RX_CAL_DQS values. This saves and restores the values for suspend/resume until the root of the problem is figured out
Signed-off-by: Derek Basehore <dbasehore@chromium.org>
show more ...
|
| 4dbab5d2 | 31-Jan-2017 |
Julius Werner <jwerner@chromium.org> |
rockchip: Add MIN() and MAX() macros back to M0 code
These macros were accidentally deleted in a previous cleanup. This slipped through because the code using them is currently unused, but that may
rockchip: Add MIN() and MAX() macros back to M0 code
These macros were accidentally deleted in a previous cleanup. This slipped through because the code using them is currently unused, but that may change in the future.
Signed-off-by: Julius Werner <jwerner@chromium.org>
show more ...
|
| 2d051d2f | 31-Jan-2017 |
Julius Werner <jwerner@chromium.org> |
rockchip: Clean up M0 Makefile, clarify float-abi
This patch shuffles the M0 Makefile flags around a bit trying to make their purpose clearer and remove duplication. Since all three build steps (com
rockchip: Clean up M0 Makefile, clarify float-abi
This patch shuffles the M0 Makefile flags around a bit trying to make their purpose clearer and remove duplication. Since all three build steps (compiling, assembling, linking) actually call GCC, remove the misleading aliases $(AS) and $(LD) to avoid confusion that those tools might be called directly. Split flags into a common group that has meaning for all three steps and separate variables specific to each step. Remove -nostartfiles which is a strict subset of -nostdlib.
Also add explicit parameters for -mfloat-abi=soft, -fomit-frame-pointer and -fno-common. If omitted these settings depend on the toolchain's built-in default and cause various problems if they resolve to unexpected values.
Signed-off-by: Julius Werner <jwerner@chromium.org>
show more ...
|
| e3525114 | 24-Feb-2017 |
Xing Zheng <zhengxing@rock-chips.com> |
rockchip: rk3399: Clean up and seprate secure parts from SoC codes
The goal is that make clear the secure and SoC codes. Now cleaning them will help secure code extensions for RK3399 in the future.
rockchip: rk3399: Clean up and seprate secure parts from SoC codes
The goal is that make clear the secure and SoC codes. Now cleaning them will help secure code extensions for RK3399 in the future.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
show more ...
|
| ae7a9352 | 22-Dec-2016 |
Xing Zheng <zhengxing@rock-chips.com> |
rockchip: rk3399: sperate the BL31 parameters for sharing
Maybe the coreboot will reference the BL31 parameters (e.g the TZRAM_BASE and TZRAM_SIZE for DDR secure regions), we can split them and don'
rockchip: rk3399: sperate the BL31 parameters for sharing
Maybe the coreboot will reference the BL31 parameters (e.g the TZRAM_BASE and TZRAM_SIZE for DDR secure regions), we can split them and don't have to hardcode the range in two places.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
show more ...
|
| 941c7147 | 24-Feb-2017 |
Xing Zheng <zhengxing@rock-chips.com> |
rockchip: rk3399: configure the DDR secure region for BL31 image
Move the BL31 loaded base address 0x10000 to 0x1000, and configure the the memory range 0~1MB is secure, the goal is that make sure t
rockchip: rk3399: configure the DDR secure region for BL31 image
Move the BL31 loaded base address 0x10000 to 0x1000, and configure the the memory range 0~1MB is secure, the goal is that make sure the BL31 image will be not modified.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
show more ...
|
| 1830f790 | 24-Feb-2017 |
Xing Zheng <zhengxing@rock-chips.com> |
rockchip: Clean up header and referenced files
So far, there are more and more features are supported on the RK3399, meanwhile, these features are increasingly being defined and intertwined. It's ti
rockchip: Clean up header and referenced files
So far, there are more and more features are supported on the RK3399, meanwhile, these features are increasingly being defined and intertwined. It's time to clean up and make them clearer.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
show more ...
|