]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
5 years agoMerge changes from topic "stm32-scmi" into integration
Manish Pandey [Wed, 22 Jul 2020 12:15:02 +0000 (12:15 +0000)]
Merge changes from topic "stm32-scmi" into integration

* changes:
  stm32mp1: SCMI clock and reset service in SP_MIN
  dts: bindings: stm32mp1: define SCMI clock and reset domain IDs

5 years agoMerge "FVP Doc: Update list of supported FVP platforms" into integration
Manish Pandey [Tue, 21 Jul 2020 22:07:11 +0000 (22:07 +0000)]
Merge "FVP Doc: Update list of supported FVP platforms" into integration

5 years agoMerge changes I0826ef8b,I9b4659a1 into integration
Manish Pandey [Tue, 21 Jul 2020 21:49:09 +0000 (21:49 +0000)]
Merge changes I0826ef8b,I9b4659a1 into integration

* changes:
  plat: marvell: armada: a8k: Add support for iEi Puzzle-M801 board
  plat: marvell: armada: a8k: common: Fix a8k_common.mk to use BOARD_DIR variable

5 years agoMerge "io_fip: return -ENFILE when a file is already open" into integration
Manish Pandey [Tue, 21 Jul 2020 21:41:51 +0000 (21:41 +0000)]
Merge "io_fip: return -ENFILE when a file is already open" into integration

5 years agoMerge "gicv3: Do power management on Arm GIC-Clayton as well" into integration
Manish Pandey [Tue, 21 Jul 2020 21:34:52 +0000 (21:34 +0000)]
Merge "gicv3: Do power management on Arm GIC-Clayton as well" into integration

5 years agoMerge "Add myself and Jack Bond-Preston as code owners for the CMake build definition...
Madhukar Pappireddy [Tue, 21 Jul 2020 16:00:23 +0000 (16:00 +0000)]
Merge "Add myself and Jack Bond-Preston as code owners for the CMake build definitions" into integration

5 years agoMerge "Add myself and Alexei Fedorov as Measured Boot code owners" into integration
Madhukar Pappireddy [Tue, 21 Jul 2020 15:54:36 +0000 (15:54 +0000)]
Merge "Add myself and Alexei Fedorov as Measured Boot code owners" into integration

5 years agoAdd myself and Jack Bond-Preston as code owners for the CMake build
Javier Almansa Sobrino [Fri, 10 Jul 2020 10:00:03 +0000 (11:00 +0100)]
Add myself and Jack Bond-Preston as code owners for the CMake build
definitions

Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com>
Change-Id: I1c5cc8af34c02a6294ffc44a26152fb8984927fc

5 years agoAdd myself and Alexei Fedorov as Measured Boot code owners
Javier Almansa Sobrino [Mon, 20 Jul 2020 12:17:45 +0000 (13:17 +0100)]
Add myself and Alexei Fedorov as Measured Boot code owners

Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com>
Change-Id: Ib327bda239bb5163c60764bae90b0739589dcf66

5 years agoMerge changes from topic "rddaniel_rotpk" into integration
Manish Pandey [Tue, 21 Jul 2020 14:45:39 +0000 (14:45 +0000)]
Merge changes from topic "rddaniel_rotpk" into integration

* changes:
  plat/arm/rddanielxlr: add platform function to return ROTPK
  plat/arm/rddaniel: add platform function to return ROTPK

5 years agoMerge "TF-A GICv2 driver: Introduce makefile" into integration
joanna.farley [Tue, 21 Jul 2020 14:35:00 +0000 (14:35 +0000)]
Merge "TF-A GICv2 driver: Introduce makefile" into integration

5 years agoplat/arm/rddanielxlr: add platform function to return ROTPK
Vijayenthiran Subramaniam [Tue, 14 Jul 2020 10:21:37 +0000 (15:51 +0530)]
plat/arm/rddanielxlr: add platform function to return ROTPK

TBBR authentication framework depends on the plat_get_rotpk_info()
function to return the pointer to the Root of Trust Public Key (ROTPK)
stored in the platform along with its length. Add this function for
RD-Daniel Config-XLR platform to support Trusted Board Boot. The
function makes use of the wrapper function provided by the arm common
trusted board boot function to get the ROTPK hash.

Change-Id: I509e2f7e88cc2167e1732a971d71dc131d3d4b01
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agoplat/arm/rddaniel: add platform function to return ROTPK
Vijayenthiran Subramaniam [Tue, 14 Jul 2020 09:52:14 +0000 (15:22 +0530)]
plat/arm/rddaniel: add platform function to return ROTPK

TBBR authentication framework depends on the plat_get_rotpk_info()
function to return the pointer to the Root of Trust Public Key (ROTPK)
stored in the platform along with its length. Add this function for
RD-Daniel platform to support Trusted Board Boot. The function makes use
of the wrapper function provided by the arm common trusted board boot
function to get the ROTPK hash.

Change-Id: I6c2826a7898664afea19fd62432684cfddd9319a
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agogicv3: Do power management on Arm GIC-Clayton as well
Andre Przywara [Fri, 26 Jun 2020 09:30:33 +0000 (10:30 +0100)]
gicv3: Do power management on Arm GIC-Clayton as well

The Arm GIC-Clayton IP has the same power management requirements as
the GIC-600, when it comes to powering up the redistributors before
using them.

Add the IIDR value to the existing list of implementations requiring
the power sequence.

Change-Id: Ib965dfe278c40a4fff94f65a8d445c27a2ae6fd2
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agoFVP Doc: Update list of supported FVP platforms
Alexei Fedorov [Mon, 20 Jul 2020 12:26:49 +0000 (13:26 +0100)]
FVP Doc: Update list of supported FVP platforms

