diff options
author | Tom Rini <trini@konsulko.com> | 2020-06-16 09:18:56 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2020-06-16 09:18:56 -0400 |
commit | 9cb895203a46654f7ee6dd95be5c8ab05e4dfbd3 (patch) | |
tree | c9258ce6048dbc136eab1dbd93cd8e5544934778 /arch/arm | |
parent | c622afb0874e57cd7e9df51855e35286fa46aab7 (diff) | |
parent | 9e696965065c43b59901e49e75435b1549fa55c7 (diff) |
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
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi | 15 | ||||
-rw-r--r-- | arch/arm/dts/stm32mp157c-ed1-u-boot.dtsi | 14 | ||||
-rw-r--r-- | arch/arm/dts/stm32mp157c-ed1.dts | 5 | ||||
-rw-r--r-- | arch/arm/dts/stm32mp15xx-dkx.dtsi | 5 | ||||
-rw-r--r-- | arch/arm/mach-stm32mp/fdt.c | 14 |
5 files changed, 38 insertions, 15 deletions
diff --git a/arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi b/arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi index c52abeb1e7..3fedb6f1e1 100644 --- a/arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi +++ b/arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi @@ -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"; diff --git a/arch/arm/dts/stm32mp157c-ed1-u-boot.dtsi b/arch/arm/dts/stm32mp157c-ed1-u-boot.dtsi index 84af7fa47b..a07c585415 100644 --- a/arch/arm/dts/stm32mp157c-ed1-u-boot.dtsi +++ b/arch/arm/dts/stm32mp157c-ed1-u-boot.dtsi @@ -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"; diff --git a/arch/arm/dts/stm32mp157c-ed1.dts b/arch/arm/dts/stm32mp157c-ed1.dts index 4fb71100f5..186dc46754 100644 --- a/arch/arm/dts/stm32mp157c-ed1.dts +++ b/arch/arm/dts/stm32mp157c-ed1.dts @@ -70,11 +70,6 @@ reg = <0xe8000000 0x8000000>; no-map; }; - - optee@fe000000 { - reg = <0xfe000000 0x02000000>; - no-map; - }; }; aliases { diff --git a/arch/arm/dts/stm32mp15xx-dkx.dtsi b/arch/arm/dts/stm32mp15xx-dkx.dtsi index 812e370ee4..7589c6f9dc 100644 --- a/arch/arm/dts/stm32mp15xx-dkx.dtsi +++ b/arch/arm/dts/stm32mp15xx-dkx.dtsi @@ -58,11 +58,6 @@ reg = <0xd4000000 0x4000000>; no-map; }; - - optee@de000000 { - reg = <0xde000000 0x02000000>; - no-map; - }; }; led { diff --git a/arch/arm/mach-stm32mp/fdt.c b/arch/arm/mach-stm32mp/fdt.c index c723b223e0..959f12efe1 100644 --- a/arch/arm/mach-stm32mp/fdt.c +++ b/arch/arm/mach-stm32mp/fdt.c @@ -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"); } } |