]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
5 years agoplat/arm/sgi: move topology information to board folder
Vijayenthiran Subramaniam [Fri, 27 Dec 2019 13:57:57 +0000 (19:27 +0530)]
plat/arm/sgi: move topology information to board folder

The platform topology description of the upcoming Arm's RD platforms
have different topology than those listed in the sgi_topology.c file. So
instead of adding platform specific topology into existing
sgi_topology.c file, those can be added to respective board files. In
order to maintain consistency with the upcoming platforms, move the
existing platform topology description to respective board files.

Change-Id: I4689c7d24cd0c75a3dc234370c34a85c08598abb
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agoMerge "xilinx: Unify Platform specific defines for PSCI module" into integration
Mark Dykes [Fri, 24 Jan 2020 17:03:17 +0000 (17:03 +0000)]
Merge "xilinx: Unify Platform specific defines for PSCI module" into integration

5 years agoxilinx: Unify Platform specific defines for PSCI module
Deepika Bhavnani [Fri, 13 Dec 2019 16:53:56 +0000 (10:53 -0600)]
xilinx: Unify Platform specific defines for PSCI module

PLATFORM_CORE_COUNT - Unsigned int
PLATFORM_CLUSTER_COUNT - Unsigned int
PLATFORM_MAX_CPUS_PER_CLUSTER - Unsigned int
PLATFORM_CORE_COUNT_PER_CLUSTER - Unsigned int

Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com>
Change-Id: I76f5535f1cbdaf3fc1235cd824111d9afe8f7e1b

5 years agoMerge "ti: Unify Platform specific defines for PSCI module" into integration
Soby Mathew [Fri, 24 Jan 2020 13:15:57 +0000 (13:15 +0000)]
Merge "ti: Unify Platform specific defines for PSCI module" into integration

5 years agoti: Unify Platform specific defines for PSCI module
Deepika Bhavnani [Fri, 13 Dec 2019 16:53:34 +0000 (10:53 -0600)]
ti: Unify Platform specific defines for PSCI module

PLATFORM_CORE_COUNT - Unsigned int
PLATFORM_CLUSTER_COUNT - Unsigned int
PLATFORM_MAX_CPUS_PER_CLUSTER - Unsigned int
PLATFORM_CORE_COUNT_PER_CLUSTER - Unsigned int

Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com>
Change-Id: Ia7072d82116b03904c1b3982f37d96347203e621

5 years agoMerge "st: Unify Platform specific defines for PSCI module" into integration
Soby Mathew [Fri, 24 Jan 2020 13:15:49 +0000 (13:15 +0000)]
Merge "st: Unify Platform specific defines for PSCI module" into integration

5 years agost: Unify Platform specific defines for PSCI module
Deepika Bhavnani [Fri, 13 Dec 2019 16:53:12 +0000 (10:53 -0600)]
st: Unify Platform specific defines for PSCI module

PLATFORM_CORE_COUNT - Unsigned int
PLATFORM_CLUSTER_COUNT - Unsigned int
PLATFORM_MAX_CPUS_PER_CLUSTER - Unsigned int
PLATFORM_CORE_COUNT_PER_CLUSTER - Unsigned int

Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com>
Change-Id: I3421336230981d4cda301fa2cef24b94b08353b1

5 years agoMerge "layerscape: Unify Platform specific defines for PSCI module" into integration
Soby Mathew [Fri, 24 Jan 2020 13:15:42 +0000 (13:15 +0000)]
Merge "layerscape: Unify Platform specific defines for PSCI module" into integration

5 years agolayerscape: Unify Platform specific defines for PSCI module
Deepika Bhavnani [Fri, 13 Dec 2019 16:52:43 +0000 (10:52 -0600)]
layerscape: Unify Platform specific defines for PSCI module

PLATFORM_CORE_COUNT - Unsigned int
PLATFORM_CLUSTER_COUNT - Unsigned int
PLATFORM_MAX_CPUS_PER_CLUSTER - Unsigned int
PLATFORM_CORE_COUNT_PER_CLUSTER - Unsigned int

Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com>
Change-Id: Ib9f97be1972405e54dc9550266f5b8a6a55b93bf

5 years agoMerge "qemu: Unify Platform specific defines for PSCI module" into integration
Soby Mathew [Fri, 24 Jan 2020 13:15:35 +0000 (13:15 +0000)]
Merge "qemu: Unify Platform specific defines for PSCI module" into integration

5 years agoqemu: Unify Platform specific defines for PSCI module
Deepika Bhavnani [Fri, 13 Dec 2019 16:52:14 +0000 (10:52 -0600)]
qemu: Unify Platform specific defines for PSCI module

PLATFORM_CORE_COUNT - Unsigned int
PLATFORM_CLUSTER_COUNT - Unsigned int
PLATFORM_MAX_CPUS_PER_CLUSTER - Unsigned int
PLATFORM_CORE_COUNT_PER_CLUSTER - Unsigned int

Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com>
Change-Id: I460b35f5a4ec47b13d4e811bb20881ce314e9259

5 years agoMerge "socionext: Unify Platform specific defines for PSCI module" into integration
Soby Mathew [Fri, 24 Jan 2020 13:15:28 +0000 (13:15 +0000)]
Merge "socionext: Unify Platform specific defines for PSCI module" into integration

5 years agosocionext: Unify Platform specific defines for PSCI module
Deepika Bhavnani [Fri, 13 Dec 2019 16:51:28 +0000 (10:51 -0600)]
socionext: Unify Platform specific defines for PSCI module

PLATFORM_CORE_COUNT - Unsigned int
PLATFORM_CLUSTER_COUNT - Unsigned int
PLATFORM_MAX_CPUS_PER_CLUSTER - Unsigned int
PLATFORM_CORE_COUNT_PER_CLUSTER - Unsigned int

Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com>
Change-Id: Iad91e99e9d13254de23eb10e5f655253f253cf0d

5 years agoMerge "mediatek: Unify Platform specific defines for PSCI module" into integration
Soby Mathew [Fri, 24 Jan 2020 13:15:21 +0000 (13:15 +0000)]
Merge "mediatek: Unify Platform specific defines for PSCI module" into integration

5 years agomediatek: Unify Platform specific defines for PSCI module
Deepika Bhavnani [Fri, 13 Dec 2019 16:50:55 +0000 (10:50 -0600)]
mediatek: Unify Platform specific defines for PSCI module

