Marek Vasut [Fri, 14 Jun 2019 13:52:45 +0000 (15:52 +0200)]
rcar_gen3: drivers: qos: H3: Configure DBSC QoS from a table
Convert the DBSC QoS setting function to a simple table of register-value
pairs and pass it to common rcar_qos_dbsc_setting() to write those values
to matching registers.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I62b133ea4f4129a641b779a782938976ad52fbfe
Marek Vasut [Fri, 14 Jun 2019 13:55:04 +0000 (15:55 +0200)]
rcar_gen3: drivers: qos: Add function to configure DBSC QoS settings from a table
The DBSC QoS settings can be programmed by iterating over a table with
register-value pairs and writing those to the registers, add function
to do just that. Subsequent patches will convert the DBSC QoS setting
functions for each SoC to this new function.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I949c46a0f032661a58000cb5f7829349e973438c
Marek Vasut [Fri, 14 Jun 2019 00:27:52 +0000 (02:27 +0200)]
rcar_gen3: drivers: qos: Fix checkpatch issues
Fix checkpatch issues, clean up macro indentation. No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: Id0f1e322b44562f9863e885583d89fbf47cab91b
Marek Vasut [Fri, 14 Jun 2019 00:10:17 +0000 (02:10 +0200)]
rcar_gen3: drivers: qos: V3M: Drop useless comments
Drop useless comments in dbsc_setting(). No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I8a113d253f39e5b6a61e16b1740f9a66b2540753
Marek Vasut [Fri, 14 Jun 2019 00:08:45 +0000 (02:08 +0200)]
rcar_gen3: drivers: qos: V3M: Convert mstat table to uint64_t
Convert the mstat table from a complex structure to simple sequence
of uint64_t values, since the structure described just that and the
loop can operate over incrementing sequence of addresses just fine.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: If1917605e5540a38cbd763c56fc1e677573e7066
Marek Vasut [Fri, 14 Jun 2019 00:07:18 +0000 (02:07 +0200)]
rcar_gen3: drivers: qos: V3M: Factor out mstat fix into separate file
Pull out the mstat fix array into separate file, to align the structure
of the driver with the other SoCs. No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: Ifb6644063d8f463e2eb20bdadc5b69ab74ac591d
Marek Vasut [Fri, 14 Jun 2019 00:05:43 +0000 (02:05 +0200)]
rcar_gen3: drivers: qos: V3M: Use common register definition
Use common qos_regs.h instead of a local copy in the V3M QoS init.
Fill missing registers into qos_regs.h . No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I9aabff54abc05781ef606b0d09e4e9fbf7ec3968
Marek Vasut [Thu, 13 Jun 2019 23:04:07 +0000 (01:04 +0200)]
rcar_gen3: drivers: qos: E3: Drop extra level of nesting
The extra level of nesting is not necessary, drop it.
No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I49df37734cd6016373a5850d3b9cf4a6569c36d6
Marek Vasut [Fri, 14 Jun 2019 00:23:04 +0000 (02:23 +0200)]
rcar_gen3: drivers: qos: E3: Use common register definition
Use common qos_regs.h instead of a local copy in the E3 QoS init.
No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: Ia4336d4b6173e1dbb671a003d904dbc5dc0c196d
Marek Vasut [Sat, 15 Jun 2019 12:55:29 +0000 (14:55 +0200)]
rcar_gen3: drivers: qos: D3: Replace ad-hoc register addresses with macros
Replace the remaining ad-hoc register addresses with proper macros.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: If125f0c8ef77ed280107324edaa05f21979a2c27
Marek Vasut [Thu, 13 Jun 2019 22:54:01 +0000 (00:54 +0200)]
rcar_gen3: drivers: qos: D3: Drop MD pin check
The DBSC_SCFCTST2 is always written with the same value, no matter
what the MD pin value is, drop the entire check and just write the
register with the one and only possible value.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I44d48ad59293562539a0c1d8ffd66333714e041e
Marek Vasut [Thu, 13 Jun 2019 22:51:47 +0000 (00:51 +0200)]
rcar_gen3: drivers: qos: D3: Make DBSC settings local to dbsc_setting()
Move the DBSC write enabling and disabling to dbsc_setting() function,
to make it local, instead of having it all over the code.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: If8e5657c3230b5d82b551cb89b11c4d13a2d096b
Marek Vasut [Thu, 13 Jun 2019 22:50:28 +0000 (00:50 +0200)]
rcar_gen3: drivers: qos: D3: Drop useless comments
Drop useless comments in dbsc_setting(). No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: If54e770ce81c9a6610cd89c3d5f01ea9b96af521
Marek Vasut [Thu, 13 Jun 2019 23:01:34 +0000 (01:01 +0200)]
rcar_gen3: drivers: qos: D3: Convert mstat table to uint64_t
Convert the mstat table from a complex structure to simple sequence
of uint64_t values, since the structure described just that and the
loop can operate over incrementing sequence of addresses just fine.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I5f797024c76f2c18b160ac50ede9e1eac24e6652
Marek Vasut [Thu, 13 Jun 2019 22:47:30 +0000 (00:47 +0200)]
rcar_gen3: drivers: qos: D3: Factor out mstat fix into separate file
Pull out the mstat fix array into separate file, to align the structure
of the driver with the other SoCs. No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I2559c5ceb06505361d026ebc1b762bebe17d920b
Marek Vasut [Thu, 13 Jun 2019 22:42:59 +0000 (00:42 +0200)]
rcar_gen3: drivers: qos: D3: Use common register definition
Use common qos_regs.h instead of a local copy in the D3 QoS init.
Fill missing registers into qos_regs.h . No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: Ie22a81bf5cbf3f8970c6e3fbb43ef52c26fb7168
Marek Vasut [Fri, 14 Jun 2019 00:21:54 +0000 (02:21 +0200)]
rcar_gen3: drivers: qos: M3N: Fix checkpatch issues
Fix checkpatch issues, clean up macro indentation. No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I08c033b317685bef7537eb49de160e827b7791ad
Marek Vasut [Thu, 13 Jun 2019 23:58:56 +0000 (01:58 +0200)]
rcar_gen3: drivers: qos: M3N: Drop MD pin check
The DBSC_SCFCTST2 is always written with the same value, no matter
what the MD pin value is, drop the entire check and just write the
register with the one and only possible value.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: Icd3e12f814d4fdcddaec2d1415f0bbf92169284b
Marek Vasut [Thu, 13 Jun 2019 23:58:27 +0000 (01:58 +0200)]
rcar_gen3: drivers: qos: M3N: Drop useless comments
Drop useless comments in dbsc_setting(). No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I6fe03e16c63278aa6fc1bbcc72c07a450d3b7638
Marek Vasut [Thu, 13 Jun 2019 23:57:30 +0000 (01:57 +0200)]
rcar_gen3: drivers: qos: M3N: Drop extra level of nesting
The extra level of nesting is not necessary, drop it.
No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I6d268eae8df5794511d5211e5a59a36291adab3e
Marek Vasut [Fri, 14 Jun 2019 00:01:00 +0000 (02:01 +0200)]
rcar_gen3: drivers: qos: M3N: Use common register definition
Use common qos_regs.h instead of a local copy in the M3N QoS init.
No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I9670c9cdb320d6724175c22210d048af54490b47
Marek Vasut [Fri, 14 Jun 2019 00:21:45 +0000 (02:21 +0200)]
rcar_gen3: drivers: qos: M3W: Fix checkpatch issues
Fix checkpatch issues, clean up macro indentation. No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: Ifd397962c40d174c3af31cb440241cc8bd9335d3
Marek Vasut [Thu, 13 Jun 2019 23:51:40 +0000 (01:51 +0200)]
rcar_gen3: drivers: qos: M3W: Drop MD pin check
The DBSC_SCFCTST2 is always written with the same value, no matter
what the MD pin value is, drop the entire check and just write the
register with the one and only possible value.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: Idf26cf064e99e95f0140dd747183efe6a6d7f0bf
Marek Vasut [Thu, 13 Jun 2019 23:50:16 +0000 (01:50 +0200)]
rcar_gen3: drivers: qos: M3W: Drop useless comments
Drop useless comments in dbsc_setting(). No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I4460c55bf58f33ca72c9bbad99a28b5e4ef7421e
Marek Vasut [Thu, 13 Jun 2019 23:39:27 +0000 (01:39 +0200)]
rcar_gen3: drivers: qos: M3W: Drop extra level of nesting
The extra level of nesting is not necessary, drop it.
No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I086ab1f457866f0e2c3ccd67609c0be35631f893
Marek Vasut [Thu, 13 Jun 2019 23:47:00 +0000 (01:47 +0200)]
rcar_gen3: drivers: qos: M3W: Convert mstat table to uint64_t
Convert the mstat table from a complex structure to simple sequence
of uint64_t values, since the structure described just that and the
loop can operate over incrementing sequence of addresses just fine.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I41728b30087996edc9799f320bf6a3b4465538bd
Marek Vasut [Thu, 13 Jun 2019 23:44:43 +0000 (01:44 +0200)]
rcar_gen3: drivers: qos: M3W: Factor out mstat fix into separate file
Pull out the mstat fix array into separate file, to align the structure
of the driver with the other SoCs. No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I21c18e80ab9225837e5553dadcf196605e878143
Marek Vasut [Thu, 13 Jun 2019 23:41:10 +0000 (01:41 +0200)]
rcar_gen3: drivers: qos: M3W: Use common register definition
Use common qos_regs.h instead of a local copy in the M3W QoS init.
Fill missing registers into qos_regs.h . No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I91175c86cdb94b9271c880df2cb65949f15f1bad
Marek Vasut [Fri, 14 Jun 2019 00:17:54 +0000 (02:17 +0200)]
rcar_gen3: drivers: qos: H3: Fix checkpatch issues
Fix checkpatch issues, clean up macro indentation. No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I605109b5e41219473a4cbc4a1929b84377ba0b67
Marek Vasut [Thu, 13 Jun 2019 23:35:59 +0000 (01:35 +0200)]
rcar_gen3: drivers: qos: H3: Drop MD pin check
The DBSC_SCFCTST2 is always written with the same value, no matter
what the MD pin value is, drop the entire check and just write the
register with the one and only possible value.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I4d8926eb3c44c61ec777c05c581ce8247f13daa6
Marek Vasut [Thu, 13 Jun 2019 23:32:53 +0000 (01:32 +0200)]
rcar_gen3: drivers: qos: H3: Drop useless comments
Drop useless comments in dbsc_setting(). No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I9e3d025567ff4e10e2b4448e8a518b4eee13f6c5
Marek Vasut [Thu, 13 Jun 2019 23:30:41 +0000 (01:30 +0200)]
rcar_gen3: drivers: qos: H3: Drop extra level of nesting
The extra level of nesting is not necessary, drop it.
No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I7b55a6fa53145ff0427e05656234917f486031df
Marek Vasut [Thu, 13 Jun 2019 23:27:27 +0000 (01:27 +0200)]
rcar_gen3: drivers: qos: H3: Convert mstat table to uint64_t
Convert the mstat table from a complex structure to simple sequence
of uint64_t values, since the structure described just that and the
loop can operate over incrementing sequence of addresses just fine.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I379a1a5dfe2095d9477b364393ab120c4d8e1ba4
Marek Vasut [Thu, 13 Jun 2019 23:25:01 +0000 (01:25 +0200)]
rcar_gen3: drivers: qos: H3: Factor out mstat fix into separate file
Pull out the mstat fix array into separate file, to align the structure
of the driver with the other SoCs. No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: Ia92abe11c425220a065d707c350644c955efef92
Marek Vasut [Thu, 13 Jun 2019 23:22:38 +0000 (01:22 +0200)]
rcar_gen3: drivers: qos: H3: Use common register definition
Use common qos_regs.h instead of a local copy in the H3 QoS init.
Fill missing registers into qos_regs.h . No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I0b5ceab71be07e270885bdff403e5292e3373787
Marek Vasut [Sat, 18 May 2019 17:29:16 +0000 (19:29 +0200)]
rcar_gen3: console: Convert to multi-console API
Convert the R-Car Gen3 platform and both SCIF and Log drivers
to multi-console API.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I18556973937d150b60453f9150d54ee612571e35
Soby Mathew [Tue, 11 Jun 2019 11:39:46 +0000 (11:39 +0000)]
Merge "plat/arm: Skip BL2U if RESET_TO_SP_MIN flag is set" into integration
Louis Mayencourt [Tue, 11 Jun 2019 09:51:34 +0000 (10:51 +0100)]
plat/arm: Skip BL2U if RESET_TO_SP_MIN flag is set
BL2U should not build when RESET_TO_SP_MIN flag is set, like BL1 and
BL2.
Change-Id: Iac516121f98611ca1f58d2b5efdec6525b06ce4e
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
Soby Mathew [Tue, 11 Jun 2019 10:35:56 +0000 (10:35 +0000)]
Merge "Update maintainers list" into integration
John Tsichritzis [Mon, 10 Jun 2019 09:31:17 +0000 (10:31 +0100)]
Update maintainers list
Also sort alphabetically the links at the bottom, a couple of them were
not sorted.
Change-Id: I49a1dbe9e56a36c5fdbace8e4c8b9a5270bc2984
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
Soby Mathew [Mon, 10 Jun 2019 09:41:44 +0000 (09:41 +0000)]
Merge "doc: Document E and W build options" into integration
Soby Mathew [Mon, 10 Jun 2019 09:40:25 +0000 (09:40 +0000)]
Merge changes from topic "jts/ti_fix" into integration
* changes:
ti: k3: common: Remove coherency workaround for AM65x
ti: k3: common: Use coherent memory for shared data
Soby Mathew [Mon, 10 Jun 2019 09:39:23 +0000 (09:39 +0000)]
Merge "PSCI: Lookup list of parent nodes to lock only once" into integration
Soby Mathew [Mon, 10 Jun 2019 09:14:13 +0000 (09:14 +0000)]
Merge "Update Allwinner SoC names in documentation" into integration
Samuel Holland [Sat, 8 Jun 2019 21:18:02 +0000 (16:18 -0500)]
Update Allwinner SoC names in documentation
Provide the friendly marketing names, not just the platform name.
Signed-off-by: Samuel Holland <samuel@sholland.org>
Change-Id: Id4427abb73d0c1be4ac1709b2a8e87beffc20dd5
John Tsichritzis [Fri, 7 Jun 2019 15:20:45 +0000 (15:20 +0000)]
Merge "Neoverse N1: Introduce workaround for Neoverse N1 erratum
1315703" into integration
Andrew F. Davis [Tue, 4 Jun 2019 14:46:54 +0000 (10:46 -0400)]
PSCI: Lookup list of parent nodes to lock only once
When acquiring or releasing the power domain locks for a given CPU the
parent nodes are looked up by walking the up the PD tree list on both the
acquire and release path, only one set of lookups is needed. Fetch the
parent nodes first and pass this list into both the acquire and release
functions to avoid the double lookup.
This also allows us to not have to do this lookup after coherency has
been exited during the core power down sequence. The shared struct
psci_cpu_pd_nodes is not placed in coherent memory like is done
for psci_non_cpu_pd_nodes and doing so would negatively affect
performance. With this patch we remove the need to have it in coherent
memory by moving the access out of psci_release_pwr_domain_locks().
Signed-off-by: Andrew F. Davis <afd@ti.com>
Change-Id: I7b9cfa9d31148dea0f5e21091c8b45ef7fe4c4ab
John Tsichritzis [Thu, 6 Jun 2019 15:19:50 +0000 (15:19 +0000)]
Merge "FVP: Remove GIC initialisation from secondary core cold boot" into integration
Andre Przywara [Mon, 20 May 2019 13:57:06 +0000 (14:57 +0100)]
Neoverse N1: Introduce workaround for Neoverse N1 erratum
1315703
Neoverse N1 erratum
1315703 is a Cat A (rare) 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, which will disable the load-bypass-store feature.
[1] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.pjdocpjdoc-
466751330-1032/index.html
Change-Id: I5c708dbe0efa4daa0bcb6bd9622c5efe19c03af9
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
John Tsichritzis [Thu, 6 Jun 2019 10:26:10 +0000 (10:26 +0000)]
Merge "Introduce BTI support in ROMLIB" into integration
Andrew F. Davis [Thu, 25 Apr 2019 18:33:30 +0000 (14:33 -0400)]
ti: k3: common: Remove coherency workaround for AM65x
We previously left our caches on during power-down to prevent any
non-caching accesses to memory that is cached by other cores. Now with
the last accessed areas all being marked as non-cached by
USE_COHERENT_MEM we can rely on that to workaround our interconnect
issues. Remove the old workaround.
Change-Id: Idadb7696d1449499d1edff4f6f62ab3b99d1efb7
Signed-off-by: Andrew F. Davis <afd@ti.com>
Andrew F. Davis [Thu, 25 Apr 2019 18:02:33 +0000 (14:02 -0400)]
ti: k3: common: Use coherent memory for shared data
HW_ASSISTED_COHERENCY implies something stronger than just hardware
coherent interconnect, specifically a DynamIQ capable ARM core.
For K3, lets use WARMBOOT_ENABLE_DCACHE_EARLY to enable caches early
and then let the caches get shut off on powerdown, to prevent data
corruption we also need to USE_COHERENT_MEM so that any accesses to
shared memory after this point is only to memory that is set as
non-cached for all cores.
Change-Id: Ib9337f012df0e0388237942607c501b6f3e2a949
Signed-off-by: Andrew F. Davis <afd@ti.com>
kenny liang [Thu, 2 May 2019 14:01:39 +0000 (22:01 +0800)]
mediatek: mt8183: add mcsi driver
add mcsi driver to support cache coherence.
Change-Id: I94f5922783e5dbc6b7e92aa06464bc1f0177f00a
Signed-off-by: kenny liang <kenny.liang@mediatek.com>
kenny liang [Thu, 2 May 2019 14:26:22 +0000 (22:26 +0800)]
mediatek: mt8183: add GIC driver
Add Mediatek GIC driver to support interrupt functions.
Signed-off-by: kenny liang <kenny.liang@mediatek.com>
Change-Id: I967a18f2e45b7bbc88c506dd4f1f40a745227ad9
Ambroise Vincent [Thu, 6 Jun 2019 09:26:41 +0000 (10:26 +0100)]
doc: Document E and W build options
Change-Id: I0d9dbef7041fcf950bcafcdbbc17c72b4dea9e40
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
John Tsichritzis [Mon, 3 Jun 2019 15:20:46 +0000 (16:20 +0100)]
FVP: Remove GIC initialisation from secondary core cold boot
During the secondary cores' cold boot path, the cores initialise the GIC
CPU interface. However this is a redundant action since 1) the cores are
powered down immediately after that, 2) the GIC CPU interface is
initialised from scratch when the secondary cores are powered up again
later.
Moreover, this part of code was introducing a bug. In a GICv3 system,
the GIC's CPU interface system registers must not be written without the
core being marked as "awake" in the redistributor. However, this
sequence was performing such accesses and this would cause those cores
to hang. The hang was caused by the DSB instruction that would never
complete because of the GIC not recognising those writes.
For the two aforementioned reasons, the entire part of the GIC CPU
interface initialisation is removed.
Change-Id: I6c33a1edda69dd5b6add16a27390a70731b5532a
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
John Tsichritzis [Wed, 5 Jun 2019 10:26:22 +0000 (10:26 +0000)]
Merge "Apply compile-time check for AArch64-only cores" into integration
John Tsichritzis [Wed, 5 Jun 2019 10:08:55 +0000 (10:08 +0000)]
Merge "Prevent pending G1S interrupt become G0 interrupt" into integration
James kung [Fri, 31 May 2019 07:40:05 +0000 (15:40 +0800)]
Prevent pending G1S interrupt become G0 interrupt
According to Arm GIC spec(IHI0069E, section 4.6.1),
when GICD_CTLR.DS == 0, Secure Group 1 interrupts
are treated as Group 0 by a CPU interface if:
- The PE does not implement EL3.
- ICC_SRE_EL1(S).SRE == 0
When a cpu enter suspend or deep idle, it might be
powered off. When the cpu resume, according to
the GIC spec(IHI0069E, section 9.2.15, 9.2.16 and
9.2.22) the ICC_SRE_EL1.SRE reset value is 0 (if
write is allowed) and G0/G1S/G1NS interrupt of the
GIC cpu interface are all disabled.
If a G1S SPI interrupt occurred and the target cpu
of the SPI is assigned to a specific cpu which is
in suspend and is powered off, when the cpu resume
and start to initial the GIC cpu interface, the
initial sequence might affect the interrupt group
type of the pending interrupt on the cpu interface.
Current initial sequence on the cpu interface is:
1. Enable G0 interrupt
2. Enable G1S interrupt
3. Enable ICC_SRE_EL1(S).SRE
It is possible to treat the pending G1S interrupt
as G0 interrupt on the cpu interface if the G1S
SPI interrupt occurred between step2 and step3.
To prevent the above situation happend, the initial
sequence should be changed as follows:
1. Enable ICC_SRE_EL1(S).SRE
2. Enable G0 interrupt
3. Enable G1S interrupt
Change-Id: Ie34f6e0b32eb9a1677ff72571fd4bfdb5cae25b0
Signed-off-by: James Kung <kong1191@gmail.com>
John Tsichritzis [Mon, 3 Jun 2019 12:54:30 +0000 (13:54 +0100)]
Apply compile-time check for AArch64-only cores
Some cores support only AArch64 mode. In those cores, only a limited
subset of the AArch32 system registers are implemented. Hence, if TF-A
is supposed to run on AArch64-only cores, it must be compiled with
CTX_INCLUDE_AARCH32_REGS=0.
Currently, the default settings for compiling TF-A are with the AArch32
system registers included. So, if we compile TF-A the default way and
attempt to run it on an AArch64-only core, we only get a runtime panic.
Now a compile-time check has been added to ensure that this flag has the
appropriate value when AArch64-only cores are included in the build.
Change-Id: I298ec550037fafc9347baafb056926d149197d4c
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
John Tsichritzis [Mon, 3 Jun 2019 16:24:24 +0000 (16:24 +0000)]
Merge "doc: Enable automatic labels for page titles" into integration
John Tsichritzis [Mon, 3 Jun 2019 16:21:50 +0000 (16:21 +0000)]
Merge "Add information about the mailing list in the docs" into integration
John Tsichritzis [Mon, 3 Jun 2019 09:51:22 +0000 (10:51 +0100)]
Add information about the mailing list in the docs
Change-Id: I41ce5323c33a81db13c5cc40de1ac4e221a10cd8
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
Paul Beesley [Fri, 31 May 2019 13:37:55 +0000 (13:37 +0000)]
Merge changes from topic "jts/docs" into integration
* changes:
Removing IRC related info from the documentation
Further fixes to documentation links
John Tsichritzis [Fri, 31 May 2019 13:26:48 +0000 (14:26 +0100)]
Removing IRC related info from the documentation
Change-Id: I5cf8c70a304bf5869cbeb12fa8d39171cff48ebd
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
Paul Beesley [Thu, 30 May 2019 14:41:18 +0000 (14:41 +0000)]
Merge "rockchip: drop rockchip-specific imported linker symbols for bl31" into integration
Paul Beesley [Fri, 17 May 2019 10:45:36 +0000 (11:45 +0100)]
doc: Enable automatic labels for page titles
Automatic labelling of document titles is a prerequisite for
converting the format of cross-document links. Sphinx will
generate (via the enabled extension) a hidden link target for
each document title and this can be referred to later, from
another page, to link to the target.
The plugin options being used require Sphinx >= 2.0.0 so a
requirements.txt file has been added. This file is used with
the pip package manager for Python so that the correct
dependencies are installed.
Change-Id: Ic2049db5804aa4a6447608ba4299de958ce0a87d
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
John Tsichritzis [Tue, 28 May 2019 12:13:39 +0000 (13:13 +0100)]
Further fixes to documentation links
Change-Id: Ib021c721652d96f6c06ea18741f19a72bba1d00f
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
Paul Beesley [Wed, 29 May 2019 11:29:12 +0000 (11:29 +0000)]
Merge "Cortex-A55: workarounds for errata
1221012" into integration
Heiko Stuebner [Wed, 29 May 2019 10:03:38 +0000 (12:03 +0200)]
rockchip: drop rockchip-specific imported linker symbols for bl31
In the rockchip bl31 setup the __RO_START__ and __RO_END__ symbols are
currently imported into special BL31_RO_* constants while the general
code also imports them as BL_CODE_BASE and BL_CODE_END.
So we can just use the general symbols and can drop the duplication.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Change-Id: Ibf1b48ad80bed897247a1690a32711030479262d
Paul Beesley [Wed, 29 May 2019 09:35:04 +0000 (09:35 +0000)]
Merge "Beautify "make help"" into integration
Paul Beesley [Wed, 29 May 2019 09:31:41 +0000 (09:31 +0000)]
Merge "Makefile: Add default warning flags" into integration
Ambroise Vincent [Tue, 28 May 2019 08:52:48 +0000 (09:52 +0100)]
Cortex-A55: workarounds for errata
1221012
The workaround is added to the Cortex-A55 cpu specific file. The
workaround is disabled by default and have to be explicitly enabled by
the platform integrator.
Change-Id: I3e6fd10df6444122a8ee7d08058946ff1cc912f8
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Soby Mathew [Tue, 28 May 2019 13:18:56 +0000 (13:18 +0000)]
Merge "plat: imx8m: Add the aipstz init to config peripheral access" into integration
Soby Mathew [Tue, 28 May 2019 13:18:41 +0000 (13:18 +0000)]
Merge changes from topic "for-upstream" into integration
* changes:
ti: k3: common: Set L2 latency on A72 cores
ti: k3: common: Add support for J721E
John Tsichritzis [Tue, 28 May 2019 11:53:58 +0000 (11:53 +0000)]
Merge "Fix documentation links" into integration
John Tsichritzis [Tue, 28 May 2019 11:45:06 +0000 (12:45 +0100)]
Fix documentation links
Change-Id: Ic09e74f22b43fba51ee17cd02b5e1dc5d8e0bb63
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
Paul Beesley [Fri, 24 May 2019 16:47:25 +0000 (16:47 +0000)]
Merge "Add support for Branch Target Identification" into integration
Paul Beesley [Fri, 24 May 2019 16:46:59 +0000 (16:46 +0000)]
Merge changes from topic "jts/docs" into integration
* changes:
Docs fixes
Update security documentation
Alexei Fedorov [Fri, 24 May 2019 11:17:09 +0000 (12:17 +0100)]
Add support for Branch Target Identification
This patch adds the functionality needed for platforms to provide
Branch Target Identification (BTI) extension, introduced to AArch64
in Armv8.5-A by adding BTI instruction used to mark valid targets
for indirect branches. The patch sets new GP bit [50] to the stage 1
Translation Table Block and Page entries to denote guarded EL3 code
pages which will cause processor to trap instructions in protected
pages trying to perform an indirect branch to any instruction other
than BTI.
BTI feature is selected by BRANCH_PROTECTION option which supersedes
the previous ENABLE_PAUTH used for Armv8.3-A Pointer Authentication
and is disabled by default. Enabling BTI requires compiler support
and was tested with GCC versions 9.0.0, 9.0.1 and 10.0.0.
The assembly macros and helpers are modified to accommodate the BTI
instruction.
This is an experimental feature.
Note. The previous ENABLE_PAUTH build option to enable PAuth in EL3
is now made as an internal flag and BRANCH_PROTECTION flag should be
used instead to enable Pointer Authentication.
Note. USE_LIBROM=1 option is currently not supported.
Change-Id: Ifaf4438609b16647dc79468b70cd1f47a623362e
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Ambroise Vincent [Fri, 24 May 2019 11:47:43 +0000 (12:47 +0100)]
Makefile: Add default warning flags
The flags are taken from the different warning levels of the build
system when they do not generate any error with the current upstreamed
platforms.
Change-Id: Ia70cff83bedefb6d2f0dd266394ef77fe47e7f65
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
John Tsichritzis [Fri, 24 May 2019 11:27:49 +0000 (12:27 +0100)]
Docs fixes
1) Fix links in "about" page
2) Put back the "contents" page with adjusted links
Change-Id: Id09140b91df5cf0a275149801d05d8cfeeda1c6e
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
John Tsichritzis [Tue, 21 May 2019 09:37:55 +0000 (10:37 +0100)]
Update security documentation
1) Replace references to "Arm Trusted Firmware" with "TF-A"
2) Update issue tracker link
Change-Id: I12d827d49f6cc34e46936d7f7ccf44e32b26a0bd
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
John Tsichritzis [Tue, 21 May 2019 14:47:37 +0000 (15:47 +0100)]
Introduce BTI support in ROMLIB
When TF-A is compiled with BTI enabled, the branches in the ROMLIB
jumptable must be preceded by a "bti j" instruction.
Moreover, when the additional "bti" instruction is inserted, the
jumptable entries have a distance of 8 bytes between them instead of 4.
Hence, the wrappers are also modified accordinly.
If TF-A is compiled without BTI enabled, the ROMLIB jumptable and
wrappers are generated as before.
Change-Id: Iaa59897668f8e59888d39046233300c2241d8de7
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
John Tsichritzis [Tue, 21 May 2019 14:57:31 +0000 (15:57 +0100)]
Beautify "make help"
Changes to make the help text a bit more readable:
1) The "usage" part is now a one-liner
2) The supported platforms list is printed separately
Change-Id: I93e48a6cf1d28f0ef9f3db16ce17725e4dff33c9
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
Sandrine Bailleux [Thu, 23 May 2019 13:19:09 +0000 (13:19 +0000)]
Merge "plat/meson/gxl: BL31: remove BL2 dependency" into integration
Sandrine Bailleux [Thu, 23 May 2019 13:14:00 +0000 (13:14 +0000)]
Merge changes from topic "pb/sphinx-doc" into integration
* changes:
doc: Use proper note and warning annotations
doc: Refactor contributor acknowledgements
doc: Reorganise images and update links
doc: Set correct syntax highlighting style
doc: Add minimal glossary
doc: Remove per-page contents lists
doc: Make checkpatch ignore rst files
doc: Format security advisory titles and headings
doc: Reformat platform port documents
doc: Normalise section numbering and headings
doc: Reword document titles
Sandrine Bailleux [Thu, 23 May 2019 09:09:52 +0000 (09:09 +0000)]
Merge "drivers: scmi: scmi_sq: Modify wrong payload length" into integration
Masahisa Kojima [Thu, 23 May 2019 05:41:35 +0000 (14:41 +0900)]
drivers: scmi: scmi_sq: Modify wrong payload length
Payload length of the get dram mapping information message is 0.
The mbx_mem->len parameter should be 4, it only contains
message header.
Fixes: b67d202 ("plat/synquacer: enable SCMI support")
Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Change-Id: If1cd4c855da2dc5dc4b6da3bea152b8441971de7
Andrew F. Davis [Fri, 10 May 2019 15:20:50 +0000 (11:20 -0400)]
ti: k3: common: Set L2 latency on A72 cores
The Cortex-A72 based cores on K3 platforms can be clocked fast
enough that an extra latency cycle is needed to ensure correct
L2 access. Set the latency here for all A72 cores.
Signed-off-by: Andrew F. Davis <afd@ti.com>
Change-Id: Id534316dec1c1f326908efbfd964f219cda7386a
Nishanth Menon [Fri, 22 Jun 2018 11:36:29 +0000 (06:36 -0500)]
ti: k3: common: Add support for J721E
Enable Cortex-A72 support for J721E.
Change-Id: I5bea5fb6ec45d1a9f8f2192d42da2cc03ae0f7ec
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Andrew F. Davis <afd@ti.com>
Paul Beesley [Wed, 13 Mar 2019 16:20:44 +0000 (16:20 +0000)]
doc: Use proper note and warning annotations
The documentation contains plenty of notes and warnings. Enable
special rendering of these blocks by converting the note prefix
into a .. note:: annotation.
Change-Id: I34e26ca6bf313d335672ab6c2645741900338822
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Paul Beesley [Wed, 13 Mar 2019 16:02:25 +0000 (16:02 +0000)]
doc: Refactor contributor acknowledgements
- Make the list of contributors into an actual list
- Use note syntax for the note
- Remove the Individuals heading since there are none
This file could be considered for removal as it is a legacy
document, as its note explains.
Change-Id: Idf984bc192af7a0ec367a6642ab99ccccf5df1a8
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Paul Beesley [Wed, 13 Mar 2019 15:49:27 +0000 (15:49 +0000)]
doc: Reorganise images and update links
Change-Id: I679d1499376a524bef1cfc33df995b0a719b5ac8
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Paul Beesley [Wed, 13 Mar 2019 15:11:04 +0000 (15:11 +0000)]
doc: Set correct syntax highlighting style
Several code blocks do not specify a language for syntax
highlighting. This results in Sphinx using a default highlighter
which is Python.
This patch adds the correct language to each code block that doesn't
already specify it.
Change-Id: Icce1949aabfdc11a334a42d49edf55fa673cddc3
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Paul Beesley [Wed, 13 Mar 2019 13:58:02 +0000 (13:58 +0000)]
doc: Add minimal glossary
One of the current issues with the documentation is that terms and
abbreviations are frequently redefined. For example, we might have
a sentence like "... the SCP (System Control Processor) will ...".
These definitions might be repeated several times across pages, or
even within the same document. Equally, some of these abbreviations
are missed and are never expanded.
Sphinx provides a :term: keyword that takes some text and,
if that text is defined in a glossary document, links to its glossary
entry. Using this functionality will prevent repeated definitions
and will make the docs more maintainable by using a single
definition source.
The glossary added in this patch was created from a quick scrub of
the source code - there may be missing entries. The SDEI abbreviation
was used as an example.
Note that a global_substitutions file was created. This file contains
the RST 'replace' statements that convert plain text terms into linked
terms (by adding the ':term:' keyword to them). An example is:
.. |TF-A| replace:: :term:`TF-A`
The 'rst_prolog' variable in conf.py is used to inject this list of
replacements into each page. Terms must be surrounded with the pipe
character to be turned into links - this means that we can still
prevent certain terms from being linked if we don't want them to be.
Change-Id: I87010ed9cfa4a60011a9b4a431b98cb4bb7baa28
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Paul Beesley [Thu, 7 Mar 2019 17:03:22 +0000 (17:03 +0000)]
doc: Remove per-page contents lists
These are no longer needed as there will always be a table of contents
rendered to the left of every page.
Some of these lists can be quite long and, when opening a page, the
reader sees nothing but a huge list of contents! After this patch,
the document contents are front-and-centre and the contents are
nicely rendered in the sidebar without duplication.
Change-Id: I444754d548ec91d00f2b04e861de8dde8856aa62
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Paul Beesley [Thu, 7 Mar 2019 16:42:31 +0000 (16:42 +0000)]
doc: Make checkpatch ignore rst files
Previously checkpatch was invoked with options to make it ignore
Markdown (md) files as this was the dominant format for TF-A
documents. Now that rst is being used everywhere this option needs
updating.
Change-Id: I59b5a0bcc45d2386df4f880b8d333baef0bbee77
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Paul Beesley [Thu, 7 Mar 2019 16:22:44 +0000 (16:22 +0000)]
doc: Format security advisory titles and headings
Required so that the advisory documents are all valid RST files (with a
header) and that they all integrate into the document tree.
Change-Id: I68ca2b0b9e648e24b460deb772c471a38518da26
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Paul Beesley [Wed, 22 May 2019 10:22:44 +0000 (11:22 +0100)]
doc: Reformat platform port documents
The platform port documents are not very standardised right now and
they don't integrate properly into the document tree so:
1) Make sure each port has a proper name and title (incl. owner)
2) Correct use of headings, subheadings, etc in each port
3) Resolve any naming conflicts between documents
Change-Id: I4c2da6f57172b7f2af3512e766ae9ce3b840b50f
Signed-off-by: Paul Beesley <paul.beesley@arm.com>