arm-trusted-firmware/plat/arm/board/fvp/fdts/optee_sp_manifest.dts
Olivier Deprez fc3a01aac3 fix(fvp): add secure uart interrupt in device region
OP-TEE enables the use case of a secure interrupt triggered by the UART
driver. This interrupt is routed by FFA_INTERRUPT interface to OP-TEE.
Define the UART interrupt in the FF-A device region node.
Without this change, OPTEE panics at the boot with the following:

  |  I/TC: No non-secure external DT
  |  I/TC: manifest DT found
  |  I/TC: OP-TEE version: 4.3.0-23-gfcd8750677db
  |  I/TC: WARNING: This OP-TEE configuration might be insecure!
  |  I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
  |  I/TC: Primary CPU initializing
  |  E/TC:0 0 assertion '!res' failed at core/drivers/hfic.c:56 <hfic_op_enable>
  |  E/TC:0 0 Panic at core/kernel/assert.c:28 <_assert_break>
  |  E/TC:0 0 TEE load address @ 0x6284000

Change-Id: Icddcdfd032315aeee65ba3100f3a6b470a74435d
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2024-07-26 23:13:23 +02:00

52 lines
1.2 KiB
Text

/*
* Copyright (c) 2020-2024, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
* This file is a Partition Manifest (PM) for a minimal Secure Partition (SP)
* that has additional optional properties defined.
*
*/
/dts-v1/;
/ {
compatible = "arm,ffa-manifest-1.0";
/* Properties */
description = "op-tee";
ffa-version = <0x00010001>; /* 31:16 - Major, 15:0 - Minor */
uuid = <0xe0786148 0xe311f8e7 0x02005ebc 0x1bc5d5a5>;
id = <1>;
execution-ctx-count = <8>;
exception-level = <2>; /* S-EL1 */
execution-state = <0>; /* AARCH64 */
load-address = <0x6280000>;
mem-size = <0xd80000>; /* OP-TEE specific extension */
entrypoint-offset = <0x4000>;
xlat-granule = <0>; /* 4KiB */
boot-order = <0>;
messaging-method = <0x3>; /* Direct request/response supported. */
ns-interrupts-action = <1>; /* NS_ACTION_ME */
run-time-model = <1>; /* SP pre-emptible. */
/* Boot protocol */
gp-register-num = <0x0>;
/* Boot Info */
boot-info {
compatible = "arm,ffa-manifest-boot-info";
ffa_manifest;
};
device-regions {
compatible = "arm,ffa-manifest-device-regions";
uart1 {
base-address = <0x00000000 0x1c0a0000>;
pages-count = <1>;
attributes = <0x3>; /* read-write */
interrupts = <38 0x900>;
};
};
};