From: Jan Kiszka <jan.kiszka@siemens.com>
To: isar-users <isar-users@googlegroups.com>
Subject: [PATCH 10/11] meta-isar: linux-mainline: Add patches for stm32mp15x target
Date: Tue, 13 Oct 2020 09:50:27 +0200 [thread overview]
Message-ID: <9d13cfec81be36ad4ce7f94cb8b6229281ab4a58.1602575428.git.jan.kiszka@siemens.com> (raw)
In-Reply-To: <cover.1602575428.git.jan.kiszka@siemens.com>
From: Jan Kiszka <jan.kiszka@siemens.com>
These two patches are needed when activating OP-TEE for that target.
Otherwise, Linux will access memory reserved for the trusted world and
trigger a violation.
See also https://www.mail-archive.com/u-boot@lists.denx.de/msg386171.html
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
...d-OP-TEE-node-and-its-reserved-memor.patch | 79 +++++++++++++++++++
...move-reserve-memory-holes-on-stm32mp.patch | 65 +++++++++++++++
.../linux/linux-mainline_5.4.70.bb | 2 +
3 files changed, 146 insertions(+)
create mode 100644 meta-isar/recipes-kernel/linux/files/0001-ARM-dts-stm32-add-OP-TEE-node-and-its-reserved-memor.patch
create mode 100644 meta-isar/recipes-kernel/linux/files/0002-ARM-dts-stm32-remove-reserve-memory-holes-on-stm32mp.patch
diff --git a/meta-isar/recipes-kernel/linux/files/0001-ARM-dts-stm32-add-OP-TEE-node-and-its-reserved-memor.patch b/meta-isar/recipes-kernel/linux/files/0001-ARM-dts-stm32-add-OP-TEE-node-and-its-reserved-memor.patch
new file mode 100644
index 00000000..e40fe4ce
--- /dev/null
+++ b/meta-isar/recipes-kernel/linux/files/0001-ARM-dts-stm32-add-OP-TEE-node-and-its-reserved-memor.patch
@@ -0,0 +1,79 @@
+From 3602c4835344fe2124406608fcec5737a176d7d8 Mon Sep 17 00:00:00 2001
+From: Etienne Carriere <etienne.carriere@st.com>
+Date: Fri, 8 Nov 2019 13:56:15 +0100
+Subject: [PATCH 1/2] ARM: dts: stm32: add OP-TEE node and its reserved-memory
+ node for stm32mp157
+
+Adds firmware/optee node and adds a reserved-memory node named
+optee for the DDR reserved to OP-TEE.
+
+SoC defines a default disabled OP-TEE node.
+DK1 defines a default disabled OP-TEE reserved-memory node.
+DK2 enables OP-TEE and its reserved memory.
+ED1 defines a default disabled OP-TEE reserved-memory node and
+enables OP-TEE node.
+
+Change-Id: I7b5d50a27a2a81b7cb510ae14ee96e975e41bb97
+Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
+Reviewed-on: https://gerrit.st.com/c/mpu/oe/st/linux-stm32/+/148795
+Tested-by: Alexandre TORGUE <alexandre.torgue@st.com>
+Reviewed-by: Alexandre TORGUE <alexandre.torgue@st.com>
+---
+ arch/arm/boot/dts/stm32mp157a-dk1.dts | 6 ++++++
+ arch/arm/boot/dts/stm32mp157c-dk2.dts | 8 ++++++++
+ arch/arm/boot/dts/stm32mp157c.dtsi | 8 ++++++++
+ 3 files changed, 22 insertions(+)
+
+diff --git a/arch/arm/boot/dts/stm32mp157a-dk1.dts b/arch/arm/boot/dts/stm32mp157a-dk1.dts
+index 0615d1c8a6fc..589d08bdffa0 100644
+--- a/arch/arm/boot/dts/stm32mp157a-dk1.dts
++++ b/arch/arm/boot/dts/stm32mp157a-dk1.dts
+@@ -73,6 +73,12 @@
+ reg = <0xd4000000 0x4000000>;
+ no-map;
+ };
++
++ optee_memory: optee@0xde000000 {
++ reg = <0xde000000 0x02000000>;
++ no-map;
++ status = "disabled";
++ };
+ };
+
+ led {
+diff --git a/arch/arm/boot/dts/stm32mp157c-dk2.dts b/arch/arm/boot/dts/stm32mp157c-dk2.dts
+index 20ea601a546d..9248ee3eb98a 100644
+--- a/arch/arm/boot/dts/stm32mp157c-dk2.dts
++++ b/arch/arm/boot/dts/stm32mp157c-dk2.dts
+@@ -74,3 +74,11 @@
+ };
+ };
+ };
++
++&optee_memory {
++ status = "okay";
++};
++
++&optee {
++ status = "okay";
++};
+diff --git a/arch/arm/boot/dts/stm32mp157c.dtsi b/arch/arm/boot/dts/stm32mp157c.dtsi
+index f98e0370c0bc..84d34120aab3 100644
+--- a/arch/arm/boot/dts/stm32mp157c.dtsi
++++ b/arch/arm/boot/dts/stm32mp157c.dtsi
+@@ -1509,4 +1509,12 @@
+ status = "disabled";
+ };
+ };
++
++ firmware {
++ optee: optee {
++ compatible = "linaro,optee-tz";
++ method = "smc";
++ status = "disabled";
++ };
++ };
+ };
+--
+2.26.2
+
diff --git a/meta-isar/recipes-kernel/linux/files/0002-ARM-dts-stm32-remove-reserve-memory-holes-on-stm32mp.patch b/meta-isar/recipes-kernel/linux/files/0002-ARM-dts-stm32-remove-reserve-memory-holes-on-stm32mp.patch
new file mode 100644
index 00000000..99860f45
--- /dev/null
+++ b/meta-isar/recipes-kernel/linux/files/0002-ARM-dts-stm32-remove-reserve-memory-holes-on-stm32mp.patch
@@ -0,0 +1,65 @@
+From a7eb535f0f1c818202b0a0a8ec2aee506a0114e7 Mon Sep 17 00:00:00 2001
+From: Alexandre Torgue <alexandre.torgue@st.com>
+Date: Fri, 29 Nov 2019 18:30:37 +0100
+Subject: [PATCH 2/2] ARM: dts: stm32: remove reserve memory holes on
+ stm32mp157 boards
+
+This commit removes hole between GPU and OPTEE reserve memory in order to
+optimize Linux memory management.
+
+Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
+Change-Id: I4461085fd34139ee1b88c5f5116dd5c1de0e10ac
+Reviewed-on: https://gerrit.st.com/c/mpu/oe/st/linux-stm32/+/151463
+Reviewed-by: CITOOLS <smet-aci-reviews@lists.codex.cro.st.com>
+Reviewed-by: CIBUILD <smet-aci-builds@lists.codex.cro.st.com>
+---
+ arch/arm/boot/dts/stm32mp157a-dk1.dts | 4 ++--
+ arch/arm/boot/dts/stm32mp157c-ed1.dts | 13 +++++++++++--
+ 2 files changed, 13 insertions(+), 4 deletions(-)
+
+diff --git a/arch/arm/boot/dts/stm32mp157a-dk1.dts b/arch/arm/boot/dts/stm32mp157a-dk1.dts
+index 589d08bdffa0..da762b301d72 100644
+--- a/arch/arm/boot/dts/stm32mp157a-dk1.dts
++++ b/arch/arm/boot/dts/stm32mp157a-dk1.dts
+@@ -69,8 +69,8 @@
+ no-map;
+ };
+
+- gpu_reserved: gpu@d4000000 {
+- reg = <0xd4000000 0x4000000>;
++ gpu_reserved: gpu@da000000 {
++ reg = <0xda000000 0x4000000>;
+ no-map;
+ };
+
+diff --git a/arch/arm/boot/dts/stm32mp157c-ed1.dts b/arch/arm/boot/dts/stm32mp157c-ed1.dts
+index 1d426ea8bdaf..4e0f665c5810 100644
+--- a/arch/arm/boot/dts/stm32mp157c-ed1.dts
++++ b/arch/arm/boot/dts/stm32mp157c-ed1.dts
+@@ -64,8 +64,13 @@
+ no-map;
+ };
+
+- gpu_reserved: gpu@e8000000 {
+- reg = <0xe8000000 0x8000000>;
++ gpu_reserved: gpu@f6000000 {
++ reg = <0xf6000000 0x8000000>;
++ no-map;
++ };
++
++ optee_memory: optee@0xfe000000 {
++ reg = <0xfe000000 0x02000000>;
+ no-map;
+ };
+ };
+@@ -329,3 +334,7 @@
+ vdda1v1-supply = <®11>;
+ vdda1v8-supply = <®18>;
+ };
++
++&optee {
++ status = "okay";
++};
+--
+2.26.2
+
diff --git a/meta-isar/recipes-kernel/linux/linux-mainline_5.4.70.bb b/meta-isar/recipes-kernel/linux/linux-mainline_5.4.70.bb
index 209ad9c0..91eb4463 100644
--- a/meta-isar/recipes-kernel/linux/linux-mainline_5.4.70.bb
+++ b/meta-isar/recipes-kernel/linux/linux-mainline_5.4.70.bb
@@ -11,6 +11,8 @@ ARCHIVE_VERSION = "${@ d.getVar('PV')[:-2] if d.getVar('PV').endswith('.0') else
SRC_URI += " \
https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${ARCHIVE_VERSION}.tar.xz \
+ file://0001-ARM-dts-stm32-add-OP-TEE-node-and-its-reserved-memor.patch \
+ file://0002-ARM-dts-stm32-remove-reserve-memory-holes-on-stm32mp.patch \
file://x86_64_defconfig \
file://no-ubifs-fs.cfg \
file://no-root-nfs.cfg;apply=no"
--
2.26.2
next prev parent reply other threads:[~2020-10-13 7:50 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-13 7:50 [PATCH 00/11] Support for building TF-A and OP-TEE, add STM32MP15x board Jan Kiszka
2020-10-13 7:50 ` [PATCH 01/11] meta-isar: Lift de0-nano-soc build to buster Jan Kiszka
2020-10-13 7:50 ` [PATCH 02/11] meta-isar: linux-mainline: Update to latest 5.4.70 Jan Kiszka
2020-10-13 7:50 ` [PATCH 03/11] meta-isar: u-boot: Update to 2020.10 Jan Kiszka
2020-10-13 7:50 ` [PATCH 04/11] meta-isar: u-boot: Factor our de0-nano-soc recipe Jan Kiszka
2020-10-13 7:50 ` [PATCH 05/11] meta-isar: example-raw: Purge securetty from target image Jan Kiszka
2020-10-13 7:50 ` [PATCH 06/11] Add STM32MP15x eval board Jan Kiszka
2020-10-13 7:50 ` [PATCH 07/11] Add recipe include for building custom Trusted Firmware A Jan Kiszka
2020-10-13 7:50 ` [PATCH 08/11] stm32mp15x: Switch to TF-A based boot Jan Kiszka
2020-10-13 7:50 ` [PATCH 09/11] Add recipe include for building custom OP-TEE Jan Kiszka
2020-10-13 7:50 ` Jan Kiszka [this message]
2020-10-13 7:50 ` [PATCH 11/11] meta-isar: Add OP-TEE to STM32MP15x board Jan Kiszka
2020-10-13 8:01 ` [PATCH 00/11] Support for building TF-A and OP-TEE, add " Jan Kiszka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9d13cfec81be36ad4ce7f94cb8b6229281ab4a58.1602575428.git.jan.kiszka@siemens.com \
--to=jan.kiszka@siemens.com \
--cc=isar-users@googlegroups.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox