summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-04-30rockchip: Remove print statements for internal addresses.HEADpuma-release-v1.3Christoph Muellner
This patch cleans up the print statements during bootup by removing not needed ones regarding used internal addresses. Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
2019-04-30rockchip: Allow console device to be set by DTB.Christoph Muellner
Currently the compile-time constant PLAT_RK_UART_BASE defines which UART is used as console device. E.g. on RK3399 it is set to UART0. That means, that a single bl31 image can not be used for two boards, which just differ on the UART console. This patch addresses this limitation by parsing the "stdout-path" property from the "chosen" node in the DTB. The expected property string is expected to have the form "serialN:XXX", with N being either 0, 1, 2 or 3. When the property is found, it will be used to override PLAT_RK_UART_BASE. Tested on RK3399-Q7, with a stdout-path of "serial0:115200n8". Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
2017-10-03puma: fix gpio reset pin muxing and polarityJakob Unterwurzacher
This change is Puma RK3399-Q7 specific. Do not merge upstream. On the Puma RK3399-Q7, the Linux kernel muxes the overtemp output to the reset pin. Restore GPIO functionality. Additionally, the Puma RK3399-Q7 needs a polarity of 1 instead of the default 0. This currently cannot be set through the FDT, so hardcode it here for now.
2017-09-02fixup config via FDT: rst_gpiopuma_2017-10-02Philipp Tomsich
2017-09-01[wip] FDT supportPhilipp Tomsich
2017-09-01[wip] rockchip: rk3399: implement FDT-based configurationPhilipp Tomsich
2017-09-01rockchip: rk3399: include libfdt in buildPhilipp Tomsich
For the RK3399-Q7, we need access to the FDT passed into the full U-Boot (i.e. BL2) to configure some functionality in the ATF. To enable the needed infrastructure, include the build of libfdt for the RK3399 platform. Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2017-09-01[WIP] RK3399-Q7Philipp Tomsich
2017-05-30Merge pull request #949 from antonio-nino-diaz-arm/an/printf-memorydavidcunado-arm
Reduce code size when building with Trusted Board Boot enabled
2017-05-25Merge pull request #950 from danh-arm/hz/hikeydavidcunado-arm
HiKey v3
2017-05-24Merge pull request #951 from dp-arm/dp/compiler-rt-cleanupdanh-arm
compiler-rt: Remove unused int_util.[ch] files
2017-05-24hikey: add hikey supportHaojian Zhuang
Add the description on hikey and how to build. Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
2017-05-24hikey: support BL31Haojian Zhuang
Support BL31 and PSCI. Enable multiple cores in PSCI. Change-Id: I66c39e1e9c4c45ac41a0142ed2070d79a3ac5ba3 Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> Signed-off-by: Dan Handley <dan.handley@arm.com>
2017-05-24Cortex-A53: add some bit definitionsHaojian Zhuang
Add some bit definitions of CPUACTLR register in Cortex-A53 CPU library. Change-Id: I142fd8ac4b06dd651a32e22951e71cdebbea123a Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> Signed-off-by: Dan Handley <dan.handley@arm.com>
2017-05-24hikey: support BL2Haojian Zhuang
BL2 is used to load BL31 and SCP_BL2. In HiKey platform, SCP_BL2 is the mcu firmware that is used to scale cpu frequency and switch low power mode. Change-Id: I1621aa65bea989fd125ee8502fd56ef72362bf97 Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> Signed-off-by: Dan Handley <dan.handley@arm.com>
2017-05-24hikey: support BL1Haojian Zhuang
Initialize regulators, pins and eMMC in BL1. Only SRAM could be used in BL1. So BL2 will be loaded from eMMC into SRAM later. Change-Id: I8e7ef82ffa29a3c647c9d2d2981e8759ee85d833 Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> Signed-off-by: Dan Handley <dan.handley@arm.com>
2017-05-24compiler-rt: Remove unused int_util.[ch] filesdp-arm
Change-Id: I32fc523e3178b7e50191682241904d52499ff708 Signed-off-by: dp-arm <dimitris.papastamos@arm.com>
2017-05-24Merge pull request #941 from dp-arm/dp/clangdanh-arm
Allow TF to be built using clang or ARM Compiler 6
2017-05-24docs: Add note on how to build TF using clang or armclangdp-arm
Change-Id: I92fd2fb920fcfc31bfcdadae787d8c84c5ca463b Signed-off-by: dp-arm <dimitris.papastamos@arm.com>
2017-05-24build: Introduce ARM Compiler 6 supportdp-arm
Only the compiler is switched to ARM Compiler 6. The assembler and linker are provided by the GCC toolchain. ARM Compiler 6 is used to build TF when the base name of the path assigned to `CC` matches the string 'armclang'. `CROSS_COMPILE` is still needed and should point to the appropriate GCC toolchain. Tested with ARM CC 6.7. Change-Id: Ib359bf9c1e8aeed3f662668e44830864f3fe7b4a Signed-off-by: dp-arm <dimitris.papastamos@arm.com>
2017-05-24build: Introduce clang supportdp-arm
Only the compiler is switched to clang. The assembler and linker are provided by the GCC toolchain. clang is used to build TF when the base name of the path assigned to `CC` contains the string 'clang'. `CROSS_COMPILE` is still needed and should point to the appropriate GCC toolchain. Tested with clang 3.9.x and 4.0.x. Change-Id: I53236d64e3c83ad27fc843bae5fcdae30f2e325e Signed-off-by: dp-arm <dimitris.papastamos@arm.com>
2017-05-24build: Introduce HOSTCC flagdp-arm
Tools are built using the compiler specified in `HOSTCC` instead of reusing the `CC` variable. By default, gcc is used. Change-Id: I83636a375c61f4804b4e80784db9d061fe20af87 Signed-off-by: dp-arm <dimitris.papastamos@arm.com>
2017-05-24Switch default C environment from c99 to gnu99dp-arm
Since TF uses GCC extensions, switch the C environment from c99 to gnu99. This change allows armclang to build TF. Change-Id: Iaacb2726ba1458af59faf607ae9405d6eedb9962 Signed-off-by: dp-arm <dimitris.papastamos@arm.com>
2017-05-24plat/arm: Compile out impossible conditional for AArch32dp-arm
Since ARM_DRAM2_BASE is above the 32-bit limit, the condition is always false. Wrap this condition in an ifndef to avoid warnings during compilation. Change-Id: Ideabb6c65de6c62474ed03eb29df4b049d5316be Signed-off-by: dp-arm <dimitris.papastamos@arm.com>
2017-05-24Remove plat_match_rotpk referencedp-arm
This function was removed long ago. Remove remaining pragma reference. Change-Id: I66c556863d47dc17d2ffdc6c23aa524df6aade80 Signed-off-by: dp-arm <dimitris.papastamos@arm.com>
2017-05-24fvp: Remove unnecessary default casedp-arm
The default case is impossible to hit as the `power_level` is already checked earlier. Avoids a clang warning. Change-Id: I707463c843adc748ee9aa1d2313f9ab7dab3a8ab Signed-off-by: dp-arm <dimitris.papastamos@arm.com>
2017-05-24Include missing header in arm_bl2_setup.cdp-arm
Change-Id: I4108ce8d1fe7d3fd51a5a96d43b9134c23b8399b Signed-off-by: dp-arm <dimitris.papastamos@arm.com>
2017-05-24Use a callee-saved register to be AAPCS-compliantdp-arm
x8 is not a callee-saved register and can be corrupted. Use x19 instead to be AAPCS-compliant. Fixes ARM-software/tf-issues#478 Change-Id: Ib4f114c36f4c11351ae856f953c45dca92b27c3b Signed-off-by: dp-arm <dimitris.papastamos@arm.com>
2017-05-24Merge pull request #938 from masahir0y/tools_sharedanh-arm
Collect headers shared between TF and host-tools into include/tools_share
2017-05-24mbedtls: Use `MBEDTLS_SHA256_SMALLER` in ARM platformsAntonio Nino Diaz
This options enables an implementation of SHA-256 that has a smaller code footprint (~1.6 KB less) but is also ~30% slower. For ARM platforms, code size is currently considered more important than execution speed in the mbed TLS crypto module. Added a small note about this option to the documentation of the authentication framework. Change-Id: I4c0b221ea5d3466465261316ba07b627fa01b233 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2017-05-24mbedtls: Use `tf_snprintf` instead of `snprintf`Antonio Nino Diaz
The Trusted Firmware uses a subset of the APIs provided by mbed TLS. This subset internally uses `snprintf`, but the only format specifier used is '%d', which is supported by `tf_snprintf`. This patch makes mbed TLS use `tf_snprintf` instead of `snprintf`, saving 3 KB in both debug and release builds when TBBR is enabled. Change-Id: I7f992a21015930d7c0f4660e7a28ceefd60b9597 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2017-05-24Introduce `tf_snprintf`Antonio Nino Diaz
This is a reduced version of `snprintf` that only supports formats '%d', '%i' and '%u'. It can be used when the full `snprintf` is not needed in order to save memory. If it finds an unknown format specifier, it prints an error message and panics. Change-Id: I2cb06fcdf74cda2c43caf73ae0762a91499fc04e Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2017-05-24FVP,Juno: switch FVP and Juno to use generic TBBR OID headerMasahiro Yamada
The header tbbr_oid.h contains OIDs obtained by ARM Ltd. so there is no good reason to use platform_oid.h Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-05-24cert: move platform_oid.h to include/tools_share for all platformsMasahiro Yamada
Platforms aligned with TBBR are supposed to use their own OIDs, but defining the same macros with different OIDs does not provide any value (at least technically). For easier use of TBBR, this commit allows platforms to reuse the OIDs obtained by ARM Ltd. This will be useful for non-ARM vendors that do not need their own extension fields in their certificate files. The OIDs of ARM Ltd. have been moved to include/tools_share/tbbr_oid.h Platforms can include <tbbr_oid.h> instead of <platform_oid.h> by defining USE_TBBR_DEFS as 1. USE_TBBR_DEFS is 0 by default to keep the backward compatibility. For clarification, I inserted a blank line between headers from the include/ directory (#include <...>) and ones from a local directory (#include "..." ). Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-05-23fip: move headers shared between TF and fiptool to include/tools_shareMasahiro Yamada
Some header files need to be shared between TF and host programs. For fiptool, two headers are copied to the tools/fiptool directory, but it looks clumsy. This commit introduces a new directory, include/tools_share, which collects headers that should be shared between TF and host programs. This will clarify the interface exposed to host tools. We should add new headers to this directory only when we really need to do so. For clarification, I inserted a blank line between headers from the include/ directory (#include <...>) and ones from a local directory (#include "..." ). Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-05-23Build: fix assert_boolean implementationMasahiro Yamada
The current assert_boolean does not work with variables assigned with '=' flavor instead of ':='. For example, FOO = $(BAR) BAR := 1 Here, $(value FOO) is evaluated to $(BAR), not 1. This is not what we expect. While I am here, I simplified the implementation. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-05-22Merge pull request #947 from davidcunado-arm/dc/update_userguidedanh-arm
Migrate to Linaro Release 17.01
2017-05-22Merge pull request #945 from antonio-nino-diaz-arm/an/xlat-dependencydanh-arm
xlat: Fix missing header file dependency
2017-05-22Merge pull request #939 from dp-arm/dp/AArch32_tbbrdanh-arm
Add TBBR and FWU support for AArch32
2017-05-22Merge pull request #944 from danh-arm/jl/spdx-licensedanh-arm
Add note about SPDX identifiers in license.md
2017-05-19Merge pull request #936 from antonio-nino-diaz-arm/an/assert-memdavidcunado-arm
Simplify assert() to reduce memory usage
2017-05-19Migrate to Linaro Release 17.01David Cunado
This Linaro release updates just the binaries: Linaro binaries upgraded 16.12 --> 17.01 The toolchain remains at 5.3-2015.05 (gcc 5.3) for both AArch64 and AArch32. The ARM TF codebase has been tested against these new binaries. This patch updates the User Guide to reflect that the 17.01 release is now a supported Linaro Release. Change-Id: I83c579dabd3fa9861ba0d41507036efbd87abcb5 Signed-off-by: David Cunado <david.cunado@arm.com>
2017-05-18xlat: Fix missing header file dependencyAntonio Nino Diaz
xlat_tables_arch.h uses the platform macro `PLAT_VIRT_ADDR_SPACE_SIZE`. This macro is defined in xlat_tables_private.h only if the platform still uses the deprecated `ADDR_SPACE_SIZE`. Change-Id: I1c3b12ebd96bdfe9bf94b26d440c03bc0f8c0b24 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2017-05-17Add note about SPDX identifiers in license.mdJilayne Lovejoy
Added note regarding use of SPDX identifiers following this example: https://github.com/pocoproject/poco/blob/develop/LICENSE Change-Id: I22a280bce57f9145e4786c5ad32f663c2c9c6545 Signed-off-by: Jilayne Lovejoy <jilayne.lovejoy@arm.com> Signed-off-by: Dan Handley <dan.handley@arm.com>
2017-05-16Merge pull request #942 from soby-mathew/sm/fix_juno_build_errdanh-arm
Juno: Fix AArch32 sp_min build
2017-05-16Juno: Fix AArch32 sp_min buildSoby Mathew
The commit abd2aba99ef108e0d0bb5d71c0b6e9c47ca26377 introduced a regression to the AArch32 sp_min Juno build. This patch fixes that. Change-Id: I4b141717684d6aee60c761ea17f23170aa6708c3 Signed-off-by: Soby Mathew <soby.mathew@arm.com>
2017-05-16Merge pull request #937 from rockchip-linux/rk3328_assertdanh-arm
rockchip: rk3328: Add assert check in pmu.c
2017-05-16Merge pull request #935 from davidcunado-arm/dc/mbed_apidanh-arm
mbedtls: Namespace update for TF specific macros
2017-05-16Merge pull request #934 from sandrine-bailleux-arm/sb/break-headers-circular-depdanh-arm
Break circular dependency in FVP and Nvidia header files
2017-05-16Simplify assert() to reduce memory usageAntonio Nino Diaz
The behaviour of assert() now depends on the value of the new optional platform define `PLAT_LOG_LEVEL_ASSERT`. This defaults to `LOG_LEVEL` if not defined by the platform. - If `PLAT_LOG_LEVEL_ASSERT` >= `LOG_LEVEL_VERBOSE`, it prints the file name, line and asserted expression. - If `PLAT_LOG_LEVEL_ASSERT` >= `LOG_LEVEL_INFO`, it prints the file name and line. - If not, it doesn't print anything. Note the old behaviour was to print the function name whereas now it prints the file name. This reduces memory usage because the file name is shared between all assert calls in a given file. Also, the default behaviour in debug builds is to no longer print the asserted expression, greatly reducing the string usage. For FVP debug builds this change saves approximately: No TBBR TBBR BL1 1.6 KB 2.2 KB BL2 1.7 KB 2.1 KB BL31 2.6 KB 3.3 KB Change-Id: I2947569d593df0b25611dc3c7a6096f42155c115 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>