project/bcm63xx/atf.git
5 years agoMerge "Enable MTE support unilaterally for Normal World" into integration
Soby Mathew [Tue, 23 Jul 2019 08:55:10 +0000 (08:55 +0000)]
Merge "Enable MTE support unilaterally for Normal World" into integration

5 years agoMerge "intel: Adds support for Agilex platform" into integration
Soby Mathew [Fri, 19 Jul 2019 09:09:12 +0000 (09:09 +0000)]
Merge "intel: Adds support for Agilex platform" into integration

5 years agoMerge "doc: Complete the storage abstraction layer doc" into integration
Soby Mathew [Fri, 19 Jul 2019 08:31:03 +0000 (08:31 +0000)]
Merge "doc: Complete the storage abstraction layer doc" into integration

5 years agodoc: Complete the storage abstraction layer doc
Louis Mayencourt [Mon, 15 Jul 2019 12:56:03 +0000 (13:56 +0100)]
doc: Complete the storage abstraction layer doc

Add uml sequence and class diagram to illustrate the behavior of the
storage abstraction layer.

Change-Id: I338262729f8034cc3d3eea1d0ce19cca973a91bb
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agointel: Adds support for Agilex platform
Hadi Asyrafi [Thu, 27 Jun 2019 03:34:03 +0000 (11:34 +0800)]
intel: Adds support for Agilex platform

Signed-off-by: Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Change-Id: Ib2ad2068abdf0b204c5cb021ea919581adaca4ef

5 years agoMerge "backtrace: Strip PAC field when PAUTH is enabled" into integration
Soby Mathew [Wed, 17 Jul 2019 10:49:26 +0000 (10:49 +0000)]
Merge "backtrace: Strip PAC field when PAUTH is enabled" into integration

5 years agobacktrace: Strip PAC field when PAUTH is enabled
Louis Mayencourt [Tue, 9 Jul 2019 10:40:55 +0000 (11:40 +0100)]
backtrace: Strip PAC field when PAUTH is enabled

When pointer authentication is enabled, the LR value saved on the stack
contains a Pointer Authentication Code (PAC). It must be stripped to
retrieve the return address.

The PAC field is stored on the high bits of the address and defined as:
- PAC field = Xn[54:bottom_PAC_bit], when address tagging is used.
- PAC field = Xn[63:56, 54:bottom_PAC_bit], without address tagging.

With bottom_PAC_bit = 64 - TCR_ELx.TnSZ

Change-Id: I21d804e58200dfeca1da4c2554690bed5d191936
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agoMerge "plat/arm: Introduce A5 DesignStart platform." into integration
Soby Mathew [Wed, 17 Jul 2019 09:38:51 +0000 (09:38 +0000)]
Merge "plat/arm: Introduce A5 DesignStart platform." into integration

5 years agoMerge "doc: Generate PlantUML diagrams automatically" into integration
Soby Mathew [Wed, 17 Jul 2019 08:51:38 +0000 (08:51 +0000)]
Merge "doc: Generate PlantUML diagrams automatically" into integration

5 years agoMerge "console: update skeleton" into integration
Soby Mathew [Wed, 17 Jul 2019 08:51:27 +0000 (08:51 +0000)]
Merge "console: update skeleton" into integration

5 years agoMerge changes I68941876,Ib7961812,I758661d3,I4f3e3812,I9b26b838, ... into integration
Soby Mathew [Wed, 17 Jul 2019 08:51:10 +0000 (08:51 +0000)]
Merge changes I68941876,Ib7961812,I758661d3,I4f3e3812,I9b26b838, ... into integration

* changes:
  rcar_gen3: drivers: ddr-a: Fix E3 DDR init coding style
  rcar_gen3: drivers: ddr-a: Pass ddrBackup around
  rcar_gen3: drivers: ddr-a: Inline ddr_init_e3.h
  rcar_gen3: drivers: ddr-a: Fix V3M DDR init coding style
  rcar_gen3: drivers: ddr-a: Fix D3 DDR init coding style
  rcar_gen3: drivers: ddr-a: Replace {Read,Write}Reg_32() with mmio_{read,write}_32()
  rcar_gen3: drivers: ddr-a: Unify register definitions

5 years agoMerge "rcar_gen3: drivers: ddr: Replace BITn with BIT(n) macro" into integration
Soby Mathew [Wed, 17 Jul 2019 08:50:58 +0000 (08:50 +0000)]
Merge "rcar_gen3: drivers: ddr: Replace BITn with BIT(n) macro" into integration

