- fix boot with OP-TEE for stm32mp15 boards

-----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEE56Yx6b9SnloYCWtD4rK92eCqk3UFAl7ojsoACgkQ4rK92eCq
 k3UANwf+IvP4rgSW5U4WoEivnhGMmySfg7IBaZJQvd7gqp5/8bhZnkTDDAm6u/JH
 xKFe6H4lZNhMFn+ojRx+BSlFlBe5+WTlIxptPpp0aHSEIV7/lIN8+KgufHjnurqb
 C0aXQ4sw/ahbpAlspxvyoXrMvy4GI3/OxCBZSYteS/niLGdSE7Y6fhKBDivEk3dd
 Jp6ylEU4+321a31wvgzotJdZicA+Blf2IPSI2dnLlaSBVoF3wmHCoBv7sxos+HfO
 qO06vTrwHVXjjFeJA2djMeWNwMft9QrpyyLHAnGrWb1BwqnkN4jwEQgmOjuER7XK
 b6mzXIPETya9r42zqsLwc1OTB8+XCA==
 =gjIr
 -----END PGP SIGNATURE-----

Merge tag 'u-boot-stm32-20200616' of https://gitlab.denx.de/u-boot/custodians/u-boot-stm

- fix boot with OP-TEE for stm32mp15 boards
This commit is contained in:
Tom Rini 2020-06-16 09:18:56 -04:00
commit 9cb895203a
5 changed files with 38 additions and 15 deletions

View File

@ -20,6 +20,21 @@
st,fastboot-gpios = <&gpioa 13 GPIO_ACTIVE_LOW>;
st,stm32prog-gpios = <&gpioa 14 GPIO_ACTIVE_LOW>;
};
firmware {
optee {
compatible = "linaro,optee-tz";
method = "smc";
};
};
reserved-memory {
optee@de000000 {
reg = <0xde000000 0x02000000>;
no-map;
};
};
led {
red {
label = "error";

View File

@ -21,6 +21,20 @@
st,stm32prog-gpios = <&gpioa 14 GPIO_ACTIVE_LOW>;
};
firmware {
optee {
compatible = "linaro,optee-tz";
method = "smc";
};
};
reserved-memory {
optee@fe000000 {
reg = <0xfe000000 0x02000000>;
no-map;
};
};
led {
red {
label = "error";

View File

@ -70,11 +70,6 @@
reg = <0xe8000000 0x8000000>;
no-map;
};
optee@fe000000 {
reg = <0xfe000000 0x02000000>;
no-map;
};
};
aliases {

View File

@ -58,11 +58,6 @@
reg = <0xd4000000 0x4000000>;
no-map;
};
optee@de000000 {
reg = <0xde000000 0x02000000>;
no-map;
};
};
led {

View File

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
/*
* Copyright (C) 2019, STMicroelectronics - All Rights Reserved
* Copyright (C) 2019-2020, STMicroelectronics - All Rights Reserved
*/
#include <common.h>
@ -224,19 +224,23 @@ static void stm32_fdt_disable_optee(void *blob)
{
int off, node;
/* Delete "optee" firmware node */
off = fdt_node_offset_by_compatible(blob, -1, "linaro,optee-tz");
if (off >= 0 && fdtdec_get_is_enabled(blob, off))
fdt_status_disabled(blob, off);
fdt_del_node(blob, off);
/* Disabled "optee@..." reserved-memory node */
/* Delete "optee@..." reserved-memory node */
off = fdt_path_offset(blob, "/reserved-memory/");
if (off < 0)
return;
for (node = fdt_first_subnode(blob, off);
node >= 0;
node = fdt_next_subnode(blob, node)) {
if (!strncmp(fdt_get_name(blob, node, NULL), "optee@", 6))
fdt_status_disabled(blob, node);
if (strncmp(fdt_get_name(blob, node, NULL), "optee@", 6))
continue;
if (fdt_del_node(blob, node))
printf("Failed to remove optee reserved-memory node\n");
}
}