Soby Mathew [Tue, 10 Sep 2019 14:32:59 +0000 (14:32 +0000)]
Merge changes from topic "yg/stm32mp1_wdg_updates" into integration
* changes:
mmc: stm32_sdmmc2: correctly manage block size
mmc: stm32_sdmmc2: manage max-frequency property from DT
stm32mp1: move check_header() to common code
stm32mp1: keep console during runtime
stm32mp1: sp_min: initialize MMU and cache earlier
stm32mp1: add support for LpDDR3
stm32mp1: use a common function to check spinlock is available
clk: stm32mp: enable RTCAPB clock for dual-core chips
stm32mp1: check if the SoC is single core
stm32mp1: print information about board
stm32mp1: print information about SoC
stm32mp1: add watchdog support
Sandrine Bailleux [Thu, 5 Sep 2019 09:11:31 +0000 (09:11 +0000)]
Merge "intel: stratix10: Fix reliance on hard coded clock information" into integration
Alexei Fedorov [Tue, 3 Sep 2019 11:00:06 +0000 (11:00 +0000)]
Merge "uniphier: set CONSOLE_FLAG_TRANSLATE_CRLF and clean up console driver" into integration
Masahiro Yamada [Tue, 23 Jul 2019 03:53:41 +0000 (12:53 +0900)]
uniphier: set CONSOLE_FLAG_TRANSLATE_CRLF and clean up console driver
This console driver sends '\r' before 'n', not after.
It works, but the convention is "\r\n" (i.e. CRLF)
Instead of fixing it in the driver, set CONSOLE_FLAG_TRANSLATE_CRLF
to leave it to the framework.
Change-Id: I2154e29313739a40dff70cfb5c0f8989136d4ad2
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Yann Gautier [Tue, 11 Jun 2019 18:03:07 +0000 (20:03 +0200)]
mmc: stm32_sdmmc2: correctly manage block size
DBLOCKSIZE should be filled such as the data size is 2^DBLOCKSIZE.
Hence it is calculated with __builtin_ctz.
Change-Id: Id6b5ff9b594afc4fc523a388011beed307e6abd1
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Yann Gautier [Tue, 28 May 2019 09:54:50 +0000 (11:54 +0200)]
mmc: stm32_sdmmc2: manage max-frequency property from DT
If the max-frequency property is provided in the device tree mmc node,
it should be managed. The max allowed frequency will be the min between
this property value and what the card can support.
Change-Id: I885b676c3300d2670a0fe4c6ecab87758b5893ad
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Yann Gautier [Fri, 19 Apr 2019 08:48:36 +0000 (10:48 +0200)]
stm32mp1: move check_header() to common code
This function can be used on several stm32mp devices, it is then moved in
plat/st/common/stm32mp_common.c.
Change-Id: I862debe39604410f71a9ddc28713026362e9ecda
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Yann Gautier [Wed, 24 Apr 2019 14:14:22 +0000 (16:14 +0200)]
stm32mp1: keep console during runtime
The runtime console is only kept in DEBUG configuration.
Change-Id: I0447dfcacb9a63a12bcdab7c55584d70c3220e5b
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Yann Gautier [Thu, 11 Jul 2019 08:45:09 +0000 (10:45 +0200)]
stm32mp1: sp_min: initialize MMU and cache earlier
This change enhances performance and security in BL32 stage.
Change-Id: I64df5995fc6b04f6cf42d6a00a6d3d0f602b5407
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Yann Gautier [Tue, 16 Apr 2019 14:20:58 +0000 (16:20 +0200)]
stm32mp1: add support for LpDDR3
This change enables LpDDR3 initialization with PMIC.
Change-Id: I2409a808335dfacd69a8517cb8510cee98bb8161
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Yann Gautier [Wed, 22 May 2019 17:13:51 +0000 (19:13 +0200)]
stm32mp1: use a common function to check spinlock is available
To use spinlocks, MMU should be enabled, as well as data cache.
A common function is created (moved from clock file).
It is then used whenever a spinlock has to be taken, in BSEC and clock
drivers.
Change-Id: I94baed0114a2061ad71bd5287a91bf7f1c6821f6
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Yann Gautier [Mon, 20 May 2019 12:39:26 +0000 (14:39 +0200)]
clk: stm32mp: enable RTCAPB clock for dual-core chips
In order to correctly manage the bring-up of non boot CPUs, the RTCAPB
clock needs to be enabled.
It controls the access to backup registers, where the CPU entrypoint
will be stored.
Change-Id: Ifeeceb4faf64bc9e0778030444f437cc0bb27272
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com>
Yann Gautier [Tue, 4 Jun 2019 16:23:10 +0000 (18:23 +0200)]
stm32mp1: check if the SoC is single core
Among the variants of STM32MP, the STM32MP151 is a single Cortex-A7 chip.
A function is added to check the part number of the SoC.
If it corresponds to STM32MP151A or STM32MP151C, then the chip has a single
Cortex-A7.
Change-Id: Icac2015c5d03ce0bcb8e99bbaf1ec8ada34be49c
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com>
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Yann Gautier [Mon, 13 May 2019 16:34:48 +0000 (18:34 +0200)]
stm32mp1: print information about board
On STMicroelectronics boards, the board information is stored in OTP.
This OTP is described in device tree, in BSEC board_id node.
Change-Id: Ieccbdcb048343680faac8dc577b75c67ac106f5b
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Yann Gautier [Tue, 4 Jun 2019 16:02:37 +0000 (18:02 +0200)]
stm32mp1: print information about SoC
This information is located in DBGMCU registers.
Change-Id: I480aa046fed9992e3d9665b1f0520bc4b6cfdf30
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Yann Gautier [Tue, 4 Jun 2019 16:06:34 +0000 (18:06 +0200)]
stm32mp1: add watchdog support
Introduce driver for STM32 IWDG peripheral (Independent Watchdog).
It is configured according to device tree content and should be enabled
from there.
The watchdog is not started by default. It can be started after an HW
reset if the dedicated OTP is fused.
The watchdog also needs to be frozen if a debugger is attached.
This is done by configuring the correct bits in DBGMCU.
This configuration is allowed by checking BSEC properties.
An increase of BL2 size is also required when adding this new code.
Change-Id: Ide7535d717885ce2f9c387cf17afd8b5607f3e7f
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com>
Paul Beesley [Mon, 2 Sep 2019 10:22:38 +0000 (10:22 +0000)]
Merge "Added SPCI to the glossary" into integration
Paul Beesley [Thu, 29 Aug 2019 16:05:28 +0000 (16:05 +0000)]
Merge "Move assembly newline function into common debug code" into integration
Artsem Artsemenka [Thu, 29 Aug 2019 12:47:53 +0000 (13:47 +0100)]
Added SPCI to the glossary
Change-Id: I576ae161477f4a69336d15a7741e566bb103124a
Signed-off-by: Artsem Artsemenka <artsem.artsemenka@arm.com>
Justin Chadwell [Tue, 20 Aug 2019 09:58:49 +0000 (10:58 +0100)]
Move assembly newline function into common debug code
Printing a newline is a relatively common functionality for code to want
to do. Therefore, this patch now moves this function into a common part
of the code that anyone can use.
Change-Id: I2cad699fde00ef8d2aabf8bf35742ddd88d090ba
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
Paul Beesley [Wed, 28 Aug 2019 13:05:51 +0000 (13:05 +0000)]
Merge "intel: agilex: Clear PLL lostlock bypass mode" into integration
Sandrine Bailleux [Tue, 27 Aug 2019 22:50:42 +0000 (22:50 +0000)]
Merge "tegra: add support for multi console interface" into integration
Paul Beesley [Fri, 23 Aug 2019 11:26:57 +0000 (11:26 +0000)]
Merge "AArch64: Disable Secure Cycle Counter" into integration
Alexei Fedorov [Tue, 13 Aug 2019 14:17:53 +0000 (15:17 +0100)]
AArch64: Disable Secure Cycle Counter
This patch fixes an issue when secure world timing information
can be leaked because Secure Cycle Counter is not disabled.
For ARMv8.5 the counter gets disabled by setting MDCR_El3.SCCD
bit on CPU cold/warm boot.
For the earlier architectures PMCR_EL0 register is saved/restored
on secure world entry/exit from/to Non-secure state, and cycle
counting gets disabled by setting PMCR_EL0.DP bit.
'include\aarch64\arch.h' header file was tided up and new
ARMv8.5-PMU related definitions were added.
Change-Id: I6f56db6bc77504634a352388990ad925a69ebbfa
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Paul Beesley [Tue, 20 Aug 2019 14:47:56 +0000 (14:47 +0000)]
Merge "plat/arm: Introduce corstone700 platform." into integration
Paul Beesley [Tue, 20 Aug 2019 14:14:03 +0000 (14:14 +0000)]
Merge "rcar_gen3: plat: Rename RCAR_PRODUCT_* to PRR_PRODUCT_*" into integration
Manish Pandey [Wed, 28 Nov 2018 11:20:37 +0000 (11:20 +0000)]
plat/arm: Introduce corstone700 platform.
This patch adds support for Corstone-700 foundation IP, which integrates
both Cortex-M0+ and Cortex-A(Host) processors in one handy, flexible
subsystem.
This is an example implementation of Corstone-700 IP host firmware.
Cortex-M0+ will take care of boot stages 1 and 2(BL1/BL2) as well as
bringing Host out RESET. Host will start execution directly from BL32 and
then will jump to Linux.
It is an initial port and additional features are expected to be added
later.
Change-Id: I7b5c0278243d574284b777b2408375d007a7736e
Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Paul Beesley [Tue, 20 Aug 2019 14:12:40 +0000 (14:12 +0000)]
Merge "rcar_gen3: plat: Factor out PRR_ macros into rcar_def.h" into integration
Paul Beesley [Tue, 20 Aug 2019 09:38:32 +0000 (09:38 +0000)]
Merge "intel: agilex: HMC driver calculate DDR size" into integration
Paul Beesley [Tue, 20 Aug 2019 09:37:37 +0000 (09:37 +0000)]
Merge "console: add a flag to prepend '\r' in the multi-console framework" into integration
Alexei Fedorov [Tue, 20 Aug 2019 09:31:16 +0000 (09:31 +0000)]
Merge "Fix for N1
1043202 Errata Workaround" into integration
Paul Beesley [Tue, 20 Aug 2019 09:25:00 +0000 (09:25 +0000)]
Merge "Coverity fix: Remove GGC ignore -Warray-bounds" into integration
laurenw-arm [Mon, 19 Aug 2019 16:06:18 +0000 (11:06 -0500)]
Fix for N1
1043202 Errata Workaround
ISB instruction was removed from the N1
1043202 Errata Workaround [1], this
fix is adding the ISB instruction back in.
[1] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.pjdoc-
466751330-10325/index.html
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
Change-Id: I74eac7f6ad38991c36d423ad6aa44558033ad388
Hadi Asyrafi [Fri, 16 Aug 2019 09:07:42 +0000 (17:07 +0800)]
intel: agilex: HMC driver calculate DDR size
Driver will calculate DDR size instead of using hardcoded value
Signed-off-by: Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Change-Id: I642cf2180929965ef12bd5ae4393b2f3d0dcddde
Masahiro Yamada [Tue, 23 Jul 2019 03:32:58 +0000 (12:32 +0900)]
console: add a flag to prepend '\r' in the multi-console framework
Currently, console drivers prepend '\r' to '\n' by themselves. This is
common enough to be supported in the framework.
Add a new flag, CONSOLE_FLAG_TRANSLATE_CRLF. A driver can set this
flag to ask the framework to transform LF into CRLF instead of doing
it by itself.
Change-Id: I4f5c5887591bc0a8749a105abe62b6562eaf503b
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Hadi Asyrafi [Fri, 16 Aug 2019 03:08:14 +0000 (11:08 +0800)]
intel: agilex: Clear PLL lostlock bypass mode
To provide glitchless clock to downstream logic even if clock toggles
Signed-off-by: Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Change-Id: I728d64d0ba3b4492125bea5b0737fc83180356f1
Deepika Bhavnani [Wed, 14 Aug 2019 21:56:46 +0000 (00:56 +0300)]
Coverity fix: Remove GGC ignore -Warray-bounds
GCC diagnostics were added to ignore array boundaries, instead
of ignoring GCC warning current code will check for array boundaries
and perform and array update only for valid elements.
Resolves: `CID 246574` `CID 246710` `CID 246651`
Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com>
Change-Id: I7530ecf7a1707351c6ee87e90cc3d33574088f57
Paul Beesley [Fri, 16 Aug 2019 14:48:32 +0000 (14:48 +0000)]
Merge "FVP: Add Delay Timer driver to BL1 and BL31" into integration
Paul Beesley [Fri, 16 Aug 2019 13:44:26 +0000 (13:44 +0000)]
Merge "Reduce the number of memory leaks in cert_create" into integration
Alexei Fedorov [Fri, 16 Aug 2019 13:15:59 +0000 (14:15 +0100)]
FVP: Add Delay Timer driver to BL1 and BL31
SMMUv3 driver functions which are called from BL1 and BL31
currently use counter-based poll method for testing status
bits. Adding Delay Timer driver to BL1 and BL31 is required
for timeout-based implementation using timer delay functions
for SMMU and other drivers.
This patch adds new function `fvp_timer_init()` which
initialises either System level generic or SP804 timer based on
FVP_USE_SP804_TIMER build flag.
In BL2U `bl2u_early_platform_setup()` function the call to
`arm_bl2u_early_platform_setup()` (which calls
`generic_delay_timer_init()` ignoring FVP_USE_SP804_TIMER flag),
is replaced with `arm_console_boot_init()` and `fvp_timer_init()`.
Change-Id: Ifd8dcebf4019e877b9bc5641551deef77a44c0d1
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Marek Vasut [Tue, 6 Aug 2019 17:13:22 +0000 (19:13 +0200)]
rcar_gen3: plat: Rename RCAR_PRODUCT_* to PRR_PRODUCT_*
Rename RCAR_PRODUCT_* to PRR_PRODUCT_* and drop the duplicate
RCAR_PRODUCT_* macro.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I6b2789790b85edb79c026f0860d70f323d113d96
Marek Vasut [Tue, 6 Aug 2019 16:58:38 +0000 (18:58 +0200)]
rcar_gen3: plat: Factor out PRR_ macros into rcar_def.h
Pull out the PRR_* macros into rcar_def.h and remove multiple copies of
it. Now that there are still RCAR_* macros in rcar_def.h too and they
have the exact same meaning as the PRR_* macros, but that's for another
patch.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: Icb7f61b971b1a23102bd1b9f58cda580660a55fc
Justin Chadwell [Mon, 12 Aug 2019 11:19:21 +0000 (12:19 +0100)]
Reduce the number of memory leaks in cert_create
The valgrind checks for cert_create have not been run in a long while -
as such there are a few memory leaks present. This patch fixes a few of
the major ones reported by valgrind. However, a few do remain.
Change-Id: Iab002fb2b0090043287d43fb54a4d18928c2ed85
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
Paul Beesley [Fri, 16 Aug 2019 12:41:45 +0000 (12:41 +0000)]
Merge "FVP_Base_AEMv8A platform: Fix cache maintenance operations" into integration
Alexei Fedorov [Mon, 29 Jul 2019 16:22:53 +0000 (17:22 +0100)]
FVP_Base_AEMv8A platform: Fix cache maintenance operations
This patch fixes FVP_Base_AEMv8A model hang issue with
ARMv8.4+ with cache modelling enabled configuration.
Incorrect L1 cache flush operation to PoU, using CLIDR_EL1
LoUIS field, which is required by the architecture to be
zero for ARMv8.4-A with ARMv8.4-S2FWB feature is replaced
with L1 to L2 and L2 to L3 (if L3 is present) cache flushes.
FVP_Base_AEMv8A model can be configured with L3 enabled by
setting `cluster0.l3cache-size` and `cluster1.l3cache-size`
to non-zero values, and presence of L3 is checked in
`aem_generic_core_pwr_dwn` function by reading
CLIDR_EL1.Ctype3 field value.
Change-Id: If3de3d4eb5ed409e5b4ccdbc2fe6d5a01894a9af
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Paul Beesley [Fri, 16 Aug 2019 10:24:53 +0000 (10:24 +0000)]
Merge changes from topic "lm/juno_dyn_cfg" into integration
* changes:
Juno: Use shared mbedtls heap between bl1 and bl2
Juno: add basic support for dynamic config
Ambroise Vincent [Wed, 29 May 2019 13:04:16 +0000 (14:04 +0100)]
tegra: add support for multi console interface
This patch updates all Tegra platforms to use the new multi console API.
Change-Id: I27c0c7830a86e26491dea9991a689f0b01e4dbf0
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Signed-off-by: Julius Werner <jwerner@chromium.org>
Paul Beesley [Thu, 15 Aug 2019 15:30:51 +0000 (15:30 +0000)]
Merge "intel: agilex: Fix memory controller driver" into integration
Paul Beesley [Thu, 15 Aug 2019 15:30:13 +0000 (15:30 +0000)]
Merge changes from topic "rockchip-uart-fixes" into integration
* changes:
rockchip: rk3399: store actual debug uart information on suspend
rockchip: move dt-coreboot uart distinction into param handling code
rockchip: make uart baudrate configurable
rockchip: px30: add uart5 as option for serial output
Paul Beesley [Thu, 15 Aug 2019 15:18:25 +0000 (15:18 +0000)]
Merge "AArch64: Align crash reporting output" into integration
Alexei Fedorov [Mon, 29 Jul 2019 12:34:07 +0000 (13:34 +0100)]
AArch64: Align crash reporting output
This patch modifies crash reporting for AArch64 to provide
aligned output of register dump and GIC registers.
Change-Id: I8743bf1d2d6d56086e735df43785ef28051c5fc3
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Hadi Asyrafi [Thu, 8 Aug 2019 10:52:31 +0000 (18:52 +0800)]
intel: agilex: Fix memory controller driver
Increase calibration delay, fix ddrio control config & nonsecure region
limit
Signed-off-by: Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Change-Id: Ibca3c247a3ad5104176ca9057d29755599f13c9b
Paul Beesley [Wed, 14 Aug 2019 12:37:43 +0000 (12:37 +0000)]
Merge "intel: agilex: Fix reliance on hard coded clock information" into integration
Hadi Asyrafi [Wed, 14 Aug 2019 05:49:00 +0000 (13:49 +0800)]
intel: agilex: Fix reliance on hard coded clock information
Extract clock information for UART, MMC & Watchdog from the clock manager
Signed-off-by: Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Change-Id: I42d3d4ceeaf45788d457472f6ddcd3fe099f0133
Paul Beesley [Tue, 13 Aug 2019 11:20:25 +0000 (11:20 +0000)]
Merge changes from topic "jc/coverity-fixes" into integration
* changes:
Fix Coverity #261967, Infinite loop
Fix Coverity #343017, Missing unlock
Fix Coverity #343008, Side affect in assertion
Fix Coverity #342970, Uninitialized scalar variable
Louis Mayencourt [Wed, 31 Jul 2019 14:03:44 +0000 (15:03 +0100)]
Juno: Use shared mbedtls heap between bl1 and bl2
Change-Id: Ia1ecad58ebf9de3f3a44b17ad1de57424b431125
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
Louis Mayencourt [Mon, 29 Jul 2019 09:40:17 +0000 (10:40 +0100)]
Juno: add basic support for dynamic config
Add the disable_auth dynamic parameter, that allows to disable the
authentication when TBBR is enabled. This parameter is for development
only.
Change-Id: Ic24ad16738517f7e07c4f506dcf69a1ae8df7d2d
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
Hadi Asyrafi [Tue, 30 Jul 2019 14:18:17 +0000 (22:18 +0800)]
intel: stratix10: Fix reliance on hard coded clock information
Extract clock information for UART, MMC & Watchdog from the platform
rather than hard code it
Signed-off-by: Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Change-Id: I2582bd34a6da97bd75d5ccba5f93840e65f26b03
Alexei Fedorov [Mon, 12 Aug 2019 08:50:51 +0000 (08:50 +0000)]
Merge "spd: opteed: enable NS_TIMER_SWITCH" into integration
Heiko Stuebner [Mon, 5 Aug 2019 14:44:36 +0000 (16:44 +0200)]
rockchip: rk3399: store actual debug uart information on suspend
The rk3399 suspend code saves and restores the debug uart settings, but
right now always does this for the default uart. Right now this works
only by chance for the majority of rk3399 boards, which do not deviate
from that default.
But both Coreboot as well as U-Boot-based platforms can actually use
different uarts for their output, which can be configured from either
devicetree or Coreboot-variables.
To fix this, just use the stored uart-base information instead of the
default constant.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Change-Id: I1ea059d59a1126f6f8702315df7e620e632b686e
Heiko Stuebner [Mon, 5 Aug 2019 14:40:35 +0000 (16:40 +0200)]
rockchip: move dt-coreboot uart distinction into param handling code
Rockchip platforms can be booted from either u-boot or coreboot.
So far the Coreboot-console was initizalized from a coreboot data struct
in the early_param2 callbacks and dt-based consoles with data from the
rockchip_get_uart_* functions.
But later code may also need this console information for example for
special suspend handling. To make this easy follow a suggestion from
Julius Werner and move the coreboot<->dt distinction into the
rockchip_get_uart_* functions, thus making correct data about the used
uart available to all Rockchip platform code at all times.
This includes a new rockchip_get_uart_clock as well, because while the
dt-platforms right now always just default the rate defined in a constant
Coreboot provides its own field for the clock rate and we don't want to
loose that information for the console init. Similarly the rk_uart_*
variables should move into the non-Coreboot code, to prevent them from
being marked as unused, which also requires the rk_get_uart_* functions
to move below the actual dt-parsing.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Change-Id: I278d595d2aa6c6864187fc8979a9fbff9814feac
Sandrine Bailleux [Wed, 7 Aug 2019 14:20:01 +0000 (14:20 +0000)]
Merge changes from topic "intel-plat-refactor" into integration
* changes:
intel: Platform common code refactor
intel: Platform common code refactor
Hadi Asyrafi [Thu, 1 Aug 2019 06:48:39 +0000 (14:48 +0800)]
intel: Platform common code refactor
Pull out common code from aarch64 and include
Signed-off-by: Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Change-Id: I4d0f5e1bb01bcdacbedf8e6c359de594239b645f
Sandrine Bailleux [Tue, 6 Aug 2019 14:54:35 +0000 (14:54 +0000)]
Merge changes from topic "qemu_sbsa" into integration
* changes:
plat/qemu: add gicv3 support for qemu
plat/qemu: move gicv2 codes to separate file
Justin Chadwell [Tue, 23 Jul 2019 13:56:48 +0000 (14:56 +0100)]
Fix Coverity #261967, Infinite loop
Coverity has identified that the __aeabi_imod function will loop forever
if the denominator is not a power of 2, which is probably not the
desired behaviour.
The functions in the rest of the file are compiler implementations of
division if ARMv7 does not implement division which is permitted by the
spec. However, while most of the functions in the file are documented
and referenced in other places online, __aeabi_uimod and __aeabi_imod
are not. For this reason, these functions have been removed from the
code base, which also removes the Coverity error.
Change-Id: I20066d72365329a8b03a5536d865c4acaa2139ae
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
Justin Chadwell [Tue, 23 Jul 2019 08:54:07 +0000 (09:54 +0100)]
Fix Coverity #343017, Missing unlock
All other returns from this function unlock the responses_lock, so we
also should release the lock in this case.
Change-Id: Ie2cfa8755723fed79e809f9480190d11f373a217
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
Justin Chadwell [Tue, 23 Jul 2019 08:48:38 +0000 (09:48 +0100)]
Fix Coverity #343008, Side affect in assertion
This patch simply splits off the increment of next_xlat into a separate
statement to ensure consistent behaviour if the assert was to ever be
removed.
Change-Id: I827f601ccea55f4da9442048419c9b8cc0c5d22e
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
Justin Chadwell [Tue, 23 Jul 2019 08:45:18 +0000 (09:45 +0100)]
Fix Coverity #342970, Uninitialized scalar variable
This ensures that probe_data starts with a reasonable default, as
opposed to whatever was left on the stack.
Change-Id: I5550efea5e2bec7717f9fa063cb11e6a7005cce5
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
Sandrine Bailleux [Tue, 6 Aug 2019 11:04:10 +0000 (11:04 +0000)]
Merge "meson: gxl: Fix CPU hotplug" into integration
Heiko Stuebner [Mon, 5 Aug 2019 12:46:00 +0000 (14:46 +0200)]
rockchip: make uart baudrate configurable
A previous patch already allowed to configure the uart output from the
devicetree, but on Rockchip platforms we also have the issue of different
vendors using different baudrates for their uarts.
For example, rk3399 has a default baudrate of 115200 which is true for
ChromeOS-devices and boards from Theobroma-Systems, while all the boards
using the vendor boot chain actually use a baudrate of
1500000.
Similarly the newly added px30 has a default of said
1500000 but some
boards may want to use the more widely used 115200.
The devicetree stdout-path node already contains the desired baudrate,
so add simple code to parse it from there and override the default,
which stays unchanged.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Change-Id: I7412139c3df3073a1996eb508ec08642ec6af90d
Sumit Garg [Mon, 5 Aug 2019 09:04:48 +0000 (14:34 +0530)]
spd: opteed: enable NS_TIMER_SWITCH
Enable dispatcher to save/restore unbanked timer registers. So that
both secure (OP-TEE) and non-secure (Linux) worlds can have independent
access control over timer registers.
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Change-Id: I4d58d5ff8298587ed478c8433fcbc3aef538d668
Heiko Stuebner [Mon, 5 Aug 2019 07:45:09 +0000 (09:45 +0200)]
rockchip: px30: add uart5 as option for serial output
The px30 mini-evb can use either uart2 (muxed with the sd-card pins) or
uart5 via its pin header for serial output. Uart5 is especially useful
when needing to boot from the sd-card, where uart2 obviously is not
useable.
So add the uart5 constants and it as uart option for the serial-param
handler.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Change-Id: Ib88df7a55d761ee104d312c9953a13de3beba1c4
Alexei Fedorov [Fri, 2 Aug 2019 12:50:31 +0000 (12:50 +0000)]
Merge "intel: stratix10: Fix BL31 memory mapping" into integration
Alexei Fedorov [Fri, 2 Aug 2019 12:50:04 +0000 (12:50 +0000)]
Merge "meson: gxl: Fix reset and power off" into integration
Hadi Asyrafi [Thu, 1 Aug 2019 03:29:48 +0000 (11:29 +0800)]
intel: stratix10: Fix BL31 memory mapping
Previous config blocks ATF runtime service communications with SDM mailbox
Signed-off-by: Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Change-Id: Ia857facd0bd0790056df94ed1e016bcf619a161e
Remi Pommarel [Tue, 30 Jul 2019 16:04:38 +0000 (18:04 +0200)]
meson: gxl: Fix CPU hotplug
The CPU[1-3] are reset to initial/cold boot state (with their reset
address set to 0x0). In this state the cpus are waiting for another
one to set the reset address to bl31_warm_entrypoint and wake them up.
The CPU0 needs a bit of a workaround as changing the reset address
either through PSCI mailbox or the mmio mapped RVBAR (at 0xda834650)
does not seem to have any effect. Thus the workaround consists in
emulating the other CPUs' behavior with a WFE loop and manually jumping
to bl31_warm_entrypoint when woken back up by another one.
Change-Id: I11265620b5fd0619285e3993253a3f9a3ff6a7a4
Signed-off-by: Remi Pommarel <repk@triplefau.lt>
Remi Pommarel [Thu, 4 Apr 2019 21:12:56 +0000 (23:12 +0200)]
meson: gxl: Fix reset and power off
Before CPU enters standby state (wfi), the AP needs to signal the SCP
through PSCI mailbox.
Also at boot time the AP has to wait for the SCP to be ready before
sending the first scpi commands or it can crash.
Change-Id: Iacc99f5bec745ad71922c5ea07ca5b87088133b6
Signed-off-by: Remi Pommarel <repk@triplefau.lt>
Alexei Fedorov [Fri, 2 Aug 2019 10:21:53 +0000 (10:21 +0000)]
Merge "Switch AARCH32/AARCH64 to __aarch64__" into integration
Alexei Fedorov [Fri, 2 Aug 2019 08:57:02 +0000 (08:57 +0000)]
Merge "Replace __ASSEMBLY__ with compiler-builtin __ASSEMBLER__" into integration
Julius Werner [Tue, 9 Jul 2019 21:02:43 +0000 (14:02 -0700)]
Switch AARCH32/AARCH64 to __aarch64__
NOTE: AARCH32/AARCH64 macros are now deprecated in favor of __aarch64__.
All common C compilers pre-define the same macros to signal which
architecture the code is being compiled for: __arm__ for AArch32 (or
earlier versions) and __aarch64__ for AArch64. There's no need for TF-A
to define its own custom macros for this. In order to unify code with
the export headers (which use __aarch64__ to avoid another dependency),
let's deprecate the AARCH32 and AARCH64 macros and switch the code base
over to the pre-defined standard macro. (Since it is somewhat
unintuitive that __arm__ only means AArch32, let's standardize on only
using __aarch64__.)
Change-Id: Ic77de4b052297d77f38fc95f95f65a8ee70cf200
Signed-off-by: Julius Werner <jwerner@chromium.org>
Julius Werner [Tue, 9 Jul 2019 20:49:11 +0000 (13:49 -0700)]
Replace __ASSEMBLY__ with compiler-builtin __ASSEMBLER__
NOTE: __ASSEMBLY__ macro is now deprecated in favor of __ASSEMBLER__.
All common C compilers predefine a macro called __ASSEMBLER__ when
preprocessing a .S file. There is no reason for TF-A to define it's own
__ASSEMBLY__ macro for this purpose instead. To unify code with the
export headers (which use __ASSEMBLER__ to avoid one extra dependency),
let's deprecate __ASSEMBLY__ and switch the code base over to the
predefined standard.
Change-Id: Id7d0ec8cf330195da80499c68562b65cb5ab7417
Signed-off-by: Julius Werner <jwerner@chromium.org>
Alexei Fedorov [Thu, 1 Aug 2019 10:41:59 +0000 (10:41 +0000)]
Merge "doc: Suggest to use the latest version 8.3 of GCC" into integration
Louis Mayencourt [Mon, 15 Jul 2019 09:23:58 +0000 (10:23 +0100)]
doc: Suggest to use the latest version 8.3 of GCC
At the time of writting, GCC 8.3-2019.03 is the latest version available
on developer.arm.com.
Switch to bare-metal toolchain (arm-eabi-) for AArch32. This allows to
have a finer control on the use of floating-point and SIMD instructions.
Change-Id: I4438401405eae1e5f6d531b0162e8fa06f69135e
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
Hadi Asyrafi [Thu, 1 Aug 2019 07:21:20 +0000 (15:21 +0800)]
intel: Platform common code refactor
Pull out common code from agilex and stratix10
Signed-off-by: Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Change-Id: Iddc0a9e6eccb30823d7b15615d5ce9c6bedb2abc
Alexei Fedorov [Wed, 31 Jul 2019 16:21:46 +0000 (16:21 +0000)]
Merge "intel: agilex: Fix BL31 memory mapping" into integration
Alexei Fedorov [Wed, 31 Jul 2019 16:15:44 +0000 (16:15 +0000)]
Merge "Enable AMU for Cortex-Hercules" into integration
Balint Dobszay [Mon, 15 Jul 2019 09:46:20 +0000 (11:46 +0200)]
Enable AMU for Cortex-Hercules
Change-Id: Ie0a94783d0c8e111ae19fd592304e6485f04ca29
Signed-off-by: Balint Dobszay <balint.dobszay@arm.com>
Alexei Fedorov [Wed, 31 Jul 2019 14:28:26 +0000 (14:28 +0000)]
Merge "uniphier: fix typo and coding style" into integration
Alexei Fedorov [Wed, 31 Jul 2019 14:28:21 +0000 (14:28 +0000)]
Merge "uniphier: replace DIV_ROUND_UP() with div_round_up() from utils_def.h" into integration
Alexei Fedorov [Wed, 31 Jul 2019 14:16:45 +0000 (14:16 +0000)]
Merge "rockchip: px30: Use new bl31_params_parse functions" into integration
Masahiro Yamada [Fri, 26 Jul 2019 11:04:28 +0000 (20:04 +0900)]
uniphier: fix typo and coding style
Fix the typo "warn" -> "warm".
Also fix the following checkpatch.pl warnings:
CHECK: Prefer using the BIT macro
CHECK: No space is necessary after a cast
CHECK: Alignment should match open parenthesis
CHECK: Unnecessary parentheses around uniphier_io_policies[image_id].dev_handle
Change-Id: Ic11eea2668c4bf2d1e8f089e6338ba7b7156d80b
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Masahiro Yamada [Fri, 26 Jul 2019 11:07:08 +0000 (20:07 +0900)]
uniphier: replace DIV_ROUND_UP() with div_round_up() from utils_def.h
Use the helper in utils_def.h instead of the own macro.
Change-Id: I527f9e75914d60f66354e365006b960ba5e8cbae
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Hadi Asyrafi [Tue, 30 Jul 2019 02:56:38 +0000 (10:56 +0800)]
intel: agilex: Fix BL31 memory mapping
Previous config blocks ATF runtime service communications with SDM mailbox
Signed-off-by: Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Change-Id: Ic97aa381d3ceb96395595ec192132859d626b8d1
Ambroise Vincent [Mon, 29 Jul 2019 13:52:20 +0000 (14:52 +0100)]
rockchip: px30: Use new bl31_params_parse functions
This change is needed for the platform to compile following the changes
made in commits
cbdc72b559ab and
3e02c7436cf4.
Change-Id: I3468dd27f3b4f3095fb82f445d51cd8714311eb7
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Soby Mathew [Fri, 26 Jul 2019 17:06:14 +0000 (17:06 +0000)]
Merge "sgm775: Fix build fail for TSP support on sgm775" into integration
Hongbo Zhang [Thu, 19 Apr 2018 06:42:23 +0000 (14:42 +0800)]
plat/qemu: add gicv3 support for qemu
This patch adds gicv3 support for qemu, in order not to break any legacy
use case, gicv2 is still set by default, gicv3 can be selected by
compiling parameter QEMU_USE_GIC_DRIVER=QEMU_GICV3.
Signed-off-by: Hongbo Zhang <hongbo.zhang@linaro.org>
Reviewed-by: Radoslaw Biernacki <radoslaw.biernacki@linaro.org>
Tested-by: Radoslaw Biernacki <radoslaw.biernacki@linaro.org>
Change-Id: Ic63f38abf16ed3c36aa60e80d50103cf05cf797b
Hongbo Zhang [Thu, 19 Apr 2018 05:06:07 +0000 (13:06 +0800)]
plat/qemu: move gicv2 codes to separate file
This file moves gicv2 codes to a new separate files, target is to add
gicv3 support later.
Signed-off-by: Hongbo Zhang <hongbo.zhang@linaro.org>
Reviewed-by: Radoslaw Biernacki <radoslaw.biernacki@linaro.org>
Tested-by: Radoslaw Biernacki <radoslaw.biernacki@linaro.org>
Change-Id: I30eb1fda5ea5c2b35d79360c52f46601cbca1bcc
Soby Mathew [Fri, 26 Jul 2019 10:26:37 +0000 (10:26 +0000)]
Merge "rockchip: px30: Fix build error" into integration
Soby Mathew [Fri, 26 Jul 2019 09:26:14 +0000 (09:26 +0000)]
Merge changes from topic "advk-serror" into integration
* changes:
marvell/a3700: Prevent SError accessing PCIe link while it is down
marvell: Switch to xlat_tables_v2
Soby Mathew [Fri, 26 Jul 2019 09:25:54 +0000 (09:25 +0000)]
Merge changes from topic "jun-add-imx7-pico" into integration
* changes:
plat: imx7: Add PicoPi iMX7D basic support
plat: imx7: refactor code for reuse