5 years agoplat/arm: Introduce A5 DesignStart platform.
Usama Arif [Tue, 18 Jun 2019 15:46:05 +0000 (16:46 +0100)]
plat/arm: Introduce A5 DesignStart platform.

This patch adds support for Cortex-A5 FVP for the
DesignStart program. DesignStart aims at providing
low cost and fast access to Arm IP.

Currently with this patch only the primary CPU is booted
and the rest of them wait for an interrupt.

Signed-off-by: Usama Arif <usama.arif@arm.com>
Change-Id: I3a2281ce6de2402dda4610a89939ed53aa045fab

5 years agoconsole: update skeleton
Ambroise Vincent [Fri, 31 May 2019 15:21:59 +0000 (16:21 +0100)]
console: update skeleton

Update the skeleton implementation of the console interface.

The 32 bit version was outdated and has been copied from the 64 bit
version.

Change-Id: Ib3e4eb09402ffccb1a30c703a53829a7bf064dfe
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
5 years agoMerge changes from topic "jc/shift-overflow" into integration
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

5 years agoMerge "synquacer: Fix compilation fail for SPM support build config" into integration
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

5 years agorcar_gen3: drivers: ddr-a: Fix E3 DDR init coding style
Marek Vasut [Sun, 14 Jul 2019 09:26:03 +0000 (11:26 +0200)]
rcar_gen3: drivers: ddr-a: Fix E3 DDR init coding style

Coding style cleanup, no functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I689418768e87a8c1b6eeeb9f1a48dfb333908017

5 years agorcar_gen3: drivers: ddr-a: Pass ddrBackup around
Marek Vasut [Sun, 14 Jul 2019 10:09:56 +0000 (12:09 +0200)]
rcar_gen3: drivers: ddr-a: Pass ddrBackup around

Pass the ddrBackup variable around instead of making it a global variable.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: Ib796181247712e464b77f5f8be5f851745727d74
---
NOTE: The camelcase is fixed in later patch.

5 years agorcar_gen3: drivers: ddr-a: Inline ddr_init_e3.h
Marek Vasut [Sun, 14 Jul 2019 09:19:18 +0000 (11:19 +0200)]
rcar_gen3: drivers: ddr-a: Inline ddr_init_e3.h

Partly inline ddr_init_e3.h into ddr_init_e3.c . Drop duplicate
INITDRAM_* macros, which are defined in boot_init_dram.h .

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I758661d337a86b6a07f82cd4067fbc149cbaed1e

5 years agorcar_gen3: drivers: ddr-a: Fix V3M DDR init coding style
Marek Vasut [Sun, 14 Jul 2019 09:03:21 +0000 (11:03 +0200)]
rcar_gen3: drivers: ddr-a: Fix V3M DDR init coding style

Coding style cleanup, no functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I4f3e3812ffaa24fec50857756539b563eff33cdd

5 years agorcar_gen3: drivers: ddr-a: Fix D3 DDR init coding style
Marek Vasut [Sun, 14 Jul 2019 07:28:59 +0000 (09:28 +0200)]
rcar_gen3: drivers: ddr-a: Fix D3 DDR init coding style

Coding style cleanup, no functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I9b26b838e8c45d9b4f53c67663ec94002dd9edfe

5 years agorcar_gen3: drivers: ddr-a: Replace {Read,Write}Reg_32() with mmio_{read,write}_32()
Marek Vasut [Sun, 14 Jul 2019 07:22:57 +0000 (09:22 +0200)]
rcar_gen3: drivers: ddr-a: Replace {Read,Write}Reg_32() with mmio_{read,write}_32()

Replace ad-hoc register accessors with generic ones, remove the ad-hoc
implementation. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I21446a00a38c6a39d6a48652c34f59814074e831

5 years agorcar_gen3: drivers: ddr-a: Unify register definitions
Marek Vasut [Sun, 14 Jul 2019 07:10:34 +0000 (09:10 +0200)]
rcar_gen3: drivers: ddr-a: Unify register definitions

Unify boot_init_dram_regdef_*.h into boot_init_dram_regdef.h and
clean up it's coding style a bit.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: Iae3375969c05f80209ebf7b1ebc3633a7f6317ff

5 years agorcar_gen3: drivers: ddr: Replace BITn with BIT(n) macro
Marek Vasut [Sun, 14 Jul 2019 06:55:27 +0000 (08:55 +0200)]
rcar_gen3: drivers: ddr: Replace BITn with BIT(n) macro