PLATFORM_CORE_COUNT - Unsigned int
PLATFORM_CLUSTER_COUNT - Unsigned int
PLATFORM_MAX_CPUS_PER_CLUSTER - Unsigned int
PLATFORM_CORE_COUNT_PER_CLUSTER - Unsigned int

Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com>
Change-Id: Iee98ded027c049d9f12d4bb5888c0496b3251b4e

5 years agoMerge "intel: Unify Platform specific defines for PSCI module" into integration
Soby Mathew [Fri, 24 Jan 2020 13:15:13 +0000 (13:15 +0000)]
Merge "intel: Unify Platform specific defines for PSCI module" into integration

5 years agointel: Unify Platform specific defines for PSCI module
Deepika Bhavnani [Fri, 13 Dec 2019 16:50:36 +0000 (10:50 -0600)]
intel: Unify Platform specific defines for PSCI module

PLATFORM_CORE_COUNT - Unsigned int
PLATFORM_CLUSTER_COUNT - Unsigned int
PLATFORM_MAX_CPUS_PER_CLUSTER - Unsigned int
PLATFORM_CORE_COUNT_PER_CLUSTER - Unsigned int

Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com>
Change-Id: Id3d3efc7e7711d19f0223da823713b8390ad2f47

5 years agoMerge "marvell: Unify Platform specific defines for PSCI module" into integration
Soby Mathew [Fri, 24 Jan 2020 13:14:57 +0000 (13:14 +0000)]
Merge "marvell: Unify Platform specific defines for PSCI module" into integration

5 years agomarvell: Unify Platform specific defines for PSCI module
Deepika Bhavnani [Fri, 13 Dec 2019 16:50:07 +0000 (10:50 -0600)]
marvell: Unify Platform specific defines for PSCI module

PLATFORM_CORE_COUNT - Unsigned int
PLATFORM_CLUSTER_COUNT - Unsigned int
PLATFORM_MAX_CPUS_PER_CLUSTER - Unsigned int
PLATFORM_CORE_COUNT_PER_CLUSTER - Unsigned int

Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com>
Change-Id: I7d660d5a9d7e44601353c77e9b6ee4096a277d76

5 years agoMerge "rockchip: Unify Platform specific defines for PSCI module" into integration
Soby Mathew [Fri, 24 Jan 2020 13:14:47 +0000 (13:14 +0000)]
Merge "rockchip: Unify Platform specific defines for PSCI module" into integration

5 years agorockchip: Unify Platform specific defines for PSCI module
Deepika Bhavnani [Fri, 13 Dec 2019 16:48:54 +0000 (10:48 -0600)]
rockchip: Unify Platform specific defines for PSCI module

PLATFORM_CORE_COUNT - Unsigned int
PLATFORM_CLUSTER_COUNT - Unsigned int
PLATFORM_MAX_CPUS_PER_CLUSTER - Unsigned int
PLATFORM_CORE_COUNT_PER_CLUSTER - Unsigned int

Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com>
Change-Id: I624c15d569db477506a74964bc828e1a932181d4

5 years agoMerge "allwinner: Unify Platform specific defines for PSCI module" into integration
Soby Mathew [Fri, 24 Jan 2020 13:14:37 +0000 (13:14 +0000)]
Merge "allwinner: Unify Platform specific defines for PSCI module" into integration

5 years agoallwinner: Unify Platform specific defines for PSCI module
Deepika Bhavnani [Fri, 13 Dec 2019 16:48:27 +0000 (10:48 -0600)]
allwinner: Unify Platform specific defines for PSCI module

PLATFORM_CORE_COUNT - Unsigned int
PLATFORM_CLUSTER_COUNT - Unsigned int
PLATFORM_MAX_CPUS_PER_CLUSTER - Unsigned int
PLATFORM_CORE_COUNT_PER_CLUSTER - Unsigned int

Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com>
Change-Id: I7aea86891e54522c88af5ff16795a575f9a9322d

5 years agoMerge "imx: Unify Platform specific defines for PSCI module" into integration
Soby Mathew [Fri, 24 Jan 2020 13:14:22 +0000 (13:14 +0000)]
Merge "imx: Unify Platform specific defines for PSCI module" into integration

5 years agoimx: Unify Platform specific defines for PSCI module
Deepika Bhavnani [Fri, 13 Dec 2019 16:47:06 +0000 (10:47 -0600)]
imx: Unify Platform specific defines for PSCI module

PLATFORM_CORE_COUNT - Unsigned int
PLATFORM_CLUSTER_COUNT - Unsigned int
PLATFORM_MAX_CPUS_PER_CLUSTER - Unsigned int
PLATFORM_CORE_COUNT_PER_CLUSTER - Unsigned int

Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com>
Change-Id: I8b19e833a4e1067e1cfcc9bfaede7854e0e63004

5 years agoMerge "hisilicon: Unify Platform specific defines for PSCI module" into integration
Soby Mathew [Fri, 24 Jan 2020 13:11:18 +0000 (13:11 +0000)]
Merge "hisilicon: Unify Platform specific defines for PSCI module" into integration

5 years agohisilicon: Unify Platform specific defines for PSCI module
Deepika Bhavnani [Fri, 13 Dec 2019 16:49:20 +0000 (10:49 -0600)]
hisilicon: Unify Platform specific defines for PSCI module

PLATFORM_CORE_COUNT - Unsigned int
PLATFORM_CLUSTER_COUNT - Unsigned int
PLATFORM_MAX_CPUS_PER_CLUSTER - Unsigned int
PLATFORM_CORE_COUNT_PER_CLUSTER - Unsigned int

Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com>
Change-Id: I327a8a2ab0f0e49bd62f413296c3b326393422b6

5 years agoMerge changes from topic "tegra-downstream-01202020" into integration
Soby Mathew [Fri, 24 Jan 2020 13:00:07 +0000 (13:00 +0000)]
Merge changes from topic "tegra-downstream-01202020" into integration

