[PATCH v4 10/11] arm64: dts: Add ELE firmware node and common include
Frieder Schrempf <[email protected]>
| Newsgroups | dev.linux.lists.imx,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <20260727-upstreaming-next-20260609-imx-ocotp-ele-v4-10-1a515de33093@kontron.de> |
From: Frieder Schrempf <[email protected]> Add the firmware node to SoC dtsi and to make it easier for boards to configure the EdgeLock Secure Enclave on i.MX93, add a common include file that contains sane defaults. It specifies the memory node, enables the ELE firmware node and adds a reference to NVMEM OCOTP driver. The 1MB memory area required for the firmware is placed in the first 256MB of the DDR. Boards that require a more specific alignment can override this accordingly. Signed-off-by: Frieder Schrempf <[email protected]> --- arch/arm64/boot/dts/freescale/imx91_93_common.dtsi | 9 +++++++ arch/arm64/boot/dts/freescale/imx93-firmware.dtsi | 28 ++++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx91_93_common.dtsi b/arch/arm64/boot/dts/freescale/imx91_93_common.dtsi index a1a7e6a0571b..60798b216438 100644 --- a/arch/arm64/boot/dts/freescale/imx91_93_common.dtsi +++ b/arch/arm64/boot/dts/freescale/imx91_93_common.dtsi @@ -46,6 +46,15 @@ A55_0: cpu@0 { }; }; + firmware { + hsm0: secure-enclave { + compatible = "fsl,imx93-se-ele-hsm"; + mbox-names = "tx", "rx"; + mboxes = <&s4muap 0 0>, <&s4muap 1 0>; + status = "disabled"; + }; + }; + osc_32k: clock-osc-32k { compatible = "fixed-clock"; #clock-cells = <0>; diff --git a/arch/arm64/boot/dts/freescale/imx93-firmware.dtsi b/arch/arm64/boot/dts/freescale/imx93-firmware.dtsi new file mode 100644 index 000000000000..58614158ef90 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx93-firmware.dtsi @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2026 Kontron Electronics GmbH + */ + +/{ + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + ele_memory: ele-memory { + compatible = "shared-dma-pool"; + alloc-ranges = <0 0x80000000 0 0x10000000>; + size = <0 0x100000>; + no-map; + }; + }; +}; + +&hsm0 { + status = "okay"; + memory-region = <&ele_memory>; +}; + +&ocotp { + secure-enclave = <&hsm0>; +}; -- 2.55.0