Remove the ad-hoc BITn macros and replace them with generic BIT(n) macro.
No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I5d0b44d6cba5a69895fed505f6ff780d3574907f

5 years agosynquacer: Fix compilation fail for SPM support build config
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

5 years agodoc: Generate PlantUML diagrams automatically
Paul Beesley [Fri, 12 Jul 2019 10:56:58 +0000 (11:56 +0100)]
doc: Generate PlantUML diagrams automatically

Currently we have some pre-rendered versions of certain diagrams
in SVG format. These diagrams have corresponding PlantUML source
that can be rendered automatically as part of the documentation
build, removing the need for any intermediate files.

This patch adds the Sphinx "plantuml" extension, replaces
references to the pre-rendered SVG files within the documents,
and finally removes the SVG files and helper script.

New requirements for building the docs are the
"sphinxcontrib-plantuml" Python module (added to the pip
requirements.txt file) and the Graphviz package (provides the
"dot" binary) which is in the Ubuntu package repositories.

Change-Id: I24b52ee40ff79676212ed7cff350294945f1b50d
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
5 years agoMerge changes I94acd1bb,I0ece5226,I82d0a213,Ia4fc9456,Ic9fb7ed1 into integration
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

5 years agoMerge "Re-apply GIT_COMMIT_ID check for checkpatch" into integration
Sandrine Bailleux [Fri, 12 Jul 2019 11:26:04 +0000 (11:26 +0000)]
Merge "Re-apply GIT_COMMIT_ID check for checkpatch" into integration

5 years agorcar_gen3: plat: Update IPL and Secure Monitor Rev2.0.4
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

5 years agorcar_gen3: drivers: rpc: Modify PFC code
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

5 years agorcar_gen3: drivers: rpc: Change RPC PHY calibration setting
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

5 years agorcar_gen3: drivers: ddr-b: Update DDR setting for H3, M3, M3N
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

5 years agoRe-apply GIT_COMMIT_ID check for checkpatch
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>
5 years agoMerge "AArch64: Add 128-bit integer types definitions" into integration
Sandrine Bailleux [Fri, 12 Jul 2019 08:37:24 +0000 (08:37 +0000)]
Merge "AArch64: Add 128-bit integer types definitions" into integration

5 years agoEnable MTE support unilaterally for Normal World
Soby Mathew [Fri, 12 Jul 2019 08:23:38 +0000 (09:23 +0100)]
Enable MTE support unilaterally for Normal World

This patch enables MTE for Normal world if the CPU suppors it. Enabling
MTE for secure world will be done later.

Change-Id: I9ef64460beaba15e9a9c20ab02da4fb2208b6f7d
Signed-off-by: Soby Mathew <soby.mathew@arm.com>
5 years agoEnable -Wshift-overflow=2 to check for undefined shift behavior
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>
5 years agoUpdate base code to not rely on undefined overflow behaviour
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>
5 years agoUpdate hisilicon drivers to not rely on undefined overflow behaviour
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>
5 years agoUpdate synopsys drivers to not rely on undefined overflow behaviour
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>
5 years agoUpdate imx platform to not rely on undefined overflow behaviour
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>
5 years agoUpdate mediatek platform to not rely on undefined overflow behaviour
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>
5 years agoMerge "Remove references to old project name from common files" into integration
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

5 years agoMerge "Fix RST rendering problem" into integration
Sandrine Bailleux [Fri, 12 Jul 2019 07:35:28 +0000 (07:35 +0000)]
Merge "Fix RST rendering problem" into integration

5 years agorcar_gen3: drivers: ddr-a: Update E3 DDR setting
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

5 years agoMerge "Aarch64: Fix SCTLR bit definitions" into integration
John Tsichritzis [Thu, 11 Jul 2019 15:39:02 +0000 (15:39 +0000)]
Merge "Aarch64: Fix SCTLR bit definitions" into integration

5 years agoMerge "plat/intel: Fix SMPLSEL for MMC" into integration
John Tsichritzis [Thu, 11 Jul 2019 12:37:26 +0000 (12:37 +0000)]
Merge "plat/intel: Fix SMPLSEL for MMC" into integration

5 years agoMerge "driver: synopsys: emmc: Do not change FIFO TH as this breaks some platforms...
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

