| 9b51aa87 | 28-Dec-2018 |
Ken Chang <kenc@nvidia.com> |
Tegra: memctrl: map video memory as uncached
Memmap video memory as uncached normal memory by adding flag 'MT_NON_CACHEABLE' in mmap_add_dynamic_region(). This improves the time taken for clearing t
Tegra: memctrl: map video memory as uncached
Memmap video memory as uncached normal memory by adding flag 'MT_NON_CACHEABLE' in mmap_add_dynamic_region(). This improves the time taken for clearing the non-overlapping video memory:
test conditions: 32MB memory size, EMC running at 1866MHz, t186 1) without MT_NON_CACHEABLE: 30ms ~ 40ms <3>[ 133.852885] vpr-heap: update vpr base to 0x00000000c6000000, size=e000000 <3>[ 133.860471] _tegra_set_vpr_params[120]: begin <3>[ 133.896481] _tegra_set_vpr_params[123]: end <3>[ 133.908944] vpr-heap: update vpr base to 0x00000000c6000000, size=c000000 <3>[ 133.916397] _tegra_set_vpr_params[120]: begin <3>[ 133.956369] _tegra_set_vpr_params[123]: end <3>[ 133.970394] vpr-heap: update vpr base to 0x00000000c6000000, size=a000000 <3>[ 133.977934] _tegra_set_vpr_params[120]: begin <3>[ 134.013874] _tegra_set_vpr_params[123]: end <3>[ 134.025666] vpr-heap: update vpr base to 0x00000000c6000000, size=8000000 <3>[ 134.033512] _tegra_set_vpr_params[120]: begin <3>[ 134.065996] _tegra_set_vpr_params[123]: end <3>[ 134.075465] vpr-heap: update vpr base to 0x00000000c6000000, size=6000000 <3>[ 134.082923] _tegra_set_vpr_params[120]: begin <3>[ 134.113119] _tegra_set_vpr_params[123]: end <3>[ 134.123448] vpr-heap: update vpr base to 0x00000000c6000000, size=4000000 <3>[ 134.130790] _tegra_set_vpr_params[120]: begin <3>[ 134.162523] _tegra_set_vpr_params[123]: end <3>[ 134.172413] vpr-heap: update vpr base to 0x00000000c6000000, size=2000000 <3>[ 134.179772] _tegra_set_vpr_params[120]: begin <3>[ 134.209142] _tegra_set_vpr_params[123]: end
2) with MT_NON_CACHEABLE: 10ms ~ 18ms <3>[ 102.108702] vpr-heap: update vpr base to 0x00000000c6000000, size=e000000 <3>[ 102.116296] _tegra_set_vpr_params[120]: begin <3>[ 102.134272] _tegra_set_vpr_params[123]: end <3>[ 102.145839] vpr-heap: update vpr base to 0x00000000c6000000, size=c000000 <3>[ 102.153226] _tegra_set_vpr_params[120]: begin <3>[ 102.164201] _tegra_set_vpr_params[123]: end <3>[ 102.172275] vpr-heap: update vpr base to 0x00000000c6000000, size=a000000 <3>[ 102.179638] _tegra_set_vpr_params[120]: begin <3>[ 102.190342] _tegra_set_vpr_params[123]: end <3>[ 102.197524] vpr-heap: update vpr base to 0x00000000c6000000, size=8000000 <3>[ 102.205085] _tegra_set_vpr_params[120]: begin <3>[ 102.216112] _tegra_set_vpr_params[123]: end <3>[ 102.224080] vpr-heap: update vpr base to 0x00000000c6000000, size=6000000 <3>[ 102.231387] _tegra_set_vpr_params[120]: begin <3>[ 102.241775] _tegra_set_vpr_params[123]: end <3>[ 102.248825] vpr-heap: update vpr base to 0x00000000c6000000, size=4000000 <3>[ 102.256069] _tegra_set_vpr_params[120]: begin <3>[ 102.266368] _tegra_set_vpr_params[123]: end <3>[ 102.273400] vpr-heap: update vpr base to 0x00000000c6000000, size=2000000 <3>[ 102.280672] _tegra_set_vpr_params[120]: begin <3>[ 102.290929] _tegra_set_vpr_params[123]: end
Change-Id: I5f604064ce7b8b73ea9ad5860156ae5e2c6cc42a Signed-off-by: Ken Chang <kenc@nvidia.com>
show more ...
|
| aba5dddc | 18-Dec-2018 |
Kalyani Chidambaram <kalyanic@nvidia.com> |
Tegra: remove support for USE_COHERENT_MEM
This patch removes the support for 'USE_COHERENT_MEM' as Tegra platforms no longer support the feature.
Change-Id: If1c80fc4e5974412572b3bc1fdf9e70b1ee5d4
Tegra: remove support for USE_COHERENT_MEM
This patch removes the support for 'USE_COHERENT_MEM' as Tegra platforms no longer support the feature.
Change-Id: If1c80fc4e5974412572b3bc1fdf9e70b1ee5d4ec Signed-off-by: Kalyani Chidambaram <kalyanic@nvidia.com>
show more ...
|
| 42080d48 | 21-Dec-2018 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: remove circular dependency with common_def.h
This patch stops including common_def.h from platform_def.h to fix a circular depoendency between them.
This means platform_def.h now has to defi
Tegra: remove circular dependency with common_def.h
This patch stops including common_def.h from platform_def.h to fix a circular depoendency between them.
This means platform_def.h now has to define the linker macros: * PLATFORM_LINKER_FORMAT * PLATFORM_LINKER_ARCH
Change-Id: Icd540b1bd32fb37e0e455e9146c8b7f4b314e012 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| a5bfcad8 | 21-Dec-2018 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: include missing stdbool.h
This patch includes the missing stdbool.h header from flowctrl.h and bpmp_ivc.c files.
Change-Id: If60d19142b1cb8ae663fbdbdf1ffe45cbbdbc1b2 Signed-off-by: Varun Wad
Tegra: include missing stdbool.h
This patch includes the missing stdbool.h header from flowctrl.h and bpmp_ivc.c files.
Change-Id: If60d19142b1cb8ae663fbdbdf1ffe45cbbdbc1b2 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 2bf1085d | 19-Dec-2018 |
Kalyani Chidambaram <kalyanic@nvidia.com> |
Tegra: remove support for SEPARATE_CODE_AND_RODATA=0
Tegra platforms will not be supporting SEPARATE_CODE_AND_RODATA=0.
This patch uses the common macros provided by bl_common.h as a result and add
Tegra: remove support for SEPARATE_CODE_AND_RODATA=0
Tegra platforms will not be supporting SEPARATE_CODE_AND_RODATA=0.
This patch uses the common macros provided by bl_common.h as a result and adds a check to assert if SEPARATE_CODE_AND_RODATA set is not set to '1'.
Change-Id: I376ea60c00ad69cb855d89418bdb80623f14800e Signed-off-by: Kalyani Chidambaram <kalyanic@nvidia.com>
show more ...
|
| 6e7b2036 | 20-Mar-2020 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fvp: use two instances of Cactus at S-EL1" into integration |
| 1d88b8fa | 20-Mar-2020 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "spmc: manifest changes to support two sample cactus secure partitions" into integration |
| 161dbc43 | 19-Mar-2020 |
Manish Pandey <manish.pandey2@arm.com> |
fvp: use two instances of Cactus at S-EL1
To demonstrate communication between SP's two instances of Cactus at S-EL1 has been used. This patch replaces Ivy SP with cactus-secondary SP which aligns w
fvp: use two instances of Cactus at S-EL1
To demonstrate communication between SP's two instances of Cactus at S-EL1 has been used. This patch replaces Ivy SP with cactus-secondary SP which aligns with changes in tf-a-tests repository.
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: Iee84f1f7f023b7c4f23fbc13682a42614a7f3707
show more ...
|
| 3d5ed6de | 28-Feb-2020 |
Olivier Deprez <olivier.deprez@arm.com> |
spmc: manifest changes to support two sample cactus secure partitions
When using the SPM Dispatcher, the SPMC sits as a BL32 component (BL32_IMAGE_ID). The SPMC manifest is passed as the TOS fw conf
spmc: manifest changes to support two sample cactus secure partitions
When using the SPM Dispatcher, the SPMC sits as a BL32 component (BL32_IMAGE_ID). The SPMC manifest is passed as the TOS fw config component (TOS_FW_CONFIG_ID). It defines platform specific attributes (memory range and physical CPU layout) as well as the attributes for each secure partition (mostly load address). This manifest is passed to the SPMC on boot up. An SP package contains the SP dtb in the SPCI defined partition manifest format. As the SPMC manifest was enriched it needs an increase of tos_fw-config max-size in fvp_fw_config dts.
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com> Change-Id: Ia1dce00c6c4cbaa118fa56617980d32e2956a94e
show more ...
|
| 0ac1bf72 | 27-Nov-2018 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: assembly version of the 'plat_core_pos_by_mpidr' handler
The 'plat_core_pos_by_mpidr' handler gets called very early during boot and the compiler generated code overwrites the caller's regist
Tegra: assembly version of the 'plat_core_pos_by_mpidr' handler
The 'plat_core_pos_by_mpidr' handler gets called very early during boot and the compiler generated code overwrites the caller's registers.
This patch converts the 'plat_core_pos_by_mpidr' handler into an assembly function and uses registers x0-x3, to fix this anomaly.
Change-Id: I8d974e007a0bad039defaf77b11a180d899ead3c Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 89121c27 | 16-Nov-2018 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra194: reset power state info for CPUs
We set deepest power state when offlining a core but that may not be requested by non-secure sw which controls idle states. It will re-init this info from n
Tegra194: reset power state info for CPUs
We set deepest power state when offlining a core but that may not be requested by non-secure sw which controls idle states. It will re-init this info from non-secure software when the core come online.
This patch resets the power state in the non-secure world context to allow it to start with a clean slate.
Change-Id: Iafd92cb2a49571aa6eeb9580beaaff4ba55a87dc Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 2139c9c8 | 09-Nov-2018 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: system resume from TZSRAM memory
TZSRAM loses power during System suspend, so the entire contents are copied to TZDRAM before Sysem Suspend entry. The warmboot code verifies and restores t
Tegra186: system resume from TZSRAM memory
TZSRAM loses power during System suspend, so the entire contents are copied to TZDRAM before Sysem Suspend entry. The warmboot code verifies and restores the contents to TZSRAM during System Resume.
This patch removes the code that sets up CPU vector to point to TZSRAM during System Resume as a result. The trampoline code can also be completely removed as a result.
Change-Id: I2830eb1db16efef3dfd96c4e3afc41a307588ca1 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 8336c94d | 09-Aug-2018 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: disable PROGRAMMABLE_RESET_ADDRESS
This patch disables the code to program reset vector for secondary CPUs to a different entry point, than cold boot. The cold boot entry point has the abi
Tegra186: disable PROGRAMMABLE_RESET_ADDRESS
This patch disables the code to program reset vector for secondary CPUs to a different entry point, than cold boot. The cold boot entry point has the ability to differentiate between a cold boot and a warm boot, that is controlled by the PROGRAMMABLE_RESET_ADDRESS macro. By reusing the same entry point, we can lock the CPU reset vector during cold boot.
Change-Id: Iad400841d57c139469e1d29b5d467197e11958c4 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 35aa1c1e | 12-Jul-2018 |
Leo He <leoh@nvidia.com> |
Tegra210: SE: switch SE clock source to CLK_M
In SE suspend, switch SE clock source to CLK_M, to make sure SE clock is on when saving SE context
Change-Id: I57c559825a3ec8e0cc35f7a389afc458a5eed0cb
Tegra210: SE: switch SE clock source to CLK_M
In SE suspend, switch SE clock source to CLK_M, to make sure SE clock is on when saving SE context
Change-Id: I57c559825a3ec8e0cc35f7a389afc458a5eed0cb Signed-off-by: Leo He <leoh@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 61c418ba | 16-Oct-2018 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: increase platform assert logging level to VERBOSE
This patch increases the assert logging level for all Tegra platforms to VERBOSE, to print the actual assertion condition to the console, imp
Tegra: increase platform assert logging level to VERBOSE
This patch increases the assert logging level for all Tegra platforms to VERBOSE, to print the actual assertion condition to the console, improving debuggability.
Change-Id: If3399bde63fa4261522cab984cc9c49cd2073358 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| d55b8f6a | 12-Sep-2018 |
Kalyani Chidambaram <kalyanic@nvidia.com> |
Tegra194: enable dual execution for EL2 and EL3
This patch enables dual execution optimized translations for EL2 and EL3 CPU exception levels.
Change-Id: I28fe98bb05687400f247e94adf44a1f3a85c38b1 S
Tegra194: enable dual execution for EL2 and EL3
This patch enables dual execution optimized translations for EL2 and EL3 CPU exception levels.
Change-Id: I28fe98bb05687400f247e94adf44a1f3a85c38b1 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 3bab03eb | 04-Oct-2018 |
Kalyani Chidambaram <kalyanic@nvidia.com> |
Tegra: aarch64: calculate core position from one place
This patch updates 'plat_my_core_pos' handler to call 'plat_core_pos_from_mpidr' instead of implementing the same logic at two places.
Change-
Tegra: aarch64: calculate core position from one place
This patch updates 'plat_my_core_pos' handler to call 'plat_core_pos_from_mpidr' instead of implementing the same logic at two places.
Change-Id: I1e56adaa10dc2fe3440e5507e0e260d8932e6657 Signed-off-by: Kalyani Chidambaram <kalyanic@nvidia.com>
show more ...
|
| 0be136d2 | 19-Sep-2018 |
Kalyani Chidambaram <kalyanic@nvidia.com> |
Tegra194: Update t194_nvg.h to v6.7
This patch updates the t194_nvg.h header file received from the CPU team to v6.7.
Change-Id: I5d25dfc60448e14b7085250946bd002fcb80a774 Signed-off-by: Kalyani Chi
Tegra194: Update t194_nvg.h to v6.7
This patch updates the t194_nvg.h header file received from the CPU team to v6.7.
Change-Id: I5d25dfc60448e14b7085250946bd002fcb80a774 Signed-off-by: Kalyani Chidambaram <kalyanic@nvidia.com>
show more ...
|
| c9796852 | 18-Mar-2020 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge changes from topic "rpix-multi-console" into integration
* changes: rpi: docs: Update maintainers file to new RPi directory scheme rpi: console: Autodetect Mini-UART vs. PL011 configuratio
Merge changes from topic "rpix-multi-console" into integration
* changes: rpi: docs: Update maintainers file to new RPi directory scheme rpi: console: Autodetect Mini-UART vs. PL011 configuration rpi3: build: Include GPIO driver in all BL stages rpi: Allow using PL011 UART for RPi3/RPi4 rpi3: console: Use same "clock-less" setup scheme as RPi4 rpi3: gpio: Simplify GPIO setup
show more ...
|
| ea32cf50 | 18-Mar-2020 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "Implement SMCCC_ARCH_SOC_ID SMC call" into integration |
| cfb3f733 | 18-Mar-2020 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "FVP: In BL31/SP_MIN, map only the needed DRAM region statically" into integration |
| 7a20da43 | 17-Mar-2020 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "board/rddaniel: add NSAID sources for TZC400 driver" into integration |
| 493545b3 | 13-Mar-2020 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
FVP: In BL31/SP_MIN, map only the needed DRAM region statically
Rather than creating entry in plat_arm_mmap array to map the entire DRAM region in BL31/SP_MIN, only map a smaller region holding HW_C
FVP: In BL31/SP_MIN, map only the needed DRAM region statically
Rather than creating entry in plat_arm_mmap array to map the entire DRAM region in BL31/SP_MIN, only map a smaller region holding HW_CONFIG DTB. Consequently, an increase in number of sub-translation tables(level-2 and level-3) i.e., MAX_XLAT_TABLES is necessary to map the new region in memory.
In order to accommodate the increased code size in BL31 i.e., PROGBITS, the max size of BL31 image is increased by 0x1000(4K).
Change-Id: I540b8ee550588e22a3a9fb218183d2ab8061c851 Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| 9cc3fa1b | 11-Mar-2020 |
Andre Przywara <andre.przywara@arm.com> |
rpi: console: Autodetect Mini-UART vs. PL011 configuration
The Raspberry Pi has two different UART devices pin-muxed to GPIO 14&15: One ARM PL011 one and the 8250 compatible "Mini-UART". A dtoverlay
rpi: console: Autodetect Mini-UART vs. PL011 configuration
The Raspberry Pi has two different UART devices pin-muxed to GPIO 14&15: One ARM PL011 one and the 8250 compatible "Mini-UART". A dtoverlay parameter in config.txt will tell the firmware to switch between the two: it will setup the right clocks and will configure the pinmuxes accordingly.
To autodetect the user's choice, we read the pinmux register and check its setting: ALT5 (0x2) means the Mini-UART is used, ALT0 (0x4) points to the PL011. Based on that we select the UART driver to initialise.
This will allow console output in any case.
Change-Id: I620d3ce68de6c6576599f2a405636020e1fd1376 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 29e8c460 | 11-Mar-2020 |
Andre Przywara <andre.przywara@arm.com> |
rpi3: build: Include GPIO driver in all BL stages
So far the Raspberry Pi 3 build needs the GPIO driver just for BL2. Upcoming changes will require some GPIO code in BL1 and BL31 also, so move those
rpi3: build: Include GPIO driver in all BL stages
So far the Raspberry Pi 3 build needs the GPIO driver just for BL2. Upcoming changes will require some GPIO code in BL1 and BL31 also, so move those driver files into the common source section.
This does not affect BL31 code size at all, and bl1.bin just increases by 144 bytes, but doesn't affect the padded binary size at all.
Signed-off-by: Andre Przywara <andre.przywara@arm.com> Change-Id: I7639746dc241c1e69099d85d2671c65fa0108555
show more ...
|