* changes:
  Tegra194: mce: remove unused NVG functions
  Tegra194: support for NVG interface v6.6
  Tegra194: smmu: add PCIE0R1 mc reg to system suspend save list
  Tegra194: enable driver for general purpose DMA engine
  Tegra194: access XUSB_PADCTL registers on Si/FPGA platforms
  Tegra194: organize the memory/mmio map to make it linear
  Tegra194: memctrl: enable mc sid OVERRIDE for PCIE0R1
  Tegra194: support for boot params wider than 32-bits
  Tegra194: memctrl: set reorder depth limit for PCIE blocks
  Tegra194: memctrl: program MC_TXN_OVERRIDE reg for PTCR, MPCORE and MIU
  Tegra194: memctrl: set CGID_TAG_ADR instead of CGID_TAG_DEFAULT
  Tegra194: memctrl: update mss reprogramming as HW PROD settings
  Tegra194: memctrl: Disable PVARDC coalescer
  Tegra194: memctrl: force seswr/rd transactions as passsthru & coherent
  Tegra194: Request CG7 from last core in cluster
  Tegra194: toggle SE clock during context save/restore
  Tegra: bpmp: fix header file paths

5 years agoMerge "xlat_tables_v2: simplify end address checks in mmap_add_region_check()" into...
Soby Mathew [Fri, 24 Jan 2020 12:53:18 +0000 (12:53 +0000)]
Merge "xlat_tables_v2: simplify end address checks in mmap_add_region_check()" into integration

5 years agoMerge "Prevent speculative execution past ERET" into integration
Soby Mathew [Fri, 24 Jan 2020 10:04:10 +0000 (10:04 +0000)]
Merge "Prevent speculative execution past ERET" into integration

5 years agoMerge "Xilinx zynqmp: add missing pin control group for ethernet 0." into integration
Manish Pandey [Fri, 24 Jan 2020 10:02:07 +0000 (10:02 +0000)]
Merge "Xilinx zynqmp: add missing pin control group for ethernet 0." into integration

5 years agoMerge changes from topic "bridge-en" into integration
Manish Pandey [Thu, 23 Jan 2020 22:19:43 +0000 (22:19 +0000)]
Merge changes from topic "bridge-en" into integration

* changes:
  intel: Add function to check fpga readiness
  intel: Add bridge control for FPGA reconfig
  intel: FPGA config_isdone() status query
  intel: System Manager refactoring
  intel: Refactor reset manager driver
  intel: Enable bridge access in Intel platform
  intel: Modify non secure access function

5 years agoMerge "xilinx: versal: PLM to ATF handover" into integration
Alexei Fedorov [Thu, 23 Jan 2020 17:16:07 +0000 (17:16 +0000)]
Merge "xilinx: versal: PLM to ATF handover" into integration

5 years agoMerge "xilinx: common: Move ATF handover to common file" into integration
Alexei Fedorov [Thu, 23 Jan 2020 17:16:02 +0000 (17:16 +0000)]
Merge "xilinx: common: Move ATF handover to common file" into integration

5 years agoTegra194: mce: remove unused NVG functions
Varun Wadekar [Mon, 14 May 2018 22:54:59 +0000 (15:54 -0700)]
Tegra194: mce: remove unused NVG functions

This patch removes unused functions from the NVG driver.

* nvg_enable_power_perf_mode
* nvg_disable_power_perf_mode
* nvg_enable_power_saver_modes
* nvg_disable_power_saver_modes
* nvg_roc_clean_cache
* nvg_roc_flush_cache

Change-Id: I0387a40dec35686deaad623a8350de89acfe9393
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra194: support for NVG interface v6.6
Varun Wadekar [Tue, 10 Apr 2018 22:49:57 +0000 (15:49 -0700)]
Tegra194: support for NVG interface v6.6

This patch updates the NVG interface header file to v6.6.

Change-Id: I2f5df274bf820ba1c5df47d8dcbf7f5f056ff45f
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra194: smmu: add PCIE0R1 mc reg to system suspend save list
Pritesh Raithatha [Thu, 19 Apr 2018 07:41:43 +0000 (13:11 +0530)]
Tegra194: smmu: add PCIE0R1 mc reg to system suspend save list

PCIE0R1 security and override registers need to be preserved across
system suspend. Adding them to system suspend save register list.
Due to addition of above registers, increasing context save memory
by 2 bytes.

Change-Id: I1b3a56aee31f3c11e3edc2fb0a6da146eec1a30d
Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
5 years agoTegra194: enable driver for general purpose DMA engine
Varun Wadekar [Tue, 3 Apr 2018 20:10:48 +0000 (13:10 -0700)]
Tegra194: enable driver for general purpose DMA engine

This patch enables the GPCDMA for all Tegra194 platforms to help
accelerate all the memory copy operations.

Change-Id: I8cbec99be6ebe4da74221245668b321ba9693479
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra194: access XUSB_PADCTL registers on Si/FPGA platforms
Varun Wadekar [Fri, 23 Mar 2018 17:44:40 +0000 (10:44 -0700)]
Tegra194: access XUSB_PADCTL registers on Si/FPGA platforms

Many simulation/emulation platforms do not support this hardware block
leading to SErrors during register accesses.

This patch conditionally accesses the registers from this block only
on actual Si and FPGA platforms.

Change-Id: Ic22817a8c9f81978ba88c5362bfd734a0040d35d
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra194: organize the memory/mmio map to make it linear
Varun Wadekar [Tue, 23 Jan 2018 22:51:40 +0000 (14:51 -0800)]
Tegra194: organize the memory/mmio map to make it linear

This patch organizes the platform memory/mmio map, so that the base
addresses for the apertures line up in ascending order. This makes
it easier for the xlat_tables_v2 library to create mappings for each
mmap_add_region call.

Change-Id: Ie1938ba043820625c9fea904009a3d2ccd29f7b3
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra194: memctrl: enable mc sid OVERRIDE for PCIE0R1
Pritesh Raithatha [Fri, 9 Mar 2018 04:45:17 +0000 (10:15 +0530)]
Tegra194: memctrl: enable mc sid OVERRIDE for PCIE0R1

PCIE0R1 does not program stream IDs, so allow the stream ID to be
overriden by the MC.

Change-Id: I4dbd71e1ce24b11e646de421ef68c762818c2667
Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
5 years agoTegra194: support for boot params wider than 32-bits
Steven Kao [Fri, 9 Feb 2018 13:35:20 +0000 (21:35 +0800)]
Tegra194: support for boot params wider than 32-bits

The previous bootloader is not able to pass boot params wider than
32-bits due to an oversight in the scratch register being used. A
new secure scratch register #75 has been assigned to pass the higher
bits.