5 years agoUpdate layerscape platform to not rely on undefined overflow behaviour
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>
5 years agoUpdate intel platform to not rely on undefined overflow behaviour
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>
5 years agoUpdate rockchip platform to not rely on undefined overflow behaviour
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>
5 years agoUpdate renesas platform to not rely on undefined overflow behaviour
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>
5 years agoUpdate meson platform to not rely on undefined overflow behaviour
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>
5 years agoUpdate marvell platform to not rely on undefined overflow behaviour
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>
5 years agodriver: synopsys: emmc: Do not change FIFO TH as this breaks some platforms
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

5 years agoMerge "Rename Cortex-Deimos to Cortex-A77" into integration
John Tsichritzis [Thu, 11 Jul 2019 09:12:40 +0000 (09:12 +0000)]
Merge "Rename Cortex-Deimos to Cortex-A77" into integration

5 years agoAArch64: Add 128-bit integer types definitions
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>
5 years agoAarch64: Fix SCTLR bit definitions
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>
5 years agoRename Cortex-Deimos to Cortex-A77
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>
5 years agoRemove references to old project name from common files
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>
5 years agoplat/intel: Fix SMPLSEL for MMC
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

5 years agoFix RST rendering problem
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>
5 years agoMerge "plat: imx8m: Add caam module init on imx8m" into integration
Sandrine Bailleux [Tue, 9 Jul 2019 12:33:31 +0000 (12:33 +0000)]
Merge "plat: imx8m: Add caam module init on imx8m" into integration

5 years agoMerge changes from topic "jts/reword" 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

5 years agoMerge "rpi3: Fix compilation error when stack protector is enabled" into integration
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

5 years agorpi3: Fix compilation error when stack protector is enabled
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>
5 years agodocs: removing references to GitHub
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>
5 years agoChange checkpatch.conf after migration to tf.org
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>
5 years agoMerge "tools/fiptool: Add Makefile.msvc to build on Windows." into integration
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

5 years agoMerge "uniphier: support console based on multi-console" 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

5 years agouniphier: support console based on multi-console
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>
5 years agoMerge "ti: k3: common: Trap all asynchronous bus errors to EL3" into integration
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

5 years agoti: k3: common: Trap all asynchronous bus errors to EL3
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

5 years agoplat: imx8m: Add caam module init on imx8m
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>
5 years agoMerge changes from topic "lw/n1_errata_fixes" into integration
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

5 years agoRemoving redundant ISB instructions
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>
5 years agoWorkaround for Neoverse N1 erratum 1275112
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>
5 years agoWorkaround for Neoverse N1 erratum 1262888
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>
5 years agoWorkaround for Neoverse N1 erratum 1262606
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>
5 years agoWorkaround for Neoverse N1 erratum 1257314
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>
5 years agoWorkaround for Neoverse N1 erratum 1220197
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>
5 years agoWorkaround for Neoverse N1 erratum 1207823
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>
5 years agoWorkaround for Neoverse N1 erratum 1165347
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>
5 years agoWorkaround for Neoverse N1 erratum 1130799
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>
5 years agoWorkaround for Neoverse N1 erratum 1073348
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>
5 years agotools/fiptool: Add Makefile.msvc to build on Windows.
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>
5 years agoMerge "zynqmp: add support for multi console interface" into integration
Sandrine Bailleux [Tue, 2 Jul 2019 09:58:51 +0000 (09:58 +0000)]
Merge "zynqmp: add support for multi console interface" into integration

5 years agoMerge changes from topic "banned_api_list" 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

5 years agoFix the License header template in imx_aipstz.c
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

5 years agodocs: Add the list of banned/use with caution APIs
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>
5 years agozynqmp: add support for multi console interface
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>
5 years agoMerge changes from topic "av/console-port" into integration
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

5 years agoqemu: use new console interface in aarch32
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>
5 years agowarp7: remove old console from makefile
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>
5 years agoRemove MULTI_CONSOLE_API flag and references to it
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>
5 years agoMerge "Tegra: Fix typo in comment" into integration
Paul Beesley [Thu, 27 Jun 2019 09:12:27 +0000 (09:12 +0000)]
Merge "Tegra: Fix typo in comment" into integration

5 years agoMerge "Tegra: Extend NS address check error output" 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

5 years agoMerge "n1sdp: add code for DDR ECC enablement and BL33 copy to DDR" 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

5 years agon1sdp: add code for DDR ECC enablement and BL33 copy to DDR
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>
5 years agoMerge changes from topic "pull-out-drivers" into integration
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

5 years agoMerge "rcar_gen3: drivers: pfc: E3: Replace REVERCED with REVERSED" into integration
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