aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2018-09-03plat: svc: ap807: add SVC configuration for AP807Christine Gharzuzi
- add svc configuration according to values burnt to the chip efuse Change-Id: Icf5d7cc41bc09ac2244d0a126106e681afebb064 Signed-off-by: Christine Gharzuzi <chrisg@marvell.com> Reviewed-by: Kostya Porotchkin <kostap@marvell.com>
2018-09-03plat: a8k: enable PMU overflow interrupt handlerMarcin Wojtas
This patch enables handling PMU overflow IRQ by GIC SPI's directly in EL3. Also implement additional SMC routine, which can disable the solution on demand in runtime. Since it is possible to configure PMU interrupt trigger type in the MADT ACPI table, it is enough to set it only once in EL3 during initialization. Change-Id: Ie76aa62ccc4fd7cabfec9e3d5ed9970ada1c1b2a Signed-off-by: Marcin Wojtas <mw@semihalf.com> Reviewed-by: Kostya Porotchkin <kostap@marvell.com>
2018-09-03gicv2: enable configuring IRQ trigger typeMarcin Wojtas
This patch introduces new helper routines that allow configuring the individual IRQs to be edge/level-triggered via GICD_ICFGR registers. This is helpful to modify the default configuration of the non-secure GIC SPI's, which are all set during initialization to be level-sensitive. Change-Id: I23deb4a0381691a686a3cda52405aa1dfd5e56f2 Signed-off-by: Marcin Wojtas <mw@semihalf.com> Reviewed-by: Kostya Porotchkin <kostap@marvell.com>
2018-09-02plat: marvell: rename common include fileKonstantin Porotchkin
Rename a8k_common.h to armada_common.h to keep the same header name across all other Marvell Armada platforms. This is especially useful since various Marvell platforms may use common platform files and share the driver modules. Change-Id: I7262105201123d54ccddef9aad4097518f1e38ef Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
2018-08-28Merge pull request #1531 from MISL-EBU-System-SW/marvell-plat-updatesDimitris Papastamos
plat: marvell: bl31: Update the early platform setup API
2018-08-22libc: Move tf_printf and tf_snprintf to libcAntonio Nino Diaz
Change their names to printf and snprintf. They are much smaller than the previous versions we had, which makes them better suited for the Trusted Firmware. Change-Id: Ia872af91b7b967c47fce012eccecede7873a3daf Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-08-22tf_printf: Return number of printed charactersAntonio Nino Diaz
The C standard says that printf() has to return the number of characters it has printed. Change-Id: I0ef50b1d6766d140724ac0a2fa2c5d023431f984 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-08-22libc: Fix all includes in codebaseAntonio Nino Diaz
The codebase was using non-standard headers. It is needed to replace them by the correct ones so that we can use the new libc headers. Change-Id: I530f71d9510cb036e69fe79823c8230afe890b9d Acked-by: Sumit Garg <sumit.garg@linaro.org> Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-08-22libc: Cleanup SCC headersAntonio Nino Diaz
Only leave the parts relevant to the Trusted Firmware. Change-Id: I0444c16e402f6c1629211d03bf6cb32ca3dbcf59 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-08-22libc: Add AArch32 and AArch64 headersAntonio Nino Diaz
Change-Id: I4f58bb4660078c9bc76d2826c90b2fa711719a3e Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-08-22libc: Introduce files from SCCAntonio Nino Diaz
Taken from http://git.simple-cc.org/scc/ from the following commit: 67508ad14af314cea2229783d3c084f28c41daf0 Permission has been granted from the author to use them under the license BSD-3-Clause instead of ISC. Change-Id: I65c0ce3ab60c49d34a57533af12a74bd7bde88e5 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-08-22libc: Cleanup FreeBSD filesAntonio Nino Diaz
Remove code specific to FreeBSD so that they can be used in this repository. Change-Id: I5c11eb5b3c05a7fb91aed08371a1f7a0e6122a94 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-08-22libc: Import files from FreeBSDAntonio Nino Diaz
From commit aafd1cf4235d78ce85b76d7da63e9589039344b3: - sys/sys/endian.h - sys/arm/include/endian.h - sys/arm64/include/endian.h - sys/sys/errno.h - lib/libc/strchr.c - lib/libc/strcmp.c - lib/libc/strncmp.c - lib/libc/strnlen.c strcasecmp() hasn't been imported. Change-Id: I8a0787aec9ba8960a008fb5c66f7a73c84919b93 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-08-22libc: Introduce cdefs.h, assert.h and strlen.cAntonio Nino Diaz
Change-Id: I76091d52571f1950111c4b1670d5fc3883607715 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-08-22libc: Remove non-Arm filesAntonio Nino Diaz
Remove all files that don't have only Arm copyright. This is the first step to cleanup the C library in this repository. They will be re-added in the following patches. Change-Id: I72c40a1620d1df3228fc397ec695d569a20245fd Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-08-22Merge pull request #1532 from jeenu-arm/misra-fixesDimitris Papastamos
MISRA fixes
2018-08-22Merge pull request #1533 from jeenu-arm/mpamDimitris Papastamos
AArch64: Enable MPAM for lower ELs
2018-08-20SiP: MISRA fixes for execution state switchJeenu Viswambharan
These changes address most of the required MISRA rules. In the process, some from generic code is also fixed. No functional changes. Change-Id: I707dbec9b34b802397e99da2f5ae738165d6feba Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
2018-08-20RAS: MISRA fixesJeenu Viswambharan
These changes address most of the required MISRA rules. In the process, some from generic code is also fixed. No functional changes. Change-Id: I76cacf6e1d73b09510561b5090c2bb66d81bec88 Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
2018-08-20EHF: MISRA fixesJeenu Viswambharan
These changes address most of the required MISRA rules. In the process, some from generic code are also fixed. No functional changes. Change-Id: I19786070af7bc5e1f6d15bdba93e22a4451d8fe9 Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
2018-08-20SDEI: MISRA fixesJeenu Viswambharan
These changes address most of the required MISRA rules. In the process, some from generic code is also fixed. No functional changes. Change-Id: I6235a355e006f0b1c7c1c4d811b3964a64d0434f Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
2018-08-20AArch64: Enable MPAM for lower ELsJeenu Viswambharan
Memory Partitioning And Monitoring is an Armv8.4 feature that enables various memory system components and resources to define partitions. Software running at various ELs can then assign themselves to the desired partition to control their performance aspects. With this patch, when ENABLE_MPAM_FOR_LOWER_ELS is set to 1, EL3 allows lower ELs to access their own MPAM registers without trapping to EL3. This patch however doesn't make use of partitioning in EL3; platform initialisation code should configure and use partitions in EL3 if required. Change-Id: I5a55b6771ccaa0c1cffc05543d2116b60cbbcdcd Co-authored-by: James Morse <james.morse@arm.com> Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
2018-08-19plat: marvell: bl31: Update the early platform setup APIKonstantin Porotchkin
Move from bl31_early_platform_setup to bl31_early_platform_setup2 Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
2018-08-17DSU erratum 936184 workaroundJohn Tsichritzis
If the system is in near idle conditions, this erratum could cause a deadlock or data corruption. This patch applies the workaround that prevents this. This DSU erratum affects only the DSUs that contain the ACP interface and it was fixed in r2p0. The workaround is applied only to the DSUs that are actually affected. Link to respective Arm documentation: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.epm138168/index.html Change-Id: I033213b3077685130fc1e3f4f79c4d15d7483ec9 Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
2018-08-13Merge pull request #1510 from robertovargas-arm/romlibDimitris Papastamos
Add support for moving libraries to ROM
2018-08-13Merge pull request #1519 from antonio-nino-diaz-arm/an/xlat-el2Dimitris Papastamos
xlat v2: Support EL2 translation regime
2018-08-10xlat v2: Support the EL2 translation regimeAntonio Nino Diaz
The translation library is useful elsewhere. Even though this repository doesn't exercise the EL2 support of the library, it is better to have it here as well to make it easier to maintain. enable_mmu_secure() and enable_mmu_direct() have been deprecated. The functions are still present, but they are behind ERROR_DEPRECATED and they call the new functions enable_mmu_svc_mon() and enable_mmu_direct_svc_mon(). Change-Id: I13ad10cd048d9cc2d55e0fff9a5133671b67dcba Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-08-10drivers/emmc: remove emmc frameworkHaojian Zhuang
Replace emmc framework by mmc framework. Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
2018-08-10drivers/dw_mmc: migrate to mmc frameworkHaojian Zhuang
Migrate dw_mmc driver from emmc framework to mmc framework. The emmc framework will be abandoned. Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
2018-08-10drivers/mmc: fix lba param to intHaojian Zhuang
mmc_read_blocks()/mmc_write_blocks() derived from io_block_ops_t type. It means that lba param should be integer type, not unsigned integer type. Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
2018-08-06Add librom support in FVPRoberto Vargas
Change-Id: Idb9ba3864d6de3053260724f07172fd32c1523e0 Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>
2018-08-06xlat v2: Cleanup get/change mem attr helpersAntonio Nino Diaz
Changed the names for consistency with the rest of the library. Introduced new helpers that manipulate the active translation tables context. Change-Id: Icaca56b67fcf6a96e88aa3c7e47411162e8e6856 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-08-03Add support for romlib in the build systemRoberto Vargas
Romlib is a new image that is stored in ROM and contains the code of several libraries that can be shared between different images. All the functions within in the library are accessed using a jump table which allows to update the romlib image whithout changing the binary compatibility. This jump table can be also stored in RAM and it can allow to patch a romlib with potential bugs fixes.. Change-Id: If980ccdaca24b7aaca900e32acc68baf6f94ab35 Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>
2018-08-03Create a library file for libcRoberto Vargas
TF Makefile was linking all the objects files generated for the c library instead of creating a static library that could be used in the linking stage. Change-Id: I721daea097e9b13cbb42c9f8eaa2af8fea0799cf Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>
2018-08-03Merge pull request #1506 from danielboulby-arm/db/SeparateCodeAndRODataDimitris Papastamos
Fix build for SEPARATE_CODE_AND_RODATA=0
2018-08-02xlat: Use bool instead of intAntonio Nino Diaz
Change-Id: I35d5b6a7c219f6f38983b30f157c1ed3808af17f Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-08-02Merge pull request #1507 from jeenu-arm/boolDimitris Papastamos
Define bool type
2018-08-01Fix build for SEPARATE_CODE_AND_RODATA=0Daniel Boulby
TF won't build since no memory region is specified for when SEPARATE_CODE_AND_RODATA=0 it still relies on the ARM_MAP_BL_RO_DATA region which is never defined for this case. Create memory region combining code and RO data for when the build flag SEPARATE_CODE_AND_RODATA=0 to fix this Change-Id: I6c129eb0833497710cce55e76b8908ce03e0a638 Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
2018-08-01Define bool typeJeenu Viswambharan
This would enable us to write semantically sensible code. Change-Id: Ie7c75f9c024f671a037448f5c0922174fff3f0ce Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
2018-07-31Merge pull request #1500 from danielboulby-arm/db/RORedirectionDimitris Papastamos
Set console function pointers to const
2018-07-30Merge pull request #1493 from antonio-nino-diaz-arm/an/xlat-misraDimitris Papastamos
Fix MISRA defects in xlat tables lib and SP805 driver
2018-07-30Set console function pointers to constDaniel Boulby
Set the function pointers in the console struct and the functions they point to to const since they only need to be defined when the console is being initialised and should not be changed after Change-Id: I0574307111e3ab2f13d1a4a74c3fa75532dfa4be Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
2018-07-30Fix MISRA defects in SP805 driverAntonio Nino Diaz
Fix violations of MISRA C-2012 Rules 10.1, 10.3 and 10.4. Change-Id: I13c6acda798c1666892f630f097a23e68748f9e4 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-07-30xlat: Fix MISRA defectsAntonio Nino Diaz
Fix defects of MISRA C-2012 rules 8.13, 10.1, 10.3, 10.4, 10.8, 11.6, 14.4, 15.7, 17.8, 20.10, 20.12, 21.1 and Directive 4.9. Change-Id: I7ff61e71733908596dbafe2e99d99b4fce9765bd Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-07-26ARM platforms: Allow board specific definition of SP stack baseSughosh Ganu
The SGI platforms need to allocate memory for CPER buffers. These platform buffers would be placed between the shared reserved memory and the per cpu stack memory, thus the need to redefine stack base pointer for these platforms. This patch allows each board in ARM platform to define the PLAT_SP_IMAGE_STACK_BASE. Change-Id: Ib5465448b860ab7ab0f645f7cb278a67acce7be9 Signed-off-by: Sughosh Ganu <sughosh.ganu@arm.com>
2018-07-26SGI: Include arm_spm_def.h in platform_def.hSughosh Ganu
Include arm_spm_def.h in the platform_def.h file. Without this inclusion, we get build errors like In file included from services/std_svc/spm/sp_setup.c:12:0: services/std_svc/spm/sp_setup.c: In function 'spm_sp_setup': services/std_svc/spm/sp_setup.c:61:57: error: 'PLAT_SPM_BUF_BASE' undeclared (first use in this function) write_ctx_reg(get_gpregs_ctx(ctx), CTX_GPREG_X0, PLAT_SPM_BUF_BASE); Now that the platform_def.h includes arm_spm_def.h, remove inclusion of platform_def.h in arm_spm_def.h to remove the circular dependency. Change-Id: I5225c8ca33fd8d288849524395e436c3d56daf17 Signed-off-by: Sughosh Ganu <sughosh.ganu@arm.com>
2018-07-25Merge pull request #1486 from antonio-nino-diaz-arm/an/psci-misradanh-arm
Fix several MISRA defects in PSCI library
2018-07-25Merge pull request #1466 from Yann-lms/stm32mp1danh-arm
Add STMicroelectronics STM32MP1 platform support
2018-07-25Merge pull request #1491 from jeenu-arm/misra-fixdanh-arm
Arm platforms: Fix type mismatch for arm_pm_idle_states
2018-07-25Merge pull request #1472 from danielboulby-arm/db/Reclaimdanh-arm
Rework page table setup for varying number of mem regions