This patch adds support to parse the higher bits from scratch #75
and use them in calculating the base address for the location of
the boot params.

Scratch #75 format
====================
31:16 - bl31_plat_params high address
15:0 - bl31_params high address

Change-Id: Id53c45f70a9cb370c776ed7c82ad3f2258576a80
Signed-off-by: Steven Kao <skao@nvidia.com>
5 years agoTegra194: memctrl: set reorder depth limit for PCIE blocks
Puneet Saxena [Wed, 7 Mar 2018 08:36:30 +0000 (14:06 +0530)]
Tegra194: memctrl: set reorder depth limit for PCIE blocks

HW bug in third party PCIE IP - PCIE datapath hangs when there are
more than 28 outstanding requests on data backbone for x1 controller.

Suggested SW WAR is to limit reorder_depth_limit to 16 for
PCIE 1W/2AW/3W clients.

Change-Id: Id5448251c35d2a93f66a8b5835ae4044f5cef067
Signed-off-by: Puneet Saxena <puneets@nvidia.com>
5 years agoTegra194: memctrl: program MC_TXN_OVERRIDE reg for PTCR, MPCORE and MIU
Pritesh Raithatha [Thu, 1 Mar 2018 12:11:36 +0000 (17:41 +0530)]
Tegra194: memctrl: program MC_TXN_OVERRIDE reg for PTCR, MPCORE and MIU

-PTCR is ISO client so setting it to FORCE_NON_COHERENT.
-MPCORER, MPCOREW and MIU0R/W to MIU7R/W clients itself will provide
ordering so no need to override from mc.
-MIU0R/W to MIU7R/W clients registers are not implemented in tegrasim
so skipping it for simulation.
-All the clients need to set CGID_TAG_ADR to maintain request ordering
within a 4K boundary.

Change-Id: Iaa3189a1f3e40fb4cef28be36bc4baeb5ac8f9ca
Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
5 years agoTegra194: memctrl: set CGID_TAG_ADR instead of CGID_TAG_DEFAULT
Pritesh Raithatha [Thu, 8 Feb 2018 10:38:58 +0000 (16:08 +0530)]
Tegra194: memctrl: set CGID_TAG_ADR instead of CGID_TAG_DEFAULT

- All SoC clients should use CGID_TAG_ADR to improve perf
- Remove tegra194_txn_override_cfgs array that is not getting used.

Change-Id: I9130ef5ae8659ed5f9d843ab9a0ecf58b5ce9c74
Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
5 years agoTegra194: memctrl: update mss reprogramming as HW PROD settings
Puneet Saxena [Fri, 5 Jan 2018 15:04:35 +0000 (07:04 -0800)]
Tegra194: memctrl: update mss reprogramming as HW PROD settings

Memory clients are divided in to ISO/NonISO/Order/Unordered/Low
BW/High BW. Based on the client types, HW team recommends, different
memory ordering settings, IO coherency settings and SMMU register settings
for optimized performance of the MC clients.

For example ordered ISO clients should be set as strongly ordered and
should bypass SCF and directly access MC hence set as
FORCE_NON_COHERENT. Like this there are multiple recommendations
for all of the MC clients.

This change sets all these MC registers as per HW spec file.

Change-Id: I8a8a0887cd86bf6fe8ac7835df6c888855738cd9
Signed-off-by: Puneet Saxena <puneets@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra194: memctrl: Disable PVARDC coalescer
Arto Merilainen [Thu, 18 Jan 2018 17:47:36 +0000 (19:47 +0200)]
Tegra194: memctrl: Disable PVARDC coalescer

Due to a hardware bug PVA may perform memory transactions which
cause coalescer faults. This change works around the issue by
disabling coalescer for PVA0RDC and PVA1RDC.

Change-Id: I27d1f6e7bc819fb303dae98079d9277fa346a1d3
Signed-off-by: Arto Merilainen <amerilainen@nvidia.com>
5 years agoTegra194: memctrl: force seswr/rd transactions as passsthru & coherent
Puneet Saxena [Tue, 2 Jan 2018 05:43:01 +0000 (11:13 +0530)]
Tegra194: memctrl: force seswr/rd transactions as passsthru & coherent

Force memory transactions from seswr and sesrd as coherent_snoop from
no-override. This is necessary as niso clients should use coherent
path.

Presently its set as FORCE_COHERENT_SNOOP. Once SE+TZ is enabled
with SMMU, this needs to be replaced by FORCE_COHERENT.

Change-Id: I8b50722de743b9028129b4715769ef93deab73b5
Signed-off-by: Puneet Saxena <puneets@nvidia.com>
5 years agoTegra194: Request CG7 from last core in cluster
Vignesh Radhakrishnan [Thu, 28 Dec 2017 05:04:49 +0000 (21:04 -0800)]
Tegra194: Request CG7 from last core in cluster

- SC7 requires all the cluster groups to be in CG7 state, else
  is_sc7_allowed will get denied
- As a WAR while requesting CC6, request CG7 as well
- CG7 request will not be honored if it is not last core in Cluster
  group
- This is just to satisfy MCE for now as CG7 is going to be defeatured

Change-Id: Ibf2f8a365a2e46bd427abd563da772b6b618350f
Signed-off-by: Vignesh Radhakrishnan <vigneshr@nvidia.com>
5 years agoTegra194: toggle SE clock during context save/restore
steven kao [Wed, 3 Jan 2018 03:09:04 +0000 (19:09 -0800)]
Tegra194: toggle SE clock during context save/restore

This patch adds support to toggle SE clock, using the bpmp_ipc
interface, to enable SE context save/restore. The SE sequence mostly
gets called during System Suspend/Resume.

Change-Id: I9cee12a9e14861d5e3c8c4f18b4d7f898b6ebfa7
Signed-off-by: steven kao <skao@nvidia.com>
5 years agoTegra: bpmp: fix header file paths
Varun Wadekar [Sat, 11 Jan 2020 00:52:23 +0000 (16:52 -0800)]
Tegra: bpmp: fix header file paths

This patch fixes the header file paths to include debug.h
from the right location.

Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Change-Id: If303792d2169158f436ae6aa5b6d7a4f88e28f7b