This patch adds the following models
 FVP_Base_Neoverse-E1x1
 FVP_Base_Neoverse-E1x2
 FVP_Base_Neoverse-E1x4
to the list of supported FVP platforms.

Change-Id: Ib526a2a735f17724af3a874b06bf69b4ca85d0dd
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
5 years agoTF-A GICv2 driver: Introduce makefile
Alexei Fedorov [Tue, 14 Jul 2020 09:47:25 +0000 (10:47 +0100)]
TF-A GICv2 driver: Introduce makefile

This patch moves all GICv2 driver files into new added
'gicv2.mk' makefile for the benefit of the generic driver
which can evolve in the future without affecting platforms.

NOTE: Usage of 'drivers/arm/gic/common/gic_common.c' file
is now deprecated and platforms with GICv2 driver need to
be modified to include 'drivers/arm/gic/v2/gicv2.mk' in
their makefiles.

Change-Id: Ib10e71bdda0e5c7e80a049ddce2de1dd839602d1
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
5 years agoMerge "TF-A: Redefine true/false definitions" into integration
Madhukar Pappireddy [Mon, 20 Jul 2020 16:03:36 +0000 (16:03 +0000)]
Merge "TF-A: Redefine true/false definitions" into integration

5 years agoMerge "rpi4/fdt: Move dtb_size() function to fdt_wrappers.h" into integration
Madhukar Pappireddy [Fri, 17 Jul 2020 16:56:09 +0000 (16:56 +0000)]
Merge "rpi4/fdt: Move dtb_size() function to fdt_wrappers.h" into integration

5 years agoMerge changes from topic "brcm_rng_driver" into integration
Madhukar Pappireddy [Fri, 17 Jul 2020 15:31:26 +0000 (15:31 +0000)]
Merge changes from topic "brcm_rng_driver" into integration

* changes:
  driver: brcm: add RNG driver
  plat/brcm: Define RNG base address

5 years agorpi4/fdt: Move dtb_size() function to fdt_wrappers.h
Andre Przywara [Thu, 9 Jul 2020 11:33:17 +0000 (12:33 +0100)]
rpi4/fdt: Move dtb_size() function to fdt_wrappers.h

Getting the actual size of a DTB blob is useful beyond the Raspberry Pi
port, so let's move this helper to a common header.

Change-Id: Ia5be46e9353ca859a1e5ad9e3c057a322dfe22e2
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agoMerge changes from topic "imx8mp_basic_support" into integration
Manish Pandey [Thu, 16 Jul 2020 23:21:50 +0000 (23:21 +0000)]
Merge changes from topic "imx8mp_basic_support" into integration

* changes:
  plat: imx8mp: Add the basic support for i.MX8MP
  plat: imx8m: Move the gpc hw reg to a separate header file

5 years agoMerge "uniphier: increase BL33 max size and GZIP temporary buffer size" into integration
Manish Pandey [Thu, 16 Jul 2020 22:44:12 +0000 (22:44 +0000)]
Merge "uniphier: increase BL33 max size and GZIP temporary buffer size" into integration

5 years agoMerge "IO Driver Misra Cleanup" into integration
Manish Pandey [Thu, 16 Jul 2020 22:43:12 +0000 (22:43 +0000)]
Merge "IO Driver Misra Cleanup" into integration

5 years agoIO Driver Misra Cleanup
johpow01 [Wed, 1 Jul 2020 22:09:57 +0000 (17:09 -0500)]
IO Driver Misra Cleanup

This patch cleans up MISRA C violations in the IO driver files.  Some
things did not make sense to fix or would require sweeping changes
but the simple issues have been resolved.

Defects Fixed

File                        Line Rule
drivers/io/io_fip.c         39   MISRA C-2012 Rule 5.6 (required)
drivers/io/io_fip.c         52   MISRA C-2012 Rule 8.9 (advisory)
drivers/io/io_fip.c         60   MISRA C-2012 Rule 5.9 (advisory)
drivers/io/io_fip.c         285  MISRA C-2012 Rule 8.9 (advisory)
drivers/io/io_fip.c         336  MISRA C-2012 Rule 15.4 (advisory)
drivers/io/io_fip.c         340  MISRA C-2012 Rule 15.4 (advisory)
drivers/io/io_fip.c         342  MISRA C-2012 Rule 15.4 (advisory)
drivers/io/io_memmap.c      30   MISRA C-2012 Rule 5.6 (required)
drivers/io/io_memmap.c      32   MISRA C-2012 Rule 5.9 (advisory)
drivers/io/io_memmap.c      85   MISRA C-2012 Rule 11.8 (required)
drivers/io/io_semihosting.c 66   MISRA C-2012 Rule 11.8 (required)
drivers/io/io_storage.c     73   MISRA C-2012 Rule 5.9 (advisory)
drivers/io/io_storage.c     116  MISRA C-2012 Rule 13.4 (advisory)

Signed-off-by: John Powell <john.powell@arm.com>
Change-Id: Id9b1b2b684588d4eaab674ed4ed04f3950dd21f4

5 years agostm32mp1: SCMI clock and reset service in SP_MIN
Etienne Carriere [Thu, 16 Jul 2020 15:36:18 +0000 (17:36 +0200)]
stm32mp1: SCMI clock and reset service in SP_MIN

This change implements platform services for stm32mp1 to expose clock
and reset controllers over SCMI clock and reset domain protocols
in sp_min firmware.

Requests execution use a fastcall SMC context using a SiP function ID.
The setup allows the create SCMI channels by assigning a specific
SiP SMC function ID for each channel/agent identifier defined. In this
change, stm32mp1 exposes a single channel and hence expects single
agent at a time.

The input payload in copied in secure memory before the message
in passed through the SCMI server drivers. BL32/sp_min is invoked
for a single SCMI message processing and always returns with a
synchronous response message passed back to the caller agent.

