Julius Werner [Wed, 29 May 2019 04:03:58 +0000 (21:03 -0700)]
Factor out cross-BL API into export headers suitable for 3rd party code
This patch adds a new include/export/ directory meant for inclusion in
third-party code. This is useful for cases where third-party code needs
to interact with TF-A interfaces and data structures (such as a custom
BL2-implementation like coreboot handing off to BL31). Directly
including headers from the TF-A repository avoids having to duplicate
all these definitions (and risk them going stale), but with the current
header structure this is not possible because handoff API definitions
are too deeply intertwined with other TF code/headers and chain-include
other headers that will not be available in the other environment.
The new approach aims to solve this by separating only the parts that
are really needed into these special headers that are self-contained and
will not chain-include other (non-export) headers. TF-A code should
never include them directly but should instead always include the
respective wrapper header, which will include the required prerequisites
(like <stdint.h>) before including the export header. Third-party code
can include the export headers via its own wrappers that make sure the
necessary definitions are available in whatever way that environment can
provide them.
Change-Id: Ifd769320ba51371439a8e5dd5b79c2516c3b43ab
Signed-off-by: Julius Werner <jwerner@chromium.org>
Julius Werner [Wed, 24 Jul 2019 03:00:13 +0000 (20:00 -0700)]
Use explicit-width data types in AAPCS parameter structs
It's not a good idea to use u_register_t for the members of
aapcs64_params_t and aapcs32_params_t, since the width of that type
always depends on the current execution environment. This would cause
problems if e.g. we used this structure to set up the entry point of an
AArch32 program from within an AArch64 program. (It doesn't seem like
any code is doing that today, but it's probably still a good idea to
write this defensively. Also, it helps with my next patch.)
Change-Id: I12c04a85611f2b6702589f3362bea3e6a7c9f776
Signed-off-by: Julius Werner <jwerner@chromium.org>
Julius Werner [Sat, 25 May 2019 03:37:58 +0000 (20:37 -0700)]
plat/rockchip: Switch to use new common BL aux parameter library
This patch changes all Rockchip platforms to use the new common BL aux
parameter helpers. Since the parameter space is now cleanly split in
generic and vendor-specific parameters and the COREBOOT_TABLE
parameter is now generic, the parameter type number for that parameter
has to change. Since it only affects coreboot which always builds TF as
a submodule and includes its headers directly to get these constants,
this should not cause any issues. In general, after this point, we
should avoid changing already assigned parameter type numbers whenever
possible.
Change-Id: Ic99ddd1e91ff5e5fe212fa30c793a0b8394c9dad
Signed-off-by: Julius Werner <jwerner@chromium.org>
Julius Werner [Sat, 25 May 2019 03:31:15 +0000 (20:31 -0700)]
Introduce lightweight BL platform parameter library
This patch adds some common helper code to support a lightweight
platform parameter passing framework between BLs that has already been
used on Rockchip platforms but is more widely useful to others as well.
It can be used as an implementation for the SoC firmware configuration
file mentioned in the docs, and is primarily intended for platforms
that only require a handful of values to be passed and want to get by
without a libfdt dependency. Parameters are stored in a linked list and
the parameter space is split in generic and vendor-specific parameter
types. Generic types will be handled by this code whereas
vendor-specific types have to be handled by a vendor-specific handler
function that gets passed in.
Change-Id: If3413d44e86b99d417294ce8d33eb2fc77a6183f
Signed-off-by: Julius Werner <jwerner@chromium.org>
Soby Mathew [Tue, 16 Jul 2019 10:11:27 +0000 (10:11 +0000)]
Merge changes from topic "jc/shift-overflow" into integration
* changes:
Enable -Wshift-overflow=2 to check for undefined shift behavior
Update base code to not rely on undefined overflow behaviour
Update hisilicon drivers to not rely on undefined overflow behaviour
Update synopsys drivers to not rely on undefined overflow behaviour
Update imx platform to not rely on undefined overflow behaviour
Update mediatek platform to not rely on undefined overflow behaviour
Update layerscape platform to not rely on undefined overflow behaviour
Update intel platform to not rely on undefined overflow behaviour
Update rockchip platform to not rely on undefined overflow behaviour
Update renesas platform to not rely on undefined overflow behaviour
Update meson platform to not rely on undefined overflow behaviour
Update marvell platform to not rely on undefined overflow behaviour
Soby Mathew [Mon, 15 Jul 2019 15:01:11 +0000 (15:01 +0000)]
Merge "synquacer: Fix compilation fail for SPM support build config" into integration
Madhukar Pappireddy [Mon, 8 Jul 2019 23:05:24 +0000 (18:05 -0500)]
synquacer: Fix compilation fail for SPM support build config
Fix the header file path
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
Change-Id: I73a92a3f0049ecbda7eade452405927c04048e01
Sandrine Bailleux [Fri, 12 Jul 2019 12:00:08 +0000 (12:00 +0000)]
Merge changes I94acd1bb,I0ece5226,I82d0a213,Ia4fc9456,Ic9fb7ed1 into integration
* changes:
rcar_gen3: plat: Update IPL and Secure Monitor Rev2.0.4
rcar_gen3: drivers: rpc: Modify PFC code
rcar_gen3: drivers: rpc: Change RPC PHY calibration setting
rcar_gen3: drivers: ddr-b: Update DDR setting for H3, M3, M3N
rcar_gen3: drivers: ddr-a: Update E3 DDR setting
Sandrine Bailleux [Fri, 12 Jul 2019 11:26:04 +0000 (11:26 +0000)]
Merge "Re-apply GIT_COMMIT_ID check for checkpatch" into integration
Toshiyuki Ogasahara [Mon, 20 May 2019 02:39:53 +0000 (11:39 +0900)]
rcar_gen3: plat: Update IPL and Secure Monitor Rev2.0.4
Update the revision number in the revision management file.
Signed-off-by: Toshiyuki Ogasahara <toshiyuki.ogasahara.bo@hitachi.com>
Signed-off-by: Yoshifumi Hosoya <yoshifumi.hosoya.wj@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I94acd1bb53d9d2453e550e2a13b6391b9088ff8d
Toshiyuki Ogasahara [Mon, 20 May 2019 02:25:41 +0000 (11:25 +0900)]
rcar_gen3: drivers: rpc: Modify PFC code
Modify PFC code and rename macro of MFIS according to Errata of
Hardware User's Manual
Signed-off-by: Toshiyuki Ogasahara <toshiyuki.ogasahara.bo@hitachi.com>
Signed-off-by: Yoshifumi Hosoya <yoshifumi.hosoya.wj@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I0ece522647319286350843bbbe8b8ba8b0ae9bac
Toshiyuki Ogasahara [Mon, 20 May 2019 02:23:48 +0000 (11:23 +0900)]
rcar_gen3: drivers: rpc: Change RPC PHY calibration setting
Modify RPC code according to Errata of Hardware User's Manual
Signed-off-by: Toshiyuki Ogasahara <toshiyuki.ogasahara.bo@hitachi.com>
Signed-off-by: Yoshifumi Hosoya <yoshifumi.hosoya.wj@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I82d0a2136c7f18870842f84c49343977708eef1e
Chiaki Fujii [Fri, 17 May 2019 01:45:02 +0000 (10:45 +0900)]
rcar_gen3: drivers: ddr-b: Update DDR setting for H3, M3, M3N
[IPL/DDR]
- Update H3, M3, M3N DDR setting rev.0.36.
Signed-off-by: Chiaki Fujii <chiaki.fujii.wj@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: Ia4fc9456876a14a9cf3ced93163477974f6cc8bf
John Tsichritzis [Fri, 12 Jul 2019 09:55:14 +0000 (10:55 +0100)]
Re-apply GIT_COMMIT_ID check for checkpatch
As it turns out, Gerrit's merge commits don't always respect that format
so these mistakes have to be ignored as false positives.
Change-Id: I4e38d9c34c95588e7916fba4c154f017d8c92dec
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
Sandrine Bailleux [Fri, 12 Jul 2019 08:37:24 +0000 (08:37 +0000)]
Merge "AArch64: Add 128-bit integer types definitions" into integration
Justin Chadwell [Wed, 3 Jul 2019 13:15:56 +0000 (14:15 +0100)]
Enable -Wshift-overflow=2 to check for undefined shift behavior
The -Wshift-overflow=2 option enables checks for left bit shifts.
Specifically, the option will warn when the result of a shift will be
placed into a signed integer and overflow the sign bit there, which
results in undefined behavior.
To avoid the warnings from these checks, the left operand of a shift can
be made an unsigned integer by using the U() macro or appending the u
suffix.
Change-Id: I50c67bedab86a9fdb6c87cfdc3e784f01a22d560
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
Justin Chadwell [Wed, 3 Jul 2019 13:15:22 +0000 (14:15 +0100)]
Update base code to not rely on undefined overflow behaviour
This consists of ensuring that the left operand of each shift is
unsigned when the operation might overflow into the sign bit.
Change-Id: Iddd6f38139a4c6e500468b4fc48d04e0939f574e
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
Justin Chadwell [Thu, 11 Jul 2019 08:35:01 +0000 (09:35 +0100)]
Update hisilicon drivers to not rely on undefined overflow behaviour
This consists of ensuring that the left operand of each shift is
unsigned when the operation might overflow into the sign bit.
Change-Id: I67984b6c48c08af61e95a4dbd18047e2c3151f9a
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
Justin Chadwell [Wed, 3 Jul 2019 13:14:46 +0000 (14:14 +0100)]
Update synopsys drivers to not rely on undefined overflow behaviour
This consists of ensuring that the left operand of each shift is
unsigned when the operation might overflow into the sign bit.
Change-Id: I54560fe290e7dc52d364d0fe1c81a16f4c8d9a7b
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
Justin Chadwell [Wed, 3 Jul 2019 13:14:22 +0000 (14:14 +0100)]
Update imx platform to not rely on undefined overflow behaviour
This consists of ensuring that the left operand of each shift is
unsigned when the operation might overflow into the sign bit.
Change-Id: Ia0a10b4a30e63c0cbf1d0f8dfe5768e0a93ae1c7
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
Justin Chadwell [Wed, 3 Jul 2019 13:13:55 +0000 (14:13 +0100)]
Update mediatek platform to not rely on undefined overflow behaviour
This consists of ensuring that the left operand of each shift is
unsigned when the operation might overflow into the sign bit.
Change-Id: If5a88e1b880bcb2be2278398cf5109a6d877e632
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
Sandrine Bailleux [Fri, 12 Jul 2019 07:37:36 +0000 (07:37 +0000)]
Merge "Remove references to old project name from common files" into integration
Sandrine Bailleux [Fri, 12 Jul 2019 07:35:28 +0000 (07:35 +0000)]
Merge "Fix RST rendering problem" into integration
Hiroyuki Nakano [Thu, 16 May 2019 00:21:37 +0000 (09:21 +0900)]
rcar_gen3: drivers: ddr-a: Update E3 DDR setting
[IPL/DDR]
- Update E3 DDR setting rev.0.12.
Signed-off-by: Hiroyuki Nakano <hiroyuki.nakano.cj@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: Ic9fb7ed1cd7588fab169a99c4070a8dfc40038dc
John Tsichritzis [Thu, 11 Jul 2019 15:39:02 +0000 (15:39 +0000)]
Merge "Aarch64: Fix SCTLR bit definitions" into integration
John Tsichritzis [Thu, 11 Jul 2019 12:37:26 +0000 (12:37 +0000)]
Merge "plat/intel: Fix SMPLSEL for MMC" into integration
John Tsichritzis [Thu, 11 Jul 2019 12:28:15 +0000 (12:28 +0000)]
Merge "driver: synopsys: emmc: Do not change FIFO TH as this breaks some platforms" into integration
Justin Chadwell [Wed, 3 Jul 2019 13:13:34 +0000 (14:13 +0100)]
Update layerscape platform to not rely on undefined overflow behaviour
This consists of ensuring that the left operand of each shift is
unsigned when the operation might overflow into the sign bit.
Change-Id: Ib63ef6e2e4616dd56828bfd3800d5fe2df109934
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
Justin Chadwell [Wed, 3 Jul 2019 13:12:25 +0000 (14:12 +0100)]
Update intel platform to not rely on undefined overflow behaviour
This consists of ensuring that the left operand of each shift is
unsigned when the operation might overflow into the sign bit.
Change-Id: I4c7a315cb18b3bbe623e7a7a998d2dac869638a7
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
Justin Chadwell [Wed, 3 Jul 2019 13:11:28 +0000 (14:11 +0100)]
Update rockchip platform to not rely on undefined overflow behaviour
This consists of ensuring that the left operand of each shift is
unsigned when the operation might overflow into the sign bit.
Change-Id: Ib7fc54e4141cc4f1952a18241bc18671b36e2168
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
Justin Chadwell [Wed, 3 Jul 2019 13:11:06 +0000 (14:11 +0100)]
Update renesas platform to not rely on undefined overflow behaviour
This consists of ensuring that the left operand of each shift is
unsigned when the operation might overflow into the sign bit.
Change-Id: I51278beacbe6da79853c3f0f0f94cd806fc9652c
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
Justin Chadwell [Wed, 3 Jul 2019 13:10:31 +0000 (14:10 +0100)]
Update meson platform to not rely on undefined overflow behaviour
This consists of ensuring that the left operand of each shift is
unsigned when the operation might overflow into the sign bit.
Change-Id: Ib7ec8ed3423e9b9b32be2388520bc27ee28f6370
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
Justin Chadwell [Wed, 3 Jul 2019 13:04:33 +0000 (14:04 +0100)]
Update marvell platform to not rely on undefined overflow behaviour
This consists of ensuring that the left operand of each shift is
unsigned when the operation might overflow into the sign bit.
Change-Id: I78f386f5ac171d6e52383a3e42003e6fb3e96b57
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
Tien Hock, Loh [Tue, 4 Jun 2019 02:47:21 +0000 (10:47 +0800)]
driver: synopsys: emmc: Do not change FIFO TH as this breaks some platforms
Designware MMC DMA FIFO threshold shouldn't be changed as it broke
Poplar platform's uboot MMC
Signed-off-by: Tien Hock, Loh <tien.hock.loh@intel.com>
Change-Id: I87ec9d5a78e1bf45119cb73797e402b25a914c13
John Tsichritzis [Thu, 11 Jul 2019 09:12:40 +0000 (09:12 +0000)]
Merge "Rename Cortex-Deimos to Cortex-A77" into integration
Alexei Fedorov [Wed, 10 Jul 2019 10:32:52 +0000 (11:32 +0100)]
AArch64: Add 128-bit integer types definitions
This patch adds 128-bit integer types int128_t and uint128_t
for "__int128" and "unsigned __int128" supported by GCC and
Clang for AArch64.
Change-Id: I0e646d026a5c12a09fd2c71dc502082052256a94
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Alexei Fedorov [Wed, 10 Jul 2019 09:49:12 +0000 (10:49 +0100)]
Aarch64: Fix SCTLR bit definitions
This patch removes incorrect SCTLR_V_BIT definition and adds
definitions for ARMv8.3-Pauth EnIB, EnDA and EnDB bits.
Change-Id: I1384c0a01f56f3d945833464a827036252c75c2e
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Balint Dobszay [Wed, 3 Jul 2019 11:02:56 +0000 (13:02 +0200)]
Rename Cortex-Deimos to Cortex-A77
Change-Id: I755e4c42242d9a052570fd1132ca3d937acadb13
Signed-off-by: Balint Dobszay <balint.dobszay@arm.com>
John Tsichritzis [Fri, 5 Jul 2019 13:22:12 +0000 (14:22 +0100)]
Remove references to old project name from common files
The project has been renamed from "Arm Trusted Firmware (ATF)" to
"Trusted Firmware-A (TF-A)" long ago. A few references to the old
project name that still remained in various places have now been
removed.
This change doesn't affect any platform files. Any "ATF" references
inside platform files, still remain.
Change-Id: Id97895faa5b1845e851d4d50f5750de7a55bf99e
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
Tien Hock, Loh [Tue, 9 Jul 2019 05:17:04 +0000 (13:17 +0800)]
plat/intel: Fix SMPLSEL for MMC
MMC sample select needs to be set properly so that DWMMC clock can be
driven to 50Mhz
Signed-off-by: Tien Hock, Loh <tien.hock.loh@intel.com>
Change-Id: I4a1dde4f6a1e78a36940c57a7a5b162be0bd443a
John Tsichritzis [Tue, 9 Jul 2019 17:09:03 +0000 (18:09 +0100)]
Fix RST rendering problem
Change-Id: Ic5aab23b549d0bf8e0f7053b46fd59243214aac1
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
Sandrine Bailleux [Tue, 9 Jul 2019 12:33:31 +0000 (12:33 +0000)]
Merge "plat: imx8m: Add caam module init on imx8m" into integration
Sandrine Bailleux [Tue, 9 Jul 2019 12:24:28 +0000 (12:24 +0000)]
Merge changes from topic "jts/reword" into integration
* changes:
docs: removing references to GitHub
Change checkpatch.conf after migration to tf.org
Sandrine Bailleux [Mon, 8 Jul 2019 16:21:01 +0000 (16:21 +0000)]
Merge "rpi3: Fix compilation error when stack protector is enabled" into integration
Madhukar Pappireddy [Fri, 5 Jul 2019 17:04:49 +0000 (12:04 -0500)]
rpi3: Fix compilation error when stack protector is enabled
Include necessary header file to use ARRAY_SIZE() macro
Change-Id: I5b7caccd02c14c598b7944cf4f347606c1e7a8e7
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
John Tsichritzis [Fri, 5 Jul 2019 13:14:40 +0000 (14:14 +0100)]
docs: removing references to GitHub
Change-Id: Ibdee91ad337ee362872924d93e82f5b5e47e63d9
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
John Tsichritzis [Fri, 5 Jul 2019 13:13:42 +0000 (14:13 +0100)]
Change checkpatch.conf after migration to tf.org
A specific checkpatch setting was used because of GitHub. This necessity
doesn't exist anymore.
Change-Id: Ie2225a5cb88654f3b7407e43e0a48fafa9a9165c
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
Sandrine Bailleux [Fri, 5 Jul 2019 11:25:17 +0000 (11:25 +0000)]
Merge "tools/fiptool: Add Makefile.msvc to build on Windows." into integration
Sandrine Bailleux [Fri, 5 Jul 2019 11:22:09 +0000 (11:22 +0000)]
Merge "uniphier: support console based on multi-console" into integration
Masahiro Yamada [Tue, 2 Jul 2019 13:03:16 +0000 (22:03 +0900)]
uniphier: support console based on multi-console
The legacy console is gone. Re-add the console support based on the
multi-console framework.
I am still keeping the putc, getc, and flush callbacks in
uniphier_console.S to use plat/common/aarch64/crash_console_helpers.S
The console registration code already relies on that C environment
has been set up. So, I just filled the struct console fields with the
callback pointers, then called console_register() directly. I also
re-implemented the init function in C to improve the readability.
Removing the custom crash console implementation has one disadvantage;
we cannot use the crash console on very early crashes because
crash_console_helpers.S works only after the console is registered.
I can live with this limitation.
Tested on my boards, and confirmed this worked like before.
Change-Id: Ieab9c849853ff6c525c15ea894a85944f257db59
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Sandrine Bailleux [Fri, 5 Jul 2019 08:05:45 +0000 (08:05 +0000)]
Merge "ti: k3: common: Trap all asynchronous bus errors to EL3" into integration
Andrew F. Davis [Tue, 14 May 2019 20:38:11 +0000 (15:38 -0500)]
ti: k3: common: Trap all asynchronous bus errors to EL3
These errors are asynchronous and cannot be directly correlated with the
exact current running software, so handling them in the same EL is not
critical. Handling them in TF-A allows for more platform specific
decoding of the implementation defined exception registers
Signed-off-by: Andrew F. Davis <afd@ti.com>
Change-Id: Iee7a38c9fc9c698fa0ad42dafa598bcbed6a4fda
Jacky Bai [Wed, 12 Jun 2019 09:41:47 +0000 (17:41 +0800)]
plat: imx8m: Add caam module init on imx8m
CAAM module must be initialized in secure world
before it can be used in non-secure world.
Change-Id: I042893667ddef99d8b6fc3902847d516d8591996
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Sandrine Bailleux [Thu, 4 Jul 2019 06:58:51 +0000 (06:58 +0000)]
Merge changes from topic "lw/n1_errata_fixes" into integration
* changes:
Removing redundant ISB instructions
Workaround for Neoverse N1 erratum
1275112
Workaround for Neoverse N1 erratum
1262888
Workaround for Neoverse N1 erratum
1262606
Workaround for Neoverse N1 erratum
1257314
Workaround for Neoverse N1 erratum
1220197
Workaround for Neoverse N1 erratum
1207823
Workaround for Neoverse N1 erratum
1165347
Workaround for Neoverse N1 erratum
1130799
Workaround for Neoverse N1 erratum
1073348
lauwal01 [Thu, 27 Jun 2019 16:03:25 +0000 (11:03 -0500)]
Removing redundant ISB instructions
Replacing ISB instructions in each Errata workaround with a single ISB
instruction before the RET in the reset handler.
Change-Id: I08afabc5b98986a6fe81664cd13822b36cab786f
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
lauwal01 [Mon, 24 Jun 2019 16:49:01 +0000 (11:49 -0500)]
Workaround for Neoverse N1 erratum
1275112
Neoverse N1 erratum
1275112 is a Cat B erratum [1],
present in older revisions of the Neoverse N1 processor core.
The workaround is to set a bit in the implementation defined
CPUACTLR_EL1 system register, which delays instruction fetch after
branch misprediction.
[1] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.pjdoc-
466751330-10325/index.html
Change-Id: If7fe55fe92e656fa6aea12327ab297f2e6119833
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
lauwal01 [Mon, 24 Jun 2019 16:47:30 +0000 (11:47 -0500)]
Workaround for Neoverse N1 erratum
1262888
Neoverse N1 erratum
1262888 is a Cat B erratum [1],
present in older revisions of the Neoverse N1 processor core.
The workaround is to set a bit in the implementation defined
CPUECTLR_EL1 system register, which disables the MMU hardware prefetcher.
[1] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.pjdoc-
466751330-10325/index.html
Change-Id: Ib733d748e32a7ea6a2783f3d5a9c5e13eee01105
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
lauwal01 [Mon, 24 Jun 2019 16:44:58 +0000 (11:44 -0500)]
Workaround for Neoverse N1 erratum
1262606
Neoverse N1 erratum
1262606 is a Cat B erratum [1],
present in older revisions of the Neoverse N1 processor core.
The workaround is to set a bit in the implementation defined
CPUACTLR_EL1 system register, which delays instruction fetch after
branch misprediction.
[1] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.pjdoc-
466751330-10325/index.html
Change-Id: Idd980e9d5310232d38f0ce272862e1fb0f02ce9a
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
lauwal01 [Mon, 24 Jun 2019 16:42:02 +0000 (11:42 -0500)]
Workaround for Neoverse N1 erratum
1257314
Neoverse N1 erratum
1257314 is a Cat B erratum [1],
present in older revisions of the Neoverse N1 processor core.
The workaround is to set a bit in the implementation defined
CPUACTLR3_EL1 system register, which prevents parallel
execution of divide and square root instructions.
[1] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.pjdoc-
466751330-10325/index.html
Change-Id: I54f0f40ff9043efee40d51e796b92ed85b394cbb
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
lauwal01 [Mon, 24 Jun 2019 16:38:53 +0000 (11:38 -0500)]
Workaround for Neoverse N1 erratum
1220197
Neoverse N1 erratum
1220197 is a Cat B erratum [1],
present in older revisions of the Neoverse N1 processor core.
The workaround is to set two bits in the implementation defined
CPUECTLR_EL1 system register, which disables write streaming to the L2.
[1] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.pjdoc-
466751330-10325/index.html
Change-Id: I9c3373f1b6d67d21ee71b2b80aec5e96826818e8
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
lauwal01 [Mon, 24 Jun 2019 16:35:37 +0000 (11:35 -0500)]
Workaround for Neoverse N1 erratum
1207823
Neoverse N1 erratum
1207823 is a Cat B erratum [1],
present in older revisions of the Neoverse N1 processor core.
The workaround is to set a bit in the implementation defined
CPUACTLR2_EL1 system register.
[1] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.pjdoc-
466751330-10325/index.html
Change-Id: Ia932337821f1ef0d644db3612480462a8d924d21
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
lauwal01 [Mon, 24 Jun 2019 16:32:40 +0000 (11:32 -0500)]
Workaround for Neoverse N1 erratum
1165347
Neoverse N1 erratum
1165347 is a Cat B erratum [1],
present in older revisions of the Neoverse N1 processor core.
The workaround is to set two bits in the implementation defined
CPUACTLR2_EL1 system register.
[1] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.pjdoc-
466751330-10325/index.html
Change-Id: I163d0ea00578245c1323d2340314cdc3088c450d
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
lauwal01 [Mon, 24 Jun 2019 16:28:34 +0000 (11:28 -0500)]
Workaround for Neoverse N1 erratum
1130799
Neoverse N1 erratum
1130799 is a Cat B erratum [1],
present in older revisions of the Neoverse N1 processor core.
The workaround is to set a bit in the implementation defined
CPUACTLR2_EL1 system register.
[1] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.pjdoc-
466751330-10325/index.html
Change-Id: I252bc45f9733443ba0503fefe62f50fdea61da6d
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
lauwal01 [Mon, 24 Jun 2019 16:23:50 +0000 (11:23 -0500)]
Workaround for Neoverse N1 erratum
1073348
Neoverse N1 erratum
1073348 is a Cat B erratum [1],
present in older revisions of the Neoverse N1 processor core.
The workaround is to set a bit in the implementation defined
CPUACTLR_EL1 system register, which disables static prediction.
[1] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.pjdoc-
466751330-10325/index.html
Change-Id: I674126c0af6e068eecb379a190bcf7c75dcbca8e
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
Girish Pathak [Fri, 22 Mar 2019 14:30:18 +0000 (14:30 +0000)]
tools/fiptool: Add Makefile.msvc to build on Windows.
This change adds nmake compatible Makefile.msvc file for
building (nmake /FMakefile.msvc) fiptool on the Windows.
Change-Id: Iccd1fe8da072edd09eb04b8622f27b3c4693b281
Signed-off-by: Girish Pathak <girish.pathak@arm.com>
Sandrine Bailleux [Tue, 2 Jul 2019 09:58:51 +0000 (09:58 +0000)]
Merge "zynqmp: add support for multi console interface" into integration
Soby Mathew [Mon, 1 Jul 2019 13:21:23 +0000 (13:21 +0000)]
Merge changes from topic "banned_api_list" into integration
* changes:
Fix the License header template in imx_aipstz.c
docs: Add the list of banned/use with caution APIs
Soby Mathew [Thu, 20 Jun 2019 12:56:04 +0000 (13:56 +0100)]
Fix the License header template in imx_aipstz.c
Signed-off-by: Soby Mathew <soby.mathew@arm.com>
Change-Id: I2281b3c1b8a0f2caa751c746b7835f998183e0af
Soby Mathew [Thu, 20 Jun 2019 11:46:11 +0000 (12:46 +0100)]
docs: Add the list of banned/use with caution APIs
Credit to sam.ellis@arm.com for the input to create the list.
Change-Id: Id70a8eddc5f2490811bebb278482c61950f10cce
Signed-off-by: Soby Mathew <soby.mathew@arm.com>
Ambroise Vincent [Wed, 29 May 2019 10:46:08 +0000 (11:46 +0100)]
zynqmp: add support for multi console interface
This patch addds multi console interface for ZynqMP
platform
Change-Id: I508a61412df2b71d04bca6a1139c8f32cbd7dccd
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Tested-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Paul Beesley [Fri, 28 Jun 2019 11:04:02 +0000 (11:04 +0000)]
Merge changes from topic "av/console-port" into integration
* changes:
qemu: use new console interface in aarch32
warp7: remove old console from makefile
Remove MULTI_CONSOLE_API flag and references to it
Console: removed legacy console API
Ambroise Vincent [Tue, 28 May 2019 13:35:41 +0000 (14:35 +0100)]
qemu: use new console interface in aarch32
Change-Id: Iab788e3e7cb2f83144255c4eb830712fd5cb6240
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Ambroise Vincent [Wed, 29 May 2019 13:14:03 +0000 (14:14 +0100)]
warp7: remove old console from makefile
Change-Id: I87818b220568cc34838726b32ddf29ee6cf31ed7
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Ambroise Vincent [Thu, 4 Apr 2019 08:13:28 +0000 (09:13 +0100)]
Remove MULTI_CONSOLE_API flag and references to it
The new API becomes the default one.
Change-Id: Ic1d602da3dff4f4ebbcc158b885295c902a24fec
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Paul Beesley [Thu, 27 Jun 2019 09:12:27 +0000 (09:12 +0000)]
Merge "Tegra: Fix typo in comment" into integration
Paul Beesley [Thu, 27 Jun 2019 09:11:16 +0000 (09:11 +0000)]
Merge "Tegra: Extend NS address check error output" into integration
Paul Beesley [Thu, 27 Jun 2019 09:07:12 +0000 (09:07 +0000)]
Merge "n1sdp: add code for DDR ECC enablement and BL33 copy to DDR" into integration
Manoj Kumar [Fri, 21 Jun 2019 16:07:13 +0000 (17:07 +0100)]
n1sdp: add code for DDR ECC enablement and BL33 copy to DDR
N1SDP platform supports RDIMMs with ECC capability. To use the ECC
capability, the entire DDR memory space has to be zeroed out before
enabling the ECC bits in DMC620. Zeroing out several gigabytes of
memory from SCP is quite time consuming so functions are added that
zeros out the DDR memory from application processor which is
much faster compared to SCP. BL33 binary cannot be copied to DDR memory
before enabling ECC so this is also done by TF-A from IOFPGA-DDR3
memory to main DDR4 memory after ECC is enabled.
Original PLAT_PHY_ADDR_SPACE_SIZE was limited to 36-bits with which
the entire DDR space cannot be accessed as DRAM2 starts in base
0x8080000000. So these macros are redefined for all ARM platforms.
Change-Id: If09524fb65b421b7a368b1b9fc52c49f2ddb7846
Signed-off-by: Manoj Kumar <manoj.kumar3@arm.com>
Paul Beesley [Wed, 26 Jun 2019 12:08:19 +0000 (12:08 +0000)]
Merge changes from topic "pull-out-drivers" into integration
* changes:
intel: Add ncore ccu driver
intel: Fix watchdog driver structure
intel: Fix qspi driver write config
intel: Pull out common drivers into platform common
Paul Beesley [Wed, 26 Jun 2019 11:21:51 +0000 (11:21 +0000)]
Merge "rcar_gen3: drivers: pfc: E3: Replace REVERCED with REVERSED" into integration
Hadi Asyrafi [Mon, 17 Jun 2019 04:30:22 +0000 (12:30 +0800)]
intel: Add ncore ccu driver
Signed-off-by: Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Change-Id: I0544315986ee28b23157fdfec3fe5aebae6b860f
Hadi Asyrafi [Mon, 17 Jun 2019 04:02:18 +0000 (12:02 +0800)]
intel: Fix watchdog driver structure
Signed-off-by: Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Change-Id: I0ffccca7ea83bff35c9f149d7054cd610a59ec01
Hadi Asyrafi [Mon, 17 Jun 2019 03:48:58 +0000 (11:48 +0800)]
intel: Fix qspi driver write config
Signed-off-by: Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Change-Id: I5241ed97697b0280b590b47b9173d102d23f305a
Hadi Asyrafi [Wed, 12 Jun 2019 03:24:12 +0000 (11:24 +0800)]
intel: Pull out common drivers into platform common
Signed-off-by: Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Change-Id: Ib79e2c6fe6e66dec5004701133ad6a5f4c78f2fa
Ambroise Vincent [Wed, 27 Mar 2019 10:22:10 +0000 (10:22 +0000)]
Console: removed legacy console API
This interface has been deprecated in favour of MULTI_CONSOLE_API.
Change-Id: I6170c1c8c74a890e5bd6d05396743fe62024a08a
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Marek Vasut [Tue, 25 Jun 2019 15:57:22 +0000 (17:57 +0200)]
rcar_gen3: drivers: pfc: E3: Replace REVERCED with REVERSED
Fix a typo, no functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: Id6abb4c192729f55b3500505860c7f7718944c62
Paul Beesley [Tue, 25 Jun 2019 13:49:15 +0000 (13:49 +0000)]
Merge changes Ie594b535,Ifa444dd5,Ie93e7fcc,I302cff20,I0f6c1cad, ... into integration
* changes:
rcar_gen3: drivers: pfc: Move PFC drivers out of staging
rcar_gen3: drivers: pfc: Checkpatch cleanup
rcar_gen3: drivers: pfc: V3M: Fix camel case
rcar_gen3: drivers: pfc: V3M: Drop forward declarations
rcar_gen3: drivers: pfc: V3M: Switch to BIT() macro
rcar_gen3: drivers: pfc: V3M: Checkpatch cleanup
rcar_gen3: drivers: pfc: V3M: Switch to common register header file
rcar_gen3: drivers: pfc: E3: Drop pfc_reg_write() forward declaration
rcar_gen3: drivers: pfc: E3: Switch to BIT() macro
rcar_gen3: drivers: pfc: E3: Checkpatch cleanup
rcar_gen3: drivers: pfc: E3: Switch to common register header file
rcar_gen3: drivers: pfc: D3: Switch to BIT() macro
rcar_gen3: drivers: pfc: D3: Drop unused macros
rcar_gen3: drivers: pfc: D3: Checkpatch cleanup
rcar_gen3: drivers: pfc: D3: Switch to common register header file
rcar_gen3: drivers: pfc: M3N: Drop forward declarations
rcar_gen3: drivers: pfc: M3N: Switch to BIT() macro
rcar_gen3: drivers: pfc: M3N: Checkpatch cleanup
rcar_gen3: drivers: pfc: M3N: Switch to common register header file
rcar_gen3: drivers: pfc: M3W: Fix camel case
rcar_gen3: drivers: pfc: M3W: Drop forward declarations
rcar_gen3: drivers: pfc: M3W: Switch to BIT() macro
rcar_gen3: drivers: pfc: M3W: Checkpatch cleanup
rcar_gen3: drivers: pfc: M3W: Switch to common register header file
rcar_gen3: drivers: pfc: H3: Drop pfc_reg_write() forward declaration
rcar_gen3: drivers: pfc: H3: Switch to BIT() macro
rcar_gen3: drivers: pfc: H3: Drop unused macros
rcar_gen3: drivers: pfc: H3: Checkpatch cleanup
rcar_gen3: drivers: pfc: H3: Switch to common register header file
rcar_gen3: drivers: pfc: Introduce common register header file
rcar_gen3: drivers: pfc: D3: Drop unused M3W check
John Tsichritzis [Tue, 25 Jun 2019 11:33:52 +0000 (11:33 +0000)]
Merge "doc: Fix typo in file interrupt-framework-design.rst" into integration
John Tsichritzis [Tue, 25 Jun 2019 09:52:16 +0000 (09:52 +0000)]
Merge "Fix links in documentation" into integration
John Tsichritzis [Mon, 24 Jun 2019 12:22:30 +0000 (13:22 +0100)]
Fix links in documentation
Change-Id: Ifef4d634b4a34d23f42f61df5e326a1cc05d3844
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
Marek Vasut [Mon, 17 Jun 2019 17:29:03 +0000 (19:29 +0200)]
rcar_gen3: drivers: pfc: Move PFC drivers out of staging
Now that PFC drivers are cleaned up , move them out of staging.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: Ie594b53558c2bfb8e5d88e5b0354752c17a2487e
Marek Vasut [Mon, 17 Jun 2019 17:28:12 +0000 (19:28 +0200)]
rcar_gen3: drivers: pfc: Checkpatch cleanup
Checkpatch cleanups of the PFC common init code macros.
No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: Ifa444dd506387dba92b550729e56598198faeb49
Marek Vasut [Mon, 17 Jun 2019 17:20:36 +0000 (19:20 +0200)]
rcar_gen3: drivers: pfc: V3M: Fix camel case
Replace function name with non-camel-case one. No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: Ie93e7fccdc81a3ffa5c371d49846fcf6c840f145
Marek Vasut [Mon, 17 Jun 2019 17:20:22 +0000 (19:20 +0200)]
rcar_gen3: drivers: pfc: V3M: Drop forward declarations
There's no point in having forward declaration just before the function
itself, drop it. No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I302cff2014bb6e513b6fb48fcf6df7ade684039e
Marek Vasut [Mon, 17 Jun 2019 17:16:18 +0000 (19:16 +0200)]
rcar_gen3: drivers: pfc: V3M: Switch to BIT() macro
Utilise existing BIT() macro. No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I0f6c1cadf51cfe49322ec5408e6661287747e0ae
Marek Vasut [Mon, 17 Jun 2019 17:15:33 +0000 (19:15 +0200)]
rcar_gen3: drivers: pfc: V3M: Checkpatch cleanup
Checkpatch cleanups of the PFC init code and remaining SoC specific macros.
No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I3a9527db01afa909f61efd9556cc291e254a5e33
Marek Vasut [Mon, 17 Jun 2019 17:10:05 +0000 (19:10 +0200)]
rcar_gen3: drivers: pfc: V3M: Switch to common register header file
Drop local copy of register macros and switch to common header.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I9d14180a7ae63a97d4bd1c87e717db71a852525e
Marek Vasut [Mon, 17 Jun 2019 16:46:03 +0000 (18:46 +0200)]
rcar_gen3: drivers: pfc: E3: Drop pfc_reg_write() forward declaration
There's no point in having forward declaration just before the function
itself, drop it. No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I3cf5bbc388431144c8bbc53ae9f9338276674eee
Marek Vasut [Mon, 17 Jun 2019 16:44:39 +0000 (18:44 +0200)]
rcar_gen3: drivers: pfc: E3: Switch to BIT() macro
Utilise existing BIT() macro. No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: Ibf5f242cad70cdd51ca6415b1c7c56b35317ea52
Marek Vasut [Mon, 17 Jun 2019 16:44:23 +0000 (18:44 +0200)]
rcar_gen3: drivers: pfc: E3: Checkpatch cleanup
Checkpatch cleanups of the PFC init code and remaining SoC specific macros.
No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I6b026f5b333ee8008510604b9f51a0aa8e60b6fc