5 years agoMerge "Revert "Changes necessary to support SEPARATE_NOBITS_REGION feature"" into...
Mark Dykes [Thu, 23 Jan 2020 16:11:27 +0000 (16:11 +0000)]
Merge "Revert "Changes necessary to support SEPARATE_NOBITS_REGION feature"" into integration

5 years agoMerge "Revert "plat/arm: Add support for SEPARATE_NOBITS_REGION"" into integration
Mark Dykes [Thu, 23 Jan 2020 16:09:42 +0000 (16:09 +0000)]
Merge "Revert "plat/arm: Add support for SEPARATE_NOBITS_REGION"" into integration

5 years agoRevert "plat/arm: Add support for SEPARATE_NOBITS_REGION"
Mark Dykes [Wed, 22 Jan 2020 21:52:52 +0000 (21:52 +0000)]
Revert "plat/arm: Add support for SEPARATE_NOBITS_REGION"

This reverts commit d433bbdd459c222e5bf5ca87319807465b246d8c.

Change-Id: I46c69dce704a1ce1b50452dd4d62425c4a67f7f0

5 years agoMerge "Errata workarounds N1 1043202, 1315703 default off" into integration
Alexei Fedorov [Thu, 23 Jan 2020 13:36:35 +0000 (13:36 +0000)]
Merge "Errata workarounds N1 10432021315703 default off" into integration

5 years agoErrata workarounds N1 1043202, 1315703 default off
laurenw-arm [Wed, 22 Jan 2020 19:30:39 +0000 (13:30 -0600)]
Errata workarounds N1 10432021315703 default off

Setting errata workarounds for N1 1043202 and 1315703 to 0 since
they should be turned off by default.

Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
Change-Id: I116673a4ddcf64436e90d70133f035a133989ed9

5 years agoMerge "spm-mm: correcting instructions to build SPM for FVP" into integration
Manish Pandey [Thu, 23 Jan 2020 10:40:24 +0000 (10:40 +0000)]
Merge "spm-mm: correcting instructions to build SPM for FVP" into integration

5 years agospm-mm: correcting instructions to build SPM for FVP
Manish Pandey [Wed, 22 Jan 2020 16:02:57 +0000 (16:02 +0000)]
spm-mm: correcting instructions to build SPM for FVP

Out of two possible implementation of Secure Partition Manager(SPM)
currently only Management mode (MM) design is supported and the support
for SPM based on SPCI Alpha 1 prototype has been removed.

Earlier both implementation used common build flag "ENABLE_SPM" but it
has since been decoupled and MM uses a separate build FLAG "SPM_MM".

Instructions to build it for FVP was still using "ENABLE_SPM", which has
beend corrected in this patch.

Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: I505b98173d6051816436aa602ced6dbec4efc776

5 years agoxilinx: versal: PLM to ATF handover
Venkatesh Yadav Abbarapu [Thu, 23 Jan 2020 04:23:20 +0000 (21:23 -0700)]
xilinx: versal: PLM to ATF handover

Parse the parameter structure the PLM populates, to populate the
bl32 and bl33 image structures.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com>
Change-Id: I317072d1086f6cc6f90883c1b8b6d086ff57b443

5 years agoxilinx: common: Move ATF handover to common file
Venkatesh Yadav Abbarapu [Tue, 7 Jan 2020 10:25:16 +0000 (03:25 -0700)]
xilinx: common: Move ATF handover to common file

ATF handover can be used by Xilinx platforms, so move it to common
file from platform specific files.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com>
Change-Id: I5f0839351f534619de581d1953c8427a079487e0

5 years agoRevert "Changes necessary to support SEPARATE_NOBITS_REGION feature"
Mark Dykes [Wed, 22 Jan 2020 21:52:44 +0000 (21:52 +0000)]
Revert "Changes necessary to support SEPARATE_NOBITS_REGION feature"

This reverts commit 76d84cbc60ab3ee7bf40d53487f85ed7417bdcc3.

Change-Id: I867af7af3d9f5e568101f79b9ebea578e5cb2a4b

5 years agoMerge "plat/arm: Add support for SEPARATE_NOBITS_REGION" into integration
Mark Dykes [Wed, 22 Jan 2020 21:50:44 +0000 (21:50 +0000)]
Merge "plat/arm: Add support for SEPARATE_NOBITS_REGION" into integration

5 years agoMerge "Changes necessary to support SEPARATE_NOBITS_REGION feature" into integration
Mark Dykes [Wed, 22 Jan 2020 21:50:19 +0000 (21:50 +0000)]
Merge "Changes necessary to support SEPARATE_NOBITS_REGION feature" into integration

5 years agoPrevent speculative execution past ERET
Anthony Steinhauser [Tue, 7 Jan 2020 23:44:06 +0000 (15:44 -0800)]
Prevent speculative execution past ERET

Even though ERET always causes a jump to another address, aarch64 CPUs
speculatively execute following instructions as if the ERET
instruction was not a jump instruction.
The speculative execution does not cross privilege-levels (to the jump
target as one would expect), but it continues on the kernel privilege
level as if the ERET instruction did not change the control flow -
thus execution anything that is accidentally linked after the ERET
instruction. Later, the results of this speculative execution are
always architecturally discarded, however they can leak data using
microarchitectural side channels. This speculative execution is very
reliable (seems to be unconditional) and it manages to complete even
relatively performance-heavy operations (e.g. multiple dependent
fetches from uncached memory).

This was fixed in Linux, FreeBSD, OpenBSD and Optee OS:
https://github.com/torvalds/linux/commit/679db70801da9fda91d26caf13bf5b5ccc74e8e8
https://github.com/freebsd/freebsd/commit/29fb48ace4186a41c409fde52bcf4216e9e50b61
https://github.com/openbsd/src/commit/3a08873ece1cb28ace89fd65e8f3c1375cc98de2
https://github.com/OP-TEE/optee_os/commit/abfd092aa19f9c0251e3d5551e2d68a9ebcfec8a

It is demonstrated in a SafeSide example:
https://github.com/google/safeside/blob/master/demos/eret_hvc_smc_wrapper.cc
https://github.com/google/safeside/blob/master/kernel_modules/kmod_eret_hvc_smc/eret_hvc_smc_module.c

Signed-off-by: Anthony Steinhauser <asteinhauser@google.com>
Change-Id: Iead39b0b9fb4b8d8b5609daaa8be81497ba63a0f

