| 89574715 | 18-Oct-2016 |
Benjamin Fair <b-fair@ti.com> |
ti: k3: common: Add platform core management helpers
The K3 family of SoCs has multiple interconnects. The key interconnect for high performance processors is the MSMC3 interconnect. This is an io-c
ti: k3: common: Add platform core management helpers
The K3 family of SoCs has multiple interconnects. The key interconnect for high performance processors is the MSMC3 interconnect. This is an io-coherent interconnect which exports multiple ports for each processor cluster.
Sometimes, port 0 of the MSMC may not have an ARM cluster OR is isolated such that the instance of ATF does not manage it. Define macros in platform_def.h to help handle this.
Signed-off-by: Benjamin Fair <b-fair@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com> Signed-off-by: Andrew F. Davis <afd@ti.com>
show more ...
|
| 1841c533 | 14-Oct-2016 |
Nishanth Menon <nm@ti.com> |
ti: k3: Setup initial files for platform
Create the baseline Makefile, platform definitions file and platform specific assembly macros file. This includes first set of constants for the platform inc
ti: k3: Setup initial files for platform
Create the baseline Makefile, platform definitions file and platform specific assembly macros file. This includes first set of constants for the platform including cache sizes and linker format and a stub for BL31 and the basic memory layout
K3 SoC family of processors do not use require a BL1 or BL2 binary, since such functions are provided by an system controller on the SoC. This lowers the burden of ATF to purely managing the local ARM cores themselves.
Signed-off-by: Benjamin Fair <b-fair@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com> Signed-off-by: Andrew F. Davis <afd@ti.com>
show more ...
|
| d135ad78 | 19-Jun-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1410 from Anson-Huang/master
Add NXP's i.MX8QX and i.MX8QM SoC support |
| 73b4214b | 19-Jun-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1425 from jts-arm/panic
Panic in BL1 when TB_FW_CONFIG is invalid |
| 7fb3a70b | 19-Jun-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1418 from antonio-nino-diaz-arm/an/arm-multi-console
plat/arm: Migrate AArch64 port to the multi console driver |
| 7812abac | 09-Jun-2018 |
Ying-Chun Liu (PaulLiu) <paulliu@debian.org> |
rpi3: add OPTEE support
Support for loading optee images as BL32 secure payload.
Signed-off-by: Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org> |
| 88a0523e | 19-Jun-2018 |
Antonio Nino Diaz <antonio.ninodiaz@arm.com> |
plat/arm: Migrate AArch64 port to the multi console driver
The old API is deprecated and will eventually be removed.
Arm platforms now use the multi console driver for boot and runtime consoles. Ho
plat/arm: Migrate AArch64 port to the multi console driver
The old API is deprecated and will eventually be removed.
Arm platforms now use the multi console driver for boot and runtime consoles. However, the crash console uses the direct console API because it doesn't need any memory access to work. This makes it more robust during crashes.
The AArch32 port of the Trusted Firmware doesn't support this new API yet, so it is only enabled in AArch64 builds. Because of this, the common code must maintain compatibility with both systems. SP_MIN doesn't have to be updated because it's only used in AArch32 builds. The TSP is only used in AArch64, so it only needs to support the new API without keeping support for the old one.
Special care must be taken because of PSCI_SYSTEM_SUSPEND. In Juno, this causes the UARTs to reset (except for the one used by the TSP). This means that they must be unregistered when suspending and re-registered when resuming. This wasn't a problem with the old driver because it just restarted the UART, and there were no problems associated with registering and unregistering consoles.
The size reserved for BL2 has been increased.
Change-Id: Icefd117dd1eb9c498921181a21318c2d2435c441 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
show more ...
|
| baa7650b | 11-Jun-2018 |
Anson Huang <Anson.Huang@nxp.com> |
Support for NXP's i.MX8QM SoC
NXP's i.MX8QM is an ARMv8 SoC with 2 clusters, 2 Cortex-A72 cores in one cluster and 4 Cortex-A53 in the other cluster, and also has system controller (Cortex-M4) insid
Support for NXP's i.MX8QM SoC
NXP's i.MX8QM is an ARMv8 SoC with 2 clusters, 2 Cortex-A72 cores in one cluster and 4 Cortex-A53 in the other cluster, and also has system controller (Cortex-M4) inside, documentation can be found in below link:
https://www.nxp.com/products/processors-and-microcontrollers/ applications-processors/i.mx-applications-processors/i.mx-8-processors:IMX8-SERIES
This patch adds support for booting up SMP linux kernel (v4.9).
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
show more ...
|
| 0bc18309 | 05-Jun-2018 |
Anson Huang <Anson.Huang@nxp.com> |
Support for NXP's i.MX8QX SoC
NXP's i.MX8QX is an ARMv8 SoC with 4 Cortex-A35 cores and system controller (Cortex-M4) inside, documentation can be found in below link:
https://www.nxp.com/products/
Support for NXP's i.MX8QX SoC
NXP's i.MX8QX is an ARMv8 SoC with 4 Cortex-A35 cores and system controller (Cortex-M4) inside, documentation can be found in below link:
https://www.nxp.com/products/processors-and-microcontrollers/ applications-processors/i.mx-applications-processors/i.mx-8-processors:IMX8-SERIES
This patch adds support for booting up SMP linux kernel (v4.9).
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
show more ...
|
| bd08def3 | 05-Jun-2018 |
Anson Huang <Anson.Huang@nxp.com> |
Support for NXP's imx SoC common function
This patch adds support for NXP's imx SoC common function support like topology, gic implementation.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com> |
| 27b9d5ea | 05-Jun-2018 |
Anson Huang <Anson.Huang@nxp.com> |
Support for NXP's imx SoC debug uart
Add NXP's imx SoC debug uart driver.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com> |
| ff2743e5 | 05-Jun-2018 |
Anson Huang <Anson.Huang@nxp.com> |
Support for NXP's i.MX8 SoCs IPC
NXP's i.MX8 SoCs have system controller (M4 core) which takes control of clock management, power management, partition management, PAD management etc., other cluster
Support for NXP's i.MX8 SoCs IPC
NXP's i.MX8 SoCs have system controller (M4 core) which takes control of clock management, power management, partition management, PAD management etc., other clusters like Cortex-A35 can send out command via MU (Message Unit) to system controller for clock/power management etc..
This patch adds basic IPC(inter-processor communication) support.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
show more ...
|
| e237c1ba | 11-Jun-2018 |
Roberto Vargas <roberto.vargas@arm.com> |
Move mem-protect definitions to board specific files
Having these definitions in board_arm_def.h forces to all the arm platforms to use the same definition for PLAT_ARM_MEM_PROT_ADDR.
This macro al
Move mem-protect definitions to board specific files
Having these definitions in board_arm_def.h forces to all the arm platforms to use the same definition for PLAT_ARM_MEM_PROT_ADDR.
This macro also enables the mem-protect mechanism, which means that all the arm platform has enabled mem-protect and they cannot get rid of it.
Change-Id: Id29d2c51cbe6edc15f010a9f5a20c42266c48a08 Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>
show more ...
|
| 355e0967 | 15-Jun-2018 |
John Tsichritzis <john.tsichritzis@arm.com> |
Panic in BL1 when TB_FW_CONFIG is invalid
In Arm platforms, when using dynamic configuration, the necessary parameters are made available as a DTB. The DTB is loaded by BL1 and, later on, is parsed
Panic in BL1 when TB_FW_CONFIG is invalid
In Arm platforms, when using dynamic configuration, the necessary parameters are made available as a DTB. The DTB is loaded by BL1 and, later on, is parsed by BL1, BL2 or even both, depending on when information from the DTB is needed.
When the DTB is going to be parsed, it must be validated first, to ensure that it is properly structured. If an invalid DTB is detected then: - BL1 prints a diagnostic but allows execution to continue, - BL2 prints a diagnostic and panics.
Now the behaviour of BL1 is changed so for it also to panic. Thus, the behaviour of BL1 and BL2 is now similar.
Keep in mind that if BL1 only loads the DTB but it doesn't need to read/write it, then it doesn't validate it. The validation is done only when the DTB is actually going to be accessed.
Change-Id: Idcae6092e6dbeab7248dd5e041d6cbb7784fe410 Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
show more ...
|
| acb8b3ca | 01-Jun-2018 |
Andre Przywara <andre.przywara@arm.com> |
allwinner: Add security setup
Some peripherals are TrustZone aware, so they need to be configured to be accessible from non-secure world, as we don't need any of them being exclusive to the secure w
allwinner: Add security setup
Some peripherals are TrustZone aware, so they need to be configured to be accessible from non-secure world, as we don't need any of them being exclusive to the secure world. This affects some clocks, DMA channels and the Secure Peripheral Controller (SPC). The latter controls access to most devices, but is not active unless booting with the secure boot fuse burnt.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 560581ec | 12-Aug-2017 |
Samuel Holland <samuel@sholland.org> |
allwinner: Add platform PSCI functions required for SMP
The reset vector entry point is preserved across CPU resets, so it only needs to be set once at boot.
Hotplugged CPUs are not actually powere
allwinner: Add platform PSCI functions required for SMP
The reset vector entry point is preserved across CPU resets, so it only needs to be set once at boot.
Hotplugged CPUs are not actually powered down, but are put in a wfi with the GIC disconnected.
With this commit, Linux is able to enable, hotplug and use all four CPUs.
Signed-off-by: Samuel Holland <samuel@sholland.org> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 333d66cf | 12-Aug-2017 |
Samuel Holland <samuel@sholland.org> |
allwinner: Add functions to control CPU power/reset
sun50i_cpu_on will be used by the PSCI implementation to initialize secondary cores for SMP. Unfortunately, sun50i_cpu_off is not usable by PSCI d
allwinner: Add functions to control CPU power/reset
sun50i_cpu_on will be used by the PSCI implementation to initialize secondary cores for SMP. Unfortunately, sun50i_cpu_off is not usable by PSCI directly, because it is not possible for a CPU to use this function to power itself down. Power cannot be shut off until the outputs are clamped, and MMIO does not work once the outputs are clamped.
But at least CPU0 can shutdown the other cores early in the BL31 boot process and before shutting down the system.
Signed-off-by: Samuel Holland <samuel@sholland.org> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 64b3d9d8 | 12-Aug-2017 |
Samuel Holland <samuel@sholland.org> |
allwinner: Add Allwinner A64 support
The Allwinner A64 SoC is quite popular on single board computers. It comes with four Cortex-A53 cores in a singe cluster and the usual peripherals for set-top bo
allwinner: Add Allwinner A64 support
The Allwinner A64 SoC is quite popular on single board computers. It comes with four Cortex-A53 cores in a singe cluster and the usual peripherals for set-top box/tablet SoC.
The ATF platform target is called "sun50i_a64".
[Andre: adapted to amended directory layout, removed unneeded definitions ]
Signed-off-by: Samuel Holland <samuel@sholland.org> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 58032586 | 12-Aug-2017 |
Samuel Holland <samuel@sholland.org> |
allwinner: Introduce basic platform support
This platform supports Allwinner's SoCs with ARMv8 cores. So far they all sport a single cluster of Cortex-A53 cores.
"sunxi" is the original code name u
allwinner: Introduce basic platform support
This platform supports Allwinner's SoCs with ARMv8 cores. So far they all sport a single cluster of Cortex-A53 cores.
"sunxi" is the original code name used for this platform, and since it appears in the Linux kernel and in U-Boot as well, we use it here as a short file name prefix and for identifiers.
This port includes BL31 support only. U-Boot's SPL takes the role of the primary loader, also doing the DRAM initialization. It then loads the rest of the firmware, namely ATF and U-Boot (BL33), then hands execution over to ATF.
This commit includes the basic platform code shared across all SoCs. There is no platform.mk yet.
[Andre: moved files into proper directories, supported RESET_TO_BL31, various clean ups and simplifications ]
Signed-off-by: Samuel Holland <samuel@sholland.org> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 649b43f8 | 14-Jun-2018 |
Chandni Cherukuri <chandni.cherukuri@arm.com> |
sgi/mmap: Remove SGI specific MMAP functions
Remove the redundant SGI functions which map memory for BL1 and BL2.
Change-Id: I651a06d0eb6d28263a56f59701bb3815f1ba93dc Signed-off-by: Chandni Cheruku
sgi/mmap: Remove SGI specific MMAP functions
Remove the redundant SGI functions which map memory for BL1 and BL2.
Change-Id: I651a06d0eb6d28263a56f59701bb3815f1ba93dc Signed-off-by: Chandni Cherukuri <chandni.cherukuri@arm.com>
show more ...
|
| ea3f1be5 | 10-May-2018 |
Chandni Cherukuri <chandni.cherukuri@arm.com> |
sgi/dyncfg: add system-id node in hw-config dtb
Append a node to hw-config dtb which will include a property to hold the value of the SSC_VERSION register. This will be used by the BL33 stage to det
sgi/dyncfg: add system-id node in hw-config dtb
Append a node to hw-config dtb which will include a property to hold the value of the SSC_VERSION register. This will be used by the BL33 stage to determine the platform-id and the config-id of the platform it is executing on.
Change-Id: Ie7b1e5d8c1bbe0efdb7ef0714f14b7794ec6058e Signed-off-by: Amit Daniel Kachhap <amit.kachhap@arm.com> Signed-off-by: Chandni Cherukuri <chandni.cherukuri@arm.com>
show more ...
|
| 39b66f68 | 10-May-2018 |
Chandni Cherukuri <chandni.cherukuri@arm.com> |
sgi/dyncfg: add dts files to enable support for dynamic config
Remove the existing method of populating the platform id in arg2 of BL33 which is no longer needed with dynamic configuration feature e
sgi/dyncfg: add dts files to enable support for dynamic config
Remove the existing method of populating the platform id in arg2 of BL33 which is no longer needed with dynamic configuration feature enabled as the BL33 will get this information directly via the config files. Add the tb_fw_config and hw_config dts files.
Change-Id: I3c93fec2aedf9ef1f774a5f0969d2d024e47ed2c Signed-off-by: Chandni Cherukuri <chandni.cherukuri@arm.com>
show more ...
|
| 03364865 | 26-Apr-2018 |
Roberto Vargas <roberto.vargas@arm.com> |
Make TF UUID RFC 4122 compliant
RFC4122 defines that fields are stored in network order (big endian), but TF-A stores them in machine order (little endian by default in TF-A). We cannot change the f
Make TF UUID RFC 4122 compliant
RFC4122 defines that fields are stored in network order (big endian), but TF-A stores them in machine order (little endian by default in TF-A). We cannot change the future UUIDs that are already generated, but we can store all the bytes using arrays and modify fiptool to generate the UUIDs with the correct byte order.
Change-Id: I97be2d3168d91f4dee7ccfafc533ea55ff33e46f Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>
show more ...
|
| 4a410a3b | 14-Jun-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1417 from paulkocialkowski/integration
rockchip: Move stdint header to the offending header file |
| 59c43463 | 14-Jun-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1415 from antonio-nino-diaz-arm/an/spm-fixes
Minor fixes to SPM |