Christine Gharzuzi [Thu, 2 Aug 2018 17:25:11 +0000 (20:25 +0300)]
plat: svc: ap807: add SVC configuration for AP807
- add svc configuration according to values burnt
to the chip efuse
Change-Id: Icf5d7cc41bc09ac2244d0a126106e681afebb064
Signed-off-by: Christine Gharzuzi <[email protected]>
Reviewed-by: Kostya Porotchkin <[email protected]>
Konstantin Porotchkin [Tue, 14 Aug 2018 12:25:07 +0000 (15:25 +0300)]
tools: doimage: Add secure image key file examples
Add example keys for building trusted flash images using
doimage tools.
Similar files can be generated using openssl or mbedtls.
Marvell platform make files are using trusted boot
configurations from this example etst vector.
Change-Id: I38a2e295171bee4c14005ce6f020b352c683496e
Signed-off-by: Konstantin Porotchkin <[email protected]>
Konstantin Porotchkin [Tue, 14 Aug 2018 09:26:45 +0000 (12:26 +0300)]
fix: marvell: Check the required libraries before building doimage
Some customers are missing host libraries required for doimage
builds.
This patch requests for the library installation check for every
doimage build and suggest the required installation steps in case
of missing headers.
Change-Id: Icde18c3d4d6045f65e50d2dc9e6514971f40033e
Signed-off-by: Konstantin Porotchkin <[email protected]>
Reviewed-by: Igal Liberman <[email protected]>
Marcin Wojtas [Wed, 21 Mar 2018 08:59:59 +0000 (09:59 +0100)]
plat: a8k: enable PMU overflow interrupt handler
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 <[email protected]>
Reviewed-by: Kostya Porotchkin <[email protected]>
Marcin Wojtas [Mon, 30 Jul 2018 08:18:45 +0000 (10:18 +0200)]
marvell: drivers: correct RTC init sequence
It turned out that resetting the RTC time register is not
necessary during initial configuration. Safely remove it
from the sequence.
Change-Id: Id2b9c7db44a8c8dbe88a7f8a21695b72a7fd78ee
Signed-off-by: Marcin Wojtas <[email protected]>
Reviewed-by: Nadav Haklai <[email protected]>
Reviewed-by: Kostya Porotchkin <[email protected]>
Marcin Wojtas [Wed, 21 Mar 2018 08:55:47 +0000 (09:55 +0100)]
gicv2: enable configuring IRQ trigger type
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 <[email protected]>
Reviewed-by: Kostya Porotchkin <[email protected]>
Marcin Wojtas [Thu, 16 Nov 2017 17:19:02 +0000 (18:19 +0100)]
marvell: pm: do not panic by default in cpu_standby
Current default behavior of cpu_standby callback
is problematic during the SBSA test, which is
unable to run due to EL3 panic. Make it dependent on
the PM firmware running.
Change-Id: I7a53de8c880bd23b157dd65ce14bb48b5a5c76c8
Signed-off-by: Marcin Wojtas <[email protected]>
Reviewed-by: Grzegorz Jaszczyk <[email protected]>
Reviewed-by: Kostya Porotchkin <[email protected]>
Grzegorz Jaszczyk [Mon, 16 Jul 2018 10:18:03 +0000 (12:18 +0200)]
mvebu: cp110: fix spelling in register definition
Use PF instead of PP post-fix, since it is referring to "Phase Final"
(only G3 related register had correct spelling for relevant bit).
Change-Id: Ia5a9c9c78b74b15f7f8adde2c3ef4784c513da2c
Signed-off-by: Grzegorz Jaszczyk <[email protected]>
Reviewed-by: Igal Liberman <[email protected]>
Reviewed-by: Kostya Porotchkin <[email protected]>
Grzegorz Jaszczyk [Thu, 12 Jul 2018 05:40:34 +0000 (07:40 +0200)]
mvebu: cp110: align all comphy_index arguments type
The biggest comphy index can be equal to 6 so there is no need to use
uint64_t for storing it.
Change-Id: I14c2b68e51678a560815963c72aed0c37068f926
Signed-off-by: Grzegorz Jaszczyk <[email protected]>
Reviewed-by: Igal Liberman <[email protected]>
Reviewed-by: Kostya Porotchkin <[email protected]>
Marcin Wojtas [Tue, 17 Jul 2018 13:26:21 +0000 (15:26 +0200)]
plat: marvell: a80x0: reconfigure CP0 PCIE0 windows
In order to allow the use of PCIe cards such as graphics cards, whose
demands for BAR space are typically much higher than those of network
or SATA/USB cards, reconfigure the I/O windows so we can declare two
MMIO PCI regions: a 512 MB MMIO32 one at 0xc000_0000 and a 4 GB MMIO64
one at 0x8_0000_0000. In addition, this will leave ample room for an
ECAM config space at 0xe000_0000 (up to the ECAM maximum of 256 MB)
For compatibility with older kernels or firmware, leave the original
16 MB window in place as well.
Change-Id: Ia8177194e542078772f90941eced81b231c16887
Signed-off-by: Marcin Wojtas <[email protected]>
Reviewed-by: Kostya Porotchkin <[email protected]>
Marcin Wojtas [Tue, 17 Jul 2018 13:20:08 +0000 (15:20 +0200)]
plat: marvell: a70x0: reconfigure CP0 PCIE2 windows
In order to allow the use of PCIe cards such as graphics cards, whose
demands for BAR space are typically much higher than those of network
or SATA/USB cards, reconfigure the I/O windows so we can declare two
MMIO PCI regions: a 512 MB MMIO32 one at 0xc000_0000 and a 4 GB MMIO64
one at 0x8_0000_0000. In addition, this will leave ample room for an
ECAM config space at 0xe000_0000 (up to the ECAM maximum of 256 MB)
For compatibility with older kernels or firmware, leave the original
16 MB window in place as well.
Change-Id: I80b00691ae8d0a3f3f7285b8e0bfc21c0a095e94
Signed-off-by: Marcin Wojtas <[email protected]>
Reviewed-by: Kostya Porotchkin <[email protected]>
Grzegorz Jaszczyk [Wed, 13 Jun 2018 14:00:48 +0000 (16:00 +0200)]
a8k: use the memory controller feature to protect the RT service region
Define the RT service space as secure with use of memory controller
trustzone feature. Thanks to this protection, any NS-Bootloader nor NS-OS,
won't be able to access RT services (e.g. accidentally overwrite it,
which will at best result in RT services unavailability).
Change-Id: Ie5b6cbe9a1b77879d6d8f8eac5d4e41e468496ce
Signed-off-by: Grzegorz Jaszczyk <[email protected]>
Reviewed-by: Kostya Porotchkin <[email protected]>
Grzegorz Jaszczyk [Wed, 13 Jun 2018 13:27:10 +0000 (15:27 +0200)]
drivers: marvell: mc_trustzone: add driver for mc trustzone
Add simple driver which allows to configure the memory controller trust
zones. It is responsible for opening mc trustzone window, with
appropriate base address, size and attributes.
Example of usage in upcoming commits.
Change-Id: I8bea17754d31451b305040ee7de331fb8db0c63f
Signed-off-by: Grzegorz Jaszczyk <[email protected]>
Reviewed-by: Kostya Porotchkin <[email protected]>
Konstantin Porotchkin [Sun, 29 Jul 2018 10:30:51 +0000 (13:30 +0300)]
plat: marvell: rename common include file
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 <[email protected]>
Konstantin Porotchkin [Sun, 29 Jul 2018 08:53:32 +0000 (11:53 +0300)]
docs: marvell: Update build manual
Update build manual
- remove irrelevant platforms and environemnt variables
- add links to BLE and mv_ddr Github repositories
Change-Id: Ie389c61f014751cdc0459b3f78c70ede694d27b8
Signed-off-by: Konstantin Porotchkin <[email protected]>
Soby Mathew [Thu, 30 Aug 2018 04:37:32 +0000 (05:37 +0100)]
Merge pull request #1545 from npoushin/integration
maintainers: Update maintainer for sgi/sgm platforms
Soby Mathew [Thu, 30 Aug 2018 04:37:13 +0000 (05:37 +0100)]
Merge pull request #1514 from glneo/for-upstream-psci
K3 PSCI Support
Nariman Poushin [Wed, 29 Aug 2018 15:27:52 +0000 (16:27 +0100)]
maintainers: Update maintainer for sgi/sgm platforms
Dimitris Papastamos [Tue, 28 Aug 2018 09:18:17 +0000 (10:18 +0100)]
Merge pull request #1543 from Yann-lms/drivers_st
maintainers: add drivers folders for STM32MP1
Dimitris Papastamos [Tue, 28 Aug 2018 09:07:21 +0000 (10:07 +0100)]
Merge pull request #1538 from jts-arm/typos
Remove unnecessary casts
Dimitris Papastamos [Tue, 28 Aug 2018 09:07:02 +0000 (10:07 +0100)]
Merge pull request #1536 from jts-arm/dsu
DSU erratum 936184 workaround: bug fix
Dimitris Papastamos [Tue, 28 Aug 2018 09:06:00 +0000 (10:06 +0100)]
Merge pull request #1531 from MISL-EBU-System-SW/marvell-plat-updates
plat: marvell: bl31: Update the early platform setup API
Yann Gautier [Tue, 28 Aug 2018 09:01:59 +0000 (11:01 +0200)]
maintainers: add drivers folders for STM32MP1
Folders drivers/st/ and include/drivers/st/ are added in maintainers.rst,
under STM32MP1 platform port.
This will allow notifications for the files modified there.
Signed-off-by: Yann Gautier <[email protected]>
John Tsichritzis [Wed, 22 Aug 2018 09:40:33 +0000 (10:40 +0100)]
DSU erratum 936184 workaround: bug fix
The initial implementation was corrupting registers that it shouldn't.
Now this is fixed.
Change-Id: Iaa407c18e668b2d9381391bf10d6876fe936aded
Signed-off-by: John Tsichritzis <[email protected]>
John Tsichritzis [Thu, 23 Aug 2018 08:57:54 +0000 (09:57 +0100)]
Remove unnecessary casts
Small patch which removes some redundant casts to (void *).
Change-Id: If1cfd68f2989bac1d39dbb3d1c31d4119badbc21
Signed-off-by: John Tsichritzis <[email protected]>
Andrew F. Davis [Thu, 24 May 2018 16:15:42 +0000 (11:15 -0500)]
ti: k3: common: Add basic PSCI reset support
Use TI-SCI messages to request reset from system controller firmware.
Signed-off-by: Andrew F. Davis <[email protected]>
Andrew F. Davis [Thu, 24 May 2018 16:15:42 +0000 (11:15 -0500)]
ti: k3: common: Add basic PSCI core on support
Use TI-SCI messages to request core start from system controller
firmware.
Signed-off-by: Andrew F. Davis <[email protected]>
Andrew F. Davis [Fri, 4 May 2018 19:06:13 +0000 (19:06 +0000)]
ti: k3: drivers: ti_sci: Add support for Processor control
TI-SCI message protocol provides support for controlling of various
physical cores available in the SoC. In order to control which host is
capable of controlling a physical processor core, there is a processor
access control list that needs to be populated as part of the board
configuration data.
Introduce support for the set of TI-SCI message protocol APIs that
provide us with this capability of controlling physical cores.
Signed-off-by: Andrew F. Davis <[email protected]>
Reviewed-by: Andreas Dannenberg <[email protected]>
Andrew F. Davis [Fri, 4 May 2018 19:06:12 +0000 (19:06 +0000)]
ti: k3: drivers: ti_sci: Add support for Core control
Since system controller now has control over SoC power management, core
operation such as reset need to be explicitly requested to reboot the SoC.
Add support for this here.
Signed-off-by: Andrew F. Davis <[email protected]>
Reviewed-by: Andreas Dannenberg <[email protected]>
Andrew F. Davis [Fri, 4 May 2018 19:06:11 +0000 (19:06 +0000)]
ti: k3: drivers: ti_sci: Add support for Clock control
TI-SCI message protocol provides support for management of various
hardware entities within the SoC.
In general, we expect to function at a device level of abstraction,
however, for proper operation of hardware blocks, many clocks directly
supplying the hardware block needs to be queried or configured.
Introduce support for the set of TI-SCI message protocol support that
provide us with this capability.
Signed-off-by: Andrew F. Davis <[email protected]>
Reviewed-by: Andreas Dannenberg <[email protected]>
Andrew F. Davis [Fri, 4 May 2018 19:06:10 +0000 (19:06 +0000)]
ti: k3: drivers: ti_sci: Add support for Device control
TI-SCI message protocol provides support for management of various
hardware entitites within the SoC.
We introduce the fundamental device management capability support to
the driver protocol as part of this change.
Signed-off-by: Andrew F. Davis <[email protected]>
Reviewed-by: Andreas Dannenberg <[email protected]>
Andrew F. Davis [Fri, 4 May 2018 19:06:09 +0000 (19:06 +0000)]
ti: k3: drivers: Add support for TI System Control Interface protocol
Texas Instrument's System Control Interface (TI-SCI) Message Protocol
is used in Texas Instrument's System on Chip (SoC) such as those
in K3 family AM654x SoCs to communicate between various compute
processors with a central system controller entity.
TI-SCI message protocol provides support for management of various
hardware entities within the SoC. Add support driver to allow
communication with system controller entity within the SoC.
Signed-off-by: Andrew F. Davis <[email protected]>
Reviewed-by: Andreas Dannenberg <[email protected]>
Andrew F. Davis [Fri, 4 May 2018 19:06:08 +0000 (19:06 +0000)]
ti: k3: drivers: Add Secure Proxy driver
Secure Proxy module manages hardware threads that are meant
for communication between the processor entities. Add support
for this here.
Signed-off-by: Andrew F. Davis <[email protected]>
Dimitris Papastamos [Wed, 22 Aug 2018 13:40:50 +0000 (14:40 +0100)]
Merge pull request #1528 from antonio-nino-diaz-arm/an/libc
libc: Cleanup library
Antonio Nino Diaz [Thu, 16 Aug 2018 14:42:44 +0000 (15:42 +0100)]
libc: armclang: Implement compiler printf symbols
armclang replaces calls to printf by calls to one of the symbols
__0printf, __1printf or __2printf. This patch adds new functions with
these names that internally call printf so that the Trusted Firmware can
be compiled with this compiler.
Change-Id: I06a0e3e5001232fe5b2577615666ddd66e81eef0
Signed-off-by: Antonio Nino Diaz <[email protected]>
Antonio Nino Diaz [Thu, 16 Aug 2018 15:46:06 +0000 (16:46 +0100)]
libc: Use printf and snprintf across codebase
tf_printf and tf_snprintf are now called printf and snprintf, so the
code needs to be updated.
Change-Id: Iffeee97afcd6328c4c2d30830d4923b964682d71
Signed-off-by: Antonio Nino Diaz <[email protected]>
Antonio Nino Diaz [Wed, 15 Aug 2018 16:02:28 +0000 (17:02 +0100)]
libc: Move tf_printf and tf_snprintf to libc
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 <[email protected]>
Antonio Nino Diaz [Wed, 15 Aug 2018 15:52:32 +0000 (16:52 +0100)]
tf_printf: Return number of printed characters
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 <[email protected]>
Antonio Nino Diaz [Thu, 16 Aug 2018 15:52:57 +0000 (16:52 +0100)]
libc: Fix all includes in codebase
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 <[email protected]>
Signed-off-by: Antonio Nino Diaz <[email protected]>
Antonio Nino Diaz [Tue, 14 Aug 2018 12:39:29 +0000 (13:39 +0100)]
libc: Cleanup SCC headers
Only leave the parts relevant to the Trusted Firmware.
Change-Id: I0444c16e402f6c1629211d03bf6cb32ca3dbcf59
Signed-off-by: Antonio Nino Diaz <[email protected]>
Antonio Nino Diaz [Wed, 15 Aug 2018 18:51:09 +0000 (19:51 +0100)]
libc: Add AArch32 and AArch64 headers
Change-Id: I4f58bb4660078c9bc76d2826c90b2fa711719a3e
Signed-off-by: Antonio Nino Diaz <[email protected]>
Antonio Nino Diaz [Fri, 17 Aug 2018 09:45:47 +0000 (10:45 +0100)]
libc: Introduce files from SCC
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 <[email protected]>
Antonio Nino Diaz [Mon, 13 Aug 2018 18:41:17 +0000 (19:41 +0100)]
libc: Cleanup FreeBSD files
Remove code specific to FreeBSD so that they can be used in this
repository.
Change-Id: I5c11eb5b3c05a7fb91aed08371a1f7a0e6122a94
Signed-off-by: Antonio Nino Diaz <[email protected]>
Antonio Nino Diaz [Mon, 13 Aug 2018 18:39:40 +0000 (19:39 +0100)]
libc: Import files from FreeBSD
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 <[email protected]>
Antonio Nino Diaz [Mon, 13 Aug 2018 18:51:26 +0000 (19:51 +0100)]
libc: Introduce cdefs.h, assert.h and strlen.c
Change-Id: I76091d52571f1950111c4b1670d5fc3883607715
Signed-off-by: Antonio Nino Diaz <[email protected]>
Antonio Nino Diaz [Thu, 16 Aug 2018 13:53:05 +0000 (14:53 +0100)]
libc: Cleanup remaining files
The existing files had some style problems that this patch fixes.
Change-Id: I794e0d96e52f8da0ffa0d70a41f36c4432b4e563
Signed-off-by: Antonio Nino Diaz <[email protected]>
Antonio Nino Diaz [Wed, 15 Aug 2018 15:54:55 +0000 (16:54 +0100)]
libc: Remove printf-like functions
They are too big for the Trusted Firmware, and it can be confusing to
have two versions of the same functions with different names. tf_printf
and tf_snprintf will replace them in the next patch.
Change-Id: I978414ac169cc3156e249549ef101a70eb31a295
Signed-off-by: Antonio Nino Diaz <[email protected]>
Antonio Nino Diaz [Fri, 17 Aug 2018 08:46:43 +0000 (09:46 +0100)]
libc: Remove sscanf() and timingsafe_bcmp()
sscanf() is unused and it doesn't work, so it doesn't make sense to
keep it.
timingsafe_bcmp() isn't used anywhere.
Change-Id: Ib5d28ff21d0f3ccc36c5c0fb5474b3384105cf80
Signed-off-by: Antonio Nino Diaz <[email protected]>
Antonio Nino Diaz [Tue, 14 Aug 2018 12:17:41 +0000 (13:17 +0100)]
libc: Remove non-Arm files
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 <[email protected]>
Dimitris Papastamos [Wed, 22 Aug 2018 09:25:41 +0000 (10:25 +0100)]
Merge pull request #1532 from jeenu-arm/misra-fixes
MISRA fixes
Dimitris Papastamos [Wed, 22 Aug 2018 09:24:24 +0000 (10:24 +0100)]
Merge pull request #1533 from jeenu-arm/mpam
AArch64: Enable MPAM for lower ELs
Dimitris Papastamos [Wed, 22 Aug 2018 09:24:06 +0000 (10:24 +0100)]
Merge pull request #1530 from antonio-nino-diaz-arm/an/rpi3-deprecated
rpi3: Migrate from deprecated APIs
Dimitris Papastamos [Wed, 22 Aug 2018 09:23:52 +0000 (10:23 +0100)]
Merge pull request #1526 from robertovargas-arm/arm-memprotect
memprotect: Move files to specific platform makefiles
Roberto Vargas [Mon, 6 Aug 2018 12:35:31 +0000 (13:35 +0100)]
memprotect: Move files to specific platform makefiles
All the arm platforms were including the files related to
mem-protect. This configuration generates some problems
with new platforms that don't support such functionality,
and for that reason this patch moves these files to the
platform specific makefiles.
Change-Id: I6923e5224668b76667795d8e11723cede7979b1e
Signed-off-by: Roberto Vargas <[email protected]>
Dimitris Papastamos [Mon, 20 Aug 2018 13:57:39 +0000 (14:57 +0100)]
Merge pull request #1388 from vwadekar/report-cve-2017-5715
cpus: denver: report CVE_2017_5715 mitigation to higher layers
Dimitris Papastamos [Mon, 20 Aug 2018 08:38:17 +0000 (09:38 +0100)]
Merge pull request #1524 from danielboulby-arm/db/ReclaimInit
rockchip: Add plat_is_my_cpu_primary function
Dimitris Papastamos [Mon, 20 Aug 2018 08:37:16 +0000 (09:37 +0100)]
Merge pull request #1523 from jts-arm/dsu
DSU erratum 936184 workaround
Jeenu Viswambharan [Thu, 2 Aug 2018 09:14:12 +0000 (10:14 +0100)]
SiP: MISRA fixes for execution state switch
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 <[email protected]>
Jeenu Viswambharan [Thu, 2 Aug 2018 09:14:12 +0000 (10:14 +0100)]
RAS: MISRA fixes
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 <[email protected]>
Jeenu Viswambharan [Thu, 2 Aug 2018 09:14:12 +0000 (10:14 +0100)]
EHF: MISRA fixes
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 <[email protected]>
Jeenu Viswambharan [Fri, 10 Aug 2018 10:05:31 +0000 (11:05 +0100)]
SDEI: Fix locking issues
The event lock for a shared event was being unlocked twice, and the
locking sequence for event complete was misplaced. This patch fixes both
issues.
Change-Id: Ie2fb15c6ec240af132d7d438946ca160bd5c63dc
Signed-off-by: Jeenu Viswambharan <[email protected]>
Jeenu Viswambharan [Thu, 2 Aug 2018 09:14:12 +0000 (10:14 +0100)]
SDEI: MISRA fixes
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 <[email protected]>
Jeenu Viswambharan [Tue, 31 Jul 2018 15:13:33 +0000 (16:13 +0100)]
AArch64: Enable MPAM for lower ELs
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 <[email protected]>
Signed-off-by: Jeenu Viswambharan <[email protected]>
Konstantin Porotchkin [Sun, 19 Aug 2018 07:07:35 +0000 (10:07 +0300)]
plat: marvell: bl31: Update the early platform setup API
Move from bl31_early_platform_setup to bl31_early_platform_setup2
Signed-off-by: Konstantin Porotchkin <[email protected]>
Varun Wadekar [Fri, 6 Jul 2018 20:39:52 +0000 (13:39 -0700)]
cpus: denver: report CVE_2017_5715 mitigation to higher layers
This patch uses the 'declare_cpu_ops_wa' macro, to set the check function,
to report that Denver cores are mitigated.
Denver cores are vulnerable to this anomaly and require the mitigation to
be enabled always.
Change-Id: I1bb6eefdec8c01fb8b645e112f8d04d4bb8811ef
Signed-off-by: Varun Wadekar <[email protected]>
Dimitris Papastamos [Fri, 17 Aug 2018 15:00:30 +0000 (16:00 +0100)]
Merge pull request #1529 from satheesbalya-arm/sb1_2549_fix_dtc_warn
DTC: Add recommended device tree compiler version
Antonio Nino Diaz [Fri, 17 Aug 2018 13:25:08 +0000 (14:25 +0100)]
rpi3: Migrate from deprecated APIs
Change-Id: If53b5b2430a06ce8cf6e7948765b560b37afc335
Signed-off-by: Antonio Nino Diaz <[email protected]>
John Tsichritzis [Mon, 23 Jul 2018 08:11:59 +0000 (09:11 +0100)]
DSU erratum 936184 workaround
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 <[email protected]>
Sathees Balya [Fri, 17 Aug 2018 09:22:01 +0000 (10:22 +0100)]
DTC: Add recommended device tree compiler version
Change-Id: Ice87052e41a24b0ede5610467e12941ae1d886e0
Signed-off-by: Sathees Balya <[email protected]>
Dimitris Papastamos [Fri, 17 Aug 2018 08:55:38 +0000 (09:55 +0100)]
Merge pull request #1525 from antonio-nino-diaz-arm/an/rpi3
rpi3: Remove dependencies on Arm platform code
Dimitris Papastamos [Fri, 17 Aug 2018 08:51:19 +0000 (09:51 +0100)]
Merge pull request #1527 from jts-arm/docs
Fix typo in documentation page title
Dimitris Papastamos [Fri, 17 Aug 2018 08:51:01 +0000 (09:51 +0100)]
Merge pull request #1517 from satheesbalya-arm/sb1_2607_mcd_reg
Console: Use callee-saved registers
John Tsichritzis [Wed, 15 Aug 2018 13:29:07 +0000 (14:29 +0100)]
Fix typo in documentation page title
Change-Id: I426ffc8717757e35e556f675162a729ba095b7d5
Signed-off-by: John Tsichritzis <[email protected]>
Antonio Nino Diaz [Wed, 15 Aug 2018 13:43:29 +0000 (14:43 +0100)]
rpi3: Remove dependencies on Arm platform code
The Raspberry Pi 3 port doesn't actually depend on any Arm platform
code, so the dependencies can be removed.
Change-Id: Ic2f47f5001bebde3862815b1d880a169d82b3f65
Signed-off-by: Antonio Nino Diaz <[email protected]>
Daniel Boulby [Tue, 14 Aug 2018 16:10:06 +0000 (17:10 +0100)]
rockchip: Add plat_is_my_cpu_primary function
This function is required for platforms where
COLD_BOOT_SINGLE_CPU=0 however it was missing from rockchip
platforms
Change-Id: I32a85f226a4f22085a27113903f34bdb6f28dbcc
Signed-off-by: Daniel Boulby <[email protected]>
Sathees Balya [Tue, 31 Jul 2018 14:11:11 +0000 (15:11 +0100)]
Console: Use callee-saved registers
This allows the console drivers to be implemented in C
Change-Id: Ibac859c4bcef0e92a0dcacc6b58ac19bc69b8342
Signed-off-by: Sathees Balya <[email protected]>
Dimitris Papastamos [Wed, 15 Aug 2018 09:49:57 +0000 (10:49 +0100)]
Merge pull request #1516 from antonio-nino-diaz-arm/an/printf
Replace stdio.h functions by TF functions
Dimitris Papastamos [Mon, 13 Aug 2018 14:29:35 +0000 (15:29 +0100)]
Merge pull request #1502 from dp-arm/dp/irc
readme: Add information about the TF-A IRC channel
Dimitris Papastamos [Mon, 13 Aug 2018 14:29:22 +0000 (15:29 +0100)]
Merge pull request #1520 from robertovargas-arm/cci-dsb
cci: Use dsb to wait before reading status register
Roberto Vargas [Mon, 13 Aug 2018 13:17:43 +0000 (14:17 +0100)]
cci: Use dsb to wait before reading status register
The CCI500 TRM explicitily requires completion of the write
operation before the read operation, and it is not guaranteed
by dmb but it is dsb.
Change-Id: Ieeaa0d1a4b8fcb87108dea9b6de03d9c8a150829
Signed-off-by: Roberto Vargas <[email protected]>
Dimitris Papastamos [Mon, 13 Aug 2018 12:02:16 +0000 (13:02 +0100)]
Merge pull request #1510 from robertovargas-arm/romlib
Add support for moving libraries to ROM
Dimitris Papastamos [Mon, 13 Aug 2018 12:02:04 +0000 (13:02 +0100)]
Merge pull request #1519 from antonio-nino-diaz-arm/an/xlat-el2
xlat v2: Support EL2 translation regime
Dimitris Papastamos [Mon, 13 Aug 2018 10:22:25 +0000 (11:22 +0100)]
Merge pull request #1518 from antonio-nino-diaz-arm/an/fix_mmc
mmc: Fix warning about usage of uninitialized variable
Antonio Nino Diaz [Fri, 10 Aug 2018 12:04:02 +0000 (13:04 +0100)]
drivers/mmc: Fix warning about usage of uninitialized variable
Because of -Werror, this causes a build error.
Change-Id: I37a8c4bbfe3f2ced5e17981a2814985919ad483b
Signed-off-by: Antonio Nino Diaz <[email protected]>
Antonio Nino Diaz [Tue, 7 Aug 2018 15:35:54 +0000 (16:35 +0100)]
layerscape: stm32mp1: Migrate to enable_mmu_svc_mon()
Change-Id: I3d16b247a0fa457e6293e2d2c4503dfde1e51c1d
Signed-off-by: Antonio Nino Diaz <[email protected]>
Antonio Nino Diaz [Tue, 7 Aug 2018 15:35:19 +0000 (16:35 +0100)]
plat/arm: Migrate to enable_mmu_svc_mon()
Change-Id: I1bb310e1b05968d30b28913c4011c0601e1ae64e
Signed-off-by: Antonio Nino Diaz <[email protected]>
Antonio Nino Diaz [Tue, 7 Aug 2018 18:59:49 +0000 (19:59 +0100)]
xlat v2: Support the EL2 translation regime
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 <[email protected]>
Dimitris Papastamos [Fri, 10 Aug 2018 11:40:53 +0000 (12:40 +0100)]
Merge pull request #1504 from hzhuang1/migrate_mmc
Migrate mmc
Haojian Zhuang [Sat, 4 Aug 2018 10:07:58 +0000 (18:07 +0800)]
doc/maintainers: remove emmc framework
Remove emmc framework from maintain list.
Signed-off-by: Haojian Zhuang <[email protected]>
Haojian Zhuang [Sat, 4 Aug 2018 10:07:44 +0000 (18:07 +0800)]
drivers/emmc: remove emmc framework
Replace emmc framework by mmc framework.
Signed-off-by: Haojian Zhuang <[email protected]>
Haojian Zhuang [Sat, 4 Aug 2018 10:07:26 +0000 (18:07 +0800)]
plat/poplar: migrate to mmc framework
Migrate from emmc framework to mmc framework.
Signed-off-by: Haojian Zhuang <[email protected]>
Haojian Zhuang [Sat, 4 Aug 2018 10:07:10 +0000 (18:07 +0800)]
plat/hikey: migrate to mmc framework
Migrate to mmc framework.
Signed-off-by: Haojian Zhuang <[email protected]>
Haojian Zhuang [Sat, 4 Aug 2018 10:06:52 +0000 (18:06 +0800)]
drivers/dw_mmc: migrate to mmc framework
Migrate dw_mmc driver from emmc framework to mmc framework. The
emmc framework will be abandoned.
Signed-off-by: Haojian Zhuang <[email protected]>
Haojian Zhuang [Sat, 4 Aug 2018 10:04:30 +0000 (18:04 +0800)]
drivers/mmc: set buswidth and speed before reading data
It should set buswidth and speed of mmc controller before accessing
mmc.
Signed-off-by: Shawn Guo <[email protected]>
Signed-off-by: Haojian Zhuang <[email protected]>
Haojian Zhuang [Thu, 2 Aug 2018 06:50:12 +0000 (14:50 +0800)]
drivers/mmc: make mmc_ext_csd aligned with 16 char
DMA is always used in mmc driver. So the buffer address should
always follow the DMA limitation.
There're same requirement in mmc_read_blocks()/mmc_write_blocks()
on parameter buf. Since parameter buf comes from io_block driver,
it's already handled in io_block driver.
At here, just make the minimum address alignment on 16 chars.
Signed-off-by: Haojian Zhuang <[email protected]>
Haojian Zhuang [Thu, 2 Aug 2018 06:49:51 +0000 (14:49 +0800)]
drivers/mmc: fix lba param to int
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 <[email protected]>
Haojian Zhuang [Thu, 2 Aug 2018 06:48:17 +0000 (14:48 +0800)]
drivers/mmc: send CMD8 only for SD card in initialization
Sending CMD8 before CMD1 just causes to fetch data failure in eMMC.
Check whether it's eMMC first. If it's eMMC, send CMD1 command instead.
Signed-off-by: Haojian Zhuang <[email protected]>
Dimitris Papastamos [Fri, 10 Aug 2018 08:44:09 +0000 (09:44 +0100)]
Merge pull request #1505 from Yann-lms/mmc_delays
mmc: add required delays when retrying commands
Antonio Nino Diaz [Thu, 9 Aug 2018 14:30:28 +0000 (15:30 +0100)]
Replace stdio.h functions by TF functions
Functions provided by stdio.h such as printf and sprintf are available
in the codebase, but they add a lot of code to the final image if they
are used:
- AArch64: ~4KB
- AArch32: ~2KB in T32, ~3KB in A32
tf_printf and tf_snprintf are a lot more simple, but it is preferable
to use them when possible because they are also used in common code.
Change-Id: Id09fd2b486198fe3d79276e2c27931595b7ba60e
Acked-by: Haojian Zhuang <[email protected]>
Signed-off-by: Antonio Nino Diaz <[email protected]>
Antonio Nino Diaz [Thu, 9 Aug 2018 14:30:47 +0000 (15:30 +0100)]
tf_snprintf: Add support for '%s'
Change-Id: Ia3a159444e638f63de7dc5a6a4b76169c757188a
Signed-off-by: Antonio Nino Diaz <[email protected]>