5 years agoMerge "FDT helper functions: Fix MISRA issues" into integration
Sandrine Bailleux [Wed, 22 Jan 2020 11:57:20 +0000 (11:57 +0000)]
Merge "FDT helper functions: Fix MISRA issues" into integration

5 years agoMerge changes from topic "add-versal-soc-support" into integration
Soby Mathew [Wed, 22 Jan 2020 11:12:07 +0000 (11:12 +0000)]
Merge changes from topic "add-versal-soc-support" into integration

* changes:
  plat: xilinx: Move pm_client.h to common directory
  plat: xilinx: versal: Make silicon default build target
  xilinx: versal: Wire silicon default setup
  versal: Increase OCM memory size for DEBUG builds
  plat: xilinx: versal: Dont set IOU switch clock
  arm64: versal: Adjust cpu clock for versal virtual
  xilinx: versal: Add support for PM_GET_OPERATING_CHARACTERISTIC EEMI call
  plat: versal: Add Get_ChipID API
  plat: xilinx: versal: Add load Pdi API support
  xilinx: versal: Add feature check API
  xilinx: versal: Implement set wakeup source for client
  plat: xilinx: versal: Add GET_CALLBACK_DATA function
  xilinx: versal: Add PSCI APIs for system shutdown & reset
  xilinx: versal: Add PSCI APIs for suspend/resume
  xilinx: versal: Remove no_pmc ops to ON power domain
  xilinx: versal: Add set wakeup source API
  xilinx: versal: Add client wakeup API
  xilinx: versal: Add query data API
  xilinx: versal: Add request wakeup API
  xilinx: versal: Add PM_INIT_FINALIZE API for versal
  xilinx: versal: Add support of PM_GET_TRUSTZONE_VERSION API
  xilinx: versal: enable ipi mailbox service
  xilinx: move ipi mailbox svc to xilinx common
  plat: xilinx: versal: Implement PM IOCTL API
  xilinx: versal: Implement power down/restart related EEMI API
  xilinx: versal: Add SMC handler for EEMI API
  xilinx: versal: Implement PLL related PM APIs
  xilinx: versal: Implement clock related PM APIs
  xilinx: versal: Implement pin control related PM APIs
  xilinx: versal: Implement reset related PM APIs
  xilinx: versal: Implement device related PM APIs
  xilinx: versal: Add support for suspend related APIs
  xilinx: versal: Add get_api_version support
  xilinx: Add support to send PM API to PMC using IPI for versal
  plat: xilinx: versal: Move versal_def.h to include directory
  plat: xilinx: versal: Move versal_private.h to include directory
  plat: xilinx: zynqmp: Use GIC framework for warm restart

5 years agoXilinx zynqmp: add missing pin control group for ethernet 0.
Norbert Werner [Sun, 19 Jan 2020 13:51:01 +0000 (14:51 +0100)]
Xilinx zynqmp: add missing pin control group for ethernet 0.

Signed-off-by: Norbert Werner <opensource@lab-w.org>
Change-Id: I3264515e5901689328861964ff664ff08b6e852c

5 years agoxlat_tables_v2: simplify end address checks in mmap_add_region_check()
Masahiro Yamada [Thu, 26 Dec 2019 08:58:52 +0000 (17:58 +0900)]
xlat_tables_v2: simplify end address checks in mmap_add_region_check()

Use end_va and end_pa defined at the beginning of this function.

Change-Id: I0e8b3b35fceb87b5d35397eb892d4fe92ba90b4c
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agoMerge "Set lld as the default linker for Clang builds" into integration
Sandrine Bailleux [Wed, 22 Jan 2020 07:58:48 +0000 (07:58 +0000)]
Merge "Set lld as the default linker for Clang builds" into integration

5 years agoFDT helper functions: Fix MISRA issues
Andre Przywara [Mon, 16 Sep 2019 15:50:57 +0000 (16:50 +0100)]
FDT helper functions: Fix MISRA issues

Moving the FDT helper functions to the common/ directory exposed the file
to MISRA checking, which is mandatory for common code.

Fix the complaints that the test suite reported.

Change-Id: Ica8c8a95218bba5a3fd92a55407de24df58e8476
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agoplat/arm: Add support for SEPARATE_NOBITS_REGION
Madhukar Pappireddy [Thu, 16 Jan 2020 23:35:36 +0000 (17:35 -0600)]
plat/arm: Add support for SEPARATE_NOBITS_REGION

In order to support SEPARATE_NOBITS_REGION for Arm platforms, we need to load
BL31 PROGBITS into secure DRAM space and BL31 NOBITS into SRAM. Hence mandate
the build to require that ARM_BL31_IN_DRAM is enabled as well.

Naturally with SEPARATE_NOBITS_REGION enabled, the BL31 initialization code
cannot be reclaimed to be used for runtime data such as secondary cpu stacks.

Memory map for BL31 NOBITS region also has to be created.

Change-Id: Ibd480f82c1dc74e9cbb54eec07d7a8fecbf25433
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
5 years agoChanges necessary to support SEPARATE_NOBITS_REGION feature
Madhukar Pappireddy [Fri, 17 Jan 2020 04:21:33 +0000 (22:21 -0600)]
Changes necessary to support SEPARATE_NOBITS_REGION feature

Since BL31 PROGBITS and BL31 NOBITS sections are going to be
in non-adjacent memory regions, potentially far from each other,
some fixes are needed to support it completely.

1. adr instruction only allows computing the effective address
of a location only within 1MB range of the PC. However, adrp
instruction together with an add permits position independent
address of any location with 4GB range of PC.

2. Since BL31 _RW_END_ marks the end of BL31 image, care must be
taken that it is aligned to page size since we map this memory
region in BL31 using xlat_v2 lib utils which mandate alignment of
image size to page granularity.

Change-Id: Ic745c5a130fe4239fa2742142d083b2bdc4e8b85
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
5 years agoMerge "Replace dts includes with C preprocessor syntax" into integration
Manish Pandey [Tue, 21 Jan 2020 21:06:16 +0000 (21:06 +0000)]
Merge "Replace dts includes with C preprocessor syntax" into integration

5 years agoMerge "cert_create: Remove some unused header files inclusions" into integration
Olivier Deprez [Tue, 21 Jan 2020 15:26:21 +0000 (15:26 +0000)]
Merge "cert_create: Remove some unused header files inclusions" into integration