This change fixes and updates STM32_COMMON_SIP_NUM_CALLS that was
previously wrongly set 4 whereas only 1 SiP SMC function ID was to
be counted. STM32_COMMON_SIP_NUM_CALLS is now set to 3 since the
2 added SiP SMC function IDs for SCMI services.

Change-Id: Icb428775856b9aec00538172aea4cf11e609b033
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
5 years agodts: bindings: stm32mp1: define SCMI clock and reset domain IDs
Etienne Carriere [Sun, 8 Dec 2019 07:12:52 +0000 (08:12 +0100)]
dts: bindings: stm32mp1: define SCMI clock and reset domain IDs

Define the platform SCMI clocks and reset domains for stm32mp1 family.
SCMI agent 0 accesses clock/reset controllers under RCC TZEN hardening.
SCMI agent 1 accesses clock controllers under RCC MCKPROT hardening.

Change-Id: I52e906f846d445a3e6850e5f2e1584da14692553
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
5 years agoMerge "drivers/stm32_hash: register resources as secure or not" into integration
Madhukar Pappireddy [Thu, 16 Jul 2020 14:40:29 +0000 (14:40 +0000)]
Merge "drivers/stm32_hash: register resources as secure or not" into integration

5 years agoMerge "drivers/stm32_gpio: register GPIO resources as secure or not" into integration
Madhukar Pappireddy [Thu, 16 Jul 2020 14:40:23 +0000 (14:40 +0000)]
Merge "drivers/stm32_gpio: register GPIO resources as secure or not" into integration

5 years agoMerge "drivers/stm32_iwdg: register IWDG resources as secure or not" into integration
Madhukar Pappireddy [Thu, 16 Jul 2020 14:40:18 +0000 (14:40 +0000)]
Merge "drivers/stm32_iwdg: register IWDG resources as secure or not" into integration

5 years agoMerge "drivers/stm32mp_pmic: register PMIC resources as secure or not" into integration
Madhukar Pappireddy [Thu, 16 Jul 2020 14:40:13 +0000 (14:40 +0000)]
Merge "drivers/stm32mp_pmic: register PMIC resources as secure or not" into integration

5 years agoMerge "stm32mp1: register shared resource per GPIO bank/pin" into integration
Madhukar Pappireddy [Thu, 16 Jul 2020 14:40:07 +0000 (14:40 +0000)]
Merge "stm32mp1: register shared resource per GPIO bank/pin" into integration

5 years agoMerge "stm32mp1: register shared resource per IOMEM address" into integration
Madhukar Pappireddy [Thu, 16 Jul 2020 14:39:13 +0000 (14:39 +0000)]
Merge "stm32mp1: register shared resource per IOMEM address" into integration

5 years agoMerge "stm32mp1: allow non-secure access to reset upon periph registration" into...
Madhukar Pappireddy [Thu, 16 Jul 2020 14:39:03 +0000 (14:39 +0000)]
Merge "stm32mp1: allow non-secure access to reset upon periph registration" into integration

5 years agoMerge "stm32mp1: allow non-secure access to clocks upon periph registration" into...
Madhukar Pappireddy [Thu, 16 Jul 2020 14:38:58 +0000 (14:38 +0000)]
Merge "stm32mp1: allow non-secure access to clocks upon periph registration" into integration

5 years agoMerge "stm32mp1: shared resources: peripheral registering" into integration
Madhukar Pappireddy [Thu, 16 Jul 2020 14:38:52 +0000 (14:38 +0000)]
Merge "stm32mp1: shared resources: peripheral registering" into integration

5 years agoMerge "drivers: st: clock: register parent of secure clocks" into integration
Madhukar Pappireddy [Thu, 16 Jul 2020 14:38:46 +0000 (14:38 +0000)]
Merge "drivers: st: clock: register parent of secure clocks" into integration

5 years agoMerge "stm32mp1: shared resources: add trace messages" into integration
Madhukar Pappireddy [Thu, 16 Jul 2020 14:38:41 +0000 (14:38 +0000)]
Merge "stm32mp1: shared resources: add trace messages" into integration

5 years agoMerge "fiptool: return zero status on help and help <command>" into integration
joanna.farley [Thu, 16 Jul 2020 14:02:16 +0000 (14:02 +0000)]
Merge "fiptool: return zero status on help and help <command>" into integration

5 years agoMerge changes from topic "fpga_cmdline" into integration
André Przywara [Wed, 15 Jul 2020 22:07:00 +0000 (22:07 +0000)]
Merge changes from topic "fpga_cmdline" into integration

* changes:
  arm_fpga: Predefine DTB and BL33 load addresses
  arm_fpga: Add Klein and Matterhorn support
  arm_fpga: Support more CPU clusters

5 years agoTF-A: Redefine true/false definitions
Alexei Fedorov [Tue, 14 Jul 2020 11:26:19 +0000 (12:26 +0100)]
TF-A: Redefine true/false definitions

This patch redefines 'true' and 'false' definitions in
'include/lib/libc/stdbool.h' to fix defect reported by
MISRA C-2012 Rule 10.1
"The expression \"0\" of non-boolean essential type is
being interpreted as a boolean value for the operator \"? :\"."

Change-Id: Ie1b16e5826e5427cc272bd753e15d4d283e1ee4c
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
5 years agoMerge "io_storage: remove redundant assigments" into integration
Manish Pandey [Tue, 14 Jul 2020 14:11:14 +0000 (14:11 +0000)]
Merge "io_storage: remove redundant assigments" into integration

5 years agoMerge "SPMD: fix boundary check if manifest is page aligned" into integration
Manish Pandey [Tue, 14 Jul 2020 10:23:56 +0000 (10:23 +0000)]
Merge "SPMD: fix boundary check if manifest is page aligned" into integration

