| 5a6954fb | 24-Jun-2015 |
danh-arm <dan.handley@arm.com> |
Merge pull request #321 from vwadekar/tegra-gic-implementation-v1
Add missing features to the Tegra GIC driver |
| e347e843 | 24-Jun-2015 |
danh-arm <dan.handley@arm.com> |
Merge pull request #310 from sandrine-bailleux/sb/tf-issue-304-phase1
Enhance BL3-1 entrypoint handling to support non-TF boot firmware - Phase 1 |
| c0aff0e0 | 17-Dec-2014 |
Soby Mathew <soby.mathew@arm.com> |
PSCI: Add SYSTEM_SUSPEND API support
This patch adds support for SYSTEM_SUSPEND API as mentioned in the PSCI 1.0 specification. This API, on being invoked on the last running core on a supported pla
PSCI: Add SYSTEM_SUSPEND API support
This patch adds support for SYSTEM_SUSPEND API as mentioned in the PSCI 1.0 specification. This API, on being invoked on the last running core on a supported platform, will put the system into a low power mode with memory retention.
The psci_afflvl_suspend() internal API has been reused as most of the actions to suspend a system are the same as invoking the PSCI CPU_SUSPEND API with the target affinity level as 'system'. This API needs the 'power state' parameter for the target low power state. This parameter is not passed by the caller of the SYSTEM_SUSPEND API. Hence, the platform needs to implement the get_sys_suspend_power_state() platform function to provide this information. Also, the platform also needs to add support for suspending the system to the existing 'plat_pm_ops' functions: affinst_suspend() and affinst_suspend_finish().
Change-Id: Ib6bf10809cb4e9b92f463755608889aedd83cef5
show more ...
|
| e1e094c7 | 16-Jun-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Add missing features to the Tegra GIC driver
In order to handle secure/non-secure interrupts, overload the plat_ic_* functions and copy GIC helper functions from arm_gic.c. Use arm_gic.c as the refe
Add missing features to the Tegra GIC driver
In order to handle secure/non-secure interrupts, overload the plat_ic_* functions and copy GIC helper functions from arm_gic.c. Use arm_gic.c as the reference to add Tegra's GIC helper functions.
Now that Tegra has its own GIC implementation, we have no use for plat_gic.c and arm_gic.c files.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| f1f99f3a | 19-Jun-2015 |
danh-arm <dan.handley@arm.com> |
Merge pull request #322 from athoelke/at/fix-bl1-assertions
Fix incorrect assertions in bl1_main() |
| 08b337f5 | 19-Jun-2015 |
danh-arm <dan.handley@arm.com> |
Merge pull request #323 from athoelke/at/fix-aff-inst-overflow
Fix integer extension in mpidr_set_aff_inst() |
| 354ab57d | 11-Jun-2015 |
Andrew Thoelke <andrew.thoelke@arm.com> |
Fix incorrect assertions in bl1_main()
The validation of the caching enable state in bl1_main() was incorrect resulting in the state not being checked. Using the right operator fixes this.
Change-I
Fix incorrect assertions in bl1_main()
The validation of the caching enable state in bl1_main() was incorrect resulting in the state not being checked. Using the right operator fixes this.
Change-Id: I2a99478f420281a1dcdf365d3d4fd8394cd21b51
show more ...
|
| 9b89613e | 11-Jun-2015 |
Andrew Thoelke <andrew.thoelke@arm.com> |
Fix integer extension in mpidr_set_aff_inst()
mpidr_set_aff_inst() is left shifting an int constant and an unsigned char value to construct an MPIDR. For affinity level 3 a shift of 32 would result
Fix integer extension in mpidr_set_aff_inst()
mpidr_set_aff_inst() is left shifting an int constant and an unsigned char value to construct an MPIDR. For affinity level 3 a shift of 32 would result in shifting out of the 32-bit type and have no effect on the MPIDR.
These values need to be extended to unsigned long before shifting to ensure correct results for affinity level 3.
Change-Id: I1ef40afea535f14cfd820c347a065a228e8f4536
show more ...
|
| 649591bb | 18-Jun-2015 |
danh-arm <dan.handley@arm.com> |
Merge pull request #320 from danh-arm/rh/timer-api-v10
Add delay timer API v10 |
| b49b3221 | 17-Mar-2015 |
Ryan Harkin <ryan.harkin@linaro.org> |
FVP: Add SP804 delay timer
Add SP804 delay timer support to the FVP BSP.
This commit simply provides the 3 constants needed by the SP804 delay timer driver and calls sp804_timer_init() in bl2_platf
FVP: Add SP804 delay timer
Add SP804 delay timer support to the FVP BSP.
This commit simply provides the 3 constants needed by the SP804 delay timer driver and calls sp804_timer_init() in bl2_platform_setup(). The BSP does not currently use the delay timer functions.
Note that the FVP SP804 is a normal world accessible peripheral and should not be used by the secure world after transition to the normal world.
Change-Id: I5f91d2ac9eb336fd81943b3bb388860dfb5f2b39 Co-authored-by: Dan Handley <dan.handley@arm.com>
show more ...
|
| cc58b2d0 | 17-Mar-2015 |
Ryan Harkin <ryan.harkin@linaro.org> |
Add SP804 delay timer driver
Add a delay timer driver for the ARM SP804 dual timer.
This driver only uses the first timer, called timer 1 in the SP804 Technical Reference Manual (ARM DDI 0271D).
T
Add SP804 delay timer driver
Add a delay timer driver for the ARM SP804 dual timer.
This driver only uses the first timer, called timer 1 in the SP804 Technical Reference Manual (ARM DDI 0271D).
To use this driver, the BSP must provide three constants:
* The base address of the SP804 dual timer * The clock multiplier * The clock divider
The BSP is responsible for calling sp804_timer_init(). The SP804 driver instantiates a constant timer_ops_t and calls the generic timer_init().
Change-Id: I49ba0a52bdf6072f403d1d0a20e305151d4bc086 Co-authored-by: Dan Handley <dan.handley@arm.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 |
| 9055c7d1 | 17-Mar-2015 |
Ryan Harkin <ryan.harkin@linaro.org> |
Add a simple delay timer driver API
The API is simple. The BSP or specific timer driver creates an instance of timer_ops_t, fills in the timer specific data, then calls timer_init(). The timer speci
Add a simple delay timer driver API
The API is simple. The BSP or specific timer driver creates an instance of timer_ops_t, fills in the timer specific data, then calls timer_init(). The timer specific data includes a function pointer to return the timer value and a clock multiplier/divider. The ratio of the multiplier and the divider is the clock frequency in MHz.
After that, mdelay() or udelay() can be called to delay execution for the specified time (milliseconds or microseconds, respectively).
Change-Id: Icf8a295e1d25874f789bf28b7412156329dc975c Co-authored-by: Dan Handley <dan.handley@arm.com>
show more ...
|
| 79b1ebda | 12-Jun-2015 |
Achin Gupta <achin.gupta@arm.com> |
Merge pull request #317 from vwadekar/run-bl32-on-tegra-v3
Run bl32 on tegra v3 |
| 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 ...
|
| c2dfe2e0 | 11-Jun-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Move dispatcher documents to the docs/spd folder
This patch moves the optee-dispatcher.md and tlk-dispatcher.md to docs/spd.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> |
| 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 ...
|
| 056904cb | 09-Jun-2015 |
danh-arm <dan.handley@arm.com> |
Merge pull request #314 from sandrine-bailleux/sb/css-data-structs
Clarify some CSS data structures |
| 5720b280 | 09-Jun-2015 |
danh-arm <dan.handley@arm.com> |
Merge pull request #312 from jcastillo-arm/jc/tf-issues/308
Fix build option 'ARM_TSP_RAM_LOCATION' in user guide |
| fe55612b | 09-Jun-2015 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
CSS: Remove the constants MHU_SECURE_BASE/SIZE
For CSS based platforms, the constants MHU_SECURE_BASE and MHU_SECURE_SIZE used to define the extents of the Trusted Mailboxes. As such, they were misn
CSS: Remove the constants MHU_SECURE_BASE/SIZE
For CSS based platforms, the constants MHU_SECURE_BASE and MHU_SECURE_SIZE used to define the extents of the Trusted Mailboxes. As such, they were misnamed because the mailboxes are completely unrelated to the MHU hardware.
This patch removes the MHU_SECURE_BASE and MHU_SECURE_SIZE #defines. The address of the Trusted Mailboxes is now relative to the base of the Trusted SRAM.
This patch also introduces a new constant, SCP_COM_SHARED_MEM_BASE, which is the address of the first memory region used for communication between AP and SCP. This is used by the BOM and SCPI protocols.
Change-Id: Ib200f057b19816bf05e834d111271c3ea777291f
show more ...
|
| 9255da5f | 29-Apr-2015 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
CSS: Clarify what the SCP boot config is
Add a comment explaining what the SCP boot configuration information is on CSS based platforms like Juno. Also express its address relatively to the base of
CSS: Clarify what the SCP boot config is
Add a comment explaining what the SCP boot configuration information is on CSS based platforms like Juno. Also express its address relatively to the base of the Trusted SRAM rather than hard-coding it.
Change-Id: I82cf708a284c8b8212933074ea8c37bdf48b403b
show more ...
|
| e5da24f7 | 08-Jun-2015 |
Juan Castillo <juan.castillo@arm.com> |
Fix build option 'ARM_TSP_RAM_LOCATION' in user guide
The 'ARM_TSP_RAM_LOCATION_ID' option specified in the user guide corresponds to the internal definition not visible to the final user. The prope
Fix build option 'ARM_TSP_RAM_LOCATION' in user guide
The 'ARM_TSP_RAM_LOCATION_ID' option specified in the user guide corresponds to the internal definition not visible to the final user. The proper build option is 'ARM_TSP_RAM_LOCATION'. This patch fixes it.
Fixes ARM-software/tf-issues#308
Change-Id: Ica8cb72c0c5e8b3503f60b5357d16698e869b1bd
show more ...
|
| 789c2201 | 05-Jun-2015 |
danh-arm <dan.handley@arm.com> |
Merge pull request #309 from soby-mathew/sm/fix_fvp_get_entry
FVP: Correct the PSYSR_WK bit width in platform_get_entrypoint |
| bf031bba | 02-Jun-2015 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Introduce PROGRAMMABLE_RESET_ADDRESS build option
This patch introduces a new platform build option, called PROGRAMMABLE_RESET_ADDRESS, which tells whether the platform has a programmable or fixed r
Introduce PROGRAMMABLE_RESET_ADDRESS build option
This patch introduces a new platform build option, called PROGRAMMABLE_RESET_ADDRESS, which tells whether the platform has a programmable or fixed reset vector address.
If the reset vector address is fixed then the code relies on the platform_get_entrypoint() mailbox mechanism to figure out where it is supposed to jump. On the other hand, if it is programmable then it is assumed that the platform code will program directly the right address into the RVBAR register (instead of using the mailbox redirection) so the mailbox is ignored in this case.
Change-Id: If59c3b11fb1f692976e1d8b96c7e2da0ebfba308
show more ...
|
| 52010cc7 | 19-May-2015 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Rationalize reset handling code
The attempt to run the CPU reset code as soon as possible after reset results in highly complex conditional code relating to the RESET_TO_BL31 option.
This patch rel
Rationalize reset handling code
The attempt to run the CPU reset code as soon as possible after reset results in highly complex conditional code relating to the RESET_TO_BL31 option.
This patch relaxes this requirement a little. In the BL1, BL3-1 and PSCI entrypoints code, the sequence of operations is now as follows: 1) Detect whether it is a cold or warm boot; 2) For cold boot, detect whether it is the primary or a secondary CPU. This is needed to handle multiple CPUs entering cold reset simultaneously; 3) Run the CPU init code.
This patch also abstracts the EL3 registers initialisation done by the BL1, BL3-1 and PSCI entrypoints into common code.
This improves code re-use and consolidates the code flows for different types of systems.
NOTE: THE FUNCTION plat_secondary_cold_boot() IS NOW EXPECTED TO NEVER RETURN. THIS PATCH FORCES PLATFORM PORTS THAT RELIED ON THE FORMER RETRY LOOP AT THE CALL SITE TO MODIFY THEIR IMPLEMENTATION. OTHERWISE, SECONDARY CPUS WILL PANIC.
Change-Id: If5ecd74d75bee700b1bd718d23d7556b8f863546
show more ...
|