5 years agoMerge "allwinner: Clean up MMU setup" into integration
Manish Pandey [Tue, 21 Jan 2020 10:08:29 +0000 (10:08 +0000)]
Merge "allwinner: Clean up MMU setup" into integration

5 years agoMerge changes Ib1ed9786,I6c4855c8 into integration
Sandrine Bailleux [Tue, 21 Jan 2020 09:06:47 +0000 (09:06 +0000)]
Merge changes Ib1ed9786,I6c4855c8 into integration

* changes:
  plat: imx: Correct the SGIs that used for secure interrupt
  plat: imx8mm: Add the support for opteed spd on imx8mq/imx8mm

5 years agoMerge "docs: Add upcoming Change Log to Table of Contents" into integration
Sandrine Bailleux [Tue, 21 Jan 2020 08:01:16 +0000 (08:01 +0000)]
Merge "docs: Add upcoming Change Log to Table of Contents" into integration

5 years agoMerge changes from topic "tegra-downstream-01082020" into integration
Manish Pandey [Mon, 20 Jan 2020 23:05:41 +0000 (23:05 +0000)]
Merge changes from topic "tegra-downstream-01082020" into integration

* changes:
  Tegra194: platform handler for entering CPU standby state
  Tegra194: memctrl: force viw and vifalr/w transactions as non-coherent
  Tegra194: memctrl: fix bug in client order id reg value generation
  Tegra194: memctrl: enable mc coalescer
  Tegra194: update scratch registers used to read boot parameters
  Tegra194: implement system shutdown/reset handlers
  Tegra194: mce: support for shutdown and reboot
  Tegra194: request CG7 before checking if SC7 is allowed
  Tegra194: config to enable/disable strict checking mode
  Tegra194: remove unused platform configs
  Tegra194: restore XUSB stream IDs on System Resume

5 years agoallwinner: Clean up MMU setup
Samuel Holland [Sun, 27 Oct 2019 22:30:15 +0000 (17:30 -0500)]
allwinner: Clean up MMU setup

Remove the general BL31 mmap region: it duplicates the existing static
mapping for the entire SRAM region. Use the helper definitions when
applicable to simplify the code and add the MT_EXECUTE_NEVER flag.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Change-Id: I7a6b79e50e4b5c698774229530dd3d2a89e94a6d

5 years agoMerge "plat: xilinx: zynqmp: Add checksum support for IPI data" into integration
Manish Pandey [Mon, 20 Jan 2020 22:25:54 +0000 (22:25 +0000)]
Merge "plat: xilinx: zynqmp: Add checksum support for IPI data" into integration

5 years agoMerge "zynqmp: pm_service: Add support to query max divisor" into integration
Manish Pandey [Mon, 20 Jan 2020 22:24:13 +0000 (22:24 +0000)]
Merge "zynqmp: pm_service: Add support to query max divisor" into integration

5 years agoMerge "rpi3/4: Add support for offlining CPUs" into integration
Manish Pandey [Mon, 20 Jan 2020 22:16:43 +0000 (22:16 +0000)]
Merge "rpi3/4: Add support for offlining CPUs" into integration

5 years agoMerge changes from topic "ld/mtd_framework" into integration
Soby Mathew [Mon, 20 Jan 2020 10:52:15 +0000 (10:52 +0000)]
Merge changes from topic "ld/mtd_framework" into integration

* changes:
  doc: stm32mp1: Update build command line
  fdts: stm32mp1: remove second QSPI flash instance
  stm32mp1: Add support for SPI-NOR boot device
  stm32mp1: Add support for SPI-NAND boot device
  spi: stm32_qspi: Add QSPI support
  fdts: stm32mp1: update for FMC2 pin muxing
  stm32mp1: Add support for raw NAND boot device
  fmc: stm32_fmc2_nand: Add FMC2 driver support
  stm32mp1: Reduce MAX_XLAT_TABLES to 4
  io: stm32image: fix device_size type
  stm32mp: add DT helper for reg by name
  stm32mp1: add compilation flags for boot devices
  lib: utils_def: add CLAMP macro
  compiler_rt: Import popcountdi2.c and popcountsi2.c files
  Add SPI-NOR framework
  Add SPI-NAND framework
  Add SPI-MEM framework
  Add raw NAND framework

5 years agodoc: stm32mp1: Update build command line
Lionel Debieve [Thu, 17 Oct 2019 13:12:13 +0000 (15:12 +0200)]
doc: stm32mp1: Update build command line

Add new flags for storage support that must be used in the build
command line. Add the complete build steps for an OP-TEE configuration.

Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Change-Id: I0c682f6eb0aab83aa929f4ba734d3151c264aeed

5 years agofdts: stm32mp1: remove second QSPI flash instance
Lionel Debieve [Wed, 25 Sep 2019 07:09:57 +0000 (09:09 +0200)]
fdts: stm32mp1: remove second QSPI flash instance

Remove second flash node as only one must be used
by QSPI NOR driver.

Change-Id: I48189f2fdf4e0455aabe7d4cd9b2f3d36bb9cfb5
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
5 years agostm32mp1: Add support for SPI-NOR boot device
Lionel Debieve [Wed, 25 Sep 2019 07:11:31 +0000 (09:11 +0200)]
stm32mp1: Add support for SPI-NOR boot device

STM32MP1 platform is able to boot from SPI-NOR devices.
These modifications add this support using the new
SPI-NOR framework.

Change-Id: I75ff9eba4661f9fb87ce24ced2bacbf8558ebe44
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
5 years agostm32mp1: Add support for SPI-NAND boot device
Lionel Debieve [Tue, 24 Sep 2019 16:30:12 +0000 (18:30 +0200)]
stm32mp1: Add support for SPI-NAND boot device

STM32MP1 platform is able to boot from SPI-NAND devices.
These modifications add this support using the new
SPI-NAND framework.

Change-Id: I0d5448bdc4bde153c1209e8043846c0f935ae5ba
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
5 years agospi: stm32_qspi: Add QSPI support
Lionel Debieve [Tue, 24 Sep 2019 15:44:28 +0000 (17:44 +0200)]
spi: stm32_qspi: Add QSPI support

Add QSPI support (limited to read interface).
Implements the memory map and indirect modes.
Low level driver based on SPI-MEM operations.