5 years agoSPMD: fix boundary check if manifest is page aligned
Manish Pandey [Wed, 8 Jul 2020 23:39:16 +0000 (00:39 +0100)]
SPMD: fix boundary check if manifest is page aligned

while mapping SPMC manifest page in the SPMD translation regime the
mapped size was resolved to zero if SPMC manifest base address is PAGE
aligned, causing SPMD to abort.

To fix the problem change mapped size to PAGE_SIZE if manifest base is
PAGE aligned.

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

5 years agoMerge "Add myself and Andre Przywara as code owners for the Arm FPGA platform port...
Madhukar Pappireddy [Mon, 13 Jul 2020 17:11:42 +0000 (17:11 +0000)]
Merge "Add myself and Andre Przywara as code owners for the Arm FPGA platform port" into integration

5 years agoMerge "plat/arm: Fix build failure due to increase in BL2 size" into integration
Madhukar Pappireddy [Mon, 13 Jul 2020 14:38:40 +0000 (14:38 +0000)]
Merge "plat/arm: Fix build failure due to increase in BL2 size" into integration

5 years agodriver: brcm: add RNG driver
Bharat Gooty [Mon, 13 Jul 2020 12:28:29 +0000 (17:58 +0530)]
driver: brcm: add RNG driver

Signed-off-by: Bharat Gooty <bharat.gooty@broadcom.com>
Change-Id: I490d7e4d49bd9f5a62d343a264a1e14c2066ceca

5 years agoplat/brcm: Define RNG base address
Roman Bacik [Mon, 6 Jul 2020 22:31:29 +0000 (15:31 -0700)]
plat/brcm: Define RNG base address

Change-Id: I4f5efcd7638a25c317382b51f05e6b9aa283d068
Signed-off-by: Roman Bacik <roman.bacik@broadcom.com>
Signed-off-by: Bharat Gooty <bharat.gooty@broadcom.com>
5 years agoio_fip: return -ENFILE when a file is already open
Masahiro Yamada [Thu, 9 Jul 2020 14:05:45 +0000 (23:05 +0900)]
io_fip: return -ENFILE when a file is already open

The cause of failure is not memory shortage.

The comment for ENFILE in include/lib/libc/errno.h

  /* Too many open files in system */

... is a better match to the warning message here.

Change-Id: I45a1740995d464edd8b3e32b93f1f92ba17e5874
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agoMerge changes I9feae1fc,I5cbe7192,I1867ece3,I85c2434a,If8edeeec, ... into integration
Manish Pandey [Fri, 10 Jul 2020 14:40:29 +0000 (14:40 +0000)]
Merge changes I9feae1fc,I5cbe7192,I1867ece3,I85c2434a,If8edeeec, ... into integration

* changes:
  plat: marvell: armada: mcbin: squash several IO windows into one
  plat: marvell: armada: fix BL32 extra parameters usage
  drivers: marvell: Fix the LLC SRAM driver
  plat: marvell: armada: a8k: change CCU LLC SRAM mapping
  plat: marvell: armada: adjust trusted DRAM size to match OP-TEE OS
  drivers: marvell: mg_conf_cm3: pass comphy lane number to AP FW
  plat: marvell: armada: move mg conf related code to appropriate driver
  marvell: comphy: start AP FW when comphy AP mode selected
  drivers: marvell: mg_conf_cm3: add basic driver
  tools: doimage: change the binary image alignment to 16
  tools: doimage: migrate to mbedtls v2.8 APIs

5 years agoAdd myself and Andre Przywara as code owners for the Arm FPGA platform port
Javier Almansa Sobrino [Fri, 10 Jul 2020 09:34:04 +0000 (10:34 +0100)]
Add myself and Andre Przywara as code owners for the Arm FPGA platform port

Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com>
Change-Id: I6d3949a971fada5a086b788dbe274f8451fcfc0d

5 years agoplat/arm: Fix build failure due to increase in BL2 size
Manish V Badarkhe [Fri, 10 Jul 2020 08:44:21 +0000 (09:44 +0100)]
plat/arm: Fix build failure due to increase in BL2 size