Change-Id: Ied698e6de3c17d977f8b497c81f2e4a0a27c0961
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Signed-off-by: Christophe Kerello <christophe.kerello@st.com>
5 years agofdts: stm32mp1: update for FMC2 pin muxing
Lionel Debieve [Tue, 24 Sep 2019 15:49:12 +0000 (17:49 +0200)]
fdts: stm32mp1: update for FMC2 pin muxing

Include the required FMC2 pinmux definition for the
NAND management.

Change-Id: I80333deacdf3444b2f21f17f2fb5919e569a3591
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
5 years agostm32mp1: Add support for raw NAND boot device
Lionel Debieve [Mon, 4 Nov 2019 11:28:15 +0000 (12:28 +0100)]
stm32mp1: Add support for raw NAND boot device

STM32MP1 platform is able to boot from raw NAND devices.
These modifications add this support using the new
raw NAND framework.

Change-Id: I9e9c2b03930f98a5ac23f2b6b41945bef43e5043
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
5 years agofmc: stm32_fmc2_nand: Add FMC2 driver support
Lionel Debieve [Tue, 24 Sep 2019 15:39:49 +0000 (17:39 +0200)]
fmc: stm32_fmc2_nand: Add FMC2 driver support

Add fmc2_nand driver support. The driver implements
only read interface for NAND devices.

Change-Id: I3cd037e8ff645ce0d217092b96f33ef41cb7a522
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Signed-off-by: Christophe Kerello <christophe.kerello@st.com>
5 years agostm32mp1: Reduce MAX_XLAT_TABLES to 4
Nicolas Le Bayon [Fri, 27 Sep 2019 09:05:31 +0000 (11:05 +0200)]
stm32mp1: Reduce MAX_XLAT_TABLES to 4

For STM32MP1, the address space is 4GB, which can be first divided
in 4 parts of 1GB. This LVL1 table is already mapped regardless
of MAX_XLAT_TABLES.
Fixing typo: Replace Ko to KB.

BL2/sp_min for platform STM32MP1 requires 4 MMU translation tables:
  - a level2 table and a level3 table for identity mapped SYSRAM
  - a level2 table mapping 2MB of BootROM runtime resources
  - a level2 table mapping 2MB of secure DDR (case BL32 is OP-TEE)

Change-Id: If80cbd4fccc7689b39dd540d6649b1313557f326
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
5 years agoio: stm32image: fix device_size type
Lionel Debieve [Tue, 24 Sep 2019 15:46:37 +0000 (17:46 +0200)]
io: stm32image: fix device_size type

Device size could be more than 4GB, we must
define size as unsigned long long.

Change-Id: I52055cf5c1c15ff18ab9e157aa9b73c8b4fb7b63
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
5 years agostm32mp: add DT helper for reg by name
Lionel Debieve [Tue, 24 Sep 2019 15:41:11 +0000 (17:41 +0200)]
stm32mp: add DT helper for reg by name

Add a new entry to find register properties by name and
include new assert functions to limit address cells to 1
and size cells to 1.

Change-Id: Ide59a795a05fb2af36bd07fec15e5a3adf196226
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
5 years agostm32mp1: add compilation flags for boot devices
Nicolas Le Bayon [Tue, 3 Sep 2019 07:52:05 +0000 (09:52 +0200)]
stm32mp1: add compilation flags for boot devices

Adds compilation flags to specify which drivers will be
embedded in the generated firmware.

Change-Id: Ie9decc89c3f26cf17e7148a3a4cf337fd35940f7
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com>
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
5 years agolib: utils_def: add CLAMP macro
Lionel Debieve [Thu, 2 Jan 2020 10:14:16 +0000 (11:14 +0100)]
lib: utils_def: add CLAMP macro

Add the standard CLAMP macro.  It ensures that
x is between the limits set by low and high.
If low is greater than high the result is undefined.

Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Change-Id: Ia173bb9ca51bc8d9a8ec573bbc15636a94f881f4

5 years agocompiler_rt: Import popcountdi2.c and popcountsi2.c files
Lionel Debieve [Wed, 2 Oct 2019 07:52:11 +0000 (09:52 +0200)]
compiler_rt: Import popcountdi2.c and popcountsi2.c files

Imported from the LLVM compiler_rt library on master branch as of
30 Oct 2018 (SVN revision: r345645).

This is to get the __popcountsi2(si_int a) and __popcountdi2(di_int a)
builtin which are required by a driver that uses a __builtin_popcount().

Change-Id: I8e0d97cebdd90d224690c8ce1b02e657acdddb25
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
5 years agoAdd SPI-NOR framework
Lionel Debieve [Tue, 24 Sep 2019 15:39:14 +0000 (17:39 +0200)]
Add SPI-NOR framework

SPI-NOR framework is based on SPI-MEM framework using
spi_mem_op execution interface.

It implements read functions and allows NOR configuration
up to quad mode.
Default management is 1 data line but it can be overridden
by platform.
It also includes specific quad mode configuration for
Spansion, Micron and Macronix memories.

Change-Id: If49502b899b4a75f6ebc3190f6bde1013651197f
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Signed-off-by: Christophe Kerello <christophe.kerello@st.com>
5 years agoAdd SPI-NAND framework
Lionel Debieve [Wed, 25 Sep 2019 13:03:59 +0000 (15:03 +0200)]
Add SPI-NAND framework

This framework supports SPI-NAND and is based on the
SPI-MEM framework for SPI operations. It uses a common high
level access using the io_mtd.

It is limited to the read functionalities.

Default behavior is the basic one data line operation
but it could be overridden by platform.

Change-Id: Icb4e0887c4003a826f47c876479dd004a323a32b
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Signed-off-by: Christophe Kerello <christophe.kerello@st.com>
5 years agoAdd SPI-MEM framework
Lionel Debieve [Tue, 24 Sep 2019 15:38:12 +0000 (17:38 +0200)]
Add SPI-MEM framework

This framework supports SPI operations using a common
spi_mem_op structure:
 - command
 - addr
 - dummy
 - data

The framework manages SPI bus configuration:
 - speed
 - bus width (Up to quad mode)
 - chip select

Change-Id: Idc2736c59bfc5ac6e55429eba5d385275ea3fbde
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Signed-off-by: Christophe Kerello <christophe.kerello@st.com>