BL2 size gets increased due to the libfdt library update and
that eventually cause no-optimization build failure for BL2 as below:
aarch64-none-elf-ld.bfd: BL2 image has exceeded its limit.
aarch64-none-elf-ld.bfd: region `RAM' overflowed by 4096 bytes
Makefile:1070: recipe for target 'build/fvp/debug/bl2/bl2.elf' failed
make: *** [build/fvp/debug/bl2/bl2.elf] Error 1

Fixed build failure by increasing BL2 image size limit by 4Kb.

Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Change-Id: I92a57eb4db601561a98e254b64994bb921a88db3

5 years agoplat: marvell: armada: mcbin: squash several IO windows into one
Grzegorz Jaszczyk [Mon, 10 Jun 2019 15:01:05 +0000 (17:01 +0200)]
plat: marvell: armada: mcbin: squash several IO windows into one

There is no need to open tree different IO window when there is
possibility of having one covering required range.

Change-Id: I9feae1fc583df1f7d97d28161cf7601f43513856
Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com>
5 years agoplat: marvell: armada: fix BL32 extra parameters usage
Marcin Wojtas [Wed, 13 Nov 2019 12:31:48 +0000 (13:31 +0100)]
plat: marvell: armada: fix BL32 extra parameters usage

Update missing code releated to the BL32 payload.

Change-Id: I5cbe71921467c53c45be5510f950cefdacc110e1
Signed-off-by: Marcin Wojtas <mw@semihalf.com>
5 years agodrivers: marvell: Fix the LLC SRAM driver
Konstantin Porotchkin [Thu, 4 Apr 2019 07:02:20 +0000 (10:02 +0300)]
drivers: marvell: Fix the LLC SRAM driver

- Fix the line address macro
- LLC invalidate and enable before ways lock for allocation
- Add support for limited SRAM size allocation
- Add SRAM RW test function

Change-Id: I1867ece3047566ddd7931bd7472e1f47fb42c8d4
Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
5 years agoplat: marvell: armada: a8k: change CCU LLC SRAM mapping
Konstantin Porotchkin [Mon, 15 Apr 2019 13:32:59 +0000 (16:32 +0300)]
plat: marvell: armada: a8k: change CCU LLC SRAM mapping

The LLC SRAM will be enabled in OP-TEE OS for usage as secure storage.
The CCU have to prepare SRAM window, but point to the DRAM-0 target
until the SRAM is actually enabled.
This patch changes CCU SRAM window target to DRAM-0
Remove dependence between LLC_SRAM and LLC_ENABLE and update the
build documentation.
The SRAМ base moved to follow the OP-TEE SHMEM area (0x05400000)

Change-Id: I85c2434a3d515ec37da5ae8eb729e3280f91c456
Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
5 years agoplat: marvell: armada: adjust trusted DRAM size to match OP-TEE OS
Konstantin Porotchkin [Mon, 15 Apr 2019 13:25:59 +0000 (16:25 +0300)]
plat: marvell: armada: adjust trusted DRAM size to match OP-TEE OS

Area used as trusted DRAM is 12MB in Marvell OP-TEE OS module.
It is followed by 4MB of shared memory.

Change-Id: If8edeeec5861b529408baca25f78c06a0a440d8c
Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
5 years agodrivers: marvell: mg_conf_cm3: pass comphy lane number to AP FW
Grzegorz Jaszczyk [Tue, 18 Jun 2019 12:43:02 +0000 (14:43 +0200)]
drivers: marvell: mg_conf_cm3: pass comphy lane number to AP FW

Since the AP process can be enabled on different setups, the information
about used comphy lane should be passed to AP FW. For instance:
- A8K development board uses comphy lane 2 for eth 0
- cn913x development board uses comphy lane 4 for eth 0

Change-Id: Icf001fb3eea4d9c24c09384e49844ecaf8655ad2
Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com>
5 years agoplat: marvell: armada: move mg conf related code to appropriate driver
Grzegorz Jaszczyk [Wed, 17 Apr 2019 09:24:43 +0000 (11:24 +0200)]
plat: marvell: armada: move mg conf related code to appropriate driver

Now when mg_conf_cm3 driver is present - move all relevant code there.

Change-Id: I444d9e877c450d6ee69ca3a49b547e4c3aeac0be
Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com>
5 years agomarvell: comphy: start AP FW when comphy AP mode selected
Grzegorz Jaszczyk [Fri, 12 Apr 2019 14:57:14 +0000 (16:57 +0200)]
marvell: comphy: start AP FW when comphy AP mode selected

After configuring comphy to AP mode also start AP FW.

Change-Id: Ib28977d7ee643575a818ba17f69dea0b7e8e0df4
Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com>
5 years agodrivers: marvell: mg_conf_cm3: add basic driver
Grzegorz Jaszczyk [Fri, 12 Apr 2019 14:53:49 +0000 (16:53 +0200)]
drivers: marvell: mg_conf_cm3: add basic driver

Implement function which will allow to start AP FW.

Change-Id: Ie0fc8ad138bf56b10809cdc92d1e5e96a2aaf33f
Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com>
5 years agotools: doimage: change the binary image alignment to 16
Konstantin Porotchkin [Thu, 2 May 2019 12:10:07 +0000 (15:10 +0300)]
tools: doimage: change the binary image alignment to 16

Change the binary image alignment from 4 to 16.
The PKCS signature verification fails for unaligned images.

Change-Id: Ieb08dc3ea128790f542ad93e3c948117567a65af
Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
5 years agotools: doimage: migrate to mbedtls v2.8 APIs
Konstantin Porotchkin [Wed, 1 May 2019 14:08:18 +0000 (17:08 +0300)]
tools: doimage: migrate to mbedtls v2.8 APIs

Replace deprecated mbedtls_sha256 with mbedtls_sha256_ret
The mbedtls_pk_parse_key does not work correctly anymore
with the DER buffer embedded in the secure image extentson
using the buffer size as the the key length.
Move to mbedtls_pk_parse_subpubkey API that handles such
case correctly.
The DER format already contains the key length, so there
is no particular reason to supply it to the key parser.
Update the doimage version to 3.3

Change-Id: I0ec5ee84b7d1505b43138e0b7a6bdba44a6702b6
Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
5 years agoplat: imx8mp: Add the basic support for i.MX8MP
Jacky Bai [Wed, 3 Jun 2020 06:28:45 +0000 (14:28 +0800)]
plat: imx8mp: Add the basic support for i.MX8MP

The i.MX 8MP Media Applications Processor is part of the growing
i.MX8M family targeting the consumer and industrial market. It brings
an effective Machine Learning and AI accelerator that enables a new
class of applications. It is built in 14LPP to achieve both high
performance and low power consumption and relies on a powerful fully
coherent core complex based on a quad core Arm Cortex-A53 cluster and
Cortex-M7 low-power coprocessor, audio digital signal processor, machine
learning and graphics accelerators.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I98311ebc32bee20af05031492e9fc24d06e55f4a

5 years agoMerge "plat/arm, dts: Update platform device tree for CoT" into integration
Sandrine Bailleux [Fri, 10 Jul 2020 07:52:07 +0000 (07:52 +0000)]
Merge "plat/arm, dts: Update platform device tree for CoT" into integration

5 years agoplat/arm, dts: Update platform device tree for CoT
Manish V Badarkhe [Mon, 29 Jun 2020 10:14:07 +0000 (11:14 +0100)]
plat/arm, dts: Update platform device tree for CoT

Included cot_descriptors.dtsi in platform device tree
(fvp_tb_fw_config.dts).

Also, updated the maximum size of tb_fw_config to 0x1800
in order to accomodate the device tree for CoT descriptors.

Follow up patch will parse the device tree for these CoT descriptors
and fill the CoT descriptor structures at runtime instead of using
static CoT descriptor structures in the code base.

Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Change-Id: I90122bc713f6842b82fb019b04caf42629b4f45a

5 years agoMerge "dts: Add CoT descriptor nodes and properties in device tree" into integration
Sandrine Bailleux [Fri, 10 Jul 2020 07:51:06 +0000 (07:51 +0000)]
Merge "dts: Add CoT descriptor nodes and properties in device tree" into integration

5 years agodts: Add CoT descriptor nodes and properties in device tree
Manish V Badarkhe [Mon, 29 Jun 2020 10:12:12 +0000 (11:12 +0100)]
dts: Add CoT descriptor nodes and properties in device tree

Added CoT descriptor nodes and properties in device tree.
Currently, CoT descriptors which are used by BL2 are added as part
of device tree.

Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Change-Id: Iff23cff843e5489fac18bcee5f5d6a71de5ad0d0

5 years agoMerge "make, doc: Add build option to create chain of trust at runtime" into integration
Sandrine Bailleux [Fri, 10 Jul 2020 07:50:47 +0000 (07:50 +0000)]
Merge "make, doc: Add build option to create chain of trust at runtime" into integration

5 years agoplat: imx8m: Move the gpc hw reg to a separate header file
Jacky Bai [Wed, 3 Jun 2020 06:24:38 +0000 (14:24 +0800)]
plat: imx8m: Move the gpc hw reg to a separate header file

Although the GPC provides the similar functions for all the
i.MX8M SoC family, the HW register offset and bit defines
still have some slight difference, so move the hw reg
offset & most of the bitfield defines in 'gpc_reg.h' that
is specific to each SoC.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I291c435fe98c2f6e6ff8fe0c715ff3a83daa6a0f

5 years agoio_storage: remove redundant assigments
Masahiro Yamada [Thu, 9 Jul 2020 13:26:37 +0000 (22:26 +0900)]
io_storage: remove redundant assigments

The assignments to 'result' are unneeded.

Change-Id: I18899f10bf9bd7f219f0e47a981683d8b4701bde
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agoarm_fpga: Predefine DTB and BL33 load addresses
Andre Przywara [Wed, 8 Jul 2020 12:01:00 +0000 (13:01 +0100)]
arm_fpga: Predefine DTB and BL33 load addresses

The memory layout for the FPGA is fairly uniform for most of the FPGA
images, and we already assume that DRAM starts at 2GB by default.

Prepopulate PRELOADED_BL33_BASE and FPGA_PRELOADED_DTB_BASE to some
sane default values, to simplify building some stock image.
If people want to deviate from that, they can always override those
addresses on the make command line.

Change-Id: I2238fafb3f8253a01ad2d88d45827c141d9b29dd
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agoarm_fpga: Add Klein and Matterhorn support
Andre Przywara [Thu, 25 Jun 2020 12:10:38 +0000 (13:10 +0100)]
arm_fpga: Add Klein and Matterhorn support

To support FPGAs with those cores as well, as the respective cpulib
files to the Makefile.

Change-Id: I1a60867d5937be88b32b210c7817be4274554a76
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agoarm_fpga: Support more CPU clusters
Andre Przywara [Thu, 25 Jun 2020 12:10:38 +0000 (13:10 +0100)]
arm_fpga: Support more CPU clusters

The maximum number of clusters is currently set to 2, which is quite
limiting. As there are FPGA images with 4 clusters, let's increase the
limit to 4.

Change-Id: I9a85ca07ebbd2a018ad9668536d867ad6b75e537
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agomake, doc: Add build option to create chain of trust at runtime
Manish V Badarkhe [Mon, 29 Jun 2020 09:32:53 +0000 (10:32 +0100)]
make, doc: Add build option to create chain of trust at runtime

Added a build option 'COT_DESC_IN_DTB' to create chain of trust
at runtime using fconf.

Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Change-Id: I92b257ac4ece8bbf56f05a41d1e4056e2422ab89

5 years agoMerge "doc: Update CoT binding to make it more generic" into integration
Sandrine Bailleux [Thu, 9 Jul 2020 11:14:32 +0000 (11:14 +0000)]
Merge "doc: Update CoT binding to make it more generic" into integration

5 years agodoc: Update CoT binding to make it more generic
Manish V Badarkhe [Tue, 30 Jun 2020 03:04:05 +0000 (04:04 +0100)]
doc: Update CoT binding to make it more generic

Updated the CoT binding document to show chain of trust relationship
with the help of 'authentication method' and 'authentication data'
instead of showing content of certificate and fixed rendering issue
while creating html page using this document.

Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Change-Id: Ib48279cfe786d149ab69ddc711caa381a50f9e2b

5 years agodrivers/stm32_hash: register resources as secure or not
Etienne Carriere [Mon, 2 Dec 2019 09:13:12 +0000 (10:13 +0100)]
drivers/stm32_hash: register resources as secure or not

Register in the shared resources driver the secure or non-secure state
of the HASH instances. Note that only BL32 needs to register the
shared peripheral because BL2 does not embed the shared resources
driver.

Change-Id: I7f78fa8e47da71d48ef8b1dfe4d6f040fe918d8b
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
5 years agodrivers/stm32_gpio: register GPIO resources as secure or not
Etienne Carriere [Mon, 2 Dec 2019 09:11:32 +0000 (10:11 +0100)]
drivers/stm32_gpio: register GPIO resources as secure or not

Register in the shared resources driver the secure or non-secure state
of the GPIO pins.

Change-Id: Ifda473bcbbb0af799be6587961d6641edf887605
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
5 years agodrivers/stm32_iwdg: register IWDG resources as secure or not
Etienne Carriere [Mon, 2 Dec 2019 09:10:36 +0000 (10:10 +0100)]
drivers/stm32_iwdg: register IWDG resources as secure or not

Register in the shared resources driver the secure or non-secure state
of the IWDG instances.

Change-Id: I3a3bc9525447f6a2a465891ca3a3fd5fe664ca07
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
5 years agodrivers/stm32mp_pmic: register PMIC resources as secure or not
Etienne Carriere [Mon, 2 Dec 2019 09:10:08 +0000 (10:10 +0100)]
drivers/stm32mp_pmic: register PMIC resources as secure or not

Register in the shared resources driver the secure or non-secure
state of the PMIC.

Change-Id: Ic1f172ba62785018f8e9bb321782d725e2d2f434
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
5 years agostm32mp1: register shared resource per GPIO bank/pin
Etienne Carriere [Wed, 13 May 2020 08:19:50 +0000 (10:19 +0200)]
stm32mp1: register shared resource per GPIO bank/pin

Introduce helper functions stm32mp_register_secure_gpio() and
stm32mp_register_non_secure_gpio() for drivers to register a
GPIO pin as secure or non-secure.

These functions are stubbed when shared resource driver is not
embedded in the BL image so that drivers do not bother whether they
shall register or not their resources.

Change-Id: I1fe98576c072ae31f75427c9ac5c9f6c4f1b6ed1
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
5 years agostm32mp1: register shared resource per IOMEM address
Etienne Carriere [Wed, 13 May 2020 08:16:21 +0000 (10:16 +0200)]
stm32mp1: register shared resource per IOMEM address

Introduce helper functions stm32mp_register_secure_periph_iomem()
and stm32mp_register_non_secure_periph_iomem() for drivers to
register a resource as secure or non-secure based on its SoC
interface registers base address.

These functions are stubbed when shared resources driver is not
embedded (!STM32MP_SHARED_RESOURCES) so that drivers embedded
in other BL stages do not bother whether they shall register or
not their resources.

Change-Id: Icebd05a930afc5964bc4677357da5d1b23666066
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
5 years agostm32mp1: allow non-secure access to reset upon periph registration
Etienne Carriere [Wed, 13 May 2020 11:53:15 +0000 (13:53 +0200)]
stm32mp1: allow non-secure access to reset upon periph registration

Update implementation of stm32mp_nsec_can_access_reset() based
on the registering of the shared resources.

Querying registering state locks further registration of
peripherals.

Change-Id: I5f38f2a3481780b9a71939d95984c4821c537aa4
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
5 years agostm32mp1: allow non-secure access to clocks upon periph registration
Etienne Carriere [Wed, 13 May 2020 08:20:34 +0000 (10:20 +0200)]
stm32mp1: allow non-secure access to clocks upon periph registration

Update implementation of stm32mp_nsec_can_access_clock() based
on the registering of the shared resources.

Querying registering state locks further registration of peripherals.

Change-Id: If68f6d4a52c4742ba66244c6ea2d9afa08404137
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
5 years agostm32mp1: shared resources: peripheral registering
Etienne Carriere [Wed, 13 May 2020 12:22:01 +0000 (14:22 +0200)]
stm32mp1: shared resources: peripheral registering

Define helper functions stm32mp_register_secure_periph() and
stm32mp_register_non_secure_periph() for platform drivers to
register a shared resource assigned to respectively secure
or non-secure world.

Some resources are related to clock resources. When a resource is
registered as secure, ensure its clock dependencies are also
registered as secure. Registering a non-secure resource does not
mandate its clock dependencies are also registered as non-secure.

Change-Id: I74975be8976b8d3bf18dcc807541a072803af6e3
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
5 years agodrivers: st: clock: register parent of secure clocks
Etienne Carriere [Wed, 13 May 2020 09:49:49 +0000 (11:49 +0200)]
drivers: st: clock: register parent of secure clocks

Introduce stm32mp1_register_clock_parents_secure() in stm32mp1
clock driver to allow platform shared resources to register as
secure the parent clocks of a clock registered as secure.

Change-Id: I53a9ab6aa78ee840ededce67e7b12a84e08ee843
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
5 years agostm32mp1: shared resources: add trace messages
Etienne Carriere [Wed, 13 May 2020 13:51:56 +0000 (15:51 +0200)]
stm32mp1: shared resources: add trace messages

Define from helper functions to get a human readable string
identifier from a shared resource enumerated ID. Use them to
make debug traces more friendly peripheral registering functions.

Change-Id: I9e207b8ce1d1e9250e242ca7e15461b9a1532f40
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
5 years agoMerge "Upgrade libfdt source files" into integration
Sandrine Bailleux [Wed, 8 Jul 2020 06:54:39 +0000 (06:54 +0000)]
Merge "Upgrade libfdt source files" into integration

5 years agoMerge "drivers: arm: gicv3: auto-detect presence of GIC600-AE" into integration
André Przywara [Tue, 7 Jul 2020 22:06:31 +0000 (22:06 +0000)]
Merge "drivers: arm: gicv3: auto-detect presence of GIC600-AE" into integration

5 years agodrivers: arm: gicv3: auto-detect presence of GIC600-AE
Varun Wadekar [Sun, 5 Jul 2020 20:12:28 +0000 (13:12 -0700)]
drivers: arm: gicv3: auto-detect presence of GIC600-AE

This patch adds the IIDR value for GIC600-AE to the gicv3_is_gic600()
helper function. This helps platforms supporting this version of the
GIC600 interrupt controller to function with the generic GIC driver.

Verified with tftf-validation test suite

******************************* Summary *******************************
> Test suite 'Framework Validation'
                                                                Passed
> Test suite 'Timer framework Validation'
                                                                Passed
=================================
Tests Skipped : 0
Tests Passed  : 6
Tests Failed  : 0
Tests Crashed : 0
Total tests   : 6
=================================
NOTICE:  Exiting tests.

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

5 years agoMerge "corstone700: splitting the platform support into FVP and FPGA" into integration
Manish Pandey [Tue, 7 Jul 2020 15:49:14 +0000 (15:49 +0000)]
Merge "corstone700: splitting the platform support into FVP and FPGA" into integration

5 years agocorstone700: splitting the platform support into FVP and FPGA
Abdellatif El Khlifi [Mon, 6 Jul 2020 15:15:23 +0000 (16:15 +0100)]
corstone700: splitting the platform support into FVP and FPGA

This patch performs the following:

- Creating two corstone700 platforms under corstone700 board:

  fvp and fpga

- Since the FVP and FPGA have IP differences, this commit provides a specific DTS for each platform
- The platform can be specified using the TARGET_PLATFORM Makefile variable
(possible values are: fvp or fpga)
- Allowing to use u-boot by:
  - Enabling NEED_BL33 option
  - Fixing non-secure image base: For no preloaded bl33 we want to
    have the NS base set on shared ram. Setup a memory map region
    for NS in shared map and set the bl33 address in the area.
- Setting the SYS_COUNTER_FREQ_IN_TICKS based on the selected
platform
- Setting ARM_MAP_SHARED_RAM and ARM_MAP_NS_SHARED_RAM to use MT_MEMORY

Change-Id: I4c8ac3387acb1693ab617bcccab00d80e340c163
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
5 years agofiptool: return zero status on help and help <command>
Leonardo Sandoval [Mon, 29 Jun 2020 23:09:24 +0000 (18:09 -0500)]
fiptool: return zero status on help and help <command>

Querying the 'fiptool' for help or help <command> should return 0
return status (success) and not 1 (failure). In the other hand, if tool is
executed with any other command (not help) where command's parameters are
either missing or wrong, then the tool should return non-zero (failure). Now,
the 'usage' function caller is the one that passes the return status.

Change-Id: Id5eea91037cd810fb1e34a42e8199ef504f5daa4
Signed-off-by: Leonardo Sandoval <leonardo.sandoval@linaro.org>
5 years agoplat: marvell: armada: a8k: Add support for iEi Puzzle-M801 board
Luka Kovacic [Wed, 4 Dec 2019 20:46:37 +0000 (21:46 +0100)]
plat: marvell: armada: a8k: Add support for iEi Puzzle-M801 board

Add support for the iEi Puzzle-M801 board that is based on
the Marvell Armada 88F8040 SoC.

It supports 1 x 288-pin DIMM, DDR4 2400MHz up to 16 GB (ECC).

The iEi Puzzle-M801 board is using a custom MCU to handle board
power management. The MCU is managing the boards power LEDs, fans
and some other periferals. It's using UART for communication.

Signed-off-by: Luka Kovacic <luka.kovacic@sartura.hr>
Cc: Luka Perkov <luka.perkov@sartura.hr>
Change-Id: I0826ef8bf651b69aad5803184f20930ac7212ef8

5 years agoplat: marvell: armada: a8k: common: Fix a8k_common.mk to use BOARD_DIR variable
Luka Kovacic [Fri, 3 Jul 2020 15:02:54 +0000 (17:02 +0200)]
plat: marvell: armada: a8k: common: Fix a8k_common.mk to use BOARD_DIR variable

Use the BOARD_DIR variable instead of PLAT_FAMILY_BASE variable for
determening the path of the system_power.c file.

The variable was not updated, when it was deprecated in a8k_common.mk
in commit 613bbde09e48874658af5a00612fe2a0b0388523.

Signed-off-by: Luka Kovacic <luka.kovacic@sartura.hr>
Cc: Luka Perkov <luka.perkov@sartura.hr>
Change-Id: I9b4659a19ba3cd5c869d44c5d834b220f49136e8

5 years agoMerge "arm_fpga: Fix MPIDR topology checks" into integration
Madhukar Pappireddy [Thu, 2 Jul 2020 23:47:50 +0000 (23:47 +0000)]
Merge "arm_fpga: Fix MPIDR topology checks" into integration

5 years agoMerge changes from topic "stm32-shres" into integration
Mark Dykes [Thu, 2 Jul 2020 16:11:10 +0000 (16:11 +0000)]
Merge changes from topic "stm32-shres" into integration

* changes:
  stm32mp1: shared resources: apply registered configuration
  stm32mp1: shared resources: count GPIOZ bank pins
  stm32mp1: shared resources: define resource identifiers

5 years agoMerge "stm32mp1: introduce shared resources support" into integration
Mark Dykes [Thu, 2 Jul 2020 16:10:12 +0000 (16:10 +0000)]
Merge "stm32mp1: introduce shared resources support" into integration

5 years agoMerge "doc: Fix some broken links" into integration
Manish Pandey [Thu, 2 Jul 2020 14:50:02 +0000 (14:50 +0000)]
Merge "doc: Fix some broken links" into integration

5 years agoMerge "Workaround for Neoverse N1 erratum 1800710" into integration
Lauren Wehrmeister [Wed, 1 Jul 2020 16:57:11 +0000 (16:57 +0000)]
Merge "Workaround for Neoverse N1 erratum 1800710" into integration